- •Введение в экспертные системы
- •1.Что такое экспертная система?
- •2.Экспертные системы как один из видов программ искусственного интеллекта
- •3. Ориентированный на человека диалог
- •4. Структура экспертных систем
- •5. Представление знаний
- •6. Методы вывода
- •7. Система пользовательского интерфейса
- •8. Экспертные системы, базирующиеся на правилах
- •9. Рекомендации по разработке экспертных систем
- •10. База знаний для определения вида животного
- •11. Проектирование и реализация системы, базирующейся на правилах
- •12. Варианты заданий
5. Представление знаний
Представление знаний - это множество соглашений по синтаксису и семантике, согласно которым описываются объекты. Хорошее правило при проектировании представления знаний - это организация знаний в такой форме, которая позволяет легко осуществлять доступ с помощью естественных и простых механизмов. "Чем проще, тем лучше" - правило, которое нужно помнить при работе по представлению знаний.
Экспертные системы часто создаются "инженерами по знаниям" (или проектировщиками экспертных систем), которые работают с человеком-экспертом, чтобы закодировать его знания в базе знаний. Проектировщик экспертной системы должен иметь возможность манипулировать представленными знаниями и работать с человеком-экспертом. Эти работы составляют развивающуюся область инженерии знаний.
В описываемых экспертных системах на Турбо-Прологе знания представлены одним из двух способов. Первый способ -это классификация и помещение фактов и чисел (фрагментов фактического знания) в правила Турбо-Пролога. Это представление подходит для использования в экспертных системах, базирующихся на правилах. Другой способ - это организация фактов и числовой информации в утверждениях, которые образуют базу знаний на утверждениях. Представление знаний в утверждениях подходит для использования в экспертных системах, базирующихся на логике.
Существуют и другие системы представления знаний. К ним относятся система на фреймах и система на моделях. Система на фреймах использует представление знаний, основанное на логических группах атрибутов объекта. Для хранения и обработки логические группы описываются во фреймах. Для систем, базирующихся на моделях, проект и структура системы основаны на знании структуры и поведения устройства, которое является предметом исследования. Пример - это экспертная система, моделирующая автомобиль.
В настоящее время системы, базирующиеся на правилах, наиболее популярны. Они разработаны и используются в широком диапазоне приложений от науки и инженерной работы до бизнеса.
Начнем построение простой экспертной системы с таблицы, состоящей из двух колонок. Одна колонка содержит названия стран, а другая - названия соответствующих столиц. Эта таблица составляет маленькую базу знаний:
Страна Столица
США Вашингтон
Англия Лондон
Испания Мадрид
Конечно, подобная таблица используется только для планирования базы знаний; в реальных экспертных системах способы представления знаний более соответствуют языку программирования, используемому для разработки системы. Утверждения Турбо-Пролога, содержащие приведенные выше знания, можно записать таким образом:
capital("Washington","USA"). capital("London","England").
capital("Madrid","Spain").
Подобные утверждения составляют базис экспертной системы, основанной на логике.
Эти же знания можно представить в форме правил "если-то". Правила для предыдущих трех утверждений выглядят так:
capital_is("Washington DC") :-
country(is,"USA"),!.
capital_is("London") :-
country(is,"England"),!.
capita1_is("Madrid") :-
country(is,"Spain"),!.
Эти правила могут служить основой экспертной системы на правилах. Как видим, представление знаний в экспертной системе то же, что и представление фактов и правил, которое ранее использовалось в этой книге.
Приведенные примеры, конечно, просты, однако они очень полезны для демонстрации принципов построения экспертных систем на Турбо-Прологе. В следующем разделе будет показано, как можно использовать подобное представление знаний на практике.
