Архитектура предприятия агент-ориентированные решения. Учебное пособие
.pdfагенты. Тип данных можно контролировать с помощью оболочки управления. Она действует как сетевой интерфейс, который уведомляет агента, когда в репозитории доступны соответствующие данные. Оболочку управления можно запрограммировать на установление различных типов координации между агентами. Ни группы агентов, ни отдельные агенты в группе не должны физически находиться рядом с досками. Можно установить связь между различными группами с помощью удаленного интерфейса связи. Основная проблема связана с отказом досок. Это может сделать группу агентов бесполезной в зависимости от конкретной доски. Однако можно установить некоторую избыточность и разделить ресурсы между различными досками.
Увеличение числа агентов и неоднородность группы требуют наличия общей структуры для достижения надлежащего взаимодействия и обмена информацией. Эта общая структура обеспечивается языками общения агентов (ACL). Элементы, имеющие первостепенное значение при проектировании ACL, были выделены в [47].
Ими является наличие следующего:
–общий язык и формат взаимодействия (протокол), которые могут быть понятны всем участвующим агентам;
–общая онтология, в которой передаваемое сообщение имеет одинаковое значение во всех контекстах и следует не зависимой от агента семантике.
Существует два популярных подхода к разработке языка общения агентов: процедурный и декларативный. В первом подходе общение между агентами моделируется как совместное использованиепроцедурныхдиректив.Совместноиспользуемыепроцедурныедирективымогутбытьпримеромтого,какконкретныеагенты выполняют определенную задачу или всю работу самого агента.
Впроцедурном подходе обычно используются языки сценариев. Некоторые из наиболее распространенных используемых языков сценариев – JAVA, TCL, Applescript и Telescript. Основным недо-
статкомпроцедурногоподходаявляетсянеобходимостьпредоставления информации об агенте-получателе, которая в большинстве
61
случаев неизвестна или известна лишь частично. В случае принятия неверного предположения о модели процедурный подход может оказать разрушительное воздействие на производительность агентов. Вторая серьезная проблема – объединение общих процедурных скриптов в один большой исполняемый релевантный скрипт для агента. Из-за этих недостатков процедурный подход не является предпочтительным методом для разработки языка общения агентов. В декларативном подходе язык общения агента разработан и основан на совместном использовании декларативных утверждений, которые описывают определения, предположения, утверждения, аксиомы и т. д. Для правильного проектирования ACL с использованием декларативного подхода декларативные утверждения должны быть достаточно выразительными, чтобы охватывать использование широкого спектра информации. Это увеличит область действия агентской системы, а также позволит избежать необходимости использования специализированных методов для передачи определенных функций. Декларативные утверждения должны быть короткими и точными, поскольку увеличение длины влияет на стоимость коммуникации, а также на вероятность искажения информации. Декларативные утверждения также должны быть достаточно простыми, чтобы можно было избежать использования языка высокого уровня. Это означает, что использование языка не требуется для интерпретации переданного сообщения.
ACL состоит из трех частей [48]: часть словаря, внутренний язык и внешний язык. Внутренний язык отвечает за перевод коммуникационнойинформациивлогическуюформу,понятнуювсем агентам.Досихпорнетобщегомненияпоповодуединогоязыка,и доступно множество представлений внутреннего языка, таких как KIF (формат обмена знаниями), KRSL, LOOM. Лингвистическое представление, созданное этими внутренними языками, является кратким,недвусмысленнымиконтекстнозависимым.Получатели должны вывести из них исходную логическую форму. Для каждого языкового представления ACL поддерживает большой репозиторий словаря. Хороший ACL поддерживает этот репозиторий
62
открытым, чтобы можно было вносить изменения и дополнения для включения расширенной функциональности. Репозиторий также должен поддерживать несколько онтологий, и его использование будет зависеть от области применения. Часть информации, которая может быть закодирована с помощью KIF, – это простые данные, ограничения, отрицания, дизъюнкции, правила, информация метауровня, которая помогает в процессе принятия окончательного решения. Невозможно использовать только KIF для обмена данными, поскольку необходимо внедрить много неявной информации для того, чтобы принимающий агент мог интерпретировать ее с минимальным знанием структуры отправителя. Этого трудно достичь, поскольку размер пакета растет с увеличением встроенной информации. Чтобы преодолеть такое узкое место, был введен язык высокого уровня, который использует внутренний язык в качестве своей основы. Языки высокого уровня делают обмен информацией не зависимым от синтаксиса и онтологии контента. Одним из хорошо известных внешних языков, который удовлетворяет этой категории, является KQML (язык запросов и манипуляций знаниями) [49].
KQML задуман как формат сообщения и протокол обработки сообщений для облегчения бесперебойной коммуникации между агентами. KQML [12] состоит из трех слоев: слоя связи, в котором указана информация об агенте отправителя и получателя и метка или идентификатор запроса; слоя сообщения, который определяет функцию, которая должна быть выполнена; слоя контента для предоставления необходимых деталей в целях выполнения определенного запроса.
В KQML уровень связи находится на низком уровне и ориентированнапакеты.Потоковыйподходещепредстоитразработать. Потоки связи могут быть построены на TCP/IP, RDP, UDP или любых других пакетных коммуникационных средах. Уровень контента определяет язык, который будет применяться агентом. Следует отметить, что агенты могут использовать разные языки для общения друг с другом, а интерпретация – выполняться локально с помощью языков более высокого уровня.
63
Обычно принятие решений в MAS рассматривается как методология поиска совместного действия или точки равновесия, которая максимизирует вознаграждение, получаемое каждым агентом, участвующим в процессе принятия решений. Принятие решений в MAS обычно можно смоделировать как метод теории игр. Стратегическая игра – самая простая форма процесса принятия решений. Каждый агент выбирает свои действия в начале игры и одновременное выполнение выбранного действия всеми агентами. Стратегическая игра состоит:
–из набора игроков (в мультиагентном сценарии предполагается, что агенты являются игроками);
–набора действий для каждого игрока;
–предпочтений по набору профилей действий для каждого игрока.
Существует выигрыш, связанный с каждой комбинацией значенийдействийдляучаствующихигроков.Предполагается,чтофункция выигрыша предопределена и известна в случае простой стратегической игры. Также предполагается, что действия всех агентов наблюдаемы и являются общим знанием, доступным всем агентам. Решениемконкретнойигрыявляетсяпрогнозированиееерезультата,предполагающее,чтовсеучаствующиеагентырациональны[28].
Координация – центральный вопрос при проектировании мультиагентных систем. Когда для достижения цели задействовано несколько агентов, необходимо координировать или синхронизировать действия для обеспечения стабильности системы. Координация между агентами увеличивает шансы на достижение оптимального глобального решения.
В [50] были выделены основные причины, требующие координации между агентами:
–предотвращение хаоса и анархии;
–соответствие глобальным ограничениям;
–использование распределенных ресурсов, опыта и информации;
–минимизация количества конфликтов между агентами;
–повышение общей эффективности системы.
64
Координация может быть достигнута за счет применения ограничений к выбору совместных действий каждого агента или использования информации, собранной от соседних агентов. Задача – вычисление точки равновесного действия, которая может повысить полезность всех участвующих агентов. Суть механизма, который сокращает количество вариантов действий, заключается впримененииограниченийилиназначенииролейкаждомуагенту.
Классический метод координации между агентами в распределенной архитектуре – через протокол связи, который обычно написан на языке высокого уровня, определяет метод координации между агентами и представляет собой ряд методов распределения задач и ресурсов. Наиболее широко используемый протокол – это протокол Contract Net, облегчающий использование распределенного управления кооперативным выполнением задач. Протокол определяет, какая информация должна передаваться между агентами, а формат распространения информации обрабатывается протоколом. Предполагается, что доступен язык связи низкого уровня,такойкакKIF,которыйможетобрабатыватьпотокисвязи. Протоколучаствуетвпереговорахмеждуагентамидлядостижения соответствующего решения.
Процесс переговоров должен соответствовать следующим характеристикам:
1.Переговоры являются локальным процессом между агентами
ине предполагают центрального управления.
2.Между всеми участвующими агентами доступна двусторонняя связь.
3.Каждый агент делает свою оценку на основе собственного восприятия среды.
4.Окончательное соглашение достигается за счет взаимного выбора плана действий.
Каждый агент берет на себя роль менеджера и подрядчика по мере необходимости. Менеджер, по сути, служит для разбиения более крупной проблемы на более мелкие подзадачи и находит подрядчиков,которыемогутэффективновыполнятьэтифункции. Подрядчик может стать менеджером и разложить подзадачу таким
65
образом, чтобы сократить вычислительные затраты и повысить эффективность. Менеджер заключает контракт с подрядчиком через процесс торгов. В процессе торгов менеджер указывает тип необходимого ресурса и описание проблемы, требующей решения. Агенты, которые свободны или простаивают и имеют ресурсы, необходимые для выполнения операции, подают заявку с указанием своих возможностей. Затем агент-менеджер оценивает полученные заявки, выбирает подходящего агента-подрядчика и присуждает контракт. В случае отсутствия подходящего контрактного агента управляющий агент ждет в течение заранее определенного периода, прежде чем повторно транслировать контракт всем агентам. Контрактный агент может вести переговоры с управляющим агентом, запрашивая доступ к определенному ресурсу в качестве условия перед принятием контракта.
Foundation for Intelligent Physical Agents (FIPA) [51] является лучшимпримеромагентскойплатформы,котораяиспользуетпротоколконтрактнойсетидлядостижениякоординациимеждуаген- тами.FIPA–этомодель,разработаннаядлястандартизацииагент- ской технологии. FIPA имеет свой ACL, который служит основой для высокоуровневого протокола контрактной сети. Недостатком координации на основе протокола является предположение о существовании кооперативного агента. Стратегия переговоров является пассивной и не включает в себя никаких карательных мер, которые пытаются заставить агента принять определенную стратегию. Обычно общая стратегия достигается посредством итеративных коммуникаций, где параметры переговоров постепенно изменяются для достижения равновесия. Это делает протокол контрактной сети интенсивным в плане коммуникаций.
Координационные графы были введены в [52] в качестве основы для решения крупномасштабных распределенных координационных задач. В координационных графах каждая задача подразделяется на более мелкие, которые легче решить. Основное предположениевкоординационныхграфахзаключаетсявтом,что выигрышимогутбытьвыраженыкаклинейнаякомбинациялокальных выигрышей подыгры. Основываясь на этом предположении,
66
методисключенияпеременныхможетвычислятьоптимальныесовместныедействияспомощьюитеративногоисключенияагентови создания новых условных функций, вычисляющих максимальное значение, которого агент может достичь с учетом действий других агентов, от которых он зависит. Выбор совместного действия известен только после завершения всего процесса вычислений, который масштабируется с увеличением числа агентов и доступных вариантов действий и имеет значение в критических по времени процессах. Альтернативный метод с использованием max-plus, сокращающий требуемое время вычислений, использовался в [53]. Это было сделано для достижения координации в мультиагентной системе в случае применения к управлению городским дорожным светофором.
В сценариях, где время имеет решающее значение, координация через протоколы не удается, когда агент с определенным ресурсом для решения подзадачи отклоняет заявку. В таких сценариях агенты с внутренней моделью убеждений соседних агентов могут решить проблему. Внутренняя модель убеждений может быть либо развита за счет наблюдения за изменением динамики среды, либо разработана на основе эвристических и экспертных знаний в предметной области. Когда внутренняя модель развивается,агентдолженбытьдостаточноумен,чтобыразличатьизменение среды из-за действий других агентов и естественные изменения, происходящие в среде. В [35; 54] приведено описание модели убеждений на основе эвристики, используемой для создания координации между агентами и эффективного изменения зеленого времени. В [55] представлены эволюционные методы в сочетании снейроннымисетями,применяемыедлядинамическоговычисления уровня сотрудничества, необходимого между агентами.
Обучение агента можно определить как создание или изменениеструктурыубежденийнаосновебазызнаний,доступнойвходной информации и последствий или действий, необходимых для достижения локальной цели. На основе приведенного ранее определения обучение агента можно разделить на три типа: активное,
реактивное и обучение на основе последствий.
67
Вактивном и реактивном обучении обновление части убеждений агента имеет приоритет над оптимальной стратегией выбора действий, поскольку лучшая модель убеждений может увеличить вероятность выбора подходящего действия.
Активноеобучениеможноописатькакпроцессанализанаблюдений для создания убеждения или внутренней модели соответствующей среды агента. Процесс активного обучения может быть выполнен с использованием дедуктивного, индуктивного или веро- ятностного подхода к рассуждениям.
Вдедуктивном подходе к обучению агент делает дедуктивный вывод для объяснения конкретного экземпляра или последовательности состояние–действие, используя свою базу знаний. Поскольку полученный результат подразумевается или выводится из исходной базы знаний, которая уже существует, информация, полученная каждым агентом, не относится к новой, но является полезнымвыводом.Локальнаяцелькаждогоагентаможетсоставлять часть базы знаний. В дедуктивном подходе к обучению неопределенностьилинепоследовательность,связанныесознаниямиагента, обычно игнорируются. Это делает его непригодным для приложений в реальном времени.
Виндуктивном подходе к обучению агент учится на наблюдениях пары состояние–действие. Хорошо известные подходы
киндуктивному обучению используют корреляцию между наблюдениями и конечным пространством действий для создания внутренней модели состояния агента. Функциональность индуктивного обучения может быть улучшена, если база знаний используется в качестве дополнения для вывода модели состояния. Подход к индуктивному обучению страдает в начале работы, поскольку статистически значимые данные, относящиеся к агенту, могут быть недоступны.
Вероятностный подход к обучению основан на предположении, что база знаний агента или модель убеждений могут быть представлены как вероятности возникновения событий. Наблюдение агента за средой используется для прогнозирования
68
внутреннего состояния агента. Одним из лучших примеров вероятностного обучения является теорема Байеса. Согласно теореме Байеса, апостериорная вероятность события может быть определена априорной вероятностью этого события и вероятностью его возникновения.
В мультиагентном сценарии, где действие одного агента влияет на состояние другого агента, применение использования вероятностного подхода к обучению затруднено, что вытекает из основного требования к знаниям совместной вероятности действий
ипространства состояний разных агентов. С увеличением числа агентов это трудно рассчитать на практике и не выполнить вычислительно. Другим ограничением является определенное количество выборочных наблюдений, доступных для оценки правильной траектории.
Процесс обновления убеждения без фактического знания того, что необходимо изучить или наблюдать, называется реактивным обучением. Этот метод особенно полезен, когда базовая модель агента или среды неизвестна четко и обозначается как черный ящик, и характерен, например, для нейронных сетей.
Обучениесподкреплением–этоспособпрограммированияаген- товсиспользованиемскалярныхсигналоввознагражденияинаказания без указания того, как должна быть достигнута задача. При обучениисподкреплениемповедениеагентаизучаетсяпутемпроб
иошибок во взаимодействии с динамической средой без внешнего учителя или руководителя, который знает правильное решение. Традиционно методы обучения с подкреплением используются, когда пространство действий небольшое и дискретное. Недавние разработки в методах обучения с подкреплением сделали возможным их использование в сценариях с непрерывным и большим пространством состояний–действий.
При обучении с подкреплением агент пытается максимизироватьдисконтированноескалярноевознаграждение,полученноеот среды за конечный отрезок времени. Для этого агент представлен в виде марковского процесса принятия решений.
69
2.5.Сфера применения и типы задач, решаемые
сиспользованием агентного подхода
Для анализа применения агентного (мультиагентного) подхода разумно будет разделить сферы их использования, выделив исследовательские и непосредственно востребованные бизнесом для решения практических задач.
В исследовательских целях агентный подход применим для выполнения задач имитационного моделирования [56]. Имитационноемоделирование(отангл.simulationmodeling)осуществляетсяс помощьюпрограммныхприложений,реализующихметодыисследования, при которых исследуемая система заменяется моделью, с приемлемойдляисследованияточностьюописывающейреальную систему, с которой проводят эксперименты в целях получения информации об этой системе. Экспериментирование с моделью заменяет эксперименты на реальном объекте.
К имитационному моделированию прибегают, когда:
–дорого или невозможно экспериментировать на реальном объекте;
–нетвозможностипостроитьаналитическуюмодель:всистеме есть время, причинные связи, последствие, нелинейности, стохастические (случайные) переменные;
–необходимо сымитировать поведение системы во времени. Агентное моделирование является одним из вариантов имита-
ционного моделирования (рис. 14).
Агентное моделирование – направление в имитационном моделировании, которое используется для исследования децентрализованных систем, динамика функционирования которых определяется не фундаментальными правилами, а наоборот, когда эти фундаментальные правила и законы являются результатом индивидуальной активности членов группы (агентов).
Цель агентных моделей – получить представление об этих фундаментальных правилах, общем поведении системы, исходя из предположений об индивидуальном, частном поведении ее отдельных активных объектов и взаимодействии этих объектов в системе.
70
