Разработка мультиагентных систем
Мультиагентные системы
Презентацию к лекции Вы можете скачать здесь.
Система, в которой несколько агентов могут общаться, передавать друг другу некоторую информацию, взаимодействовать между собой и решать поставленную задачу называется мультиагентной (MAC). В MAC задачи (или подзадачи) распределены между агентами, каждый из которых рассматривается как член группы или организации. Распределение задач предполагает назначение ролей каждому из членов группы, определение меры его "ответственности" и требований к "опыту" 2.
Многоагентные системы зародились на пересечении теории систем и распределенного искусственного интеллекта. С одной стороны, речь идет об открытых, активных, развивающихся системах, в которых главное внимание уделяется процессам взаимодействия агентов как причинам возникновения системы с новыми качествами. С другой стороны, достаточно часто MAC строятся как объединение отдельных интеллектуальных систем, основанных на знаниях [ 3.1 ] . MAC обычно состоит из следующих основных компонент:
- множество организационных единиц, в котором выделяются: подмножество агентов, манипулирующих подмножеством объектов;
- множество задач;
- среда, т. е. некоторое пространство, в котором существуют агенты и объекты;
- множество отношений между агентами;
- множество действий агентов (например, операций над объектами).
Основой формой организации взаимодействия между агентами, характеризующаяся объединением их усилий для достижения совместной цели при одновременном разделении между ними функций, ролей и обязанностей является кооперация. В общем случае это понятие можно определить формулой: кооперация = сотрудничество + координация действий + разрешение конфликтов. Под координацией обычно понимается управление зависимостями между действиями. Коммуникация между искусственными агентами зависит от выбранного протокола, который представляет собой множество правил, определяющих, как синтезировать значимые и правильные сообщения. Фундаментальными особенностями группы, составленной из агентов, сотрудничающих для достижения общей цели, являются социальная структура и распределение ролей между агентами.
Основой архитектуры агента является контекст, или серверная среда, в котором он исполняется. Каждый агент имеет постоянный идентификатор – имя. В серверной среде может исполняться не только исходный агент, но и его копия. Агенты способны самостоятельно создавать свои копии, рассылая их по различным серверам для исполнения работы. По прибытии агента на следующий сервер его код и данные переносятся в новый контекст и стираются на предыдущем местонахождении. В новом контексте агент может делать все, что там не запрещено. По окончании работы в контексте агент может переслать себя в другой контекст или по исходящему адресу отправителя. Агенты способны также выключаться ("умирать") сами или по команде сервера, который переносит их после этого из контекста в место, предназначенное для хранения.
На рис. 5.1 показана укрупненная структура типичного агента. Входами являются внутренние параметры агента и данные о состоянии среды. Выходы – параметры, воздействующие на среду и информирующие пользователя (или программу, выполняющую роль менеджера в системе) о состоянии среды и принятых решениях. Решатель – процедура принятия решений. Решатель может быть достаточно простым алгоритмом или элементом системы искусственного интеллекта.
В архитектуре MAC основную часть составляет предметно-независимое ядро, в составе которого выделяются следующие базовые компоненты (рис. 5.2 ):
- служба прямого доступа обеспечивает непосредственный доступ к атрибутам агентов;
- служба сообщений отвечает за передачу сообщений между самим агентами, а также между агентами и дополнительными системами ядра;
- библиотека классов агентов (часть базы знаний) содержит информацию о классификации агентов в данной МАС.
- сообщество агентов – серверное "место", где размещаются агенты; этот блок, кроме жизнедеятельности агентов, обеспечивает еще функции по загрузке/записи агентов и их свойств и за оптимизацию работы агентов с ресурсами.
- онтология – предметная база знаний, содержащая конкретные знания об объектах и среде функционирования, представляемые в виде соответствующей семантической сети.
Общая методология восходящего эволюционного проектирования MAC может быть представлена цепочкой: <среда – функции MAC – роли агентов – отношения между агентами – базовые структуры MAC – модификации>, и включает следующие этапы:
- формулирование назначения (цели разработки) MAC;
- определение основных и вспомогательных функций агентов в MAC;
- уточнение состава агентов и распределение функций между агентами, выбор архитектуры агентов;
- выделение базовых взаимосвязей (отношений) между агентами в MAC ;
- определение возможных действий (операций) агентов;
- анализ реальных текущих или предполагаемых изменений внешней среды.
При проектировании организацию агентов можно рассматривать как набор ролей, находящихся между собой в определенном отношении, и взаимодействующих друг с другом. Таким образом, методология восходящего проектирования MAC требует предварительного задания исходных функций (ролей агентов), определения круга их обязательств по отношению друг к другу, формирования исходных и развивающихся структур на основе выделенных функций и исследования адекватности этих структур характеру решаемых задач в выделенных проблемных областях
Главная идея нисходящего проектирования состоит в определении общих социальных характеристик MAC по некоторому набору критериев, построении базовых типов их организаций с последующим определением требований к архитектуре агентов. Когда речь идет о "выращивании" искусственных социальных систем и сообществ, на первый план выдвигается нисходящий подход к организационному проектированию.
В рассмотренных ниже примерах, безусловно, наиболее подходящим является проектирование на основе восходящего подхода.