Москва-2016
СОДЕРЖАНИЕ
Цель проведения лабораторных работ …………………………………………. | 3 |
1. Общие сведения………………………………………………………………. | 3 |
1.1 Экспертные системы (ЭС) …………………………………………........... | 3 |
1.2 Компоненты ЭС………………………………………………………........ | 4 |
1.3 Как работает ЭС…………………………….……….…………….……… | 6 |
1.4 Этапы создания экспертной системы…………………………….…....... | 6 |
2. Лабораторная работа N1. Построение Машины вывода для Экспертной системы реляционного типа…………………………………… | 8 |
2.1. Краткие теоретические сведения…………………………………………... | 8 |
2.2.Пример построения Экспертной системы реляционного типа.………….. | 9 |
2.3. Факты, свидетельства, гипотезы (декларативные знания)…..………........ | 10 |
2.4.Построение Машины вывода (Решателя) в виде дерева решений………. | 11 |
2.5.Реализации решателя с помощью таблицы переходов….………………... | 11 |
2.6.Порядок проведения Лабораторной работы № 1.….……………………… | 14 |
2.7.Контрольные вопросы….…………….…………….…………….……........ | 14 |
3. Лабораторная работа № 2. Создание интерфейса ЭС….………….………. | 14 |
3.1. Краткие общие сведения посозданию Интерфейса пользователя...….…. | 15 |
3.2.Организация диалога пользователя с ЭС….…………….……..………...... | 15 |
3.3.Реализация работы решателя в соответствии с ответами пользователя.... | 17 |
3.4.Порядок проведения Лабораторной работы № 2....….……….…………… | 18 |
3.5. Контрольные вопросы к Лабораторной работе № 2….………….………. | 18 |
4. Лабораторная работа № 3. Создание Блока объяснений. Тестирование и отладка Экспертной Системы………………………………………………… | 19 |
4.1. Краткие общие сведения посозданию Блока объяснений….……..…….. | 19 |
4.2.Создание Блока объяснений….…………….……………………………… | 19 |
4.3. Тестирование и отладка созданной Экспертной Системы….…..……….. | 23 |
4.4. Порядок проведения Лабораторной работы № 3….…………….………… | 23 |
4.5. Контрольные вопросы к Лабораторной работе № 3….………………….. | 24 |
Приложение А. Требования к ОТЧЕТУ по Лабораторной работе….…….……... | 24 |
I.Содержание ОТЧЕТА…………………………………………………… | 24 |
II.Оформление ОТЧЕТА……………………………………..…………..... | 25 |
Приложение Б. Построение решателя в ЭС продукционного типа….…..……… | 26 |
Цель проведения лабораторных работ
|
|
- приобретение студентами умения самостоятельно строить экспертные системы для решения интеллектуальных задач, связанных с анализом, диагностикой или поддержкой принятия решений в выбранной студентом самостоятельно (или заданной) проблемной области;
- приобретение студентами умения извлекать знания из данных и формализовать их для дальнейшего хранения и использования в ЭВМ;
|
|
- получение опыта построения алгоритма принятия решений (дерева решений);
- приобретение умения строить блок объяснений для пользователя, т.е. интерпретации решения, принимаемого ЭС;
Предполагается, что студенты знакомы с основами программирования на любом языке (С++, Delphi, Visual Basic, HTML или другом).
Защита лабораторной работы осуществляется в устной беседе с преподавателем.
В ходе беседы проверяется умение студентов отвечать на контрольные вопросы по теоретической и практической части работы.
Общие сведения
1.1. Экспертные системы (ЭС)
Экспертные системы - это системы искусственного интеллекта, предназначенные для решения сложных интеллектуальных задач в определенных проблемных областях, для которых алгоритм принятия решения заранее не известен и формируется по исходным данным в виде цепочки рассуждений, основанной на знаниях специалистов-экспертов в данной проблемной области.
Знания эксперта, отражающие опыт его работы в рассматриваемой проблемной области, записывают и хранят в Базе Знаний экспертной системы в виде правил принятия решений, дерева решений или в другой форме и используют для получения алгоритма решения задачи при имеющихся исходных данных.
Назначение экспертных систем заключается в решении достаточно трудных для специалистов задач на основе накапливаемой базы знаний.
Достоинство применения экспертных систем заключается в возможности принятия решений в уникальных ситуациях, для которых алгоритм заранее не известен и формируется по исходным данным в виде цепочки рассуждений (правил принятия решений), записанных в базе знаний.
Компоненты ЭС
Рассмотрим обязательные компоненты типичной Экспертной системы.
База знаний (БЗ). Основу базы знаний составляет описание объектов данной предметной области, их свойств и связей между ними, выполненное посредством некоторого формального языка, понятного компьютеру. Таким образом, База знаний - это совокупность знаний, которые отражают свойства объектов в рассматриваемой проблемной области, их взаимосвязи, а также действия над объектами, которые формализованы с помощью некоторой модели представления знаний.
В общем случае Экспертная система должна сохранять в Базе Знаний информацию о частных случаях, в том числе факты и выводы. Сюда включают данные, полученные в каждом отдельном случае решения задачи, частные заключения, степени доверия к заключениям и тупики в процессе поиска. Эта информация отделяется от общей базы знаний в отдельную часть, составляющую Данные частных случаев (рис. 1).
Рис. 1. Модули, которые составляют типичную экспертную систему
Пользовательский интерфейс – выполняет интерпретацию запроса пользователя к базе знаний и формирует ответ в удобной для пользователя форме. При разработке интерфейса экспертной системы используют разные его реализации, включая "вопрос-ответ", меню управления, графический интерфейс или интерфейс на основе естественного языка.
Редактор Знаний (Механизм приобретения знаний) -реализует процедуру накопления знаний в базе знаний.
Машина вывода (Механизм вывода, Решатель) – моделирует ход рассуждений эксперта на основании знаний, имеющихся в базе знаний ЭС, и реализует процедуру поиска решения задачи: строит цепочку рассуждений (логических выводов), приводящую к конкретному результату.
Блок объяснений -обязательный компонент экспертной системы, позволяющий пользователю получить ответы на вопросы "Как была получена данная рекомендация?" и "Почему экспертная система приняла такое решение?". Отвечая на вопрос "Как ", экспертная система предъявляет пользователю шаг за шагом весь процесс получения решения с указанием использованных фрагментов базы знаний. При ответе на вопрос "Почему" система демонстрирует последнее применение правила вывода, иными словами, последний шаг в процессе принятия решения.
|
|
Штриховые линии на рис. 1 объединяют модули ЭС, которые входят в оболочку ЭС.
Разделение знаний и других блоков, реализующих работу ЭС, позволяет использовать одни и те же модули (оболочку ЭС), для создания новой ЭС для других приложений. В этом случае база знаний и данные о частных случаях будут пополняться в соответствии с новыми приложениями.
Существуют специальные готовые оболочки экспертных систем, которые позволяют посредством редактора базы знаний заполнить Базу знаний экспертной системы и получить конкретные правила вывода для данной проблемной области.
Занимается этим специалист, которого обычно называют "инженер по знаниям" (когнитолог), использующий знания эксперта в данной проблемной области для заполнения Базы знаний Экспертной системы (рис. 2).
Рис. 2. Заполнение Базы Знаний Экспертной системы
Как работает ЭС
Обычный режим работы любой экспертной системы - диалог с пользователем. С помощью интерфейса экспертная система просит пользователя ввести какие-то исходные сведения об объектах, фигурирующих в задаче, и пользователь должен сообщить эти данные в принятой для данной ЭС форме.
Получив ответ на свой запрос, ЭС задаст следующий вопрос и так шаг за шагом будет продвигаться к искомому ответу. Конечно, в какой-то момент может оказаться так, что у пользователя нет ответа на вопрос системы. Тогда он вправе попросить предъявить уже достигнутый уровень решения и, более того, весь ход рассуждений, приведший к создавшемуся положению. Впрочем, как было отмечено, пользователь и в случае полного решения задачи может получить исчерпывающую информацию о том, как этот ответ был получен.
В этом смысле экспертная система может выступать как средство обучения, демонстрируя пользователю то, как нужно рассуждать, чтобы принять требуемое решение.
|
|
Этапы создания ЭС
Инженер по знаниям (в данном случае студент, создающий экспертную систему) выполняет следующие действия:
1. Проводит онтологические исследования, т.е. составляет словарь терминов и список взаимосвязей объектов данной Проблемной Области (ПО);
2. Строит систему знаний об объектах ПО (концептуальную модель знаний), определяет важные объекты, их свойства и связи между ними;
3. Формализует полученную модель знаний - выбирает способ представления знаний на языке представления знаний, например, в виде правил логического вывода, фреймов, продукций и т.д.;
4. Определяет стратегию поиска - дерево решений, прямой или обратный вывод;
5. Строит решатель;
6. Разрабатывает пользовательский интерфейс;
7. Создает блок объяснений решений, принимаемых ЭС;
8. Строит прототип экспертной системы и проводит ее опытную эксплуатацию.
9. Тестирует и дорабатывает ЭС - корректирует ошибки, усовершенствует решатель, интерфейс и блок объяснений (с учётом замечаний эксперта и конечного пользователя).
После выполнения этих обязательных этапов студент сдаёт конечному пользователю действующую ЭС и пишет отчет о проделанной работе.
На рис.3 представлены этапы построения ЭС и результаты выполнения каждого этапа.
Существуют специальные языки программирования, предназначенные для разработки систем искусственного интеллекта и, в частности, экспертных систем. Одним из таких языков является Пролог. Однако экспертную систему можно сделать с использованием многих других языков программирования и даже с помощью стандартного программного обеспечения для Windows (MS Excel, MS Power Point).
Рис. 3. Исследовательский цикл разработки ЭС
Лабораторная работа № 1