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

         

в куче больше нет блоков,


;; что лежит в основании башни,

(defrule put-down

?my-goal <- (goal (task build))

?my-block <- (block (color ?C0)

(place hand))

(block (color ?C1) (place tower)))

(not (on (upper ?C2) (lower ?C1)

(place tower)))

=>

(modify ?my-block (place tower))

(assert (on (upper ?CO) (lower ?C1)

(place tower)))

(modify ?my-goal (task find)) )

;; Если в куче больше нет блоков, прекратить процесс,

(defrule stop

?my-goal <- (goal (task find))

(not (block (place heap)))

=>

(retract ?my-goal) )

Обратите внимание на то, что порядок перечисления правил в программе не имеет значения. В программе управления роботом, представленной в листинге 5.3, правило прекращения выполнения стояло в списке первым, а в этой программе оно стоит в самом конце списка. Трассировку выполнения приведенной программы и некоторые комментарии вы найдете во врезке 5.4.

5.4. Трассировка программы строительства башни

При запуске программы в режиме трассировки будет сформирована следующая карта трассировки.

CLIPS> (reset)

==> f-0 (initial-fact)

==> f-1 (block (color red) (size 10) (place heap))

==>f-2 (block (color yellow) (size 20) (place heap))

==> f-3 (block (color blue) (size 30) (place heap))

CLIPS> (run)

TIRE 1 begin: f-0

==> f-4 (goal (task find))

FIRE 2 pick-up: f-4, f-3,

<== f-3 (block (color blue) (size 30) (place heap))

==> f-5 (block (color blue) (size 30) (place hand))

<== f-4 (goal (task find))

==> f-6 (goal (task build))

FIRE 3 place-first: f-6, f-5,

<== f-5 (block (color blue) (size 30) (place hand))

==> f-7 (block (color blue) (size 30) (place tower))

<== f-6 (goal (task build))

==> f-8 (goal (task find))

FIRE 4 pick-up: f-8, f-2,

<== f-2 (block (color yellow) (size 20) (place heap))

==> f-5 (block (color yellow) (size 20) (place hand))

<== f-8 (goal (task find))

==> f-10 (goal (task build))

FIRE 5 put-down: f-10, f-9, f-7,

<== f-9 (block (color yellow) (size 20) (place hand))

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







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий