courses:knowledge_representation_and_artificial_intelligence_systems:lab1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:knowledge_representation_and_artificial_intelligence_systems:lab1 [2019/09/29 17:07]
andrey.suchkov [1. Изучение базовых команд и конструкций CLIPS]
courses:knowledge_representation_and_artificial_intelligence_systems:lab1 [2022/12/10 09:08] (current)
Line 56: Line 56:
 </​code>​ </​code>​
 где ''<​имя_группы_фактов>''​ -- идентификатор символьного типа; ''<​комментарий>''​ -- необязательное поле комментария;​ ''<​факт>​*''​ -- произвольная последовательность фактов,​ записанных через разделитель. где ''<​имя_группы_фактов>''​ -- идентификатор символьного типа; ''<​комментарий>''​ -- необязательное поле комментария;​ ''<​факт>​*''​ -- произвольная последовательность фактов,​ записанных через разделитель.
 +
 +Пример использования конструкции ''​deffacts'':​
 +<​code>​
 +(deffacts startup "​Refrigerator Status"​
 +  (refrigerator light on)
 +  (refrigerator door open))
 +</​code>​
  
 Факты, определенные конструкцией ''​deffacts''​ добавляются в список фактов всякий раз при выполнении команды ''​reset''​. Факты, определенные конструкцией ''​deffacts''​ добавляются в список фактов всякий раз при выполнении команды ''​reset''​.
Line 63: Line 70:
 (defrule <​имя_правила>​ ["<​комментарий>"​] (defrule <​имя_правила>​ ["<​комментарий>"​]
   [<​объявление>​]   [<​объявление>​]
-  <​условный элемент>​* ; Левая часть правила (антецедент)+  <​условный элемент>​* ​ ; Левая часть правила (антецедент)
 => =>
-  <​действие>​*) ; Правая часть правила (консеквент)+  <​действие>​*) ​ ; Правая часть правила (консеквент)
 </​code>​ </​code>​
 где ''<​имя_правила>''​ -- идентификатор символьного типа, уникальный для данной группы правил;​ ''<​комментарий>''​ -- необязательное поле комментария;​ ''<​условный элемент>​*''​ -- произвольная последовательность условных элементов;​ ''<​действие>​*''​ -- произвольная последовательность действий. где ''<​имя_правила>''​ -- идентификатор символьного типа, уникальный для данной группы правил;​ ''<​комментарий>''​ -- необязательное поле комментария;​ ''<​условный элемент>​*''​ -- произвольная последовательность условных элементов;​ ''<​действие>​*''​ -- произвольная последовательность действий.
Line 86: Line 93:
   - Запустить систему CLIPS (файл //​clipswin.exe//​). Активизировать окно просмотра текущего списка фактов (подпункт <<​Facts Window>>​ пункта <<​Windows>>​ главного меню). Выполнить следующую последовательность действий,​ фиксируя после каждого шага состояние списка фактов:​   - Запустить систему CLIPS (файл //​clipswin.exe//​). Активизировать окно просмотра текущего списка фактов (подпункт <<​Facts Window>>​ пункта <<​Windows>>​ главного меню). Выполнить следующую последовательность действий,​ фиксируя после каждого шага состояние списка фактов:​
     * сбросить систему в исходное состояние командой ''​(clear)'';​     * сбросить систему в исходное состояние командой ''​(clear)'';​
-    * выполнить начальную установку командой (reset) или комбинацией клавиш ^E; +    * выполнить начальную установку командой ​''​(reset)'' ​или комбинацией клавиш ^E; 
-    * ввести 3 любых упорядоченных факта командой (assert), например:​ \\ ''​CLIPS> ​(assert (n n) (m m) (p p))'';​+    * ввести 3 любых упорядоченных факта командой ​''​(assert)''​, например:​ \\ ''​(assert (n n) (m m) (p p))'';​
     * повторно выполнить сброс командой ''​(reset)'';​     * повторно выполнить сброс командой ''​(reset)'';​
     * установить 3 ранее вводимых упорядоченных факта в качестве исходных фактов,​ используя конструкцию ''​(deffacts)'';​     * установить 3 ранее вводимых упорядоченных факта в качестве исходных фактов,​ используя конструкцию ''​(deffacts)'';​
courses/knowledge_representation_and_artificial_intelligence_systems/lab1.1569776841.txt.gz · Last modified: 2022/12/10 09:08 (external edit)