Введение 3
1.Экспертные системы в разработке программного обеспечения 5
1.1 Понятие экспертной системы 5
1.2 Ограничения экспертных систем 5
1.3 Общие черты экспертных систем 6
1.4 Компоненты экспертной системы 6
1.5 Анализ существующей системы 8
1.6 Этапы разработки экспертных систем 9
2. Разработка прототипа экспертной системы «DBExpert» 10
2.1 Архитектура клиент-серверного приложения 11
2.2 Концепция ЭС по общей байесовской схеме 15
2.2.1 Элементы механизма логического вывода 16
2.2.2Взвешивание свидетельств 17
2.2.3Правила остановки 19
2.2.4 Структура базы данных 20
2.2.5 Алгоритм логического вывода 23
3. Программная реализация экспертной системы 25
3.1 Формирование требований к системе 25
3.2 Архитектура программы 26
3.3 Интерфейс 27
Заключение 33
Список использованных источников 35
Приложение 38
Информационные технологии занимают все более значимую роль в человеческом обществе. Они проникли во все сферы деятельности. Для обслуживания общественных потребностей в автоматизации труда, хранения данных, связи и др.
Одним из наиболее значительных достижений искусственного интеллекта стала разработка мощных компьютерных систем, получивших название «экспертных» или основанных на «знаниях» систем.
Экспертные системы - это яркое и быстро прогрессирующее направление в области искусственного интеллекта. Причиной повышенного интереса, который ЭС вызывают к себе на протяжении всего своего существования, является возможность их применения к решению задач из самых различных областей человеческой деятельности. Эти системы представляют собой программы для компьютера, которые могут воспроизводить процесс решения проблемы человеком-экспертом.
Отличительной чертой компьютерных программ, называемых экспертными системами, является их способность накапливать, модифицировать и использовать знания и опыт наиболее квалифицированных специалистов в какой-либо предметной области для решения практических задач. Системы, которые называются экспертными системами, используют механизмы автоматического рассуждения (вывода) и так называемые слабые методы искусственного интеллекта, такие, как, эвристический поиск решения [1].
В нашей стране современное состояние разработок в области экспертных систем можно охарактеризовать как стадию всевозрастающего интереса среди широких слоев экономистов, финансистов, преподавателей, инженеров, медиков, психологов, программистов, лингвистов. К сожалению, этот интерес имеет пока достаточно слабое материальное подкрепление - явная нехватка учебников и специальной литературы, отсутствие символьных процессоров и рабочих станций искусственного интеллекта, ограниченное финансирование исследований в этой области, слабый отечественный рынок программных продуктов для разработки экспертных систем.
В информатике экспертные системы рассматриваются совместно с базами модели поведения экспертов в определённой области знаний с использованием процедур логического вывода и принятия решений, а базы знаний как совокупность факторов и правил логического вывода в выбранной предметной области деятельности.
ЭС общего пользования чаще всего представлены в виде рекомендательных сервисов и профессиональных специализированных продуктов. Творения от всемирно известных компаний появляются ежегодно, например, Apple Music, Яндекс. Музыка, IMDb и другие. Известными в узкой среде экспертными системами профессионального пользования являются WolframAlpha, MIXER, CLIPS, Watson, MYCIN [2].
Реализуемое приложение «DBExpert», суть которого состоит не только в выявлении необходимых свойств базы данных, но и предоставления клиентам наилучшего варианта, наиболее удовлетворяющего запросам заказчика. Приложение подбирает идеальный вариант для клиента, в итоге это оказывает помощь разработчикам, так как выбор подходящего СУБД несет важную роль в успешной реализации их проектов.
Актуальность данного вида ЭС обуславливается тем, что экспертные системы имеют дело с операциями, системами и предметами реального мира, взаимодействие с которыми требует, как правило, наличия значительного накопленного опыта. ЭС предназначены для качественного решения задач в заданной области, даже если пользователь программы не обладает таким же уровнем знаний как эксперт данной области. Данное приложение было смоделировано в среде разработки VisualStudio 2013 на языке программирования C#.
Для достижения цели потребовалось решить следующие задачи:
• провести анализ общего алгоритма системы;
• разработать дизайн и спроектировать архитектуру решения;
• реализовать программное решение и разработать комплекс тестов для проверки её работоспособности.
В результате работы была разработана программа, позволяющая заказчику подобрать СУБД, оптимально подходящую для проектов созданных на его предприятии.
Основная сложность, возникающая при работе с данным решением, состоит в большом разнообразии СУБД, и соответственно в их характеристиках.
Возможности программы
В разработанном программном средстве реализованы следующие функции:
• Авторизация и регистрация пользователей
• Создание, удаление и редактирование базы знаний;
• Добавление и удаление критериев;
• Защита от опечаток при вводе числовых данных;
• Проверка уникальности гипотез и свидетельств при добавлении и в базу;
Системные требования
Для запуска приложения потребуется:
• среда разработки Visual Studio 2013 или выше
• Microsoft SQL Server Management Studio 2016 или выше
• Microsoft SQL Server 2013 или выше(local db или Express)
• База данных на этом сервере
• А также нужно будет импортировать в проект источник данных, то есть нашу БД
• Остальные операции вставки, не описанные в скриптах, можно осуществить непосредственно из среды программы
• От 1 Мбайт свободного места на цифровом носителе или жестком диске
• От 10 Мбайт свободной оперативной памяти
Планы развития проекта
Направлением будущих работ является изучение возможности перевода программного кода решения в модель ASP.NET MVC для реализации облачного сервиса на базе Microsoft Azure, что позволит получать доступ к реализованному решению из сети Интернет.
Разработанное приложение не претендуют на полноту и данные, использованные в программе были получены из литературы, но если доработать и дополнить имеющуюся информацию то данное приложение сможет стать конкурентно-способным на рынке информационных технологий.
[1] Тоискин В.С. Интеллектуальные информационные системы: учебное пособие. - Ставрополь: Изд-во СГПИ, 2009. - Часть 1. - С. 3.
[2] Журнал «Компьютерные вести On-line». Вып. 40, 2005 г. «Эволю- ция экспертных систем. История и перспективы» [Электронный ре- сурс]: URL:http://tpl-it.wikispaces.com/MYCIN (дата обращения: 15.05.2018).
[3] . Построение экспертных систем. [пер. с англ.] / под общ. ред. Ф. Хейеса - Рота, Д. Уотермана, Д. Лената. — М.: Мир, 1987.
[4] Буров К. Обнаружение знаний в хранилищах данных. // Открытые системы. - 1999. - № 5-6. - С. 67-77.
[5] Нейлор К. Как построить свою экспертную систему / К. Нейлор. —М.: Энергоатомиздат, 1991. — 286 с.
[6] Как работает рекомендательная система «Яндекс.Музыки». — URL: https://vc.rU/p/yandex-music (дата обращения: 08.05.2018).
[7] Гаврилова Т. А., Хорошевский В. Ф. Базы знаний интеллектуальных систем. / Т. А. Гаврилова, В. Ф. Хорошевский — СПб.: Питер, 2000.
[8] Павлова Е.А. ПРОЕКТИРОВАНИЕ ФОРМАЛЬНОГО ПРЕДМЕТНО - ОРИЕНТИРОВАННОГО ЯЗЫКА ДЛЯ РАЗРАБОТКИ ПРАВИЛ КОМПЬЮТЕРНЫХ ИГР В КЛАССЕ ПОШАГОВЫХ СТРАТЕГИЙ // Вестник компьютерных и информационных технологий. 2009. №4. С. 45-52.
[9] К. Дейт Введение в системы баз данных. - Москва • Санкт-Петербург • Киев 2005 -C. 76
[10] Телегина М. В., Янников И. М. Программная оболочка для создания экспертных систем Grafexpert // Известия Южного федерального уни- верситета. Технические науки. 2014. Вып. 16. С. 67-73.
[11] П.В. Бураков, В.Ю. Петров ВВЕДЕНИЕ В СИСТЕМЫ БАЗ ДАННЫХ, Санкт-Петербург 2010-. - C. 21.
[12] QA evolution Waterfall методология разработки — URL: https://qaevolution.ru/metodologiya-menedzhment/waterfall/ (дата обращения:
25.05.2018) .
[13] Рихтер Дж. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. / Дж. Рихтер. — 4-е изд., доп. — СПб.: Питер, 2013. — 896 с.
[14] Макконнел С. Совершенный код. Мастер-класс. [пер. с англ.] / С. Макконелл. — М.: Издательство «Русская редакция», 2010. — 896 стр.:
[15] Кнут Д. Е. Искусство программирования для ЭВМ. Сортировка и поиск. [пер. с англ. ] / Д. Е. Кнут. — М.: Мир, 1978. — 848 с.