Читайте также:
|
|
В экспертных системах существует зависимость между входным потоком данных и данными в базе знаний. Во время консультации входные данные сопоставляются с данными в базе знаний. Результатом сопоставления является отрицательный или утвердительный ответ. В системе, основанной на правилах, утвердительный ответ является результатом применения одного из продукционных правил, выбранного в соответствии с входными данными.
Таким образом, экспертная система, разработанная на Турбо-Прологе и основанная на правилах содержит множество правил, которые вызываются посредством входных данных в момент сопоставления. Наряду с этим экспертная система содержит в механизме вывода интерпретатор, который выбирает и активизирует различные модули системы. Работу интерпретатора можно описать последовательностью трех шагов:
1. Сопоставление образца правила с элементами данных в базе знаний.
2. Если можно вызвать более одного правила, то для выбора правила используется механизм разрешения конфликта.
3. Применение выбранного правила для нахождения ответа на поставленный вопрос.
Этот трехшаговый процесс интерпретации является циклическим и называется циклом распознавание - действие.
В системе, основанной на правилах, число продукционных правил определяет размер базы знаний. Некоторые сложные системы имеют базы знаний с более чем 5000 продукционных правил. Наполнение экспертной системы правилами целесообразно начать с небольшого числа правил и добавлять их в базу знаний по мере расширения экспертной системы.
Для экспертной системы важна структура продукционных правил. Проектировщик базы знаний отвечает за построение совместимых правил. При проектировании структуры правил целесообразно выполнять следующие рекомендации.
1. Использовать минимально достаточное множество условий при определении продукционного правила.
2. Избегать противоречащих продукционных правил.
3. Опираться на структуру, присущую предметной области.
В качестве примера рассмотрим экспертную систему на Турбо-Прологе, служащую для идентификации породы собак. Она помогает потенциальному хозяину выбрать породу собаки в соответствии с определенными критериями.
Предположим, что пользователь в ответ на вопросы экспертной системы сообщил множество характеристик собаки. Интерпретатор работает в цикле распознавание-действие. Если характеристики сопоставимы с характеристиками породы собаки, составляющими часть базы знаний, тогда вызывается соответствующее продукционное правило и в результате порода идентифицируется. Затем результат сообщается пользователю. Аналогично, если порода не идентифицирована, это тоже сообщается пользователю.
Рассмотрим характеристики двух пород собак, которые содержатся в базе знаний. Гончая имеет короткую шерсть, рост меньше 22 дюймов," длинные уши и хороший характер. Датский дог имеет короткую шерсть, свисающий хвост, длинные уши, хороший характер и вес более 100 фунтов.
Вы видите из этого описания, что обе породы имеют короткую шерсть, длинные уши и хороший характер. Рост гончей меньше 22 дюймов, в то время как о росте дога ничего не сказано. Дог имеет свисающий хвост и вес более 100 фунтов - характеристики, отсутствующие для гончей. Описания двух собак в терминах указанных характеристик достаточно, чтобы различить эти две породы и даже отличить их от любой другой породы в базе знаний. Могут быть составлены следующие продукционные правила по указанным характеристикам:
dog_is("Гончая"):- it_is("короткошерстная собака"),
positive(has,"рост до 22 дюймов"),
positive(has,"длинные уши"),
positive(has," хорошие физические данные "),!.
dog_is("Датский дог"):- it_is("короткошерстная собака"),
positive(has,"короткий хвост"),
positive(has,"длинные уши"),
positive(has,"хорошие физические данные"),
positive(has,"вес более 100 кг"),!.
В этих правилах длина шерсти может быть представлена с помощью предиката positive в виде
positive(has,"короткая шерсть"),
Но использование предиката it_is позволяет ограничить "пространство поиска" (количество данных, проверяемых при поиске решения) одним поддеревом древовидной структуры, содержащей информацию о разных породах собак (см. рис. 10.2). Экспертная система, базирующаяся на правилах, позволяет проектировщику (программисту) строить правила, которые естественным образом объединяют в группы связанные фрагменты знаний. Каждое продукционное правило может быть независимым от других. Эта независимость делает базу продукционных правил семантически модульной, т. е. группы информации не влияют друг на друга. Более того, модульность базы правил позволяет развивать базу знаний, увеличивая ее. Эта особенность необходима во многих приложениях. Система Турбо-Пролог позволяет легко реализовать ее в экспертной системе.
Дата добавления: 2014-12-19; просмотров: 134 | Поможем написать вашу работу | Нарушение авторских прав |