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


Упражнения - часть 4


;; о блюде, если известно, что оно приготовлено

;; из мяса, (defrule meat (task dish)

(meal (property dish-type) (is meat)) =>

(printout t crlf

"What kind of meat? For example STEAK, VEAL, LAMB."

;; Из какого мяса? Например, ГОВЯДИНА, ТЕЛЯТИНА, БАРАНИНА.

t crlf) (assert (meal (property meat-type)

(is read)))) )

Аналогичное правило fish для блюда из рыбы напишите самостоятельно. Это правило должно уточнять тип морского продукта, из которого приготовлено блюдо: свежая рыба, моллюски и т.п.

Разработайте и правило poultry для блюд из птицы.

;; ПРАВИЛА, КОТОРЫЕ ИМЕЮТ ДЕЛО С

;; ХАРАКТЕРИСТИКАМИ ВИН.

Эти правила соответствуют этапу эвристического сопоставления.

Правило steak является примером сопоставления вида мясного блюда с классом вин.

(defrule steak

?task <- (task dish) (meal

(property meat-type) (is steak)) =>

(assert (wine (property color) (is red)

(cert 1.0))) (assert (wine (property body) (is full)

(cert 1.0))) (assert (wine (property flavor) (is dry)

(cert 0.7))) (assert (wine (property flavor) (is sweet)

(cert 0.2))) (retract ?task)

(assert (task attributes)) )

;;Такие же правила можно написать и для других

;;видов мясных блюд: из телятины (veal),

;;баранины (lamb) и т.д.

;;Задача dish удалена, поскольку известно,

;;какого типа блюдо.

;;Затем устанавливается задача принятия решения

;;о характеристиках вина.

;;Для блюд из мяса, рыбы и птицы нужно

;;определить правила по умолчанию

;;(default rules), которые будут относиться к

;;любому типу соответствующего исходного

;;продукта (например, подходят и для блюда из

;;аллигатора, если последний отнесен

;;к мясным продуктам).

;;ПРАВИЛА РАБОТЫ С КОЭФФИЦИЕНТАМИ УВЕРЕННОСТИ

;;Если в модели среды существуют две структуры с

;;одними и теми же значениями для одних и тех же

;;атрибутов, но отличаются коэффициентами

;;уверенности, то правило

;;attribute-update создает из них третью

;;структуру с новым значением и удаляет две

;;исходные.




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