Санкт-Петербургский государственный университет
Опубликован: 12.07.2013 | Доступ: свободный | Студентов: 246 / 38 | Длительность: 09:36:00
Специальности: Программист
Лекция 3:

Разработка мультиагентных систем

Аннотация: Взаимодействие агентов. Платформы для разработки мультиагентных систем. Примеры реализаций.
Ключевые слова: mac, член группы, определение, объединение, компонент, кооперация, координация, разрешение конфликтов, контекст, агент, идентификатор, ПО, сервер, место, внутренние параметры, принятия решений, ядро, OMG, Object, management, group, intelligent, physical, advanced, agency, DARPA, control, agent, деятельность, IBM, SUN, транспортная, поддержка, мультимедиа, CORBA, IDL, knowledge sharing, effort, syntax, semantics, communication, language, ACL, онтология, API, application, programming, interface, интерфейс, smtp, TCP/IP, HTTP, IIOP, БД, SQL, distributed, service, Web, XML, RDF, ORB, Java, RMI, event, MAS, архитектура, доступ, аудит, контроль доступа, цикла, android, инструментарий, SDK, средства разработки, анализ, распознавание образов, извлечение знаний, понимание текста, значение, очередь, поиск, Интернет, интеллект, GPS, детектор образов, адаптивный планировщик, поток, конструктор сцены, конструктор, редактор онтологии, предметной области, моделирующая система, модуль, моделирование, эволюционный дизайн, активность, интеллектуализация, список, связь, минимум, механизмы, безопасность, компьютер, ID, пароль, модуль диагностики, ECU, control unit, система управления двигателем (СУД), память, алгоритм, управляющие, CAN, area, network, дисплей, информация, АРМ, устройство управления, engine, ECM, engine control, MODULE, ABS, system, air, bag, automatic, unmanned, aerial

Мультиагентные системы

Презентацию к лекции Вы можете скачать здесь.

Система, в которой несколько агентов могут общаться, передавать друг другу некоторую информацию, взаимодействовать между собой и решать поставленную задачу называется мультиагентной (MAC). В MAC задачи (или подзадачи) распределены между агентами, каждый из которых рассматривается как член группы или организации. Распределение задач предполагает назначение ролей каждому из членов группы, определение меры его "ответственности" и требований к "опыту" 2.

Многоагентные системы зародились на пересечении теории систем и распределенного искусственного интеллекта. С одной стороны, речь идет об открытых, активных, развивающихся системах, в которых главное внимание уделяется процессам взаимодействия агентов как причинам возникновения системы с новыми качествами. С другой стороны, достаточно часто MAC строятся как объединение отдельных интеллектуальных систем, основанных на знаниях [ 3.1 ] . MAC обычно состоит из следующих основных компонент:

  • множество организационных единиц, в котором выделяются: подмножество агентов, манипулирующих подмножеством объектов;
  • множество задач;
  • среда, т. е. некоторое пространство, в котором существуют агенты и объекты;
  • множество отношений между агентами;
  • множество действий агентов (например, операций над объектами).

Основой формой организации взаимодействия между агентами, характеризующаяся объединением их усилий для достижения совместной цели при одновременном разделении между ними функций, ролей и обязанностей является кооперация. В общем случае это понятие можно определить формулой: кооперация = сотрудничество + координация действий + разрешение конфликтов. Под координацией обычно понимается управление зависимостями между действиями. Коммуникация между искусственными агентами зависит от выбранного протокола, который представляет собой множество правил, определяющих, как синтезировать значимые и правильные сообщения. Фундаментальными особенностями группы, составленной из агентов, сотрудничающих для достижения общей цели, являются социальная структура и распределение ролей между агентами.

Основой архитектуры агента является контекст, или серверная среда, в котором он исполняется. Каждый агент имеет постоянный идентификатор – имя. В серверной среде может исполняться не только исходный агент, но и его копия. Агенты способны самостоятельно создавать свои копии, рассылая их по различным серверам для исполнения работы. По прибытии агента на следующий сервер его код и данные переносятся в новый контекст и стираются на предыдущем местонахождении. В новом контексте агент может делать все, что там не запрещено. По окончании работы в контексте агент может переслать себя в другой контекст или по исходящему адресу отправителя. Агенты способны также выключаться ("умирать") сами или по команде сервера, который переносит их после этого из контекста в место, предназначенное для хранения.

На рис. 5.1 показана укрупненная структура типичного агента. Входами являются внутренние параметры агента и данные о состоянии среды. Выходы – параметры, воздействующие на среду и информирующие пользователя (или программу, выполняющую роль менеджера в системе) о состоянии среды и принятых решениях. Решатель – процедура принятия решений. Решатель может быть достаточно простым алгоритмом или элементом системы искусственного интеллекта.

Укрупнённая структура агента

Рис. 5.1. Укрупнённая структура агента
Архитектура ядра мультиагентной системы

Рис. 5.2. Архитектура ядра мультиагентной системы

В архитектуре MAC основную часть составляет предметно-независимое ядро, в составе которого выделяются следующие базовые компоненты (рис. 5.2 ):

  • служба прямого доступа обеспечивает непосредственный доступ к атрибутам агентов;
  • служба сообщений отвечает за передачу сообщений между самим агентами, а также между агентами и дополнительными системами ядра;
  • библиотека классов агентов (часть базы знаний) содержит информацию о классификации агентов в данной МАС.
  • сообщество агентов – серверное "место", где размещаются агенты; этот блок, кроме жизнедеятельности агентов, обеспечивает еще функции по загрузке/записи агентов и их свойств и за оптимизацию работы агентов с ресурсами.
  • онтология – предметная база знаний, содержащая конкретные знания об объектах и среде функционирования, представляемые в виде соответствующей семантической сети.

Общая методология восходящего эволюционного проектирования MAC может быть представлена цепочкой: <среда – функции MAC – роли агентов – отношения между агентами – базовые структуры MAC – модификации>, и включает следующие этапы:

  • формулирование назначения (цели разработки) MAC;
  • определение основных и вспомогательных функций агентов в MAC;
  • уточнение состава агентов и распределение функций между агентами, выбор архитектуры агентов;
  • выделение базовых взаимосвязей (отношений) между агентами в MAC ;
  • определение возможных действий (операций) агентов;
  • анализ реальных текущих или предполагаемых изменений внешней среды.

При проектировании организацию агентов можно рассматривать как набор ролей, находящихся между собой в определенном отношении, и взаимодействующих друг с другом. Таким образом, методология восходящего проектирования MAC требует предварительного задания исходных функций (ролей агентов), определения круга их обязательств по отношению друг к другу, формирования исходных и развивающихся структур на основе выделенных функций и исследования адекватности этих структур характеру решаемых задач в выделенных проблемных областях

Главная идея нисходящего проектирования состоит в определении общих социальных характеристик MAC по некоторому набору критериев, построении базовых типов их организаций с последующим определением требований к архитектуре агентов. Когда речь идет о "выращивании" искусственных социальных систем и сообществ, на первый план выдвигается нисходящий подход к организационному проектированию.

В рассмотренных ниже примерах, безусловно, наиболее подходящим является проектирование на основе восходящего подхода.

Николай Корнеев
Николай Корнеев

В самостоятельной работе №1 нет примера lab01 файла labAtom32.rar. Ссылка которая есть в презентации

www.math.spbu.ru/user/gran/Atom32/lab01

не работает?