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


Модель предметной области выполнения буровых работ - часть 5


)

;; Свидетельства в пользу загрязнения сланцами

(shale contamination) (defrule shale ?effect

<- (hypothesis (object low-SG-water)

(event increase)

(status yes)) => (assert (hypothesis

(object shale) (event contamination)

(status yes)))

(modify ?effect (status done)) )

;; Свидетельства в пользу притока воды (water influx)

(defrule water ?effect <- (hypothesis

(object unemulsified-water)

(event increase) (status yes)) =>

(assert (hypothesis (object water)

(event influx)

(status yes))) (modify ?effect

(status done))

)

;; Поиск теста гипотезы (defrule peek-test

(hypothesis (object ?obj) (event ? change))

?operator <- (testing (name ?name)

(for ?obj) (status NIL)) =>

(printout

t crlf

"Is there " ?obj " " ?change " according to the "

?name " test? "

;; "Существует " ?obj " " ?change " в соответствии с " ,

;; " тестом " ?name " ? "

) ;; (modify ?operator (status (read)))

)

;; Применить результат теста к гипотезе.

{defrule poke-test

?cause <- (hypothesis (object ?obj)

(event ?change))

?operator <- (testing (name ?name)

(for ?obj) (status yes))

=>

(modify ?cause (status yes)

(modify ?operator (status done))

)

; ; Вывести активную гипотезу.

(defrule show-and-tell

(hypothesis (object ?obj)

(event ?ev) (status yes))

=>

(printout

t crlf

?obj " " ?ev "is a possibility. " t crlf

;; ?obj " " ?ev " является вероятной. "

)




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