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

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

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

Ниже приведено несколько примеров неупорядоченных фактов:

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

(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")

С неупорядоченными фактами можно выполнять те же операции, что и с упорядоченными.

Далее рассмотрим конструкторы, операции и функции, которые предостав­ляет CLIPS для работы с фактами.


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



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