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


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


;;Новое значение коэффициента уверенности CF

;;вычисляется по формуле:

;;cf = cfl + с£2(1 - cfl)

(defrule attribute-update (task attributes)

?winel <- (property ?attribute) (is ?value)

(cert ?certl)) ?wine2 <- (property ?attribute) (is ?value)

(cert ?cert2)) (<> ?crtl ?cert2) =>

(bind ?newcert (+ ?certl ( ?cert2

(- 1 ?certl)))) (assert (wine (property ?attribute)

(is ?value) (cert ?newcert))) (retract ?winel) (retract ?wine2) )

;;Разработайте правило preference, к которому

;;следует обращаться только в том случае, если в

;;рабочей памяти существует больше одного

;;возможного значения для некоторого атрибута.

;;Это правило должно запросить у пользователя,

;;какое значение атрибута из существующих для

;;него предпочтительнее, соответственно

;;изменить коэффициент уверенности в выбранном

;;сочетании атрибут-значение, а другое значение

;;удалить из памяти.

;Разработайте правило choose-value, которое

;;будет активизироваться в том случае, если в

;;рабочей памяти существуют две структуры,

;;характеризуемые разными значениями одного и

;;того же атрибута. Правило должно

;;выбирать структуру, у которой коэффициент

;;уверенности больше, а другую удалять.

;Разработайте правило unique, которое будет

;;активизироваться в том случае, если существует

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

;;атрибута. Это правило объявляет, что атрибут

;;окончательно определен.

;Разработайте правило unity, которое будет

;;активизироваться в том случае, если существует

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

;;уверенности, равным 1.

;;Это правило объявляет, что атрибут

;;окончательно определен.

;;Если все атрибуты вина определены, вывести отчет,

(defrule all-attributes-done ?task .

<- (task attributes) ?col

<- (color done) ?bod

<- (body done) ?fla

<- (flavor done) (wine (property color)

(is ?color)) (wine (property body)

(is ?body)) (wine (property flavor)

(is ?flavor)) =>

(printout t crlf

"Try a " ?flavor " " ?color " wine with a " ?body " body"




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