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



              

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


В этой программе есть одно обычное для таких программ ограничение. В исходном состоянии рабочей памяти необходимо представить все симптомы, но многие пациенты говорят только о самом явном (боли) и могут даже и не упомянуть о других, например ссадине на лодыжке.

Модифицируйте программу таким образом, чтобы она запрашивала о забытых симптомах. Самый простой способ сделать это — добавить правила, которые в предпосылках имеют только одно условие — жалобы на боль. Такое условие, например, может иметь вид

(sign (symptom pain) (organ abdomen) (site lower))

Действие правила состоит в том, чтобы добавить в рабочую память вопрос, который нужно задать. Затем понадобится правило, которое собственно и задаст вопрос и поместит в рабочую память вектор sign, сформированный в соответствии с полученным ответом. Шаблон для вектора question (вопрос) имеет такой вид:

(deftemplate question

(field symptom (type SYMBOL))

(field organ (type SYMBOL) (default NIL))

(field answer (type SYMBOL) (default NIL)) )

Таким образом, и образец в левой части порождающего правила, и сопоставляемые с ним элементы в рабочей памяти должны соответствовать этим шаблонам.

В чем, по-вашему, состоит ограничение возможностей подхода, использующего свойство salience, описанное во врезке 5.5?

Листинг 5.5. Набор диагностических правил заболеваний брюшной полости на языке CLIPS

;; Шаблоны

;; Объект 'sign' - это симптом, связанный с органом

;; или придатком,

(deftemplate sign

(field symptom (type SYMBOL))

(field organ (type SYMBOL))

(field site (type SYMBOL)) )

;; Вектор 'diagnosis' классифицирует патологию

;; некоторого органа.

(deftemplate diagnosis

(field disorder (type SYMBOL))

(field organ (type SYMBOL) (default NIL))

)

;; Факты

;; Некоторые простые симптомы.

(deffacts the-facts

(sign (symptom pain) (organ abdomen) (site lower))

(sign (symptom poor-appetite))

(sign (symptom weight-loss))

)

;; ПРАВИЛА

;; Признаки: боль в нижней части брюшной полости И



Содержание  Назад  Вперед