Создание экспертных систем в среде EXSYS
Министерство Путей Сообщения РФ
Иркутский Государственный
Университет Путей Сообщения
Институт Информационных Технологий и
Моделирования
Кафедра «Информационные Системы»
Курсовая работа
По дисциплине «Системы
искусственного интеллекта»
На тему: СОЗДАНИЕ ЭКСПЕРТНЫХ СИСТЕМ В СРЕДЕ EXSYS
Иркутск 2003г.
Экспертные системы (ЭС) - это системы
искусственного интеллекта (интеллектуальные системы), предназначенные для
решения плохоформализованных и слабоструктурированных задач в определенных
проблемных областях, на основе заложенных в них знаний специалистов-экспертов
[1-4]. В настоящее время ЭС внедряются в различные виды человеческой
деятельности, где использование точных математических методов и моделей
затруднительно или вообще невозможно. К ним относятся: медицина, обучение,
поддержка принятия решений и управление в сложных ситуациях, деловые различные
приложения и т. д.
Основными компонентами ЭС являются базы
данных (БД) и знаний (БД), блоки поиска решения, объяснения, извлечения и
накопления знаний, обучения и организации взаимодействия с пользователем. БД,
БЗ и блок поиска решений образуют ядро ЭС.
Для конструирования ЭС используются различные
инструментальные средства: универсальные языки программирования, языки искусственного
интеллекта, инструментальные системы и среды и системы-оболочки.
Системы-оболочки являются наиболее простым средством формализации
(автоформализации) экспертных знаний, практически не требующие участия
посредников в лице инженера по знаниям или программиста при их использовании.
Инженер по знаниям только помогает эксперту выбрать наиболее подходящую для его
проблемной области оболочку.
В пособии рассматривается ряд коммерческих
инструментальных систем-оболочек, широко используемых для конструирования
прикладных ЭС для статических проблемных областей, характеризующихся
постоянством своих параметров в процессе функционирования (процессе
консультации) ЭС. В таких статических ЭС режимы приобретения знаний
(формирования БЗ) и консультации разделены.
Системы EXSYS и GURU относятся к системам
дедуктивного продукционного типа, причем система GURU (в ее современной версии,
ориентированной на рабочие станции) по сути является инструментальной средой,
поддерживающей различные режимы конструирования прикладных ЭС и обладающей
достаточно развитыми средствами обработки фактора неопределенности. Эта система
ориентирована на различные классы пользователей в зависимости от их подготовки
в области искусственного интеллекта и программирования, имеет развитый интерфейс
с современными СУБД и электронными таблицами, средства сбора статистики и т. д.
Система может работать на различных вычислительных платформах под управлением
различных операционных систем, а также имеет поддержку сетевой конфигурации.
Здесь будет рассмотрен наиболее простой способ использования GURU как
системы-оболочки.
В пособие приводятся общие характеристики
систем и рассматриваются основные режимы их функционирования - режим
приобретения знаний, в котором экспертом (возможно, при участии инженера по
знаниям) формируется БЗ прикладной, и режим консультации, когда оболочка уже
"наполнена" знаниями и является по сути прикладной ЭС,
предназначенной для пользователя-прикладника. В режиме приобретения знаний
также осуществляется модификация ЭС (изменение и пополнение БЗ).
СИСТЕМА EXSYS
Экспертная система Exsys представляет собой
интеллектуальную систему, которая может быть использована для разработки базы
знаний в любой предметной области. При этом знания представляются в виде
продукционных правил. В систему включены средства отладки и тестирования
программы, редактирования для модификации знаний и данных.
Основной частью экспертной системы является
база знаний, которая накапливается в процессе развития системы. База знаний
содержит правила типа:
IF (условие) THEN (заключение), либо
IF (условие) THEN (заключение 1) ELSE
(заключение 2)
Пример продукции:
Если pH < 6, то жидкость – кислота.
Правила могут существовать с некоторой долей
вероятности, которая выражается коэффициентом уверенности. Величину этого
коэффициента задает эксперт при разработки базы знаний. В экспертной системе
Exsys предусмотрено три шкалы, по которым оцениваются коэффициенты уверенности.
Первая шкала использует только два значения
коэффициентов уверенности: 0 –ложь, 1 – истина.
Вторая шкала предусматривает значения от нуля
до десяти, при этом: 0 – абсолютная ложь, 10 – абсолютная истина, промежуточные
значения характеризуют различную степень уверенности.
Третья шкала расширяет возможности второй:
-100 – абсолютная ложь, +100 – абсолютная истина, промежуточные значения
соответствуют различной степени уверенности.
При разработке базы знаний эксперт решает, в
зависимости от особенностей задачи, какую из этих шкал выбрать.
При разработке базы знаний можно
воспользоваться текстовой информацией, формулами или использовать и то, и
другое одновременно. Все зависит от выбора разработчика. В том случае, если
было решено использовать математические выражения, появляются переменные. Они
записываются в квадратных скобках. Например, [X] > [Y].
С правилом могут быть связаны примечание
(NOTE) и ссылка (REFERENCE), которые отражают справочную информацию. Каждое
правило обязательно должно содержать две части IF – условие и THEN –
заключение. Части ELSE, NOTE, REFERENCE не являются обязательными.
При разработке правил в системе Exsys
используются квалификаторы. Квалификатор – это специальная текстовая
переменная, которая имеет имя и может принимать одно из нескольких значений.
Все значения пронумерованы для быстрого и легкого ввода их при создании правил.
Квалификаторы используются для формирования
условий. С этой целью выбирается нужный квалификатор и указывается номер
соответствующего значения.
В процессе создания экспертной системы можно
изменить любое правило, любой квалификатор, их текстовую информацию и вариант
значения.
В системе формируются варианты выбора
(CHOICES) принятия решения, которые составляют часть THEN (заключение) правила
с заданной экспертом шкалой вероятности.
Важной особенностью системы Exsys является
возможность вывода информации из других правил, позволяющая разбивать сложные
задачи на подзадачи. В Exsys реализованы механизмы как прямого, так и обратного
вывода.
Система Exsys, как и любая экспертная система
имеет возможность объяснения полученных результатов. При необходимости, можно
выяснить весь ход вычислений, вплоть до исходных данных.
Система Exsys в процессе поиска решения
способна выполнять ряд вычислительных задач, но некоторые задачи выходят за
рамки его возможностей. В Exsys имеется возможность вызова внешних программ для
выполнения вычислений. Внешние программы могут передавать данные Exsys через БД
или spread sheet. Exsys может вызывать почти все MSDOS–программы в качестве
внешних программ.
Ввод нового правила выполняется при нажатии
клавиши <ENTER> или <А>. Exsys проверяет все новые правила на
совместимость с уже существующими. Если обнаружен возможный конфликт,
информация об этом отображается на экране и пользователь должен произвести
необходимые изменения. Exsys не может проверять математические формулы.
Правила состоят из условий, которые являются
предложениями. Эти условия часто состоят из квалификаторов и значений,
объединенных в предложение. Квалификатор всегда находится в начале предложения.
В условной части правила может быть несколько пар квалификатор-значение. Exsys
допускает до 30 значений для одного квалификатора. Не следует переопределять
значения квалификаторов, так как Exsys хранит квалификаторы в соответствии с их
номерами и не сможет распознать, что два квалификатора с различными номерами
одинаковы, если их текстовые значения совпадают.
Ранее введенные квалификаторы можно вызывать
для повторного использования по их номерам, можно перемещаться по их списку
нажатием клавиш <> и <¯>.
Если список квалификаторов велик или Вы забыли номер требуемого квалификатора,
можно найти его по его текстовому имени. Для этого необходимо нажать клавишу
<F>, а затем ввести текст. Если некоторый квалификатор содержит введенный
текст, он будет отображен вместе со своим номером. Таким образом, в результате
поиска могут быть найдены несколько квалификаторов. Выбор нужного производится
по номеру.
Во время работы экспертной системы
проверяются IF – части правил. Если все условия в IF – части правила истинные,
то принимается истинной THEN – часть правила, в противном случае принимается
истинной ELSE – часть правила (если она есть). Exsys допускает задание в одной
IF – части до 126 конъюнкций условий. Условия проверяются в том порядке, в
котором они записаны, соответственно порядок их следования может быть
различным. Поэтому наиболее важные условия следует записывать раньше.
Каждое правило может иметь примечание.
Примечание отображается вместе с правилом и не влияет на ход работы, а служит
лишь информацией для пользователя. Правило так же может иметь ссылку на
источник информации, выраженной в нем. В отличие от примечания, ссылка не
отображается, если пользователь специально не укажет этого.
Прикладная задача
Введем название предметной области – «Выбор профессии».
Далее необходимо выбрать шкалу вероятности. В
рассматриваемом примере будет шкала Yes/No.
Зададим варианты выбора (CHOICES):
c1.
программист
c2.
врач
c3.
юрист
c4.
переводчик
c5.
экономист
c6.
актер
Зададим варианты квалификатора (QUALIFIERS):
q1.
Вы склонны к
(гуманитарным наукам/точным наукам)?
q2.
Вас интересует
(компьютеры/криминал)?
q3.
Вы любите читать (детективы/ литературу на
иностранном языке)?
q4.
Вы склонны к (математике/риторике)?
q5.
Вы предпочитаете работу
типа (человек-человек/человек-техника)?
q6.
Вам бы хотелось проводить
операции (с банковскими бумагами/в медицинских целях)?
q7.
Техника для вас это ("неизвестное
существо"/смысл жизни)?
q8.
По телевизору вы смотрите
(криминальную хронику/программу здоровье)?
q9.
Вы участвуете в
самодеятельности (да/нет)?
Конструкция правил:
RULE NUMBER: 1
IF:
Вы склонны к гуманитарным наукам
and Вы склонны к риторике
THEN:
Вы любите читать литературу на иностранном
языке
----------------------------------------
RULE NUMBER: 2
IF:
Вы любите читать литературу на иностранном
языке
and Вы предпочитаете работу типа человек-человек
THEN:
Переводчик - Confidence=1
----------------------------------------
RULE NUMBER: 3
IF:
Вы любите читать детективы
or: По телевизору вы смотрите криминальную хронику
or: Вы склонны к гуманитарным наукам
and Вас интересует криминалистика
THEN:
Юрист -
Confidence=1
----------------------------------------
RULE NUMBER: 4
IF:
Вы
склонны к гуманитарным наукам
and Вы склонны к математике
THEN:
Техника для вас это смысл жизни
----------------------------------------
RULE NUMBER: 5
IF:
Техника для вас это смысл жизни
or: Вы предпочитаете работу типа человек-техника
THEN:
Программист - Confidence=1
----------------------------------------
RULE NUMBER: 6
IF:
Техника для вас это смысл жизни
and Вам бы хотелось проводить операции с
банковскими бумагами
THEN:
Экономист - Confidence=1
----------------------------------------
RULE NUMBER: 7
IF:
Вы склонны к гуманитарным наукам
and Вы любите читать литературу на иностранном
языке
and Вы склонны к риторике
THEN:
----------------------------------------
RULE NUMBER: 8
IF:
Вы предпочитаете работу типа человек-человек
or: Вы участвуете в самодеятельности да
THEN:
Переводчик - Confidence=1
----------------------------------------
RULE NUMBER: 9
IF:
Вы склонны к гуманитарным наукам
or: Вы предпочитаете работу типа человек-человек
and Вам бы хотелось проводить операции в медицинских
целях
and По телевизору вы смотрите программу здоровье
THEN:
Врач - Confidence=1
----------------------------------------
RULE NUMBER: 10
IF:
Вы склонны к риторике
and Вы предпочитаете работу типа человек-человек
and Вы участвуете в самодеятельности да
THEN:
Актер - Confidence=1
Примерный вид диалога с ЭС:
Вы склонны к
(гуманитарным наукам/точным наукам)? гуманитарным наукам
Вы склонны к
(математике/риторике)? математике
Вам бы хотелось
проводить операции (с банковскими бумагами/в медицинских целях)? с
банковскими бумагами
Вас интересует
(компьютеры/криминал)? компьютеры
Вы любите читать
(детективы/ литературу на иностранном языке)? детективы
Вы предпочитаете
работу типа (человек-человек/человек-техника)? человек-техника
Вы участвуете в самодеятельности (да/нет)? нет
Результат:
программист
|
1
|
экономист
|
1
|
врач
|
none
|
юрист
|
None
|
переводчик
|
None
|
актер
|
none
|
В ходе диалога программа выдаёт всплывающие окна, где
содержится вопрос (адресованный пользователю) и варианты ответа.
Вывод: В проделанной курсовой работе мы
рассмотрели на примере: построение набора правил небольшой экспертной системы,
которая выдаёт рекомендации по выбору профессии, получили практические навыки
работы в среде EXSYS.