9.2.2. Инструментарий AgentBuilder
Инструментарий для построения MAC компании Reticular Systems, Inc. состоит из двух компонентов: средств разработки (development tools) и окружения периода исполнения (run-time execution environment). Первый компонент ориентирован на поддержку процессов анализа предметной области создаваемой MAC и проектирование агентов с заданным поведением. Второй — обеспечивает эффективную среду для выполнения агентно-ориентированных программ. И тот и другой компоненты реализованы на языке Java, что позволяет им работать на всех платформах, где установлена Java-среда. Агентные программы, проектируемые в рамках AgentBuilder, тоже являются Java-программами и могут исполняться на любом компьютере, где установлена виртуальная Java-машина JVM (Java virtual machine).
Общая схема процесса проектирования и реализации агентно-ориентированных приложений на основе AgentBuilder ToolKit представлена на рис. 9.1. Этот инструментарий имеет средства для организации и предметной области создаваемой MAC, средства спецификации архитектуры агенства и поведения агентов, а также средства отладки агентных приложений и наблюдения за поведением созданных агентов.
Модель «жизненного цикла» агентов, разрабатываемых в рамках AgentBuilder, представлена на рис. 9.2. Как следует из данной схемы, стандартный «жизненный цикл» агента включает следующие основные шаги:
• обработка новых сообщений;
• определение, какие правила поведения применимы в текущей ситуации;
• выполнение действий, специфицированных этими правилами;
• обновление ментальной модели в соответствии с заданными правилами;
• планирование.
Собственно ментальные модели (начальная и текущая) включают описания исходных (текущих) намерений, полаганий, обязательств и возможностей, а также спецификации правил поведения.
Рис. 9.1. Технологическая схема процесса разработки
агентно-ориентированных приложений на базе AgentBuilder ToolKit
Данная модель получила название Reticular Agent Mental Model (RAMM) и является развитием модели Шохама (Shoham) [Shoham, 1993], где все действия выполняются только как результат определенных обязательств. В рамках RAMM эта идея расширена до уровня общих правил поведения, которые определяют причину действия агента в каждой точке его функционирования. При этом правила поведения фиксируют множество возможных «откликов» агента на текущее состояние среды так, как это предписывается полаганиями.
Для спецификации поведения агентов в системе AgentBuilder используется специальный объектно-ориентированный язык RADL (Reticular Agent Definition Language). Правила поведения в этом языке могут рассматриваться как конструкции вида WHEN-IF-THEN.
Рис. 9.2. Модель «жизненного цикла» агента в системе AgentBuilder
WHEN-часть правила адресована новым событиям, возникающим в окружении агента и включает новые сообщения, полученные от других агентов.
IF-часть сравнивает текущую ментальную модель с условиями применимости правила. Образцы в IF-части работают на намерениях, полаганиях, обязательствах и возможностях, определенных в ментальной модели.
THEN-часть определяет действия в ответ на текущие события и состояния ментальной модели и внешнего окружения. Они могут включать обновление ментальной модели, коммуникативные и внутренние действия.
Общий формат правил поведения следующий:
NAME имя правила
WHENMessage Condition(s)
IF Mental Condition(s)
THENPrivate Action(s); Mental Change(s); Message Action(s)
Для иллюстрации возможностей этого языка рассмотрим пример правила «Движение-Вперед-На-Зеленый-Свет» из предметной области «Управление автомобилем», взятый из руководства пользователя [AgentBuilder, 1999].
NAME "Greenlight Move Forward Rule"
WHEN
?KQMLMessage.Performative EQUALS TELL
?KQMLMessage.Sender EQUALS "stoplight-agent"
?KQMLMessage.Content EQUALS String
?KQMLMessage.Ontology EQUALS "Stoplight"
IF
?KQMLMessage.Content EQUALS "stoplight-green"
?KQMLMessage.Status EQUALS "stoppedAtRedLight"
currentMotion.Content EQUALS "stoplight-green"
currentLocation EQUALS nextlntersection
NOT(currentLocation EQUALS destination)
FOR_ALL (?BlockedIntersection,
NOT(?BlockedIntersection. Location EQUALS currentLocation))
THEN
DO (Go(trafficSpeed))
DO ($nextlntersection =
getNextIntersection (currentLocation,
currentMotion.Direction))
ASSERT (SET_VALUE_OF currentMotion.Status TO moving)
ASSERT (SET_VALUE_OF nextlntersection TO Snextlntersection)
SEND (performative = REPLY, receiver = "stoplight-agent",
content = "acknowledged",
in-reply-to = ?KQMLMessage.Reply-with)
Как следует из данного примера, в языке RADL активно используются образцы, имеются достаточно развитые средства работы с переменными и представительный набор действий, включающий формирование перформативов языка KQML [Labrou et al., 1997]. Структуры данных, на которых «работает» данный язык, являются, по существу, фреймами, а сами правила — суть продукции специального вида. Язык поддержан на инструментальном уровне системой специальных язы-ково-ориентированных редакторов.
Спецификация поведения агентов и их ментальных моделей составляет специальный файл (agent definition file), который используется совместно с классами и методами из библиотеки действий агентов и библиотеки интерфейсов. Этот файл интерпретируется в рамках компонента Reticular's Run-Time Agent Engine, являющегося частью окружения периода исполнения AgentBuilder.
Оценивая подход к спецификации моделей поведения агентов, используемый в AgentBuilder, можно констатировать, что в целом это серьезная система представления и манипулирования знаниями, ориентированная на описание моделей типа RAMM. Вместе с тем в данной модели отсутствуют средства эксплицитного управления выводом, которые могли бы существенно увеличить функциональную мощность языка. Нет в модели и средств явной фиксации состояния агента, отличных от флагов и/или значений переменных. Не вполне ясно и то, как в спецификации моделей поведения могут быть учтены разные, но одновременно сосуществующие «линии поведения», что характерно для действительно интеллектуальных агентов. Не вполне обоснованным представляется и использование режима интерпретации для реализации поведения агентов.
Но в целом можно еще раз отметить, что инструментарий AgentBuilder является современным и мощным средством проектирования и реализации MAC.
- Т. А. Гаврилова в. Ф. Хорошевский
- Санкт-Петербург
- Предисловие
- Об авторах
- 1.1.2. Зарождение нейрокибернетики
- 1.1.3. От кибернетики «черного ящика» к ии
- 1.1.4. История искусственного интеллекта в России
- 1.2. Основные направления исследований в области искусственного интеллекта
- 1.2.1. Представление знаний и разработка систем, основанных на знаниях (knowledge-based
- 1.2.2. Программное обеспечение систем
- 1.2.3. Разработка естественно-языковых интерфейсов и машинный перевод (natural
- 1.2.4. Интеллектуальные роботы (robotics)
- 1.2.5. Обучение и самообучение (machine
- 1.2.6. Распознавание образов (pattern
- 1.2.7. Новые архитектуры компьютеров (new
- 1.2.8. Игры и машинное творчество
- 1.2.9. Другие направления
- 1.3. Представление знаний и вывод на знаниях
- 1.3.1. Данные и знания
- 1.3.2. Модели представления знаний
- Структура фрейма
- 1.3.3. Вывод на знаниях
- 1.4. Нечеткие знания
- 1.4.1. Основы теории нечетких множеств
- 1.4.2. Операции с нечеткими знаниями
- 1.5. Прикладные интеллектуальные системы
- 2.2. Классификация систем, основанных на знаниях
- 2.2.1. Классификация по решаемой задаче
- 2.2.2. Классификация по связи с реальным временем
- 2.2.3. Классификация по типу эвм
- 2.2.4. Классификация по степени интеграции с другими программами
- 2.3. Коллектив разработчиков
- 2.4. Технология проектирования и разработки
- 2.4.1. Проблемы разработки промышленных эс
- 2.4.2. Выбор подходящей проблемы
- 2.4.3. Технология быстрого прототипирования
- 2.4.4. Развитие прототипа до промышленной эс
- 2.4.5. Оценка системы
- 2.4.6. Стыковка системы
- 2.4.7. Поддержка системы
- Теоретические аспекты инженерии знаний
- 3.1. Поле знаний
- 3.1.1. О языке описания поля знаний
- 3.1.2. Семиотическая модель поля знаний
- 3.1.3. «Пирамида» знаний
- 3.2. Стратегии получения знаний
- 3.3. Теоретические аспекты извлечения знаний
- 3.3.1. Психологический аспект
- 3.3.2. Лингвистический аспект
- 3.3.3. Гносеологический аспект извлечения знаний
- 3.4. Теоретические аспекты структурирования знаний
- 3.4.1. Историческая справка
- 3.4.2. Иерархический подход
- 3.4.3. Традиционные методологии структурирования
- 3.4.4. Объектно-структурный подход (осп)
- Технологии инженерии знаний
- 4.1. Классификация методов практического извлечения знаний
- 4.2. Коммуникативные методы
- 4.2.1. Пассивные методы
- Сравнительные характеристики пассивных методов извлечения знаний
- 4.2.2. Активные индивидуальные методы
- Сравнительные характеристики активных индивидуальных методов извлечения
- 4.2.3. Активные групповые методы
- 4.3. Текстологические методы
- 4.4. Простейшие методы структурирования
- 4.4.1. Алгоритм для «чайников»
- 4.4.2. Специальные методы структурирования
- 4.5. Состояние и перспективы автоматизированного приобретения знаний
- 4.5.1. Эволюция систем приобретения знаний
- 4.5.2. Современное состояние автоматизированных систем приобретения знаний
- 4.6.2. Имитация консультаций
- 4.6.3. Интегрированные среды приобретения знаний
- 4.6.4. Приобретение знаний из текстов
- 4.6.5. Инструментарий прямого приобретения
- Формы сообщений
- 5.1.1. Семантические пространства и психологическое шкалирование
- 5.1.2. Методы многомерного шкалирования
- 5.1.3. Использование метафор для выявления «скрытых» структур знаний
- 5.2. Метод репертуарных решеток
- 5.2.1. Основные понятия
- 5.2.2. Методы выявления конструктов
- 5.2.3. Анализ репертуарных решеток
- 5.2.4. Автоматизированные методы
- 5.3. Управление знаниями
- 5.3.1. Что такое «управление знаниями»
- 5.3.2. Управление знаниям и корпоративная память
- 5.3.3. Системы omis
- 5.3.4. Особенности разработки omis
- 5.4. Визуальное проектирование баз знаний как инструмент познания
- 5.4.1. От понятийных карт к семантическим сетям
- 5.4.2. База знаний как познавательный инструмент
- 5.5. Проектирование гипермедиа бд и адаптивных обучающих систем
- 5.5.1. Гипертекстовые системы
- 5.5.2. От мультимедиа к гипермедиа
- 5.5.3. На пути к адаптивным обучающим системам
- 6.1.3. Инструментальные средства поддержки разработки систем по
- 6.2. Методологии создания и модели жизненного цикла интеллектуальных систем
- 6.3. Языки программирования для ии и языки представления знаний
- 6.4. Инструментальные пакеты для ии
- 6.5. WorkBench-системы
- Пример разработки системы, основанной на знаниях
- 7.1. Продукционно-фреймовый япз pilot/2
- 7.1.1. Структура пилот-программ и управление выводом
- 7.1.2. Декларативное представление данных и знаний
- 7.1.3. Процедурные средства языка
- 7.2. Психодиагностика — пример предметной области для построения экспертных систем
- 7.2.1. Особенности предметной области
- 7.2.2. Батарея психодиагностических эс «Ориентир»
- 7.3. Разработка и реализация психодиагностической эс «Cattell»
- 7.3.1. Архитектура системы и ее база знаний
- 7.3.2. Общение с пользователем и опрос испытуемых
- 7.3.3. Вывод портретов и генерация их текстовых представлений
- 7.3.4. Помощь и объяснения в эс «Cattell»
- 8.1.2. Html — язык гипертекстовой разметки Интернет-документов
- 8.1.3. Возможности представления знаний на базе языка html
- 8.2. Онтологии и онтологические системы
- 8.2.1. Основные определения
- 8.2.2. Модели онтологии и онтологической системы
- 8.2.3. Методологии создания и «жизненный цикл» онтологии
- Фрагмент описания аксиомы
- 8.2.4. Примеры онтологии
- 8.3. Системы и средства представления онтологических знаний
- 8.8.1. Основные подходы
- 8.3.2. Инициатива (ка)2 и инструментарий Ontobroker
- 8.3.3. Проект shoe — спецификация онтологии и инструментарий
- 8.3.4. Другие подходы и тенденции
- 9.1.2. Основные понятия
- 9.2.2. Инструментарий AgentBuilder
- 9.2.3. Система Bee-gent
- 9.3. Информационный поиск в среде Интернет
- 9.3.1. Машины поиска
- 9.3.2. Неспециализированные и специализированные поисковые агенты
- 9.3.3. Системы интеллектуальных поисковых агентов
- Заключение
- Литература
- Содержание
- Базы знаний интеллектуальных систем
- 196105, Санкт-Петербург, ул. Благодатная, 67.
- 197110, Санкт-Петербург, Чкаловский пр., 15.