Маслобоев А.В. Модели и алгоритмы взаимодействия программных агентов... УДК 004.8, 004.9
Модели и алгоритмы взаимодействия программных агентов в виртуальной бизнес-среде развития инноваций
А.В. Маслобоев
Институт информатики и математического моделирования технологических процессов КНЦ РАН, лаборатория региональных информационных систем
Аннотация. В работе представлены модели и алгоритмы взаимодействия программных агентов субъектов инновационной деятельности в виртуальной бизнес-среде, позволяющие сократить время отклика агентов на изменения среды, имитирующей инновационное поле, за счет повышения интенсивности информационного обмена между агентами и снижения общей нагрузки на сеть. Рассмотрены различные подходы к реализации механизмов коммуникации агентов. Предложены способы повышения эффективности информационного обмена между мобильными агентами в распределенной системе информационной поддержки инноваций. Описаны механизмы информационного обмена между мобильными агентами в виртуальной бизнес-среде, основанные на расширении адресной структуры агента и использовании агентов-посредников, их брокерских и антрепренерских функций.
Abstract. In this paper software agents' communication models and algorithms in the virtual business environment have been proposed. They allow to reduce response time on any changes of environment imitating the innovation field due to increase of data exchange between the agents and reduction of general network load. Two mechanisms for conversion of inter-node agent communications to intra-node agent communications and dynamic agent distribution have been represented. Various implementation approaches for agent communication and interaction mechanisms have been considered. Methods for effectiveness increase of data exchange between mobile agents in the distributed system for information support of innovations have been proposed. Data exchange mechanisms between software agents in the virtual business environment based on agent address structure extension and using of middle-agents brokering and matchmaking services have been minutely described.
Ключевые слова: мультиагентная система, модели взаимодействия агентов, алгоритмы информационного обмена, информационная поддержка инноваций
Key words: multi-agent system, agent communication models, data exchange algorithms, information support of innovations
1. Введение
В настоящее время информационная поддержка инновационной деятельности сводится к созданию и поддержанию в более или менее актуальном состоянии специализированных информационных ресурсов соответствующей тематики. При этом повсеместно используются централизованные технологии создания и функционирования информационных систем. Ситуация по-прежнему напоминает 90-е годы прошлого века, когда существовало большое количество разрозненных, технологически и семантически разнородных баз данных, используемых локально. Разного рода попытки создания централизованных реестров информационных ресурсов прикладной (в том числе - инновационной) тематики не принесли большого успеха. Сегодняшнее повсеместное распространение технологий Интернет и создание информационных ресурсов инноваций с веб-доступом решает лишь половину проблемы. Таким способом обеспечивается лишь распределенный доступ к информации, при этом информационные ресурсы по-прежнему остаются централизованными, что обусловливает их не всегда достаточную актуальность, высокую избыточность, технологическую и семантическую разнородность.
В этой связи представляется актуальной задача создания полностью децентрализованных одноранговых систем информационной поддержки инноваций, позволяющих гибко интегрировать в логически единое целое существующие и вновь появляющиеся информационные ресурсы по инновационной тематике, тем самым создавая единое информационное пространство для эффективного взаимодействия субъектов инновационной деятельности. Эффективной технологией реализации распределенных информационных систем данного класса является технология мобильных программных агентов (Смирнов, Шереметов, 1998). Такие системы должны обеспечивать не только распределенный доступ к информации, но и децентрализованные хранение и обработку данных, решать проблемы технологической и семантической разнородности информационных ресурсов. В качестве одного из подобных решений можно рассматривать разработанный научным коллективом ИИММ КНЦ РАН
прототип системы информационной поддержки инновационной деятельности в регионе -мультиагентную систему интеграции распределенных информационных ресурсов инноваций (Маслобоев, Шишаев, 2007) и соответствующую информационную технологию (Маслобоев, 2009).
Разработанная мультиагентная система реализует виртуальную бизнес-среду развития инноваций (ВБС), в рамках которой реальные бизнес-процессы, связанные с зарождением, развитием и реализацией инновационных идей отображаются на соответствующие информационные процессы поиска и обработки информации. Субъекты инновационной деятельности представляются в виде программных агентов, взаимодействующих друг с другом в едином информационном пространстве (ВБС) в интересах своих владельцев, образуя открытую мультиагентную систему с децентрализованной архитектурой.
В статье рассматриваются модели и механизмы взаимодействия программных агентов субъектов инновационной деятельности в виртуальной бизнес-среде развития инноваций, позволяющие сократить время отклика агентов на изменения среды, имитирующей инновационное поле, за счет повышения интенсивности информационного обмена между агентами и снижения общей нагрузки на сеть. Предлагаются способы повышения эффективности информационного обмена между мобильными агентами в распределенной мультиагентной системе информационной поддержки инноваций.
2. Постановка задачи
Технология мультиагентных систем (МАС) - это новая парадигма информационной технологии, ориентированная на совместное использование научных и технических достижений и преимуществ, которые дают идеи и методы искусственного интеллекта (ИИ), современные локальные и глобальные компьютерные сети, распределенные базы данных и распределенные вычисления, аппаратные и программные средства поддержки теории распределенности и открытости.
Актуальность распределенного ИИ и MAC, в соответствии с работами (Рыбина, Паронджанов, 2008) и (Тарасов, 2002), определяется сложностью современных организационных и технических систем, разнообразием, сложностью и распределенностью решаемых задач, огромными объемами потоков информации и высокими требованиями к времени обработки информации. Агентно-ориентированный подход находит широкое применение в различных областях, требующих решения сложных распределенных задач, таких как совмещенное проектирование изделий, реинжиниринг бизнес-процессов и построение виртуальных предприятий, имитационное моделирование интегрированных производственных систем и электронная торговля, организация работы коллективов роботов и распределенная (совмещенная) разработка компьютерных программ.
Наибольшую сложность в теоретических исследованиях и практических реализациях современных MAC представляют вопросы, связанные с процессами взаимодействия агентов при коллективном решении задач реальной практической сложности и значимости, поскольку каждый агент, решающий конкретную подзадачу, имеет лишь частичное представление об общей задаче и должен постоянно взаимодействовать с другими агентами. В связи с этим в настоящее время наиболее актуальной в теории и технологии MAC является проблема создания моделей взаимодействия интеллектуальных агентов в MAC.
При межузловом взаимодействии программных агентов в виртуальной среде возникает ряд проблем, связанных с возрастанием нагрузки на сеть, уменьшением интенсивности информационного обмена между агентами, зависящей от скорости и пропускной способности каналов связи сети, увеличением времени доставки сообщений и времени поиска нужного агента для взаимодействия. В качестве решения этих проблем предлагается метод, основанный на разбиении единого информационного пространства, в котором функционируют агенты, на виртуальные площадки (площадка представляет собой некоторый отдельный узел сети) и перемещении интенсивно взаимодействующих агентов на эти площадки с целью объединения агентов в коалиции. Предлагаемое решение реализовано в виде двух взаимодополняющих друг друга механизмов (алгоритмов) взаимодействия программных агентов: механизма локализации межагентных взаимодействий (преобразование межузлового взаимодействия агентов во взаимодействие на одном общем узле) и механизма динамического распределения агентов (распределение нагрузки между узлами системы).
Вместе с тем при проектировании открытых одноранговых информационных систем с децентрализованной архитектурой возникают задачи, связанные с определением местоположения динамически распределенных мобильных агентов, перемещающихся между узлами сети с течением времени, а также с минимизацией вероятности потери информации и временных задержек при передаче сообщений между агентами. Предлагаемое в настоящей работе решение основано на расширении адресной структуры агента информацией о его текущем месторасположении в сети и локальном кэшировании этой информации на узлах системы, что позволит передавать сообщения напрямую от агента-отправителя к агенту-получателю, а также обеспечит возможность поиска агентов "совместной
деятельности" через агентов-посредников, используя их брокерские (brokering services) и антрепренерские (matchmaking services) функции. Алгоритмы поиска агентов-инициаторов исполняются в адресном пространстве агентов-посредников.
3. Методы исследования и используемые технологии
Для решения поставленной в работе задачи использованы методы ИИ (модели и методы представления и обработки знаний), имитационное моделирование, теория множеств, теория графов, технология разработки программного обеспечения.
Теоретические исследования в области MAC ведутся в основном по следующим направлениям: теория агентов; коллективное поведение агентов; архитектура агентов и MAC; методы, языки и средства коммуникации агентов; языки реализации агентов; средства поддержки миграции агентов по сети. Исследования, представленные в статье, базируются на работах отечественных и зарубежных ученых, которые внесли значительный вклад в исследования в области MAC и интеллектуальных агентов: Д.А. Поспелова, Г.С. Осипова, Э.В. Попова, М.Л. Цетлина, В.И. Городецкого, И.В. Котенко, Г.В. Рыбиной, П.О. Скобелева, А.В. Смирнова, В.Л. Стефанюка, В.Б. Тарасова, В.Ф. Хорошевского, М. Вулдриджа, И. Демазо, Н. Дженнингса, Т. Кинни, П. Маэса, Ж.-П. Мюллера, Ж. Фербе, Б. Хейес-Рота, К. Хьюитта, К. Цетнаровича и др., а также Д.А. Новикова, Ю.А. Загорулько, Г.А. Унтура, В.А. Филиппова, А.А. Иващенко - в области информационного обеспечения инновационной деятельности; В. А. Виттиха, Ю.Г. Карпова, И.Г. Поспелова и П.А. Миллинга - в области имитационного моделирования экономических структур.
В качестве технологии реализации разработанных программных компонентов и алгоритмов использована технология Java RMI (Java Remote Method Invocation), которая является гибким и мощным средством создания распределенных приложений на платформе Java, включая возможность реализации мобильных приложений. Базовые шаблоны программных компонентов системы (агентов) разработаны с помощью языка сценариев Java Script, ориентированного на реализацию асинхронного процесса взаимодействия и удаленное исполнение приложений, в программной инструментальной среде разработки многоагентных систем AgentBuilder в соответствии со стандартом FIPA (Foundation for Interaction of Physical Agents).
4. Информационная поддержка инновационной деятельности
Разнородность участников инновационных процессов и многообразие выполняемых ими функций делают задачу информационной поддержки инновационной деятельности сложной и многоаспектной. Поэтому важнейшим условием ее успешного решения является четкое понимание структуры и содержания составляющих ее подзадач.
В наиболее общем представлении в этой проблеме можно выделить два компонента.
1. Собственно информационное обеспечение инновационной деятельности. Для эффективного решения задач, стоящих перед участниками инновационных процессов, они должны располагать необходимыми информационными ресурсами. Эти ресурсы играют роль своего рода "сырого материала", из которого путем адекватной переработки можно получать новые данные и знания, необходимые для обоснованного выбора и претворения в жизнь текущих решений по управлению инновационными процессами. К таким базовым информационным ресурсам относятся:
- различные базы данных, содержащие информацию об участниках инновационных процессов и ресурсах инноваций;
- веб-ресурсы инноваций, обеспечивающие удобный гипермедийный дистанционный доступ к данным;
- средства телекоммуникаций, обеспечивающие абстрагирование от территориальной привязки субъектов и ресурсов инноваций.
2. Методическое обеспечение инновационной деятельности, представляющее собой арсенал разнообразных методов и средств целенаправленной обработки "сырых" данных, к которым относятся:
- методы и средства поддержки принятия решений;
- модели и методы прогнозирования;
- методы логистики;
- методы и средства автоматизации различных элементов инновационных процессов (автоматизированный поиск бизнес-партнеров по реализации инновационных проектов, методы интеграции семантически разнородных информационных ресурсов, и т.п.).
Структура и специфика задачи информационной поддержки инноваций подробно описана в работе (Путилов и др., 2008).
5. Мультиагентная виртуальная бизнес-среда развития инноваций
Информационная поддержка инноваций заключается не столько в создании информационных ресурсов как таковых, сколько в обеспечении благоприятной информационной среды для их развития. Компонентами такой среды являются, во-первых, открытый, расширяемый и доступный широкому кругу субъектов инновационной деятельности пул информационных ресурсов инноваций, во-вторых - методы и программно-технические средства полной или частичной автоматизированной обработки этих ресурсов. Эти два компонента образуют верхний уровень информационной среды развития инноваций -виртуальную бизнес-среду (ВБС) инновационной деятельности. В терминах информационных систем виртуальная бизнес-среда представляет собой проблемно-ориентированную надстройку над базовой информационно-коммуникационной инфраструктурой. Последняя при этом обеспечивает эффективные информационные коммуникации, централизованное или распределенное хранение и доступ к данным, тогда как в рамках ВБС осуществляется проблемно-ориентированная обработка информации, решение задач, сформулированных в терминах предметной области. Структура информационной среды развития инноваций показана на рис. 1.
Рис. 1. Структура информационной среды развития инноваций
Виртуальная бизнес-среда является независимой от технологий реализации нижнего уровня. Это значит, что для реализации информационной среды развития инноваций могут использоваться как централизованные, так и распределенные архитектуры. Однако следует отметить, что по настоящему открытую, расширяемую информационную среду может обеспечить только децентрализованная реализация, поэтому далее будем подразумевать, что в общем случае информационная среда развития инноваций является полностью распределенной системой (не только с распределенным доступом, но и децентрализованным хранением и обработкой информации).
6. Модели коммуникации агентов
Модели коммуникации агентов в открытой мультиагентной системе информационной поддержки инноваций, согласно работе (Маслобоев, 2007), можно классифицировать по характеру взаимодействия на следующие категории: непосредственное (прямое, или двухточечное, point-to-point communication) взаимодействие и посредническое (через промежуточных или серверных агентов) взаимодействие. В двухточечной модели коммуникации агентов сообщение доставляется напрямую от агента-отправителя к агенту-получателю, даже если агент-получатель является мобильным (сообщение может быть передано через множество узлов компьютерной сети). В посреднической модели коммуникации агентов в основном используются антрепренерские или брокерские сервисы агентов посредников, позволяющие агентам коммуницировать друг с другом, обеспечивая при этом многоточечное и анонимное взаимодействие агентов (one-to-N communication). Эти два типа сервисов имеют свои достоинства и недостатки: брокерские сервисы являются более эффективными, тогда как антрепренерские - более гибкими.
В зависимости от местонахождения агента-получателя сообщения в сети модели коммуникации агентов, согласно (Маслобоев, 2007), можно также классифицировать следующим образом: межузловая коммуникация (inter-node communication) и коммуникация на одном общем узле (intra-node communication). Когда агент-отправитель и агент-получатель расположены на одном и том же узле компьютерной сети, передача сообщений между этими двумя агентами называется взаимодействием на общем узле. Когда они располагаются на двух различных узлах компьютерной сети, сообщения между этими двумя агентами доставляются через сети и подсети, а этот тип передачи сообщений называется межузловым взаимодействием. Если бы даже скорость передачи данных в сети Интернет значительно возросла, межузловое взаимодействие агентов все равно занимало бы больше времени, чем взаимодействие
на одном общем узле. Поэтому целесообразно преобразовывать межузловое взаимодействие агентов во взаимодействие на общем узле, что позволило бы сократить временные затраты на передачу сообщений и повысить интенсивность взаимодействия в процессе коммуникации между агентами.
Основными недостатками рассмотренных моделей взаимодействия агентов являются следующие:
- при межузловом взаимодействии: возрастает общая нагрузка на сеть, снижается интенсивность информационного обмена между агентами в силу увеличения времени доставки сообщений, замедляется реакция агентов на динамически изменяющиеся события внешней среды или отсутствие всякой реакции на изменения среды в случае потери сообщения;
- при миграции агентов между узлами системы возникает проблема определения местонахождения требуемого для взаимодействия агента (responder agent) в каждый момент времени, что в свою очередь приводит к возрастанию вероятности потерь сообщений при их передаче и снижению эффективности согласованного взаимодействия (координации) агентов "совместной деятельности" при достижении консенсуса.
7. Агентные механизмы формирования виртуальных бизнес-площадок
Эффект, получаемый от использования виртуальной бизнес-среды (ВБС), тем выше, чем больше ее внутренний объем - количество зарегистрированных инновационных предложений, агентов, представляющих интересы субъектов инноваций, узлов размещения информационных баз. Однако рост объема системы естественным образом приводит к возрастанию сложности задач поиска информационных элементов, подбора вариантов инновационных структур из-за полиномиального роста количества альтернатив. Для того чтобы система не теряла работоспособность в условиях собственного неограниченного роста, необходимы некоторые механизмы самоорганизации, позволяющие динамично перестраивать ее внутреннюю структуру с целью сокращения объемов обрабатываемых и передаваемых по коммуникационным линиям данных в ходе размещения и поиска инновационных предложений на информационных узлах, формирования потенциально эффективных инновационных структур.
Самоорганизация заключается в автоматическом формировании в рамках ВБС виртуальных бизнес-площадок (ВБП), объединяющих сходные по интересам группы агентов. Формирование ВБП основано на методе поддержки распределенного реестра одноранговых узлов с неявной древовидной организацией (Шишаев, 2008), в котором в качестве организующей древовидной структуры используется иерархическая модель предметной области инноваций. Формирование бизнес-площадок осуществляется посредством отображения целей агентов на древовидные концептуальные модели предметной области, последующей локализации основной части поисковых и иных запросов агентов внутри группы, и дальнейшего анализа активности их коммуникаций друг с другом. Сходство интересов приводит к тому, что наиболее активные и информационно-насыщенные коммуникации агентов сосредоточены внутри бизнес-площадки, тогда как за ее пределами информационный обмен менее активен, при этом объектом обмена являются генерализованные (меньшие по объему) бизнес-предложения агентов.
Такой подход позволяет не только сократить суммарный объем межагентных коммуникаций, но и за счет использования мобильных агентов преобразовывать межузловые коммуникации во внутриузловые. Это, в свою очередь, снижает нагрузку на сеть в случае распределенной реализации системы. Основными агентными механизмами, обеспечивающими повышение эффективности работы системы, являются локализация агентных взаимодействий в пределах узлов путем формирования групп активно коммуницирующих агентов (виртуальных бизнес-площадок) и динамического перераспределения нагрузки за счет реализации механизмов групповой миграции агентов. Данные механизмы обеспечивают, в конечном итоге, преобразование межузловых агентных взаимодействий во внутриузловые.
Для того, чтобы преобразовать межузловое взаимодействие во взаимодействие на одном общем узле, агенты системы могут быть распределены по узлам сети в зависимости от их характера взаимодействия. Так как характер взаимодействия агентов может меняться непрерывно, распределение агентов по узлам сети должно быть динамическим. При этом, когда агенты автоматически распределяются на множестве узлов компьютерной сети лишь в зависимости от характера своего взаимодействия, некоторые узлы сети могут быть перегружены многочисленными мигрировавшими на них агентами. Поэтому предлагаемый механизм динамического распределения агентов по месту их взаимодействия должен быть дополнен еще одним механизмом распределения агентов, поддерживающим возможность равномерного распределения нагрузки между узлами сети.
В разработанной мультиагентной системе (Маслобоев, Шишаев, 2007) каждый узел снабжен агентной платформой (агентным представительством), представляющей собой среду локального исполнения агентов, в которой программные агенты функционируют и взаимодействуют друг с другом. Реализованные механизмы коммуникации агентов состоят из последовательности похожих рабочих фаз и используют общие компоненты, которые присутствуют на каждой агентной платформе.
Для организации динамического распределения агентов на каждой агентной платформе системы должны функционировать следующие компоненты:
- Менеджер сообщений (Message Manager), координирующий процесс обмена сообщениями между агентами системы;
- Системный монитор (System Monitor), периодически проверяющий нагрузку на текущем узле компьютерной сети;
- Менеджер распределения агентов (Agent Allocation Manager), ответственный за динамическое распределение агентов и анализ моделей поведения и характера взаимодействия агентов;
- Менеджер миграции агентов (Agent Migration Manager), перемещающий агенты на другие платформы (узлы) и управляющий миграцией агентов
На рис. 2 показана диаграмма переходов для разработанных механизмов динамического распределения агентов. Сплошными стрелками показано использование обоих механизмов, пунктирными стрелками показано только использование механизма локализации межагентных взаимодействий и точечными стрелками показано использование механизма динамического распределения нагрузки между узлами системы.
7.1. Механизм локализации межагентных взаимодействий
Механизм локализации межагентных взаимодействий состоит из четырех фаз: фазы мониторинга, фазы распределения агентов, фазы взаимодействия (переговоров) и фазы миграции агентов.
1. Фаза мониторинга. Менеджер распределения агентов (МРА) оценивает интенсивность межузловых и внутриузловых коммуникаций агентов системы с помощью системного монитора и менеджера сообщений. МРА также использует информацию как об агенте-отправителе каждого сообщения, так и об узле агента-получателя. МРА периодически вычисляет коммуникационные зависимости Су(1) в момент времени
между агентом / и агентами у-го узла по
формуле:
С() = аЩ«) /ЪММ) + (1-а) С,(М),
где М^) - число сообщений, отправленных агентом / агентам у-го узла за период времени Т=[/1;/2], а а -коэффициент, характеризующий относительную значимость новой информации по отношению к устаревшей и использующийся для игнорирования временного интенсивного взаимодействия с агентами на определенной агентной платформе. Под С^-1) понимается значение той же коммуникационной зависимости на предыдущем интервале времени.
2. Фаза распределения агентов. После определенного числа повторений стадии мониторинга МРА вычисляет коэффициент коммуникационной зависимости между текущим узлом агента п и всеми остальными узлами системы. Коэффициент коммуникационной зависимости Щ между агентом / и агентами у-го узла определяется по формуле:
Щ = Су / Сп , ]фп.
Когда максимальное значение коэффициента коммуникационной зависимости агента больше предопределенного порога в, МРА текущего узла включает рассматриваемого агента в группу агентов, расположенную на удаленном узле системы:
к = axg у тах(Щ) л (КЛ >в) ^ а^ е Ок,
где а{ представляет агента /, Ок указывает на группу агентов к, а под а^ здесь и далее понимается операция, возвращающая значение ], при котором коэффициент коммуникационной зависимости Щ принимает максимальное значение.
3. Фаза взаимодействия. Перед перемещением выделенной группы агентов с узла Р1 на принимающий узел Р2 МРА узла Р1 взаимодействует с МРА узла Р2. МРА узла Р2 проверяет текущее
между узлами сети.
Рис. 2. Диаграмма переходов для динамического распределения агентов
состояние памяти, загруженность центрального процессора и число агентов, размещенных на данном узле, с помощью системного монитора. Если узел P2 имеет достаточное количество свободных системных ресурсов для новых агентов, МРА узла P2 разрешает осуществление перемещения группы агентов с узла P\ на узел P2.
4. Фаза миграции агентов. Завершив операции отбора агентов для мигрирования и получения положительного отклика от принимающего узла, МРА отправляющего узла совместно с менеджером миграции агентов (ММА) инициирует перемещение выбранной группы агентов на принимающий узел.
Механизм локализации межагентных взаимодействий предполагает анализ динамических изменений в моделях взаимодействия агентов, но этот механизм может вызвать перегрузку некоторых из узлов системы из-за большого числа агентов, перемещаемых на эти узлы.
Когда узел перегружен, системный монитор обнаруживает это состояние и активирует процедуру перераспределения агентов, основанную на перемещении не отдельных агентов между узлами сети, а целых групп агентов, интенсивно взаимодействующих друг с другом.
7.2. Механизм динамического распределения агентов
Механизм динамического распределения агентов (механизм распределения нагрузки) между узлами системы состоит из пяти фаз: фазы мониторинга, фазы группирования агентов, фазы распределения групп агентов, фазы взаимодействия (переговоров) между агентами и фазы перемещения (миграции) агентов.
1. Фаза мониторинга. Системный монитор каждого узла периодически проверяет состояние агентной платформы, в рамках которой взаимодействуют агенты, находящиеся на данном узле. Он также собирает информацию о текущей загруженности процессора и свободной памяти посредством вызова специальных системных функций. Когда системный монитор определяет, что узел перегружен, он активирует процедуру распределения агентов по узлам системы. В качестве критерия перегрузки узла предлагается максимальное количество агентов, которые могут функционировать на данном узле.
Когда МРА получает уведомление о перегрузке от системного монитора, он запускает процедуру мониторинга моделей локального взаимодействия агентов, для того чтобы предварительно локально разбить агентов на группы. Группа формируется из агентов с максимально близкими интересами и целями, которые интенсивно взаимодействуют друг с другом посредством обмена сообщениями. Информация об агентах и группах агентов регистрируется в специальном реестре - "доске объявлений". Анализ информации, представленной на "доске объявлений", позволяет оценить нагрузку на узлах системы и определить интенсивности межагентных и межгрупповых коммуникаций на межузловом и внутриузловом уровнях, что, в свою очередь, позволяет выделить загруженные и незагруженных узлы в системе, а также осуществить динамическое перераспределение агентов и групп агентов между узлами системы, т.е. перемещение агентов или групп агентов с заданными характеристиками с сильно загруженных узлов на менее загруженные узлы системы, содержащие близких по интересам потенциальных агентов "совместной деятельности". После предопределенного интервала времени МРА обновляет коммуникационные зависимости между агентами и локально-сформированными группами агентов на разных узлах сети.
Коммуникационная зависимость Cj(t) между i-ым агентом и j-ой группой агентов в момент времени t определяется по формуле:
cp(t) = « (Mij(t) / ъмт + (1-«) Cj(t-1),
где Mjj(t) - число сообщений, отправленных i-ым агентом агентам j-ой группы агентов за период времени t, а а - коэффициент, характеризующий относительную значимость новой информации по отношению к устаревшей. В этом случае выражение YjMk(t) показывает количество сообщений, отправленных i-ым агентом любому из агентов, совместно функционирующих на общем узле.
2. Фаза группирования агентов. После выполнения определенного числа повторяющихся фаз мониторинга каждый i-ый агент переопределяется в группу локальных агентов, новый индекс j* которой определяется по формуле:
j* = argj max(cj(t)) ^ а,е Ar ,
где Aj* указывает на у'*-ую группу локальных агентов.
Фазы мониторинга и группирования агентов повторяются несколько раз. После каждой фазы группирования агентов информация о локальных коммуникационных зависимостях между агентами обнуляется.
3. Фаза распределения групп агентов. После выполнения определенного числа повторяющихся фаз мониторинга и группирования агентов МРА в зависимости от состояния агентной платформы принимает решение переместить группу агентов на другой узел системы. Выбор перемещаемой группы
агентов осуществляется на основе коммуникационных зависимостей между группами агентов и узлами системы. Коммуникационная зависимость Dj между /-ой группой агентов и j-ым узлом системы определяется на основе суммирования коммуникационных зависимостей между всеми членами группы агентов и узлом системы:
Dij(t) = X keAl Cjt),
где Ai - это набор индексов всех агентов, принадлежащих /-той группе агентов, а Ckj(t) -коммуникационная зависимость между k-ым агентом и j-ым узлом в момент времени t. Группа агентов i*, которая имеет наименьшую зависимость на текущем узле, выбирается по следующему правилу:
i* = arg / max(Xjj+n Dj/Din) ,
где n - номер текущего узла (агентной платформы).
Принимающая _/*-ая агентная платформа выбранной i-ой группы агентов определяется на основе коммуникационной зависимости между i-той группы агентов и у*-ым узлом системы следующим образом:
j* = arg j max(Dj), j+n,
где n - номер текущего узла.
4. Фаза взаимодействия (переговоров) между агентами. Когда в сети определен принимающий узел группы агентов, МРА отправляющего узла начинает взаимодействовать с соответствующим МРА принимающего узла. Если принимающий МРА разрешает перемещение группы агентов, МРА отправляющего узла запускает фазу мигрирования агентов. В противном случае, МРА отправляющего узла опрашивает МРА других узлов системы до тех пор, пока не найдет подходящего узла для перемещения запланированной группы агентов. Если ни один узел не может принять группу агентов, фаза взаимодействия завершается неудачей, а через определенный период времени механизм распределения агентов на отправляющем узле перезапускается, и процесс повторяется вновь.
Фаза взаимодействия (переговоров) рассматриваемого механизма распределения нагрузки между узлами системы похожа на аналогичную фазу механизма локализирования межагентных взаимодействий. Все же, степень взаимодействия для этих двух механизмов существенно отличается: механизм локализирования межагентных взаимодействий реализуется на уровне агента, тогда как механизм распределения нагрузки между узлами системы реализуется на уровне группы агентов. Если принимающее агентное представительство располагает достаточными системными ресурсами для всех агентов, принадлежащих к выбранной группе локальных агентов, МРА принимающего агентного представительства может разрешить перемещение группы агентов. В противном случае, принимающий узел системы отвергает запрос на перемещение выбранной группы агентов отправляющего агентного представительства, причем узел не может принять лишь часть группы агентов.
5. Фаза миграции агентов. Когда МРА отправляющего узла получает ответ с разрешением на перемещение группы агентов от МРА принимающего узла, МРА отправляющего узла инициирует мигрирование выбранной группы локальных агентов на принимающий узел.
Каждое агентное представительство независимо от других исполняет свои механизмы распределения агентов в соответствии с имеющейся информацией о нагрузке на узел системы, где оно расположено, и характере взаимодействия агентов, функционирующих в его пространстве. В системе не предусмотрены централизованные модули для управления общей процедурой распределения агентов.
8. Механизм коммуникации агентов, основанный на использовании агентов-посредников
В открытых мультиагентных системах, характеризующихся высокой динамичностью (в любой момент времени могут появляться и исчезать новые агенты, подключаться новые узлы), каждый отдельно взятый агент не может располагать полной информацией о всех остальных агентах в едином информационно-коммуникационном пространстве. В такой среде совместного функционирования сетевые сервисы агентов-посредников (брокерские и антрепренерские сервисы) являются весьма эффективными для поиска потенциальных для взаимодействия агентов. Программные агенты могут находить имена остальных агентов (с помощью антрепренерских сервисов) или отправлять сообщения другим агентам (с помощью брокерских сервисов), используя их атрибуты, такие, как методы, режимы работы, характеристики или псевдонимы, вместо их настоящих имен. Для регистрации имен агентов в распределенной среде может использоваться выделенный сервер имен агентов. Посреднические функции агента реализуются в виде отдельной компоненты в его архитектуре, либо могут быть реализованы в виде независимого специализированного приложения, называемого агентом-посредником.
Посредническое взаимодействие между агентами включает либо брокеров, либо антрепренеров. Брокеры пересылают сообщения, заданные агентами-отправителями, на узлы сети, где располагаются
агенты-получатели, тогда как антрепренеры всего лишь предоставляют информацию о месторасположении агента-получателя, запрашиваемую агентами, намеревающимися отправлять сообщения, т.е. конечное сообщение доставляется брокерами до агента-получателя, тогда как антрепренеры только лишь помогают агентам-отправителям самим доставлять сообщения до агентов-получателей, предоставляя информацию о их местонахождении. Рассматривая число хопов при передаче сообщения, можно сделать вывод, что брокерские сервисы являются более эффективными, чем антрепренерские, поскольку брокерские сервисы обычно требуют двух хопов при передаче сообщения, а антрепренерские - трех.
Используя общую область памяти, называемую пространством фрагментов данных, которая управляется агентом-посредником, агенты могут регистрировать свои атрибуты вместе с именами в этом пространстве, а также могут коммуницировать друг с другом с помощью информации об атрибутах агентов, извлекаемой из этой области данных. В основе большинства разработанных агентов-посредников лежит Linda-модель (Carreiro, Gelernter, 1989). Структура акторной модели пространства фрагментов данных (АПДФ) показана на рис. 3.
Модель позволяет программным агентам использовать агентов-посредников и предоставляемые ими сервисы для поиска агентов "совместной деятельности" и составляет основу метода использования агентов-посредников и их функций. При этом агент-посредник не только управляет фрагментами данных, но может также использовать как свои собственные алгоритмы поиска агентов "совместной деятельности", так и алгоритмы, предоставляемые агентами-инициаторами. В этом и состоит главное отличие предлагаемого способа использования агентов-посредников и их функций по сравнению с существующими.
9. Алгоритмы информационного обмена между мобильными агентами
Для повышения эффективности распределенной обработки данных агентами и уменьшения общего объема данных, передаваемых по сети, модифицированы существующие алгоритмы информационного обмена между мобильными агентами, представленные в работах (Alouf et al., 2002), (Stefano, Santoro, 2002): FMP (forwarding-based message passing - алгоритм переадресации сообщений), FLAMP (forwarding and location address-based message passing - алгоритм переадресации и определения адреса местонахождения агента), FLCMP (forwarding and location cache-based message passing - алгоритм переадресации и локального кэширования для определения местонахождения агента), ALMP (agent locating-based message passing - алгоритм локализированного обмена сообщениями между агентами) и ALLCMP (agent locating and location cache-based message passing - алгоритм локализации и локального кэширования для организации обмена сообщениями между агентами). Предложенные алгоритмы осуществляют
пересылку сообщений непосредственно от агентов-отправителей агентам-получателям, минимизируя общее количество хопов при передаче сообщения по сети. Результаты экспериментов показывают, что при интенсивном взаимодействии агентов механизмы FLCMP и ALLCMP являются более эффективными в плане своей производительности, чем остальные. Однако их эффективность существенно зависит от степени межагентного взаимодействия в процессе мигрирования агентов и групп агентов между узлами системы.
В таблице приведен сравнительный анализ описанных выше алгоритмов информационного обмена между мобильными агентами в зависимости от времени доставки сообщений. В представленных в таблице выражениях для расчета времени доставки единичного сообщения между мобильными агентами используются следующие обозначения: т - сообщение агента; тл - сообщение агента, содержащее локализированный адрес агента (location-based agent address - LAA) вместо универсального адреса агента (universal agent address - UAA); m' - служебное сообщение, на основе которого осуществляется обновление локального КЭШа на узлах сети; т* - служебное сообщение, на основе которого осуществляется запрос о месторасположении агента-получателя сообщения в сети; т** -ответное служебное сообщение на запрос т*, в котором указывается месторасположение агента-получателя сообщения в сети; txy(m) - время, необходимое для пересылки сообщения т с x на узел y сети, где b - "родной" узел агента, d - узел-приемник сообщения агента, e - прежний узел-приемник сообщения агента, на котором он функционировал ранее и s - узел-источник сообщения агента.
Таблица. Сравнительный анализ алгоритмов информационного обмена между мобильными агентами
Наименование механизма обмена сообщениями между агентами системы Время доставки сообщения
БМР ТдмР(т)=4ь(т)+/м(т)
БЬЛМР Тр1Амр(т)=1,,Лшл) - если агент-отправитель знает адрес местонахождения агента-получателя в сети. Т'рьлМР(т)=1!^ь(тл)+/Ьс(тл) - если агент-отправитель не знает адрес местонахождения агента-получателя в сети. Т"рьлМР(т)=1!!е(тл)+1еЬ(тл)+1Ьс(тл) - если агент-отправитель располагает устаревшим адресом местонахождения агента-получателя в сети.
Бьемр 7жСМР(т)=4Дт) - если узел агента-отправителя содержит в локальном КЭШе информацию о местонахождении агента-получателя в сети. ТжСМР(т)=4г/т)+ 4^(т) - если узел агента-отправителя не содержит в локальном КЭШе информацию о местонахождении агента-получателя в сети. Т'аСМр(т)=4е(т)+4ь(т)+/ы(т)+^/т') - если узел агента-отправителя содержит в локальном КЭШе устаревшую информацию о местонахождении агента-получателя в сети.
ЛЬМР ТлшР(т)=1ь(т ^ь^т**^^)
лььемр 7А^СМР(т)=4^(т) - если узел агента-отправителя содержит в локальном КЭШе информацию о местонахождении агента-получателя в сети. ТА^СМР(т)=4ь(т*)+4/т**)+/;^(т) - если узел агента-отправителя не содержит в локальном КЭШе информацию о местонахождении агента-получателя в сети. Т"лььСМР(т)=4е(т)+4ь(т*)+4е(т**)+ 4Дт)+ /Дт') - если узел агента-отправителя содержит в локальном КЭШе устаревшую информацию о местонахождении агента-получателя в сети.
Выражения, представленные в таблице, показывают, что мобильные агенты не перемещаются непрерывно по узлам сети. Агенты запускают процедуру перемещения только после того, как им будут доставлены все сообщения. В случае же, когда агент-получатель перемещается между узлами системы в процессе доставки ему сообщений от других агентов, рассмотренные выше механизмы передачи сообщений могут потребовать больше времени для их передачи.
10. Заключение
В работе рассмотрены отдельные агентные механизмы функционирования системы информационной поддержки инноваций, алгоритмы организации однорангового децентрализованного взаимодействия узлов. Описаны различные подходы к реализации механизмов коммуникации агентов. Проанализированы существующие модели коммуникации программных агентов. Выявлены недостатки
рассмотренных моделей, на основании чего предложены подходы к повышению эффективности взаимодействия мобильных агентов в распределенной системе информационной поддержки инноваций.
На основе модификации существующих моделей межагентного взаимодействия разработаны алгоритмы информационного обмена между мобильными агентами, позволяющие повысить эффективность распределенной обработки данных агентами и уменьшить общий объем данных, передаваемых по сети: 1) алгоритм коммуникации агентов, основанный на использовании агентов-посредников и их функций; 2) алгоритмы информационного обмена между мобильными агентами, основанные на локальном кэшировании информации о местонахождении агента в сети и расширения адресной структуры агента.
Вместе с тем, созданы алгоритмы взаимодействия программных агентов субъектов инновационной деятельности в виртуальной бизнес-среде, позволяющие сократить время отклика агентов на изменения среды, имитирующей инновационное поле, в котором функционируют агенты, за счет повышения интенсивности информационного обмена между агентами и снижения общей нагрузки на сеть:
1) механизм локализации межагентных взаимодействий (преобразование межузлового взаимодействия агентов (inter-node communication) во взаимодействие на одном общем узле (intra-node communication));
2) механизм динамического распределения агентов (распределение нагрузки между узлами системы).
На основе разработанных в ходе исследований моделей и алгоритмов взаимодействия программных агентов предложен метод минимизации межузловых взаимодействий в одноранговых проблемно-ориентированных распределенных системах. Метод основан на кластеризации программных агентов в семантическом пространстве, представленном в виде концептуальной модели предметной области, и преобразовании межузловых взаимодействий агентов во внутриузловые. Реализация метода обеспечивает сокращение нагрузки на коммуникационную инфраструктуру и повышение коэффициента доступности прикладных служб программных агентов.
Работа поддержана грантом Российского фонда фундаментальных исследований (РФФИ) № 08-07-00301-а "Разработка информационной технологии и распределенной информационно-аналитической среды поддержки инновационной деятельности". Представленные в статье научные результаты использованы при выполнении работ по программе фундаментальных исследований Отделения нанотехнологий и информационных технологий РАН.
Литература
Alouf S., Huet F., Nain P. Forwarders vs. centralized server: An evaluation of two approaches for locating
mobile agents. Performance Evaluation, N 49, p.299-319, 2002. Carreiro N., Gelernter D. Linda in context. Communications of the ACM, N 32(4), p.444-458, 1989. Stefano D., Santoro C. Locating mobile agents in a wide distributed environment. IEEE Transactions on
Parallel and Distributed Systems, N 13, p.844-864, 2002. Маслобоев А.В. Механизмы взаимодействия и координации агентов в открытой мультиагентной системе информационной поддержки региональных инновационных структур. Теория и практика системной динамики: Труды II-ой Всерос. науч. конф., Апатиты, КНЦРАН, с.155-163, 2007. Маслобоев А.В. Мультиагентная технология информационной поддержки инновационной деятельности в регионе. Прикладные проблемы управления макросистемами. Труды Института системного анализа РАН, М., КомКнига УРСС, т.39, с.242-265, 2009. Маслобоев А.В., Шишаев М.Г. Мультиагентная система интеграции распределенных информационных
ресурсов инноваций. Программные продукты и системы, № 4(92), c.30-32, 2007. Путилов В.А., Шишаев М.Г., Маслобоев А.В. Специфика и структура задачи информационной
поддержки инноваций. Качество. Инновации. Образование, № 5, с.66-72, 2008. Рыбина Г.В., Паронджанов С.С. Модели, методы и программные средства поддержки взаимодействия интеллектуальных агентов. Информационные технологии и вычислительные системы, № 3, с.22-29, 2008.
Смирнов А.В., Шереметов Л.Б. Многоагентная технология проектирования сложных систем.
Автоматизация проектирования, ч.1, № 3(9), с.45-50, 1998. Тарасов В.Б. От многоагентных систем к интеллектуальным организациям: философия, психология,
информатика. М, УРСС, 348 с., 2002. Шишаев М.Г. Технология поддержки распределенного адресного реестра в одноранговых системах с неявной иерархической организацией. Сб. науч. тр. ИИММ КНЦ РАН: Информационные технологии в региональном развитии, Апатиты, КНЦ РАН, c.53-56, 2008.