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

         

в качестве пояснения процесса логического



1. Почему в качестве пояснения процесса логического вывода пользователю недостаточно представить только результаты трассировки активизируемых правил?

2. Почему формирование пояснений в системах, основанных на порождающих правилах, упрощается, если разделить используемые правила на группы по назначению?

3. Какую помощь в формировании пояснений может оказать использование фреймов? С какой целью фреймы комбинируются с порождающими правилами?

4. Ниже представлена новая версия программы Assault-weapon (оружие нападения), которая была рассмотрена в главе 11. В этой версии программа задает пользователю вопросы об определенном виде оружия, а затем формирует пояснение, почему данный тип оружия относится (или не относится) к классу "оружие нападения" в соответствии с имеющимися в программе правилами. Программа состоит из двух частей: в первой уточняются характеристики модели оружия, а во второй формируется пояснение.

I) Разработайте правила, которые не представлены в приведенном ниже тексте программы. Указания, какие именно правила требуется разработать, выделены в комментариях в тексте программы.

;; Объявления (deftemplate gun

(field name (type SYMBOL))

(field model (type SYMBOL))

(field class (type SYMBOL) (default NIL))

(field action (type SYMBOL) (default NIL))

(field caliber (type FLOAT) (default 0.0))

(field capacity (type INTEGER) (default 0))

(field features (type SYMBOL) (default NIL))



)

(deftemplate assault-weapon

(field make (type SYMBOL))

(field model (type SYMBOL))

)

;; ПРАВИЛА

;; Общий случай

;; Любая полуавтоматическая

;; винтовка (semi-automatic rifle)

;; или охотничье ружье (shotgun) с емкостью

;; магазина более 5 патронов.

(defrule Parti

(gun (make ?M) (model ?N)

(class ?CSrifle|shotgun) (action semi) (capacity ?X&:(> ?X 5))) =>

(assert (assault-weapon (make ?M) (model ?N)))

)

Разработайте правило make-and-model, которое будет запрашивать у пользователя необходимую информацию о модели оружия и формировать вектор gun в рабочей памяти.

Содержание раздела