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


Обратное прослеживание и множество контекстов - часть 9


?G ?X " in world " ?N

"ТРАНСКОНТЕКСТНОЕ ПРОТИВОРЕЧИЕ между: " ?F ?X

;;" и "?G ?X "в мире " ?N

t crlf) (modify ?W (task contra))

)

; ; ЕСЛИ обнаруживается противоречие между

;; текущим "миром" в предположении о правдивости

;; и ранее покинутым "миром" ,

;; ТО зафиксировать противоречие.

(defrule transworld-truth (declare (salience 80))

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

(prior 0))

(claim (content ?F ?X) (reason ?N))

(claim (content ?G&:(not (eq ?G ?F)) ?X) (reason ?M&:(< ?M ?N))) =>

(printout t crlf

"TRANSWORLD CONTRADICTION: " ?F ?X "

versus ?G ?X " in worlds " ?N "|" ?M

;; "МЕЖМИРОВОЕ ПРОТИВОРЕЧИЕ: " ?F ?X "

противоречит ; ; ?G ?X " в мирах " ?N " | " ?M

t crlf) (modify ?w (task contra))

)

;; ЕСЛИ обнаруживается противоречие между

;; текущим "миром" в предположении о лживости

;; и ранее покинутым "миром",

;; ТО подготовиться к выполнению отката в ранее

;; покинутый "мир" .

(defrule transworld-falsity

(declare (salience 80))

?W <- (world (tag ?N) (scope falsity)

(task check)) (claim (content ?F ?X)

(reason ?N)) (claim (content ?G&:(not (eq ?G ?F)) ?X)

(reason ?MS:(< ?M ?N))) =>

(printout t crlf

"TRANSWORLD CONTRADICTION: " ?F ?X " versus

" ?G ?X " in worlds " ?N " | " ?M

;; "МЕЖМИРОВОЕ ПРОТИВОРЕЧИЕ: " ?F ?X "

противоречит " ;; ?G ?X " в мирах " ?N "|" ?M

t crlf) (modify ?W (task contra) (prior ?M) )

Обращаю ваше внимание на то, что вместе с фиксацией самого факта противоречия в последнем правиле фиксируется и идентификатор ранее покинутого "мира", с которым конфликтует текущий. Эта информация потребуется для выполнения отката с помощью правил, которые будут представлены в следующем разделе.

Подготовка рабочей памяти к выполнению отката



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



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