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


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


Рис. 12.1. Фрагмент модели предметной области, которая используется в программе MORE

12.1. Диагностические правила в М U D

Ниже приведены некоторые диагностические правила для той предметной области, на которую ориентирована система MUD. Правила, реализованные в виде программы на языке CLIPS, описывают те же причинно-следственные связи, что и на рис. 12.1. Если вы запустите эту программу на выполнение и ответите на оба вопроса утвердительно, то программа придет к заключению, что возможны два варианта объяснения наличия указанных симптомов— и загрязнение сланцами, и приток воды. Если на один из вопросов ответить отрицательно, то программа отдаст предпочтение одной из гипотез.

;; ШАБЛОНЫ (deftamplate symptom

(field datum (type SYMBOL))

(field change (type SYMBOL))

(field degree (type SYMBOL) (default NIL))

)

(deftamplate hypothesis

(field object (type SYMBOL))

(field event (type SYMBOL))

(field status (type SYMBOL) (default NIL))

(deftemplate testing

(field name (type SYMBOL))

(field for (type SYMBOL))

(field status (type SYMBOL) (default NIL)) )

;; ФАКТЫ

(deffacts mud

a(symptom (datum viscosity)

(change increase))

(symptom (datum density)

(change decrease) (degree gradual))

(testing (name МВТ)

(for low-SG-solids))

(testing (name oil-mud)

(for unemulsified-water))

)

;; ПРАВИЛА

;; Правило обратного вывода, принимающее во внимание

;; вязкость (viscosity).

(defrule viscosity (symptom

(datum viscosity) (change increase))

=>

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

(event increase))) (assert (hypothesis

(object unemulsified-water) (event increase)))

)

;; Правила обратного вывода, принимающие во внимание

;; плотность (density). (defrule density :

(symptom (datum density)

(change decrease) (degree gradual))

=>

(assert (hypothesis (object shale)

(event contamination)))

)

(defrule density

(symptom (datum density) (change decrease)

(degree rapid)) =>

(assert (hypothesis (object water) (event influx»)



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