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


Полный листинг программы - часть 6


(scope ?V) (context ?L))

;; ОБРАБОТКА ДИЗЪЮНКТИВНЫХ УТВЕРЖДЕНИЙ

)

;; ЕСЛИ мы имеем дело с дизъюнктивным утверждением,

;; т.е. context = 0,

;; ТО сначала проанализировать левый дизъюнкт.

;; ПРИМЕЧАНИЕ. Устанавливается значение 1 как в поле

;; context объекта world, так и в поле context нового

; ; объекта claim.

(defrule left-disjunct

?W <- (world (tag ?N) (task check)

(scope ?V) (context 0))

(claim (content OR ?P ?X ?Q ?Y) (reason ?N)

(scope ?V) (context 0» =>

(assert (claim (content ?P ?X)

(reason ?N) (scope ?V) (context 1)))

(modify ?W (context 1))

)

;; ЕСЛИ при анализе левого дизъюнкта обнаружено

;; противоречие ,

;; ТО проанализировать правый дизъюнкт.

(defrule right-disjunct

(declare (salience 10))

?W <- (world (tag ?N) (task contra) (context 1))

(claim (content OR ?P ?X ?Q ?Y) (reason ?N)

(scope ?V)) =>

(assert (claim (content ?Q ?Y)

(reason ?N) (scope ?V) (context 2)))

(modify ?W (task check) (context 2))

)

;; ЕСЛИ выполнен откат к анализу правого дизъюнкта,

;; ТО установить соответствующий контекст.

(defrule resume-disjunct

?W <- (world (tag ?N) (task back) (context 1))

(claim (content OR ?P ?X ?Q ?Y) (reason ?N) (scope ?V))

=>

(assert (claim (content ?Q ?Y) (reason ?N)

(scope ?V) (context 2))) (modify ?W

(task check) (context 2))

)

;; ЕСЛИ анализ обоих дизъюнктов в предположении о

;; правдивости персонажа привел к противоречию

;; в том же самом "мире" ,

;; ТО выполнить анализ, предполагая, что персонаж лжет.

(defrule false-disjuncts

?W <- (world (tag ?M) (scope truth)

(task contra) (prior 0) (context 2))

(not (claim (reason ?M) (context 2))) =>

(modify ?W (scope falsity) (task check) (context 0))

)

;; ЕСЛИ анализ в предположении о правдивости персонажа

;; привел к противоречию с другим "миром" ,

;; ТО выполнить анализ, предполагая, что персонаж лжет.

(defrule other-world

?W <- (world (tag ?N) (scope truth) (task contra)



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



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