Реферат: Программирование на языке CLIPS

;; и тэг (tag) – это может быть произвольный

;; идентификатор.

(deftemplate statement

(field speaker (type SYMBOL))

(multifield claim (type SYMBOL))

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

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

)

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

(statement (speaker A) (claim F A))

Этот шаблон можно перевести на «человеческий» язык следующим образом:

«Существует высказывание, сделанное персонажем А, в которм утверждается, что А лжец и тэг этого высказывания по умолчанию получает значение 1». Обратите внимание на то, что в поле reason также будет установлено значение по умолчанию (это значение равно 0), т.е. мы можем предположить, что никаких предшествующих высказываний, которые могли бы подтвердить данное, в этой задаче не было.

Обратите внимание, что поля claim и reason имеют квалификатор multifield, поскольку они могут содержать несколько элементов данных (более подробно об этом рассказано в Руководстве пользователя ).

Однако недостаточно только представить в программе высказывания персонажей – нам понадобиться также выявить суть содержащихся в них утверждений. Далее, приняв определенное предположение о правдивости или лживости персонажа, которому принадлежит высказывание, можно построить гипотезу об истинности или лживости этого утверждения. С каждым таким утверждением свяжем уникальный числовой идентификатор.

;; Утверждение, смысл которого, например,

;; состоит в следующем,

;; Т А . . . . означает, что А правдолюбец;

;; F А . . . . означает, что А лжец.

;; Утверждение может иметь под собой

;; основание (reason) – обычно это тэг

;; высказывания (объекта statement) или тэг

;; другого утверждения (объекта claim).

;; Утверждение также характеризуется признаком scope,

;; который может принимать значение «истина» или «ложь».

(deftemplate claim

(multifield content (type SYMBOL))

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

(field scope (type SYMBOL))

)

К-во Просмотров: 590
Бесплатно скачать Реферат: Программирование на языке CLIPS