Иллюстрированный самоучитель по введению в экспертные системы


Онтологический анализ и представление знаний - часть 3


(multifield content (type SYMBOL))

(multifield reason (type INTEGER) (default 0))

(field scope (type SYMBOL)) )

Например, раскрыв содержимое приведенного выше высказывания в предположении, что А говорит правду, получим следующее утверждение (объект claim):

(claim (content F A) (reason 1) (scope truth)).

Таким образом, объект claim наследует содержимое от объекта statement. Последний становится обоснованием (reason) данного утверждения. Поле scope объекта claim принимает значение предположения о правдивости или лживости этого высказывания.

Еще нам потребуется представление в программе того мира (world), в котором мы в настоящее время находимся. Объекты world порождаются в момент, когда мы формируем определенные предположения. Нужно иметь возможность различать разные множества предположений- и идентифицировать их в программе в тот момент, когда процесс размышлений приводит нас к противоречию. Например, противоречие между высказываниями Т(А) и F(A) отсутствует, если они истинны в разных мирах, т.е. при разных предположениях. Если у вас есть на сей счет сомнения, вернитесь вновь к примерам в самом начале раздела А.4.

Миры будем представлять в программе следующим образом:

;;Объект world представляет контекст,

;;сформированный определенными предположениями

;;о правдивости или лживости персонажей.

;;Объект имеет уникальный идентификатор в поле tag,

;;а смысл допущения - истинность или лживость -

;;фиксируется в поле scope,

(deftemplate world

(field tag (type INTEGER) (default 1))

(field scope (type SYMBOL) (default truth)) )

Обратите внимание на то, что при указанных в шаблоне значениях по умолчанию мы можем начинать каждый процесс вычислений с объекта world, имеющего в поле значение 1, причем этот "мир" можно заселить высказываниями персонажей, которых мы предположительно считаем правдолюбцами. Таким образом можно инициализировать базу фактов the-facts для задачи Р0 следующим образом:

;; Утверждение, что А лжец.

(deffacts the-facts

(world)

(statement (speaker A) (claim FA)) )

Если этот оператор deffacts будет включен в тот же файл, что и объявления шаблонов (а также правила, о которых речь пойдет ниже), то после загрузки этого файла в среду CLIPS нам понадобится для запуска программы дать только команду reset.




Начало  Назад  Вперед



Книжный магазин