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