Замечание. Слоты не могут быть использованы в упорядоченных фактах, а в неупорядо­ченных файлах, в свою очередь

Слоты не могут быть использованы в упорядоченных фактах, а в неупорядо­ченных файлах, в свою очередь, нельзя ссылаться на данные, используя поря­док слотов.

CLIPS отличает неупорядоченные факты от упорядоченных по первому по­лю факта. Первое поле фактов любого типа должно быть значением типа symbol. Если это значение соответствует имени некоторого шаблона, то факт является неупорядоченным. Как и упорядоченные факты, неупорядоченные ограничиваются скобками.

Пример 4.11. Неупорядоченные факты

(client (name "Joe Brown") (id X9345A))

(point-mass (x-velocity 100) (y-velocity -200))

(class (teacher "Martha Jones") (#-students 30) (Room "37A"))

(grocery-list (#-of-items 3) (items bread milk eggs))

Замечание

Порядок слотов в неупорядоченном факте не важен. Например, все приведен­ные ниже факты считаются идентичными:

(class (teacher "Martha Jones") (#-students 30) (Room "37A"))

(class (#-students 30) (teacher "Martha Jones") (Room "37A"))

(class (Room "37A") (#-students 30) (teacher "Martha Jones"))

В отличие от фактов, приведенных выше, упорядоченные факты из следующего примера не являются идентичными:

(class "Martha Jones" 30 "37А")

(class 30 "Martha Jones" "37A")

(class "37A" 30 "Martha Jones")

Очевидными преимуществами применения шаблонов являются более высо­кая читабельность и независимость слотов от порядка их определения.

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

Инициализация фактов

Конструктор deffacts позволяет создавать набор фактов, инициализирую­щий базу знаний CLIPS, при каждой очистке системы. При выполнении команды reset текущий список фактов CLIPS очищается, а затем в него добавляются все факты, заданные конструкторами deffacts. CLIPS содер­жит один предопределенный системный конструктор deffacts, который выполняет добавление в систему факта initial-fact. Более подробно особен­ности создания и использования фактов в CLIPS описаны в гл. 5.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: