Студопедия — Определение 11.39. Синтаксис функции delayed-do-for-all-instance
Студопедия Главная Случайная страница Обратная связь

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

Определение 11.39. Синтаксис функции delayed-do-for-all-instance






(delayed-do-for-all-instance

<шаблон-набора-объектов> <запрос> <действие>)

В качестве примера рассмотрим ситуацию, когда необходимо удалить объект, представляющий самого старшего мальчика. В этом случае нужно использовать именно функцию delayed-do-for-all-instance. Действие (удаление) должно быть задержано до окончания проверки всех наборов, иначе проверяемый возраст может просто постепенно уменьшаться, и в таком случае может быть удалено больше сведений о мальчиках, чем нужно. Для проверки возраста будем использовать вложенную функцию any-instancep для поиска информации о каком-нибудь мальчике старше текущего. Полностью решение данной задачи приведено на рис. 11.32.

Рис. 11.32. Использование функции delayed-do-for-all-instances

 

 


ГЛАВА 12. Модули

CLIPS предоставляет возможность разбиения базы данных и решения задачи на отдельные независимые модули. Для создания таких модулей служит конструктор defmodule. С помощью модулей можно группировать вместе отдельные элементы базы знаний и управлять процессом доступа к этим элементам во время решения некоторой задачи. Подобный процесс управления доступа к данным напоминает механизм пространства имен, используемый в C++, и глобальные и локальные области видимости в языках С и Ada. Однако, в отличие от механизмов в перечисленных выше языках, области видимости в CLIPS строго иерархичны и однонаправлены: если модуль а может видеть данные модуля в, это не означает, что модуль в может видеть данные модуля а. С помощью управления ограничением доступа к данным, содержащимся в различных модулях, при решении сложных за­дач модули могут реализовывать концепцию доски объявлений (blackboard strategy — стратегия решения задач с использованием разнородных источников знаний, взаимодействующих через общее информационное поле). В этом случае отдельный модуль позволяет видеть строго определенный набор фактов и объектов правилам из других модулей. Кроме того, модули используются для управления потоком вычисления правил.

Создание модулей

Как уже упоминалось выше, для создания модулей служит конструктор defmodule.

 

Определение 12.1. Синтаксис конструктора defmodule

 

(defmodule <имя-модуля>

[<комментарии>]

<спецификации-импорта-экспорта>*)

<спецификация-импорта-экспорта>::=

(export <элемент-слецификации>) |

(import <имя-модуля> <элемент-спецификации>

<элемент-спецификации>::=?ALL |

?NONE |

<конструктор>?ALL |

<конструктор>?NONE |

<конструктор> <имя-конструктора>

<конструкция>:= deftemplate | defclass | defglobal | deffunction | defqeneric

После своего создания модуль не может быть переопределен или удален (за исключением системного модуля main, который пользователь может один раз переопределить). Единственный способ удалить существующий модуль — выполнить команду clear. Во время запуска системы и при вызове команды clear CLIPS автоматически создает предопределенный системный модуль, указанный ниже.







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



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

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

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

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

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

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

Гальванического элемента При контакте двух любых фаз на границе их раздела возникает двойной электрический слой (ДЭС), состоящий из равных по величине, но противоположных по знаку электрических зарядов...

Сущность, виды и функции маркетинга персонала Перснал-маркетинг является новым понятием. В мировой практике маркетинга и управления персоналом он выделился в отдельное направление лишь в начале 90-х гг.XX века...

Разработка товарной и ценовой стратегии фирмы на российском рынке хлебопродуктов В начале 1994 г. английская фирма МОНО совместно с бельгийской ПЮРАТОС приняла решение о начале совместного проекта на российском рынке. Эти фирмы ведут деятельность в сопредельных сферах производства хлебопродуктов. МОНО – крупнейший в Великобритании...

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