И.М.Акилова
Учебное пособие по дисциплине “Базы знаний и экспертные системы” для студентов специальности 2202 очной формы обучения. / Благовещенск, Амурский гос. ун – т. –2000. –26 с.
Практикум содержит базовые теоретические и практические сведения, которыми должен владеть специалист в области системотехники и программирования.
В основе практикума лежат правила создания экспертных систем.
Рассчитано на преподавателей и студентов.
Рецензент: Д.Ю. Шестаков, директор ООО “Интерком-ВД”.
O Амурский государственный университет, 2000
Министерство образования Российской Федерации
АМУРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ МАТЕМАТИКИ И ИНФОРМАТИКИ
И.М.Акилова
РАЗРАБОТКА
ЭКСПЕРТНЫХ СИСТЕМ
Практикум
Благовещенск
ВВЕДЕНИЕ
Экспертные системы – это быстро прогрессирующее направление в области искусственного интеллекта. Причиной повышенного интереса к экспертным системам является возможность применения их при решении задач из различных областей человеческой деятельности.
Эти системы представляют собой программы для компьютера, которые могут воспроизводить процесс решения проблемы человеком-экспертом. Существует также мнение, что внедрение машинного интеллекта в производство поможет нам лучше разобраться в нашем собственном.
Язык, на котором описываются экспертные системы, – Пролог. Это язык программирования, приспособленный для автоматизации различных форм логических рассуждений.
Практикум по курсу “Базы знаний и экспертные системы” составлен для студентов специальности 2202 “Автоматизированные системы обработки информации и управления”. Его цель – научить студентов строить математические модели знаний, находить разумные решения недетерминированных неформализуемых задач с использованием баз знаний.
В результате изучения курса студенты должны знать основные модели для автоматизации решения интеллектуальных задач, принципы построения и технологию проектирования экспертных систем. Должны иметь первоначальный опыт разработки экспертных систем.
В практикуме рассмотрены краткие теоретические сведения о построении экспертных систем, вопросы организации лабораторных работ, даны конкретные указания по их выполнению.
Каждая лабораторная работа складывается из трех этапов: подготовка, выполнение и оформление отчета о проделанном.
ЛАБОРАТОРНАЯ РАБОТА № 1.
РАЗРАБОТКА ЭКСПЕРТНЫХ СИСТЕМ,
БАЗИРУЮЩИХСЯ НА ПРАВИЛАХ.
Цель
1. Ознакомление с принципами построения экспертных систем.
2. Изучение структуры экспертных систем, базирующихся на правилах.
3. Построение простейшей экспертной системы, базирующейся на правилах.
Общие сведения
Экспертная система — это компьютерная программа, созданная для выполнения тех видов деятельности, которые под силу только человеку- эксперту, – например, проектирования, планирования, постановки диагноза, перевода, реферирования, ревизии, выдачи рекомендаций. Сферы применения экспертных систем – бизнес, проектирование, исследования, управление.
Программы ЭС обычно работают таким способом, который воспринимается как “интеллектуальный”, т. е. они имитируют образ действий человека-эксперта.
Эти программы специфичны, поскольку, как правило, используют механизм автоматического рассуждения (вывода) и так называемые слабые методы – такие как поиск, или эвристика. Они существенно отличаются от точных и хорошо аргументированных алгоритмов и не похожи на математические процедуры большинства традиционных разработок.
Основными компонентами экспертных систем являются:
— база знаний (БЗ), содержащая формализованное описание методов и знаний, привлекаемых при решении задач из области применения экспертных систем;
— механизм вывода (MB), содержащий формализованное описание правил извлечения знаний из БЗ;
— система пользовательского интерфейса (СПИ), осуществляющая передачу знаний от МВ к пользователю.
В процессе работы экспертной системы (консультации) входные данные сопоставляются с данными из БЗ. Результатом сопоставления является утвердительный или отрицательный ответ. В экспертных системах, базирующихся на правилах, утвердительный ответ является результатом наличия в БЗ соответствующего продукционного правила. Выбор и активизацию продукционного правила реализует интерпретатор MB. В каждом цикле работы интерпретатора (называемом распознавание – действие) производятся следующие действия:
— образец правила сопоставляется с элементами данных из БЗ;
— если можно активизировать более одного правила, то для выбора правила используется механизм разрешения конфликта (здесь не рассматривается);
— применяется выбранное правило.
Пример реализации экспертной системы выбора породы собаки, базирующейся на правилах, приведен в прил. 1 (LAB01.PRO).
В программу включен дополнительный раздел database, содержащий определение предикатов динамической базы данных (БД).
Запись данных в БЗ производится стандартным предикатом
аssегtа (Факт),
в результате активизации которого указанный в скобках факт будет добавлен в начало БД.
Удаление фактов из БД производится стандартным предикатом
retract (Факт),
в результате активизации которого из БД удаляется первый факт, отождествленный с фактом, указанным в скобках.
При сопоставлении правил с содержимым БД используется стандартная функция отрицания (not), считающаяся выполненной успешно, если заданный в ней атом представляет собой цель, которая не достигается.
Задание к лабораторной работе
1. Провести тестирование программы LABO1.PRO (см. прил. 1).
2. Изменить программу LABO1.PRO так, чтобы перед окончанием работы выводилось содержимое БД, например, путем использования предиката вида wr_bd:- dpositive(P,Q),
write(dpositive(,P,, ,Q,)), nl,
fail.
3. Изменить программу LABО1.PRO так, чтобы она обеспечивала распознавание животных в соответствии с правилами, приведенными в прил. 2.
Порядок выполнения задания
1. Загрузить Турбо- Пролог.
2. Загрузить программу LABO1.PRO и убедиться в правильности ее работы.
3. Внести требуемые изменения.
ЛАБОРАТОРНАЯ РАБОТА № 2
РАЗРАБОТКА ЭКСПЕРТНЫХ СИСТЕМ,
БАЗИРУЮЩИХСЯ НА ЛОГИКЕ
Цель
1. Изучение структуры экспертных систем, базирующихся на логике.
2. Построение простейшей экспертной системы, базирующейся на логике.
Общие сведения
Структура экспертной системы, базирующейся на логике, аналогична структуре экспертной системы, базирующейся на правилах — БЗ состоит из
утверждений в виде предложений логики предикатов; MB реализует процесс распознавание – действие; СПИ выполняет те же функции, что и в системах, базирующихся на правилах.
Пример экспертной системы по породам собак, базирующейся на логике, приведен в прил. 1 в виде программы на Турбо-Прологе.
Программа выдает начальное меню, предлагая пользователю выбор между consultation (консультацией) и exit from the system (выходом из системы). Если пользователь выбирает консультацию, то между пользователем и системой происходит диалог. Затем пользователю сообщается результат. Результатом является либо выбранная порода, либо сообщение Sorry. I can’t help you (Извините, я не могу вам помочь).
БЗ содержит утверждения логики предикатов, которые представлены либо в форме rule (правило), либо в форме cond (условие). В форме rule хранятся данные о породе; в форме cond-атрибуты (условия), характеризующие породу. Данные (ответы), получаемые от пользователя, динамически записываются в БД в форме предикатов yes (да) и no(нет).
МВ организован следующим образом: в результате активизации правила go осуществляется просмотр утверждений из БД rule и cond для выяснения существования или отсутствия подходящих значений данных. С этой целью вызывается правило check (проверка). Это правило содержит трассу номеров правил, номера условий и классифицированные объекты в БЗ. Оно пытается сопоставить объекты, классифицированные при помощи номеров условий. Если сопоставление происходит, то в программу добавляются сопоставленные значения и продолжается сопоставление с новыми данными, полученными от пользователя. Если сопоставления не происходит, МВ останавливает текущий процесс и выбирает другую трассу. Поиск и сопоставление продолжаются до тех пор, пока не исчерпаны все возможности. По завершении вывода go через интерфейс передает результаты пользователю.
СПИ состоит из трех частей: в первой содержатся правила для организации меню и уничтожения соответствующего окна после выбора пользователем предлагаемой ему программной функции: либо проведение консультации , либо выход из системы; вторая обеспечивает вывод списка собак и инициализацию процесса поиска и сопоставления по образу; третья запрашивает и получает ответы (yes или no) от пользователя.
Задание к лабораторной работе
1. Провести тестирование программы LABO2.PRO (см. прил. 1).
2. Изменить программу LABО2.PRO так, чтобы она обеспечивала распознавание животных в соответствии с правилами, приведенными в прил. 2.
Порядок выполнения задания
1. Загрузить Турбо- Пролог.
2. Загрузить программу LABO2.PRO и убедиться в правильности её работы.
3. Внести требуемые изменения.
ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ
Статьи к прочтению:
- Разработка руководства пользователя (оператора)
- Разработка схемы электрической принципиальной в electronics workbench
Лекция 16: Экспертные системы
Похожие статьи:
-
Структура и назначение экспертных систем
В настоящее время среди всех СИИ наибольшее распространение (по некоторым оценкам до 90 %) получили ЭС различных типов. Объяснение этому находится в…
-
На конец 2008 года в мире около 3000 языков программирования, не считая их версий. Некоторыми языками умеет пользоваться только небольшое число их…