Структура сообщества агентов базируется на требованиях FIPA (Federation of Intelligent Physical Agents) - стандарт, который регулирует разработку МАС, а также определяет логическую модель агентной платформы и набор служб, которые могут быть представлены [3; 4].
В системе следует различать три типа агентов:
Модуль МАС обладает следующими свойствами:
В качестве базовой модели класса агента была использована модель FIPA [4]:
(1)
где LA - множество информационных атрибутов (идентификатор, имя, местоположение и т.д.);
CM - коммуникационная модель (язык и методы для общения);
BM - поведенческая модель (способы обработки сообщений);
O - множество онтологий.
Для решения поставленных задач базовая модель класса агента была развита в соответствии с кругом решаемых задач:
, (2)
где AD - множество дополнительных функций, необходимых для выполнения поставленных задач и/или формирования ответных сообщений;
SA - множество внутренних структур агента, описывающих его функциональное устройство, в зависимости от его основного назначения.
Множество внутренних структур агента включает в себя:
(3)
где
- множество агентов, взаимодействующих с внешней средой;
- множество агентов экспертов определенной предметной области;
- множество агентов, занимающихся непосредственными вычислениями.
Модель агента эксперта определенной предметной области:
, (4)
где
- множество целей агента;
- множество действий, допустимых для агента;
- множество вариантов декомпозиции задач (библиотека частичных планов);
- функция формирования плана действий агента (формирует упорядоченную последовательность действий агента из множества его допустимых действий
), исходя из его текущей цели
и варианта декомпозиции задачи
.
Общая схема обработки запроса пользователя сообществом агентов представлена ниже.
Агент эксперт контролирует выполнение запроса в конкретной предметной области. Класс агента эксперта - это базовый класс для реализации основных функций взаимодействия с другими агентами. Агент эксперт в чистом виде не существует в модуле МАС, он является родителем для агентов наследников, которые соотнесены с определенной предметной области и решают конкретные задачи.
Основная задача любого агента эксперта - разбить запрос на подзапросы и передать их для решения агентам вычислений и/или решить их самому. Агент эксперт реализует алгоритм работы, представленный на рисунке 1.
Рис. 1. Алгоритм работы агента эксперта.
Рассмотрим алгоритм более подробно.
Шаг 1. Активация агента эксперта, определение атрибутов задания соответствующими значениями. Типом атрибута может быть целое число, дата, время, массив. В качестве атрибутов задаются значения показателей, относящиеся к искомому заданию определенной предметной области.
Шаг 2. Декомпозиция задачи на подзадачи - на отдельные задания, которые будут выполнять как другие агенты, так и сам агент эксперт данной предметной области.
Шаг 3. Подготовка сообщения для агента доступа к данным, которое строится на формировании модели запроса в соответствии с атрибутами запроса. Список атрибутов напрямую зависит от параметров запроса и имеет нефиксированную длину. Структура сообщения основана на стандарте FIPA ACL (Agent Communication Language) и включает следующие элементы [3]:
Шаг 4. Поиск агента доступа к данным и передача сообщения для выполнения запроса. Поиск необходимого агента осуществляется при помощи службы каталогов (Directory Facilitator, агент DF), в которой опубликован список услуг по каждому агенту, где для каждой услуги в ее описании указывается тип услуги, название услуги, предметная область и специфические свойства услуги [5]. Для поиска агента с нужной услугой агент эксперт передает агенту DF шаблон описания услуги, а в результате получает список всех услуг, подпадающих под данный шаблон.
В случае если агентов, оказывающих необходимую услугу, не нашлось, то агент эксперт готовит агенту координатору сообщение о невозможности выполнения задачи и переходит к последнему шагу.
Шаг 5. Формирование отдельных заданий для непосредственного решения задачи, полученных на шаге 2.
Шаг 6. Подготовка сообщений для агентов вычислений. Структура сообщений основана на стандарте FIPA ACL.
Шаг 7. Поиск агентов вычислений, осуществляемый при помощи службы каталогов DF, и передача им сообщений для выполнения запроса.
Шаг 8. Переговорные процессы между агентом экспертом и агентами вычислений. Данный процесс происходит до тех пор, пока не получены ответы от всех агентов.
Заключительный шаг. Подготовка и отправка ответа - полученного результата в специально определенном формате, в котором ожидает получить агент координатор.
Для апробации полученных результатов был разработан прототип системы, с помощью которого было проведено тестирование структуры и основных поведений агентов, а также алгоритмов их взаимодействия по обработке запроса пользователя.
Прототип системы реализует три сценария использования системы со встроенным модулем МАС: проверка качества проведенного теста, анализ результатов обучения и анализ себестоимости строительно-монтажных работ. Для каждого из предложенных сценариев был создан агент эксперт представленной предметной области.
Таким образом, предложенный алгоритм работы агента эксперта позволяет эффективно выполнять запросы в рамках модуля МАС вследствие декомпозиции задачи на подзадачи и решения их путем взаимодействия агента эксперта как с агентом доступа к данным, так и с агентами вычислений. Модель агента представляет собой базовый класс, что дает возможность адаптации модуля МАС к решению новых задач, путем добавления нового агента эксперта с необходимой предметной областью.
Рецензенты:
Пономарев В.И., д.т.н., профессор, директор ЗАО «Научно-производственное предприятие «Знак», Министерство промышленности и торговли РФ, г. Киров.
Страбыкин Д.А., д.т.н., профессор, директор Кировского филиала Автономной некоммерческой организации высшего профессионального образования «Московский гуманитарно-экономический институт», г. Киров.