- •Введение в экспертные системы
- •1.Что такое экспертная система?
- •2.Экспертные системы как один из видов программ искусственного интеллекта
- •3. Ориентированный на человека диалог
- •4. Структура экспертных систем
- •5. Представление знаний
- •6. Методы вывода
- •7. Система пользовательского интерфейса
- •8. Экспертные системы, базирующиеся на правилах
- •9. Рекомендации по разработке экспертных систем
- •10. База знаний для определения вида животного
- •11. Проектирование и реализация системы, базирующейся на правилах
- •12. Варианты заданий
9. Рекомендации по разработке экспертных систем
Разработка экспертной системы требует большой организованности и внимания к мелочам. Требования, естественно, зависят от размера и сложности разрабатываемой экспертной системы. Если экспертная система, которую вы хотите создать, в конечном счете может содержать сотни продукционных правил, то трудно определить эффект от добавления дополнительных правил. В Турбо-Прологе продукционные правила помещаются в программу, и, следовательно, размер програмы по мере добавления правил растет. Число правил ограничено размерами памяти. При ее ограниченности использование системы на правилах становится проблематичным. В то же время в системе, базирующейся на логике, где база знаний находится в файле на диске, ограничения на размеры базы знаний не накладываются. Поэтому система, основанная на логике, предпочтительнее, если размер памяти является существенным.
В то же время если известно, что экспертная система будет содержать не более нескольких сотен правил, то использование системы, базирующейся на правилах, более предпочтительно. Продукционные правила почти не зависят друг от друга, поэтому создание и тестирование такой экспертной системы проще. Просто осуществляется и изменение правил, которое проводится с целью изучить вызываемый эффект. В системах, базирующихся на логике, изменение параметров внутри базы знаний должно производиться с большей осторожностью, так как изменения менее заметны, а результат может оказаться разрушительным и восстановление - затруднительным.
Если эффективность является главным требованием к разрабатываемой экспертной системе, то можно выбрать либо логическую систему, использующую только оперативную память, либо систему, базирующуюся на правилах, - обе системы будут работать хорошо. Однако если экспертная система должна содержать большую базу знаний, то у разработчика имеется единственный вариант - логическая система, находящаяся на диске.
После того как выбор типа системы сделан и тщательно изучены данные, которые войдут в базу знаний, можно начать проектировать базу знаний, содержащую специфицированные функции и обладающую необходимыми свойствами.
Следующим шагом должна быть разработка структурной схемы экспертной системы. Это поможет сконструировать модули, составляющие систему. Затем можно приступить к написанию программы, исходя из диаграммы потоков данных и структурной схемы. После завершения программирования необходимо проверить результаты с помощью человека-эксперта, участвующего в проекте.
Программа для идентификации животного, рассматриваемая в следующем разделе, используется для иллюстрации методов построения систем, основанных на правилах.
10. База знаний для определения вида животного
Классификация в базе знаний может основываться на древовидной структуре (см. рис. 3). Согласно этой древовидной классификации, виды разделены на млекопитающих и птиц. Жираф, зебра, тигр и гепард являются млекопитающими, а пингвин, страус и альбатрос - птицами.
Для идентификации вида внутри каждого подмножества можно использовать список атрибутов. Количество признаков будет определять степень точности классификации. Необязательно какая-нибудь единственная характеристика является различающей: для идентификации используется вся совокупность атрибутов. В данном случае все перечисленные ниже атрибуты являются необходимыми. Это объясняется тем, что ни один из них не характерен для всех видов одновременно. В нашей экспертной системе используются следующие характеристики:
имеет шерсть;
имеет перья;
дает молоко;
кладет яйца;
летает;
не летает;
летает хорошо;
плавает;
ест мясо;
жует жвачку;
имеет лапы;
имеет копыта;
имеет острые зубы;
имеет глаза спереди;
имеет рыжевато-коричневый цвет;
имеет темные пятна;
имеет темные полосы;
имеет длинную шею;
имеет длинные ноги;
имеет черный и белый цвета.
Каждая характеристика для конкретного вида либо верна, либо не верна. Способ использования данной информации зависит от реализации экспертной системы.
В нашем случае при проектировании базы знаний древовидная структура, множество идентифицирующих характеристик и наборы характеристик для каждого вида составляют рабочую модель базы знаний для выбора вида.
