Многоагентный подход широко используется в создании программных модулей интеллектуальных информационных систем – от выполнения задач поиска информации и распознавания образов до принятия решений, в том числе управленческих. Исследования в области применения многоагентного подхода ведутся довольно давно, но задача построения универсального модуля многоагентной системы (МАС) в полной мере так и не решена. Причиной этого является узкая направленность исследуемых предметных областей применения.
В настоящей статье обсуждается обобщенная структура модуля МАС, предназначенного для информационной поддержки управленческих решений и обеспечивающая выполнение следующих функциональных возможностей:
- извлечение и объединение информации для дальнейшей ее обработки из разрозненных источников данных для получения достоверной и объективной информации;
- сохранение шаблонов пользовательских запросов, необходимых для получения часто используемых данных;
- использование настраиваемых помощников для отслеживания конкретных ситуаций;
- расширение функциональных возможностей системы путем увеличения способов анализа и интерпретации данных, то есть возможность дополнения определений отдельных показателей и их взаимосвязей, а также увеличения их количества в процессе эксплуатации системы;
- проведение автоматизированных исследований статистических данных, не требующих от пользователей специальных знаний, что также минимизирует число ошибок, обусловленных человеческим фактором;
- реализация универсального средства для решения схожих задач, то есть проведение аналитических исследований количественных показателей при помощи математико-статистического аппарата, что позволяет использовать одни и те же агенты вычислений для решения схожих задач в разных предметных областях.
Модуль рассматриваемой МАС состоит из автономных агентов, способных воспринимать ситуацию, принимать решения и взаимодействовать с себе подобными. Знания, необходимые для такой системы, отделены от ее программного кода и хранятся в онтологии, представляющей собой сеть понятий и отношений предметной области. Функционирование агентов осуществляется в рамках агентной платформы – среды, в которой могут существовать и взаимодействовать агенты [1, 2].
Модуль МАС обладает следующими свойствами:
- структура сообщества агентов является динамической относительно типов и количества членов сообщества;
- сообщество агентов основывается на принципах кооперации;
- структура сообщества агентов подразумевает распределенность (размещение агентов на различных компьютерах), что позволяет эффективно организовать доступ к распределенным источникам данных;
- агенты используют определенную предметную область для решения поставленных задач;
- агенты обеспечивают работу в асинхронном режиме;
- появление новых членов сообщества агентов или изменение функций некоторых агентов не требует перезагрузки всей информационной системы;
- структура сообщества базируется на требованиях FIPA (Federation of Intelligent Physical Agents) [3].
Модуль МАС представлен сообществом агентов, разработанных в соответствии с рекомендациями FIPA. В состав модуля МАС входят семь типов агентов (см. рис.), которые разделены на три группы в зависимости от основного назначения.
Первая группа агентов взаимодействует с внешней средой и представлена координатором, помощником, а также агентом доступа к данным.
Вторая группа занимается декомпозицией поставленной задачи и включает экспертов предметной области. Агент-эксперт вводится в систему для решения различных специфичных задач.
Третья группа занимается непосредственно вычислениями и объединяет агента расчета агрегированных показателей, агентов корреляционного и регрессионного анализа.
В качестве теоретической основы для построения модели МАС была использована абстрактная модель FIPA: MAS=áAgent, Interactionñ, где Agent – множество всех классов агентов; Interaction – множество всех взаимодействий между классами агентов.
Класс агента представляет общую структуру агента или коллекцию всех агентов с одними и теми же характеристиками внутренних состояний. Модель класса агента определена следующим образом: Agent=áLA1, CM, BM, Oñ, где LA1 – множество информационных атрибутов (идентификатор, имя, местоположение и т.д.); CM – коммуникационная модель (язык и методы для общения); BM – поведенческая модель (способы обработки сообщений); O – множество онтологий.
Согласованное взаимодействие двух или более агентов – это ядро многоагентной технологии. Агенты взаимодействуют друг с другом для достижения общей цели. Класс взаимодействий определен следующим образом: Interaction=áLA2, CA, TAñ, где LA2 – множество фактических атрибутов, например, тип взаимодействия (кооперация, сотрудничество, конкуренция и т.д.); CA – множество характеристик соединения, таких как формат обмена, речевой акт, протокол взаимодействия, знания, язык и т.д.; TA – множество транспортных характеристик, таких как подход (клиент-серверный, точка-точка и т.д.), режим (синхронный, асинхронный) и др.
Для разрабатываемой системы модель МАС и модель класса взаимодействий оставим без изменения, модель класса агента адаптируем к структуре сообщества МАС и к кругу решаемых задач. Модель класса агента определим следующим образом: Agent=áLA1, CM, BM, O, AD, SAñ, где CM=áZ, Wñ (Z={Zi}, i=1¸I – множество входящих сообщений; W={Ws, Wa}, s=1¸S, a=1¸A – множество синхронных Ws и асинхронных Wa (информационных, управляющих и координационных) выходных сообщений); BM={BMj}, j=1¸J – множество поведений агента, соответствующих ситуациям, которые зависят от состояний других агентов и их взаимодействий; O=áCl, Atr, Val, Limñ, где Cl={Clk}, k=1¸K – множество классов – типовых множеств реальных сущностей, обладающих общими признаками; сущность определяется совокупностью значений свойств класса, которому она принадлежит; Atr={Atru}, u=1¸U – множество атрибутов классов, представляющих качественные характеристики и отличительные особенности объектов; Val={Valu}, u=1¸U – множество областей допустимых значений атрибутов; Lim={Limb}, b=1¸B – множество ограничений, описывающих принадлежность атрибутов классам, принадлежность допустимых значений атрибутам, совместимость классов, функциональные ограничения, заданные над значениями атрибутов; AD={ADn}, n=1¸N – множество дополнительных функций, необходимых для выполнения поставленных задач и/или формирования ответных сообщений; SA – множество внутренних структур агента, описывающих его функциональное устройство в зависимости от его основного назначения.
Множество внутренних структур агента включает в себя: SA=áSAe, SAt, SAdñ, где SAe – множество агентов, взаимодействующих с внешней средой; SAt – множество агентов-экспертов определенной предметной области; SAd – множество агентов, занимающихся непосредственными вычислениями.
Модель агента, взаимодействующего с внешней средой: SAe=áMO, ERñ, где MO={MOz}, z=1¸Z – множество моделей окружения; ER={ERg}, g=1¸G – множество действий, допустимых для агента.
Агенты, взаимодействующие с внешней средой, представлены координатором, помощником, а также агентом доступа к данным. Координатор и помощник являются инициаторами всех взаимодействий в сообществе агентов, поскольку именно они реагируют на все воздействия со стороны клиентской части системы (вход пользователя в систему, ввод запроса и т.д.).
Модель агента – эксперта определенной предметной области: SAt=áTQ, TR, TP, Planñ, где TQ={TQm}, m=1¸M – множество целей агента; TR={TRg}, g=1¸G – множество действий, допустимых для агента; TP={TPz}, z=1¸Z – множество вариантов декомпозиции задач (библиотека частичных планов); Plan(TQm, TPz)=TRg – функция формирования плана действий агента (формирует упорядоченную последовательность действий агента из множества его допустимых действий TRg), исходя из его текущей цели TQm и варианта декомпозиции задачи TPz.
Модель агента, занимающегося непосредственными вычислениями: SAd=áTask, Par, DRñ, где Task={Taskm}, m=1¸M – множество решаемых задач; Par={Parz}, z=1¸Z – множество параметров; DR={DRg}, g=1¸G – множество действий для выполнения конкретных задач.
Таким образом, описанная обобщенная структура модуля МАС позволяет использовать разрозненные источники данных, проводить автоматизированные исследования, не требующие специальной квалификации пользователя, и предоставлять единый аналитический аппарат обработки информации.
Разработанный прототип модуля МАС может составить основу при создании систем информационной поддержки управленческих решений для сбора, извлечения и анализа данных в узкоспециализированных областях применения.
Литература
1. Wooldridge M. An Introduction to MultiAgent Systems. Wiley, 2009.
2. Shamma Jeff. Cooperative Control of Distributed Multi-Agent Systems. John Wiley & Sons, 2008.
3. Bordini R.H., Dastani M., Dix J., Seghrouchni A. Multi-Agent Programming: Languages, Tools and Applications. Springer, 2009.