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

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

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




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

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

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

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

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

Определение трудоемкости работ и затрат машинного времени На основании ведомости объемов работ по объекту и норм времени ГЭСН составляется ведомость подсчёта трудоёмкости, затрат машинного времени, потребности в конструкциях, изделиях и материалах (табл...

Гидравлический расчёт трубопроводов Пример 3.4. Вентиляционная труба d=0,1м (100 мм) имеет длину l=100 м. Определить давление, которое должен развивать вентилятор, если расход воздуха, подаваемый по трубе, . Давление на выходе . Местных сопротивлений по пути не имеется. Температура...

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