Студопедия — Определение 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; просмотров: 443. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

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

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

Условия приобретения статуса индивидуального предпринимателя. В соответствии с п. 1 ст. 23 ГК РФ гражданин вправе заниматься предпринимательской деятельностью без образования юридического лица с момента государственной регистрации в качестве индивидуального предпринимателя. Каковы же условия такой регистрации и...

Седалищно-прямокишечная ямка Седалищно-прямокишечная (анальная) ямка, fossa ischiorectalis (ischioanalis) – это парное углубление в области промежности, находящееся по бокам от конечного отдела прямой кишки и седалищных бугров, заполненное жировой клетчаткой, сосудами, нервами и...

Основные структурные физиотерапевтические подразделения Физиотерапевтическое подразделение является одним из структурных подразделений лечебно-профилактического учреждения, которое предназначено для оказания физиотерапевтической помощи...

Виды сухожильных швов После выделения культи сухожилия и эвакуации гематомы приступают к восстановлению целостности сухожилия...

КОНСТРУКЦИЯ КОЛЕСНОЙ ПАРЫ ВАГОНА Тип колёсной пары определяется типом оси и диаметром колес. Согласно ГОСТ 4835-2006* устанавливаются типы колесных пар для грузовых вагонов с осями РУ1Ш и РВ2Ш и колесами диаметром по кругу катания 957 мм. Номинальный диаметр колеса – 950 мм...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

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