Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Функции для работы с неупорядоченными фактами





Для работы с неупорядоченными фактами в CLIPS предусмотрен целый ряд специальных функций. К ним относятся: fact-relation, fact-slot-names и fact-slot-value. Рассмотрим эти функции по порядку.

Функция fact-relation позволяет получить связь (relation) существующего факта с шаблоном. Связь факта с шаблоном, определенным с помощью конструктора deftemplate или неявно созданным шаблоном, определяется по первому полю факта. Это поле всегда является простым полем и используется CLIPS в качестве имени шаблона, с которым связан факт. Таким об­разом, функция fact-relation просто возвращает первое поле факта, или значение false, если указанный факт не найден.

Определение 5.11. Синтаксис команды fact-relation

 

(fact-relation <определение-факта>)

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

Пример 5.18. Использование функции fact-relation

 

(clear)

(assert (car Ford))

(fact-relation 0)

(retract 0)

(fact-relation 0)

В первом случае функция fact-relation вернет значение car, а во втором —FALSE.

Для получения имен всех слотов заданного факта в CLIPS предназначена функция fact-slot-names.

Определение 5.12. Синтаксис команды fact-slot-names

(fact- slot-names <определение-факта>)

Данная функция возвращает список имен слотов в составном поле. Для упорядоченных фактов функция возвращает значение implied (подразуме­ваемый), т. к., если вы помните, CLIPS представляет упорядоченные факты как неявно заданные неупорядоченные с одним составным слотом. В случае если заданный факт не найден, функция возвращает значение false.

Пример 5.19. Использование функции fact-slot-names

 

(clear)

(deftemplate car

(slot name)

(slot producer)

(slot type)

(slot max-speed))

(assert (car

(name scorpio)

(producer ford)

(type sedan)

(max-speed 180)))

(fact-slot-names 0)

Если приведенный пример был набран без ошибок, то функция fact-slot-names вернет значение (name producer type max-speed).

Последней из рассмотренных в данной главе функций для работы с неупо­рядоченными фактами будет функция fact-slot-value.

Определение 5.13. Синтаксис команды fact-slot-value

 

(fact-slot-value <определение-факта> <имя-слота >)

Данная функция позволяет получать значения слота некоторого заданного факта. Если факт является упорядоченным, то для получения значения не­явно определенного составного слота используется значение implied. В слу­чае если указанный факт не существует, или имя слота указано не верно, функция возвращает значение false.

Рис. 5.16. Результат использования функции fact-slot-value

 

Выполните в среде CLIPS следующий пример:

Пример 5.20. Использование функции fact-slot-value

 

(clear)

(deftemplate foo

(slot bar)

(multislot yak)

(assert (foo (bar 1) (yak 23)))

(fact-slot-value 0 bar)

(fact-slot-value 0 yak)

(assert (another a b с))

(fact-slot-value 1 implied)

 

Если предыдущий пример был выполнен без ошибок, то полученный ре­зультат должен соответствовать приведенному на рис. 5.16.

 







Дата добавления: 2015-08-30; просмотров: 1294. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

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

Классификация и основные элементы конструкций теплового оборудования Многообразие способов тепловой обработки продуктов предопределяет широкую номенклатуру тепловых аппаратов...

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Понятие массовых мероприятий, их виды Под массовыми мероприятиями следует понимать совокупность действий или явлений социальной жизни с участием большого количества граждан...

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

Тактические действия нарядов полиции по предупреждению и пресечению групповых нарушений общественного порядка и массовых беспорядков В целях предупреждения разрастания групповых нарушений общественного порядка (далееГНОП) в массовые беспорядки подразделения (наряды) полиции осуществляют следующие мероприятия...

Studopedia.info - Студопедия - 2014-2024 год . (0.008 сек.) русская версия | украинская версия