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


Полный листинг программы



Ниже приведен полный листинг CLIPS-программы, которая обеспечивает обработку составных утверждений и метавысказывании.

Эта программа предназначена для разрешения головоломок о правдолюбцах и лжецах. Программа анализирует наличие логических противоречий и отыскивает первую непротиворечивую интерпретацию.

Программа может обрабатывать конъюнктивные и дизъюнктивные составные утверждения. Программа может решать задачи с множеством высказываний и метавысказываниями.

TEMPLATES

Объект CLAIM имеет следующие поля: CONTENT - содержимое утверждения, например, Т А ... означает, что А является правдолюбцем; F A ... означает, что А является лжецом; OR Т A F В ... означает, что А является правдолюбцем или В является лжецом, и т.д. REASON указывает, на основании какого высказывания сформировано данное утверждение. Значение этого поля равно идентификатору (полю tag) соответствующего объекта statement (высказывание). CONTEXT ::= 0 / 1 / 2; значение 0 означает глобальный контекст, значение 1 означает локальный контекст левого операнда, значение 2 означает локальный контекст правого операнда дизъюнкции,

(deftemplate claim

(multifield content (type SYMBOL))

(field reason (type INTEGER))

(field scope (type SYMBOL))

(field context (type INTEGER) (default 0))

)

;; Объект statement (высказывание) связан с определенным

персонажем (поле speaker).

;;Высказывание содержит утверждение (поле claim).

;;Высказывание имеет основание - причину (поле reason).

;;Если данный объект не является производным от другого

;;объекта statement, в поле reason устанавливается

;;значение 0.

;;В поле tag устанавливается уникальный числовой

;;идентификатор объекта - число, большее 0.

;;В поле DONE устанавливается одно из

;;следующих значений:

;;0 означает, что объект еще не обрабатывался;

;;1 означает, что объект обрабатывался в предположении

;;о правдивости высказывания;

;;2 означает, что объект обрабатывался в предположении

;;о лживости высказывания, (deftemplate statement



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



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