Реализация и исследование особенностей использования методологии экспертных систем на потребительском рынке
Исследование и разработка программ, использующих процедуры решения задач, которые трудны для экспертов. Взаимосвязь рыночных и социально-экономических отношений в развитии потребительского рынка. Сравнительный анализ экспертных систем по подбору товаров.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.10.2018 |
Размер файла | 6,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
[Введите текст]
1
Министерство образования и науки РФ
ФГБОУ ВПО «Самарский государственный архитектурно-строительный университет»
Факультет информационных систем и технологий
Кафедра прикладной математики и вычислительной техники
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА
на тему: Реализация и исследование особенностей использования методологии экспертных систем на потребительском рынке
СТУДЕНТКИ ГИП-110
Кулаковой Наталии Олеговны
Самара 2014 г.
РЕФЕРАТ
Выпускная квалификационная работа бакалавра.
Пояснительная записка: 80с., 23 рис., 4 табл., 32 источника, 7 приложений.
ИНТЕЛЛЕКТУАЛЬНЫЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ, ЭКСПЕРТНЫЕ СИСТЕМЫ, БАЗА ЗНАНИЙ, ИССЛЕДОВАНИЕ, ПОТРЕБИТЕЛЬСКИЙ РЫНОК, ЭКСПЕРТ, ПАРАМЕТРЫ, СОТОВЫЙ ТЕЛЕФОН.
Объектом исследования является особенность использования методологии экспертных систем на потребительском рынке.
Цель работы - исследование особенностей методологии экспертных систем на потребительском рынке на основе создания своей экспертной системе по подбору мобильных телефонов, с учетом пожеланий пользователей.
Использование методологии экспертных систем на потребительском рынке:
- упрощает процесс подбора товаров;
- исключает человеческий фактор;
- расширяет число пользователей.
Разработан алгоритм, который строиться на связи получаемых ответов и технических параметров телефонов. Пользователю задаются простые вопросы, но система получает не просто ответ пользователя, а еще и список технических параметров. Это возможно, благодаря работе эксперта, который разработал все эти связи и зависимости.
Данную модель построения систем поиска товаров, можно использовать для подбора любого продукта.
Проведенные исследования, в области экспертных систем, и разработанная система будут использоваться в учебном процесс, в курсе «Интеллектуальные ИС», на кафедре прикладной математики и вычислительной технике в Самарском государственном архитектурно - строительном университете.
Таблица оценки творческого уровня работы
Критерий |
Значение критерия |
Комментарий |
|
Исследовательский характер работы кроме 2, знает по литературе о тенденциях развития соответствующего направления на основе ИКТ |
3 |
Анализ развития использования экспертных систем в различных областях. |
|
Связь с НИР руководителя результаты работы уже используются научным руководителем в докладах и статьях |
3 |
Прохоровой О.В. опубликована статья в Международном Научно-Исследовательском журнале. |
|
Перспективность тематики работы новое научное направление с повышенной частотой защит кандидатских диссертаций (интеллектуальные системы, имитационное моделирование, мультиагентные системы) |
3 |
Экспертные системы относятся к интеллектуальным информационным системам. |
|
Публикация работы статья без соавторов опубликована или принята к печати (есть справка редакции) |
5 |
Статья в сборнике СГАСУ |
|
Практическая значимость работы уже используется в своем учебном заведении |
2 |
Разработанная система и результаты анализа внедрены в курс «Интеллектуальные ИС», для изучения экспертных систем. |
|
Анализ научной проблематики поверхностно знает о новых результатах российских и зарубежных ученых |
4 |
Результаты использования экспертных систем. Эффективность использования ЭС на потребительском рынке. |
|
Авторская формализация проблемы достаточно сложный аппарат, выполнена, в основном, научным руководителем |
3 |
Метод создания ЭС |
|
Новые научные результаты получены, в основном, самим учащимся и достаточно значительны |
4 |
Эффективность использования экспертных систем для решения данной задачи. |
|
Оригинальные идеи автора оригинальные идеи отсутствуют |
0 |
||
Анализ литературы анализ проведен учащимся по Интернет-источникам и журнальным статьям (всего не менее 6) с перекрестным сопоставлением |
4 |
Анализ литературы о ЭС, их структуры, использования, особенностей и другое. |
|
Освоенные обеспечивающие методы, приемы освоены средства программирования типа C++, C#, PHP, Java |
3 |
Система реализована на языке С++ |
|
Разработанные обеспечивающие методы, приемы интеллектуальные, имитационные, визуальные, мультиагентные системы; сложные целостные ИТ |
3 |
||
Многопараметриеское исследование проводится с помощью разработанных программных средств |
3 |
Исследования подбора сотового телефона по выбранным параметрам. |
|
Обычное для автора качество оформление работы кроме 2, программный продукт работает безупречно |
3 |
||
Обычное для автора качество доклада кроме 3, активно участвует в общем обсуждении с доброжелательных содержательных позиций |
4 |
||
Рейтинг работы |
19 |
||
Ожидаемая оценка ВКР бакалавра |
отлично |
СОДЕРЖАНИЕ
- Введение
- 1. Обзор проблематики и постановка задачи
- 1.1 Описание и системный анализ предметной области
- 1.2 Системный анализ использования ИКТ в предметной области
- 1.3 Постановка задачи
- 1.4 Цель работы
- 1.5 Необходимые методы исследования
- 1.6 Ожидаемые новые научные результаты
- 1.7 Ожидаемая практическая значимость
- Выводы по главе 1
- 2. Разработка программного обеспечения
- 2.1 Требования к программному обеспечению
- 2.2 Описание архитектуры и функциональной структуры ПО
- 2.3 Обоснование выбора средств разработки
- 2.4 Разработка физической структуры БД
- 2.5 Разработка программного обеспечения
- 2.6 Подробное описание ключевых алгоритмов
- 2.7 Информационная безопасность и защита информации
- 2.8 Описание контрольного примера и результатов тестирования
- Выводы по главе 2
- 3. Математическая модель и исходная информация
- 3.1 Требования к модели и исходным данным
- 3.2 Основные гипотезы и допущения
- 3.3 Основные понятия модели и обозначения
- 3.4 Математические соотношения и их обоснование
- 3.5 Методы получения исходных данных
- 3.6 Полученные в процессе работы исходные данные
- Выводы по главе 3
- 4. Исследования и анализ результатов
- 4.1 Описание объекта исследования
- 4.2 Разработка плана исследования
- 4. 3. Описание хода исследования
- 4.4 Результаты, полученные в ходе исследования
- 4.5 Анализ результатов и сравнение с аналогами
- Выводы по главе 4
- Заключение
- Список использованных источников
- Приложения
ВВЕДЕНИЕ
В течение последнего десятилетия в рамках работ по искусственному интеллекту сформировалось самостоятельное направление - экспертные системы или инженерия знаний. В задачу этого направления входят исследование и разработка программ, использующих знания и процедуры решения задач, которые являются трудными для людей - экспертов. Области применения экспертных систем разнообразны: военные приложения, медицина, электроника, вычислительная техника, геология, математика, космос, сельское хозяйство, управление, финансы, бизнес, и т.д.
Экспертная система - это программа, которая использует принципы искусственного интеллекта и знания эксперта для обработки оперативной информации и принятия обоснованных решений в анализируемой области[1].
По форме представления знания эксперта можно отнести к следующим общим категориям. Декларативные знания - это утверждения, которые могут быть истинными или ложными. Такие знания могут быть сохранены в стандартной базе данных. Некоторые знания являются алгоритмическими и поэтому могут быть представлены в виде блок-схемы. Такие знания могут быть выражены в виде подпрограммы на любом процедурном языке программирования.
Опыт по разработке интеллектуальных или экспертных систем показал, что эксперты обладают знаниями, которые не являются ни строго декларативными, ни строго алгоритмическими. Эти знания являются интуитивными и их наличие связано с опытом экспертов. Общими являются типичные знания, которые можно представить как строго декларативное или алгоритмическое знание. Опыт, с другой стороны, - это знание частных случаев и исключений из общего знания, который нельзя эффективно преподавать в классе или перечислить в книгах. Знание частных случаев, которое приобретается на опыте, - это только одна форма более широкого класса условного знания, которое является по существу трудно организуемым и поэтому его трудно изобразить схематически в виде, например, блок-схемы. Любая программа, в которой рассматривается большое количество условных логических выражений, может быть практически трудно реализуема [2].
Обычно к экспертным системам относят системы, основанные на знаниях. Знания можно подразделить на формализованные (универсальные знания - законы, модели, алгоритмы) и на неформализованные (эпирические, опыт, умение, интуиция).
Традиционное программирование в качестве основы для разработки программного обеспечения использует формализованное знание (алгоритм) и не подходит для решения неформализованных задач, к которым можно отнести следующие:
- алгоритмическое решение задачи неизвестно;
- задача не может быть определена в числовой форме;
- цели задачи не могут быть выражены в терминах точно определенной функции.
Как правило, такие задачи обладают неполнотой, ошибочностью, неоднозначностью и противоречивостью.
Экспертные системы не отвергают традиционного подхода к программированию, они предлагают технологию и методы решения неформализованных задач. Эти методы практически не зависят от типов решаемых задач.
1. ОБЗОР ПРОБЛЕМАТИКИ И ПОСТАНОВКА ЗАДАЧИ
1.1 Описание и системный анализ предметной области
Любая информационная система (ИС) выполняет следующие функции: воспринимает вводимые пользователем информационные запросы и необходимые исходные данные, обрабатывает введенные и хранимые в системе данные в соответствии с известным алгоритмом и формирует требуемую выходную информацию. С точки зрения реализации перечисленных функций ИС можно рассматривать как фабрику, производящую информацию, в которой заказом является информационный запрос, сырьем - исходные данные, продуктом - требуемая информация, а инструментом (оборудованием) - знание, с помощью которого данные преобразуются в информацию [3].
Знание имеет двоякую природу: фактуальную и операционную.
Фактуальное знание - это осмысленные и понятые данные. Данные сами по себе - это специально организованные знаки на каком-либо носителе.
Операционное знание - это те общие зависимости между фактами, которые позволяют интерпретировать данные или извлекать из них информацию. Информация по сути - это новое и полезное знание для решения каких-либо задач.
Процесс извлечения информации из данных сводится к адекватному соединению операционного и фактуального знаний и в различных типах ИС выполняется по-разному. Самый простой путь их соединения заключается в рамках одной прикладной программы:
Программа = Алгоритм (Правила преобразования данных +
Управляющая структура) + Структура данных
Таким образом, операционное знание (алгоритм) и фактуальное знание (структура данных) неотделимы друг от друга. Однако, если в ходе эксплуатации ИС выяснится потребность в модификации одного из двух компонентов программы, то возникнет необходимость ее переписывания. Это объясняется тем, что полным знанием проблемной области обладает только разработчик ИС, а программа служит «не думающим исполнителем» знания разработчика. Конечный же пользователь вследствие процедурности и машинной ориентированности представления знаний понимает лишь внешнюю сторону процесса обработки данных и никак не может на него влиять.
Следствием перечисленных недостатков является плохая жизнеспособность ИС или не адаптивность к изменениям информационных потребностей. Кроме того, в силу детерминированности алгоритмов решаемых задач ИС не способна к формированию у пользователя знания о действиях в не полностью определенных ситуациях.
В системах, основанных на обработке баз данных (СБД - Data Base Systems), происходит отделение фактуального и операционного знаний друг от друга. Первое организуется в виде базы данных, второе - в виде программ. Причем программа может автоматически генерироваться по запросу пользователя (например, реализация SQL или QBE запросов). В качестве посредника между программой и базой данных выступает программный инструмент доступа к данным - система управления базой данных (СУБД):
СБД = Программа <=> СУБД <=> База данных
Концепция независимости программ от данных позволяет повысить гибкость ИС по выполнению произвольных информационных запросов. Однако, эта гибкость в силу процедурности представления операционного знания имеет четко определенные границы. Для формулирования информационного запроса пользователь должен ясно представлять себе структуру базы данных и до определенной степени алгоритм решения задачи. Следовательно, пользователь должен достаточно хорошо разбираться в проблемной области, в логической структуре базы данных и алгоритме программы. Концептуальная схема базы данных выступает в основном только в роли промежуточного звена в процессе отображения логической структуры данных на структуру данных прикладной программы.
Общие недостатки традиционных информационных систем, к которым относятся системы первых двух типов, заключаются в слабой адаптивности к изменениям в предметной области и информационным потребностям пользователей, в невозможности решать плохо формализуемые задачи, с которыми управленческие работники постоянно имеют дело. Перечисленные недостатки устраняются в интеллектуальных информационных системах (ИИС).
Анализ структуры программы показывает возможность выделения из программы операционного знания (правил преобразования данных) в так называемую базу знаний, которая в декларативной форме хранит общие для различных задач единицы знаний. При этом управляющая структура приобретает характер универсального механизма решения задач (механизма вывода), который связывает единицы знаний в исполняемые цепочки (генерируемые алгоритмы) в зависимости от конкретной постановки задачи. Такие ИС становятся системами, основанными на обработке знаний (СБЗ - Knowledge Base (Based) Systems):
СБЗ = База знаний <=> Управляющая структура <=> База данных
(Механизм вывода)
Для интеллектуальных информационных систем, ориентированных на генерацию алгоритмов решения задач, характерны следующие признаки:
- развитые коммуникативные способности;
- умение решать сложные плохо формализуемые задачи;
- способность к самообучению.
Коммуникативные способности ИИС характеризуют способ взаимодействия (интерфейса) конечного пользователя с системой, в частности, возможность формулирования произвольного запроса в диалоге с ИИС на языке, максимально приближенном к естественному.
Сложные плохо формализуемые задачи - это задачи, которые требуют построения оригинального алгоритма решения в зависимости от конкретной ситуации, для которой могут быть характерны неопределенность и динамичность исходных данных и знаний.
Способность к самообучению - это возможность автоматического извлечения знаний для решения задач из накопленного опыта конкретных ситуаций.
В различных ИИС перечисленные признаки интеллектуальности развиты в неодинаковой степени и редко, когда все четыре признака реализуются одновременно. Условно каждому из признаков интеллектуальности соответствует свой класс ИИС (рисунок 1) [4]:
- Системы с интеллектуальным интерфейсом;
- Экспертные системы (ЭС);
- Самообучающиеся системы.
Рисунок 1 - Классификация ИИС
Экспертные системы
Назначение экспертных систем заключается в решении достаточно трудных для экспертов задач на основе накапливаемой базы знаний, отражающей опыт работы экспертов в рассматриваемой проблемной области. Достоинство применения экспертных систем заключается в возможности принятия решений в уникальных ситуациях, для которых алгоритм заранее не известен и формируется по исходным данным в виде цепочки рассуждений (правил принятия решений) из базы знаний. Причем решение задач предполагается осуществлять в условиях неполноты, недостоверности, многозначности исходной информации и качественных оценок процессов [5].
Экспертная система является инструментом, усиливающим интеллектуальные способности эксперта, и может выполнять следующие роли:
* консультанта для неопытных или непрофессиональных пользователей;
* ассистента в связи с необходимостью анализа экспертом различных вариантов принятия решений;
* партнера эксперта по вопросам, относящимся к источникам знаний из смежных областей деятельности.
Экспертные системы используются во многих областях, среди которых лидирует сегмент приложений в бизнесе (рисунок 2).
Рисунок 2 - Области применения экспертных систем
Архитектура экспертной системы, представлена на рисунке 3, включает в себя два основных компонента: базу знаний (хранилище единиц знаний) и программный инструмент доступа и обработки знаний, состоящий из механизмов вывода заключений (решения), приобретения знаний, объяснения получаемых результатов и интеллектуального интерфейса. Причем центральным компонентом экспертной системы является база знаний, которая выступает по отношению к другим компонентам как содержательная подсистема, составляющая основную ценность. “Know-how” базы знаний хорошей экспертной системы оценивается в сотни тысяч долларов, в то время как программный инструментарий - в тысячи или десятки тысяч долларов [6].
Рисунок 3 - Архитектура экспертной системы
Участники процесса разработки и эксплуатации ЭС: эксперты, инженеры по знаниям, пользователи.
Эксперт - специалист, знания которого помещаются в базу знаний.
Инженер по знаниям - специалист, который занимается извлечением знаний и их формализацией в базе знаний.
Пользователь - специалист, интеллектуальные способности которого расширяются благодаря использованию в практической деятельности ЭС.
Основные составные части архитектуры ЭС: база знаний, механизмы вывода, объяснения, приобретения знаний, интеллектуальный интерфейс.
База знаний - это совокупность единиц знаний, которые представляют собой формализованное с помощью некоторого метода представления знаний отражение объектов проблемной области и их взаимосвязей, действий над объектами и, возможно, неопределенностей, с которыми эти действия осуществляются.
Назначение экспертной системы: консультирование и обучение неопытных пользователей, ассистирование экспертам в решении задач, советы экспертам по вопросам из смежных областей знаний (интеграция источников знаний).
Классы экспертных систем:
Статическая экспертная система - это ЭС, решающая задачи в условиях не изменяющихся во времени исходных данных и знаний.
Динамическая экспертная система - это ЭС, решающая задачи в условиях изменяющихся во времени исходных данных и знаний.
Аналитическая экспертная система - это ЭС, осуществляющая оценку вариантов решений (проверку гипотез).
Синтетическая экспертная система - это ЭС, осуществляющая генерацию вариантов решений (формирование гипотез).
Классы решаемых задач в экспертной системе: интерпретация, диагностика, прогнозирование, проектирование, планирование, мониторинг, коррекция, управление.
По данным публикации [7], в которой проводится анализ 12500 действующих экспертных систем, распределение экспертных систем по проблемным областям представлено на рисунке 4:
Рисунок 4 - Проблемные области экспертных систем
Обычно необходимость разработки экспертной системы в той или иной сфере деятельности связана с затруднениями лиц, принимающих решение, что сказывается на эффективности функционирования проблемной области. Эти затруднения могут быть обусловлены недостаточным опытом работы в данной области, сложностью постоянного привлечения экспертов, нехваткой трудовых ресурсов для решения простых интеллектуальных задач, необходимостью интеграции разнообразных источников знаний. Как правило, назначение экспертной системы связано с одной из следующих областей:
- обучение и консультация неопытных пользователей;
- распространение и использование уникального опыта экспертов;
- автоматизация работы экспертов по принятию решений;
- оптимизация решения проблем, выдвижение и проверка гипотез.
Программные средства (ПС), базирующиеся на технологии экспертных систем, или инженерии знаний (в дальнейшем будем использовать их как синонимы), получили значительное распространение в мире. Важность экспертных систем состоит в следующем [8]:
- технология экспертных систем существенно расширяет круг практически значимых задач, решаемых на компьютерах, решение которых приносит значительный экономический эффект;
- технология ЭС является важнейшим средством в решении глобальных проблем традиционного программирования: длительность и, следовательно, высокая стоимость разработки сложных приложений;
- высокая стоимость сопровождения сложных систем, которая часто в несколько раз превосходит стоимость их разработки; низкий уровень повторной используемости программ и т.п.;
- объединение технологии ЭС с технологией традиционного программирования добавляет новые качества к программным продуктам за счет: обеспечения динамичной модификации приложений пользователем, а не программистом; большей «прозрачности» приложения; лучшей графики; интерфейса и взаимодействия.
По мнению ведущих специалистов, в недалекой перспективе ЭС найдут следующее применение:
- ЭС будут играть ведущую роль во всех фазах проектирования, разработки, производства, распределения, продажи, поддержки и оказания услуг;
- технология ЭС, получившая коммерческое распространение, обеспечит революционный прорыв в интеграции приложений из готовых интеллектуально-взаимодействующих модулей.
Сфера применения экспертной системы характеризует тот круг задач, который подлежит формализации, например, «оценка финансового состояния предприятия», «выбор поставщика продукции», «формирование маркетинговой стратегии» и т.д.
Экспертные системы применяются для решения только трудных практических задач. По качеству и эффективности решения экспертные системы не уступают решениям эксперта-человека. Решения экспертных систем обладают «прозрачностью», т.е. могут быть объяснены пользователю на качественном уровне. Это качество экспертных систем обеспечивается их способностью рассуждать о своих знаниях и умозаключениях.
Выделяют несколько основных проблем технологии создания экспертных систем [9]:
1. Объединение различных методов и технологий в единую систему.
2. Отсутствие цельного представления знаний в интегрируемой среде.
3. Отсутствия методов обмена данными между экспертными системами, внутри этой системы.
4. Отсутствия методов обработки запросов к экспертным системам.
5. Методологии проектирования экспертной системы в целом.
6. Нет четкой методики проектирования экспертных систем.
Использование экспертных систем целесообразно в следующих случаях:
— решение задачи должно принести значительный эффект, например экономический;
— недостаточное количество экспертов (например, в случае необходимости выполнения экспертизы одновременно в нескольких местах);
— недопустимая потеря времени или информации при передаче информации эксперту.
Схема проектирования экспертных систем представлена на рисунке 5.
Рисунок 5 - Схема экспертной системы
Технология разработки экспертных систем, представлена на рисунке 6, включает следующие шесть этапов: идентификацию, концептуализацию, формализацию, выполнение, тестирование, опытную эксплуатацию.
Рисунок 6 - Методика разработки экспертных систем
Потребительский рынок
Передом мной стоит задача доказать эффективность использования методологии ЭС в области потребительского рынка. Поэтому я изучила область потребительского рынка.
Товары и услуги - важнейший социально-экономический критерий оценки экономического развития страны и благосостояния ее населения.
В настоящее время существует большое количество определений понятия «потребительский рынок», авторы выделяют несколько ключевых моментов в них [10]:
- критериальные черты социально-экономических отношений по поводу обмена благами;
- отношения по поводу реализации продавцом собственных целей и задач;
- отношения по поводу удовлетворения нужд потребителей;
- территориальные особенности социально-экономического развития потребительского рынка;
- взаимосвязь рыночных и социально-экономических отношений в развитии потребительского рынка;
- государственное регулирование социально-экономических отношений потребительского рынка;
- выделение логистической составляющей социально-экономического развития потребительского рынка;
- место потребительского рынка в экономике региона и др.
Были выделены критерии формирования вариантов, развития потребительских рынков: рост народного благосостояния, улучшение экологической обстановки, повышение эффективности общественного производства, достижение устойчивости экономического и социального развития, укрепление обороноспособности страны, ликвидация межнациональных конфликтов.
Потребительский рынок, с одной стороны, является одной из отраслей рыночной экономики страны, взаимодействующей с остальными отраслями по правилам, установленным государством, с другой - автономной системой, в которой отношения между участниками взаимосвязаны и регулируются, прежде всего, государственными правовыми актами. Такая система не может функционировать и развиваться на основе саморегулирования.
1.2 Системный анализ использования ИКТ в предметной области
Коммерческий успех ЭС
Необходимо отметить, что в настоящее время технология экспертных систем используется для решения различных типов задач (интерпретация, предсказание, диагностика, планирование, конструирование, контроль, отладка, инструктаж, управление). рыночный программа экспертный товар
Области применения экспертных систем разнообразны: образование, военные приложения, медицина, электроника, энергетика, транспорт, вычислительная техника, геология, математика, космос, сельское хозяйство, управление, финансы, бизнес, и т.д.
Следует обратить внимание на то, что некоторые специалисты (как правило, специалисты в программировании, а не в ИИ) продолжают утверждать, что ЭС и СИИ не оправдали возлагавшихся на них ожиданий и умерли. Причины таких заблуждений состоят в том, что эти авторы рассматривали ЭС как альтернативу традиционному программированию, т.е. они исходили из того, что ЭС в одиночестве (в изоляции от других программных средств) полностью решают задачи, стоящие перед заказчиком [11].
Причины, приведшие СИИ к коммерческому успеху, следующие:
1. Интегрированность. Разработаны инструментальные средства искусственного интеллекта (ИС ИИ), легко интегрирующиеся с другими информационными технологиями и средствами (с CASE, СУБД, контроллерами, концентраторами данных и т.п.).
2. Открытость и переносимость. ИС ИИ разрабатываются с соблюдением стандартов, обеспечивающих открытость и переносимость.
3. Использование языков традиционного программирования и рабочих станций. Переход от ИС ИИ, реализованных на языках ИИ (Lisp, Prolog и т.п.), к ИС ИИ, реализованным на языках традиционного программирования (С, C++ и т.п.), упростил обеспечение интегрированности, снизил требования приложений ИИ к быстродействию ЭВМ и объемам оперативной памяти. Переход от разработок ИС ИИ общего назначения (хотя они не утратили свое значение как средство для создания ориентированных ИС) к проблемно/предметно-ориентированным ИС ИИ обеспечивает: сокращение сроков разработки приложений; увеличение эффективности использования ИС; упрощение и ускорение работы эксперта; повторную используемость информационного и программного обеспечения (объекты, классы, правила, процедуры).
Итак, Экспертные системы - это яркое и быстро прогрессирующее направление в области искусственного интеллекта. Причиной повышенного интереса, который ЭС вызывают к себе на протяжении всего своего существования, является возможность их применения к решению задач из самых различных областей человеческой деятельности. Практическое применение искусственного интеллекта на машиностроительных предприятиях и в экономике основано на ЭС, позволяющих повысить качество и сохранить время принятия решений, а также способствующих росту эффективности работы и повышению квалификации специалистов. Таким образом, как мы видим, экспертные системы являются востребованным продуктом на современном рынке информационных технологий.
Анализ готовых решений
Рассмотрим несколько примеров существующих ЭС:
1. DeltaCredit Bank
ЭС помогает Пользователю выбрать подходящую для него квартиру, основываясь на параметрах квартир, представленных в базе данных по квартирам. Гибкий алгоритм поиска позволяет подобрать подходящую квартиру за минимальное число шагов.
2. Сотовик.ру
ЭС помогает найти интересующий пользователя мобильный телефон, из каталога мобильных телефонов основываясь на их параметрах. Гибкий алгоритм поиска позволяет в любой момент пересмотреть любой из параметров поиска и максимально быстро найти подходящий вариант телефона.
3. Studyabroad.ru
При работе ЭС используется специальная База Знаний, в которую входит исчерпывающий набор параметров учебных заведений, иерархия параметров, вопросов, ответов, а также подсказок по каждому из параметров. В процессе поиска учебного заведения пользователь видит уже отобранные ЭС-мой названия учебных заведений, представляемые в виде списка, и всегда может остановить поиск, не отвечая на дальнейшие вопросы системы.
4. Эльдорадо
В онлайновом магазине компании "Эльдорадо" реализован наглядный и легко мультиплицируемый механизм подбора товаров в рамках отдельных товарных групп - Экспертная Система (ЭС) по подбору товаров. ЭС предназначена для быстрого сужения поиска без потери качества выборки; помогает пользователю выбрать объект, подходящий по нескольким параметрам, из некоторого множества объектов. Также создан вариант ЭС, в которой реализован более сложный механизм подбора товаров по большему набору параметров. В ЭС внедрен алгоритм пересмотра выбранных значений параметров, а также автоматического заполнения параметров на основании ответов, данных пользователем..
5. META-DENDRAL.
Система DENDRAL позволяет определить наиболее вероятную структуру химического соединения по экспериментальным данным (масс- спектрографии, данным ядерном магнитного резонанса и др.).
6. MYCIN-EMYCIN-TEIREIAS-PUFF-NEOMYCIN.
Это семейство медицинских ЭС и сервисных программных средств для их построения.
7. PROSPECTOR-KAS.
PROSPECTOR- предназначена для поиска (предсказания) месторождений на основе геологических анализов. KAS- система приобретения знаний для PROSPECTOR.
8. CASNET-EXPERT.
Система CASNET- медицинская ЭС для диагностики выдачи рекомендаций по лечению глазных заболеваний. На ее основе разработан язык инженерии знаний EXPERT, с помощью которой создан ряд других медицинских диагностических систем.
9. HEARSAY-HEARSAY-2-HEARSAY-3-AGE.
Первые две системы этого ряда являются развитием интеллектуальной системы распознавания слитной человеческой речи, слова которой берутся из заданного словаря. Эти системы отличаются оригинальной структурой, основанной на использовании доски объявлений - глобальной базы данных, содержащей текущие результаты работы системы. В дальнейшем на основе этих систем были созданы инструментальные системы HEARSAY-3 и AGE (Attempt to Generalize- попытка общения) для построения ЭС.
10. OMEGAMON
В качестве примера быстродействующей системы для отслеживания состояния корпоративной информационной сети (КИС) можно привести основанную на знаниях систему мониторинга OMEGAMON фирмы Candle (IBM с 2004 г.). OMEGAMON - типичный представитель современных экспертных мультиагентных динамических систем, работающих в реальном времени. OMEGAMON позволяет за считанные минуты ввести и отладить правила мониторинга внештатных ситуаций для объектов КИС.
1.3 Постановка задачи
После изучения предметной области, передо мной были поставлены следующие задачи:
1. Изучить суть ЭС.
2. Проанализировать актуальность разработки ЭС.
3. Проанализировать использование ЭС на потребительском рынке.
4. Провести сравнительный анализ уже имеющихся ЭС по подбору товаров.
5. Спроектировать базу знаний (описание моделей и вопросы к ним).
6. Спроектировать оболочки (правила и признаки).
7. Соединить оболочку и базы.
8. Провести тестирование программы.
9. Провести анализ разработанной системы с уже существующими системами по подбору сотового телефона.
10. Обосновать эффективность использования ЭС.
1.4 Цель работы
Изучить экспертные системы, их достоинства и недостатки, особенности в реализации. Научиться создавать ЭС. Проанализировать популярность использования ЭС в разных отраслях. Исследовать особенности использования методологии ЭС на потребительском рынке. На примере разработанной мной системы доказать преимущество реализации ЭС таким методом.
1.5 Необходимые методы исследования
В работе применяются следующие методы исследования:
- метод создания экспертных систем;
- метод подбора товара по заданным критериям.
1.6 Ожидаемые новые научные результаты
Новая реализация экспертной системы на языке программирования Пролог, для поставленной задачи. В области потребительского рынка, на примере подбора сотового телефона, с учетом выбранных критериев.
1.7 Ожидаемая практическая значимость
Представленное решение данной задачи актуально в сфере потребления товаров. Проведенные исследования в области экспертных систем и разработанная система будут использоваться в учебном процесс, в курсе «Интеллектуальные системы», на кафедре прикладной математики и вычислительной технике в Самарском государственном архитектурно - строительном университете.
ВЫВОДЫ ПО ГЛАВЕ 1
Экспертные системы являются одним из классов информационно интеллектуальных систем. Назначение экспертных систем заключается в решении достаточно трудных для экспертов задач на основе накапливаемой базы знаний, отражающей опыт работы экспертов в рассматриваемой проблемной области. Достоинство применения экспертных систем заключается в возможности принятия решений в уникальных ситуациях, для которых алгоритм заранее не известен и формируется по исходным данным в виде цепочки рассуждений (правил принятия решений) из базы знаний. Участники процесса разработки и эксплуатации ЭС: эксперты, инженеры по знаниям, пользователи.
Необходимо отметить, что в настоящее время технология экспертных систем используется для решения различных типов задач (интерпретация, предсказание, диагностика, планирование, конструирование, контроль, отладка, инструктаж, управление).
Использование экспертных систем целесообразно в следующих случаях:
- решение задачи должно принести значительный эффект, например экономический;
- недостаточное количество экспертов (например, в случае необходимости выполнения экспертизы одновременно в нескольких местах);
- недопустимая потеря времени или информации при передаче информации эксперту.
Но основная цель работы доказать, что ЭС эффективно использовать еще и для решения задач в области потребительского рынка, а именно подбора различного товара. Проведенный анализ уже доказал, что это возможно и плюсы этого, а дальше я докажу с помощью разработанной мной ЭС и на примере подбора сотового телефона.
2. РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
2.1 Требования к программному обеспечению
Для работы системы на компьютере должно быть:
- операционная система Windows 2000 и выше;
- Microsoft Access 2010
2.2 Описание архитектуры и функциональной структуры ПО
Функции:
1. Функции по работе с пользователем:
- выбор требуемых характеристик для сотового телефона;
- просмотр подходящих моделей;
2. Функции по работе с экспертом:
- вход эксперта под логином и паролем;
- работа с базой данных экспертом (добавление, редактирование, удаление данных).
2.3 Обоснование выбора средств разработки
Виды инструментальных средств построения ЭС [13]:
1. Традиционные языки программирования
В эту группу инструментальных средств входят традиционные языки программирования (С, C++, Basic, SmallTalk, Fortran и т.д.), ориентированные в основном на численные алгоритмы и слабо подходящие для работы с символьными и логическими данными. Поэтому создание систем искусственного интеллекта на основе этих языков требует большой работы программистов. Однако большим достоинством этих языков является высокая эффективность, связанная с их близостью к традиционной машинной архитектуре. Кроме того, использование традиционных языков программирования позволяет включать интеллектуальные подсистемы в крупные программные комплексы общего назначения.
2. Языки искусственного интеллекта
Это, прежде всего Лисп (LISP) и Пролог (Prolog) - наиболее распространенные языки, предназначенные для решения задач искусственного интеллекта. Есть и менее распространенные языки искусственного интеллекта, например РЕФАЛ, разработанный в России. Универсальность этих языков меньшая, нежели традиционных языков, но ее потерю языки искусственного интеллекта компенсируют богатыми возможностями по работе с символьными и логическими данными, что крайне важно для задач искусственного интеллекта.
Выбор подходящего инструментария для разработки ЭС
Для поставленной задачи мной был выбран язык программирования PROLOG. Этот выбор обусловлен структурой программ на этом языке. Программа на языке PROLOG состоит из набора фактов, определенных отношений между объектами данных (фактами) и набором правил (образцами отношений между объектами базы данных). Эти факты и правила вводятся в базу данных. Для работы программы пользователь должен ввести запрос - набор термов, которые все должны быть истинны. Факты и правила из базы данных используются для определения того, какие подстановки для переменных в запросе (называемые унификацией) согласуются с информацией в базе данных. Язык PROLOG, как интерпретатор, приглашает пользователя вводить информацию. Пользователь набирает запрос или имя функции. Выводится значение (истина - yes, или ложь - no) этого запроса, а также возможные значения переменных запроса, присвоение которых делает запрос истинным. К недостаткам данного языка можно отнести отсутствие механизма прямого вывода [14].
Но PROLOG не может отобразить все стороны ЭС, поэтому для лучшей реализации мной был выбран другой язык программирования - С++.
C++ - чрезвычайно мощный язык, содержащий средства создания эффективных программ практически любого назначения, от низкоуровневых утилит и драйверов до сложных программных комплексов самого различного назначения [15].
В частности:
- поддерживаются различные стили и технологии программирования, включая традиционное директивное программирование, ООП, обобщённое программирование, метапрограммирование (шаблоны, макросы);
- предсказуемое выполнение программ является важным достоинством для построения систем реального времени;
- автоматический вызов деструкторов объектов при их уничтожении, причём в порядке, обратном вызову конструкторов;
- пользовательские функции-операторы позволяют кратко и ёмко записывать выражения над пользовательскими типами в естественной алгебраической форме;
- используя шаблоны, возможно, создавать обобщённые контейнеры и алгоритмы для разных типов данных, а также специализировать и вычислять на этапе компиляции;
- кроссплатформенность: стандарт языка накладывает минимальные требования на ЭВМ для запуска скомпилированных программ;
- эффективность. Язык спроектирован так, чтобы дать программисту максимальный контроль над всеми аспектами структуры и порядка исполнения программы. Ни одна из языковых возможностей, приводящая к дополнительным накладным расходам, не является обязательной для использования -- при необходимости язык позволяет обеспечить максимальную эффективность программы.
Эти возможности языка позволят показать больше преимуществ ЭС и сделать удобный пользовательский интерфейс, который так важен для систем по подбору товаров. Поэтому приложение реализовано на языке С++.
2.3 Разработка физической структуры БД
База данных в моей системе состоит из двух частей: первая часть - телефоны, вторая часть - вопросы, схема данных представлена на рисунке 7.
Рисунок 7 - Структура БД
Первая часть состоит из одной таблицы: phone. В ней хранятся все модели телефонов и их параметры. Рассмотрим все поля, и какие данные в них хранятся:
- ID-model - заполняется автоматически (тип данных-счетчик);
- mark- хранятся марки телефонов (тип данных-текстовый);
- model- модель телефона (тип данных-текстовый);
- price- цена телефона (тип данных-числовой, двойное с плавающей точкой);
- type- тип телефона: смартфон, телефон (тип данных-текстовый);
- platform - платформа телефона: Android, Windows Phone, Series 40, iOS, BlackBerry OS (тип данных-текстовый);
- type-body- тип корпуса телефона: классический, раскладушка, слайдер (тип данных-текстовый);
- touch-screen - сенсорный или нет экран телефона (тип данных-логический: да/нет);
- qwerty- наличие у телефона клавиатура qwerty (тип данных-логический: да/нет);
- sim-cards - сколько sim карт в данном телефоне: 1, 2, 3 (тип данных-числовой);
- diagonal - диагональ экрана телефона (тип данных-числовой, двойное с плавающей точкой);
- camera - сколько пикселей у фотокамеры (тип данных-числовой, двойное с плавающей точкой);
- GPRS - наличие данного параметра (тип данных-логический: да/нет);
- 3G - наличие данного параметра (тип данных - логический: да/нет);
- Wi-fe - наличие данного параметра (тип данных-логический: да/нет);
- GPS - наличие данной функции (тип данных-логический: да/нет);
- hard-core - количество ядер в телефоне: 1, 2, 4, 8(тип данных-числовой);
- RAM-size - объем оперативной памяти телефона (тип данных-числовой, двойное с плавающей точкой);
- unit- единицы измерений объема оперативной памяти: Мб, Гб (тип данных-текстовый);
- user-memory - объем встроенной памяти телефона (тип данных-числовой, двойное с плавающей точкой);
- units- единицы измерений объема встроенной памяти: Мб, Гб (тип данных-текстовый);
- card - возможность использовать карту памяти (тип данных-логический: да/нет);
- battery-capacity - емкость аккумулятора телефона (тип данных-числовой, двойное с плавающей точкой);
- units-- единицы измерения емкости аккумулятора: «мА*ч» (тип данных-текстовый, значение по умолчанию: «мА*ч»);
- talk-time - время работы телефона в режиме «разговор» (тип данных-числовой, двойное с плавающей точкой);
- timeout - время работы телефона в режиме «ожидания» (тип данных-числовой, двойное с плавающей точкой);
- units--- - единицы измерения времени работы: «ч» (тип данных-текстовый, значение по умолчанию: «ч»);
- photo - фото каждой модели в формате jpg (тип данных - поле объекта OLE);
- link - ссылка на каждую модель на яндекс маркете (тип данных - гиперссылка).
Все эти параметры заполняются экспертом.
Вторая часть состоит из трех таблиц: vopros, perexod, criterion. Таблицы vopros и perexod связаны по полю ID-vopros, связь один ко многим; таблицы vopros и criterion связаны по полю ID- criterion, связь один ко многим.
Таблица vopros содержит вопросы, задаваемые пользователю. Их заносит эксперт.
Таблица criterion содержит три столбца:
1. ID- criterion - заполняется автоматически (тип данных-счетчик).
2. Criterion - хранит все параметры телефонов, перечисленные ваше (тип данных-текстовый).
3. Value - заполняется автоматически, при ответе на вопрос (тип данных - текстовый).
Таблица perexod - содержит правила переходов между вопросами, в зависимости от ответов и какой при этом критерий заполняется. Эта таблица заполняется инженером, со слов эксперта.
2.4 Разработка программного обеспечения
Начнем с описания диаграммы вариантов использования, которая представлена на рисунке 8. В увеличенном размере диаграмма представлена в приложение А.
Есть три возможных варианта использования данной системы, на диаграмме они представлены актерами:
1. Гость.
2. Эксперт.
3. Инженер.
Рисунок 8 - UML диаграмма
Рассмотрим более подробно этих пользователей и варианты их взаимодействия с системой.
Гость - это любой пользователь данной системы. Для работы с программой, ему только необходимо ее запустить. У него есть два варианта использования:
1. Подбор мобильного телефона. Это основная функция системы, с ее помощью человек найдет наиболее подходящие модели телефонов, с учетом ее требований. Для этого ему нужно выбрать пункт «Начать поиск» на стартовой форме, ответить на появившийся первый вопрос, нажать «Далее» и так ответить на все вопросы, пока при нажатии кнопки «Далее» не появится результат.
2. Просмотр информации о системе. Выбрав этот вариант, пользователь увидит описание системы, зачем она создана, как с ней работать.
Эксперт - это выбранный человек, являющийся экспертом в данной предметной области. Для работы с приложением ему необходимо запустить его и войти в него под своим логином и паролем.
У него один вариант использования - Ведение справочников. Это основная функция эксперта, в нее входит: добавление новых моделей и их характеристик, редактирование старых, удаление неверной информации. Так же эксперт создает вопросы и варианты ответа, получив ответы на которые можно подобрать пользователю мобильный телефон.
Инженер - это программист. Он разрабатывает саму экспертную систему, базу данных, все интерфейсы, код программы. Но так же он создает правила, а они являются основой любой ЭС. И инженер со слов эксперта о связи ответов на задаваемые вопросы и параметрами телефонов, переводит эту связь на понятный машине язык.
Диаграмма вариантов состояний представлена в приложение А2.
Программа разработана в виде настольного приложения на объектно-ориентированном языке программирования C++ с использованием фреймворка разработки Qt. В его основе использование GUI библиотеки QtGui и реализации его класса QMainWindow. Структура программного обеспения представлена на рисунке 9.
Рисунок 9 - Структура программного обеспечения
Qt (произносится как «cute» или неофициально Q-T (кью-ти)) -- кроссплатформенный инструментарий разработки ПО на языке программирования C++. Позволяет запускать написанное с его помощью ПО в большинстве современных операционных систем путём простой компиляции программы для каждой ОС без изменения исходного кода. Включает в себя все основные классы, которые могут потребоваться при разработке прикладного программного обеспечения, начиная от элементов графического интерфейса и заканчивая классами для работы с сетью, базами данных и XML. Qt является полностью объектно-ориентированным, легко расширяемым и поддерживающим технику компонентного программирования.
До недавнего времени библиотека Qt также распространялась ещё в одной версии: Qt/Embedded. Теперь эта платформа переименована в Qtopia Core и распространяется как отдельный продукт. Qtopia Core обеспечивает базовую функциональность для всей линейки платформ, предназначенных для разработки приложений для встраиваемых и мобильных устройств (КПК, смартфонов и т. п.).
Отличительная особенность Qt от других библиотек -- использование Meta Object Compiler (MOC) -- предварительной системы обработки исходного кода (в общем-то, Qt -- это библиотека не для чистого C++, а для его особого наречия, с которого и «переводит» MOC для последующей компиляции любым стандартным C++ компилятором). MOC позволяет во много раз увеличить мощь библиотек, вводя такие понятия, как слоты и сигналы. Кроме того, это позволяет сделать код более лаконичным. Утилита MOC ищет в заголовочных файлах на C++ описания классов, содержащие макрос Q_OBJECT, и создаёт дополнительный исходный файл на C++, содержащий метаобъектный код.
Описание интерфейсов программы
Интерфейс главной (стартовой) страницы представлен на рисунке 10.
Рисунок 10 - Интерфейс главной страницы
Интерфейс входа для эксперта (рисунок 11).
Рисунок 11 - Интерфейс входа эксперта
Эксперт вводит свои логин и пароль, нажимает кнопку «Войти». Если все данные ведены, верно, появится окно работы с БД.
Интерфейс о системе представлен на рисунке 12.
Рисунок 12- Интерфейс о системе
Данная форма позволяет узнать информацию о системе, и вернутся на главную страницу, нажав кнопку «Главная».
Интерфейс задаваемого вопроса (рисунок 13).
Рисунок 13 - Интерфейс вопроса
На данном интерфейсе показан один из задаваемых вопросов. Пользователь ответил, на какой - то вопрос, нажал кнопку «Далее» и ему выдался данный вопрос. Ему нужно выбрать один из наиболее подходящих для него вариантов ответов, нажав на кружок рядом с ним и нажать кнопку «Далее» для перехода к следующему вопросу. Так же пользователь может нажать кнопку «Главная» и вернуться на стартовую форму.
Интерфейс результата (рисунок 14).
Рисунок 14 - Интерфейс результата
Этот интерфейс показывает, как выводится результат по итогам опроса. В верхней рамки представлены наиболее подходящие модели, при нажатии на одну из них в нижней рамке появится описание этого телефона, ссылка на сайт, где можно купить или узнать более подробную информацию, а справа появится фотография данной модели. После просмотра информации пользователь может закрыть систему или нажать кнопку «Главная» и вернуться на стартовую форму.
2.5 Подробное описание ключевых алгоритмов
Ключевым алгоритмом системы являются правила переходов между вопросами и тем, какие параметры телефонов при этом заполняются.
Всю работу системы можно описать таким алгоритмом:
1. Запуск.
2. Выгрузка вопросов из БД.
3. Сбор данных (ответы на вопросы).
4. Заполнение параметров в БД.
5. Сравнение заполненных параметров с имеющимися в БД.
6. Вывод результата.
Блок-схема алгоритма представлена в приложение Б.
Экспертом был создан перечень вопросов и вариантов ответов к ним. Весь список вопросов представлен в приложение В.
1. Какую сумму вы готовы потратить на сотовый телефон?
1.1 До 2000 рублей.
1.2 До 5000 рублей.
1.3 До 12000 рублей.
1.4 До 25000 рублей.
1.5 Больше 25000 рублей.
2. Для чего вам нужен телефон?
2.1 Для общения.
2.2 Карманный компьютер.
2.3 Для бизнеса.
2.4 Не знаю.
В системе используется цепочка прямого рассуждения. Стратегия прямого вывода состоит в том, что задается последовательность вопросов, построенных таким образом, что каждый из них позволяет отбросить большую группу потенциальных ответов, благодаря чему значительно сужается пространство поиска. Движение начинается с корня классификационного дерева и заканчивается в концевой вершине, продвижение по дереву направляется данными, т.е. дополнительной информацией, получаемой в ходе диалога.
Подобные документы
Изучение характеристик, классификации, функций и основных элементов экспертных систем. Исследование их структуры и отличительных особенностей от другого программного обеспечения. Описания методов проектирования и области применения экспертных систем.
реферат [38,1 K], добавлен 18.09.2013Сущность экспертных систем и их научно-познавательная деятельность. Структура, функции и классификация ЭС. Механизм вывода и система объяснений. Интегрированные информационные системы управления предприятием. Применение экспертных систем в логистике.
курсовая работа [317,3 K], добавлен 13.10.2013Определение экспертных систем, их достоинство и назначение. Классификация экспертных систем и их отличие от традиционных программ. Структура, этапы разработки и области применения. Классификация инструментальных средств и технология разработки систем.
курсовая работа [78,0 K], добавлен 03.06.2009Понятие и особенности экспертных систем, способных накапливать, обрабатывать знания из некоторой предметной области, на их основе выводить новые знания и решать на основе этих знаний практические задачи. История и устройство юридических экспертных систем.
реферат [58,4 K], добавлен 17.03.2015Этапы разработки экспертных систем. Требования к организации-разработчику. Правильный выбор подходящей проблемы, работа с экспертом. Разработка прототипной системы. Развитие прототипа до промышленной экспертной системы. Особенности оценки системы.
презентация [169,1 K], добавлен 14.08.2013Структура экспертных систем, их классификация и характеристики. Выбор среды разработки программирования. Этапы создания экспертных систем. Алгоритм формирования базы знаний с прямой цепочкой рассуждений. Особенности интерфейса модулей "Expert" и "Klient".
курсовая работа [1,1 M], добавлен 18.08.2009Теоретико-методологические основы моделирования интеграционных экспертных систем. Направления повышения эффективности адаптивных систем обнаружения сетевых аномалий. Математическая реализация модели адаптивных систем обнаружения сетевых аномалий.
дипломная работа [5,1 M], добавлен 03.01.2023Сущность, виды, направления использования и основные понятия экспертных систем. Понятие и характеристика основных элементов структуры экспертной системы. Основные виды классификаций экспертных систем: по решаемой задаче и по связи с реальным временем.
доклад [104,5 K], добавлен 09.06.2010Механизм автоматического рассуждения. Основные требования к экспертным системам. Наделение системы способностями эксперта. Типовая структура и классификация интерфейсов пользователей экспертных систем. Основные термины в области разработки систем.
презентация [252,6 K], добавлен 14.08.2013Общая характеристика экспертных программ как систем искусственного интеллекта. Описание реализации в реляционной системе управления базами данных. Рассмотрение особенностей интеграции объектных таблиц принятия решения в проект по распознаванию символов.
дипломная работа [662,5 K], добавлен 20.07.2015