Архитектура предприятия агент-ориентированные решения. Учебное пособие
.pdfМультиагентная система – это совокупность автономных агентов, которые действуют в среде и работают вместе для достижения общей цели. Агенты – это концептуальные сущности, определенные в среде, в которой они взаимодействуют для решения проблем, превосходящих их индивидуальные способности и знания.Агентымогутприсутствоватьвомногихфизическихформах, которые варьируются от роботов до компьютерных сетей. Наиболее согласованное определение агента было дано С. Расселом и П. Норвигом. Они определяют агента как гибкую автономную сущность, способную воспринимать окружающую среду через подключенные к нему датчики и взаимодействовать с ней через исполнительные механизмы. Приведенное определение не охватывает весь спектр характеристик, которыми должен обладать агент [32]. Его следует отличать от экспертных систем и распределенных контроллеров.
Отметим некоторые важные черты, отличающие агента от простых контроллеров.
Расположение относится к взаимодействию агента с окружающей средой посредством использования датчиков и результирующих действий исполнительных механизмов. Среда, в которой находится агент, является неотъемлемой частью его конструкции. Все входные данные поступают непосредственно как следствие взаимодействияагентовсокружающейсредойчерезисполнительные механизмы, не служащих просто советниками метауровня. Этот атрибут отличает его от экспертных систем, в которых узел принятиярешенийилисущностьпредлагаетизменениячерезпромежуточного агента и не влияет на окружающую среду напрямую.
Автономностьможноопределитькакспособностьагентавыбирать свои действия независимо, без внешнего вмешательства других агентов в сети (в случае мультиагентных систем) или вмешательства человека. Этот атрибут защищает внутренние состояния агента от внешнего влияния. Он изолирует агента от нестабильности, вызванной внешними возмущениями.
Способностьквыводу:способностьагентаработатьнадабстрактными целевыми спецификациями, такими как вывод наблюдения
51
с помощью обобщения информации. Это можно сделать, используя соответствующее содержание доступной информации.
Отзывчивость: способность воспринимать состояние окружающей среды и своевременно реагировать на него, чтобы учитывать любые ее изменения. Последнее свойство имеет решающее значение в приложениях реального времени.
Проактивность: агент должен демонстрировать хорошую реакцию на оппортунистическое поведение. Это необходимо для того, чтобы усилить действия, направленные на достижение цели, а не просто реагировать на конкретные изменения в окружающей среде. Он должен иметь возможность адаптироваться к любым изменениям в динамической среде.
Социальное поведение: даже если решение агента должно быть свободным от внешнего вмешательства, необходимо, чтобы он все равно имел возможность взаимодействовать с внешними источниками, когда возникает потребность в достижении определенной цели. Он также должен иметь возможность делиться этими знаниями и помогать другим агентам решать определенную проблему. Таким образом, агенты должны иметь возможность учиться на опыте общающихся сущностей, которые могут быть людьми, другими агентами в сети или статистическими контроллерами. Некоторые свойства, связанные с агентами, включают в себя мобильность, временную непрерывность, совместное поведение и т. д. В зависимости от того, способна ли вычислительная сущность удовлетворять всем или нескольким из перечисленных свойств, агенты могут быть дополнительно определены как демонстрирующие либо слабое, либо сильное агентство.
МАС – это расширение агентской технологии, в которой группа слабо связанных автономных агентов действует в среде для достижения общей цели с помощью либо сотрудничества, либо конкуренции, обмена или необмена знаниями друг с другом.
Мультиагентные системы широко применяются во многих прикладных областях из-за предлагаемых выгодных преимуществ.
52
Перечислим некоторые преимущества, доступные при использовании технологии МАС в больших системах [33]:
1.Увеличениескоростииэффективностиработызасчетпараллельных вычислений и асинхронной работы.
2.Плавнаядеградациясистемыприотказеодногоилинескольких агентов. Тем самым повышается надежность и устойчивость системы.
3.Масштабируемость и гибкость. Агенты могут добавляться по мере необходимости.
4.Снижение стоимости. Это связано с тем, что отдельные агенты стоят намного меньше, чем централизованная архитектура.
5.Возможность повторного использования. Агенты имеют модульную структуру, и их можно легко заменить в других системах или модернизировать проще, чем монолитную систему.
2.4. Алгоритм работы и архитектура мультиагентной системы
КлассификацияМАСявляетсясложнойзадачей,посколькуона может быть сделана на основе нескольких различных атрибутов, таких как архитектура, обучение, коммуникация, координация.
Если основываться на внутренней архитектуре отдельных агентов, формирующих мультиагентную систему, то ее можно классифицировать как два типа: 1) однородная структура; 2) гетерогенная структура.
Однородная структура. В однородной архитектуре все агенты, формирующие мультиагентную систему, имеют одинаковую внутреннюю структуру. Внутренняя архитектура относится к локальным целям, возможностям датчиков, внутренним состояниям, механизму вывода и возможным действиям [34]. Разница между агентами заключается в их физическом местоположении и части среды, где выполняется действие. Каждый агент получает входные данные из разных частей среды. Полученные входные данные датчиков могут перекрываться. В типичной распределенной среде перекрытие сенсорных входных данных встречается редко [35].
Гетерогеннаяструктура.Внеоднороднойархитектуреагентымогут различаться по способностям, структуре и функциональности.
53
В зависимости от динамики среды и местоположения конкретного агента выбранные им действия, могут отличаться от действий агента, находящегося в другой части, но они будут иметь ту же функциональность. Гетерогенная архитектура помогает сделать приложения моделирования намного ближе к реальному миру [36]. Каждый агент может иметь различные локальные цели, противоречащие целям других агентов.
Далее рассмотрим варианты общей организации агентов.
1. Иерархическая организация: агенты организованы в типичную древовидную структуру. Агенты на разных уровнях древовидной структуры имеют разные уровни автономии. Данные с нижних уровней иерархии обычно передаются вверх – агентам с более высокой иерархией. Сигнал управления или контрольные сигналы передаются от более высокой к более низкой иерархии [37]. На рис. 10 показана типичная трехиерархическая мультиагентная архитектура. В соответствии с распределением управления между агентамииерархическуюархитектуруможнодалееклассифицировать как простую и однородную иерархию.
Простая иерархия: полномочия по принятию решений предоставляются с использованием одного агента самого высокого уровня иерархии [35]. Проблема с простой иерархией заключается в том, что отказ одной точки агента в самой высокой иерархии может привести к отказу всей системы.
Однородная иерархия: полномочия распределяются между различными агентами для повышения эффективности, в случае
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Level 1 |
|
|
|
А1 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Level 2 |
|
А2 |
А3 |
|
А4 |
||||
|
|
|
|
||||
А5 А6 А7 А8 А9 А10 Level 3
Рис. 10. Трехиерархическая мультиагентная архитектура [38]
54
одиночных и многоточечных отказов отказоустойчивость снижаетсяпостепенно.Решенияпринимаютсяагентами,имеющимисоответствующую информацию. Эти решения отправляются вверх по иерархии только в случае конфликта интересов между агентами в разных иерархиях.
Рассмотрим иерархическую мультиагентную систему, применяемую к проблеме управления городским светофором. Цель состоит в том, чтобы обеспечить распределенный контроль времени срабатываниясветофора.Этонеобходимодлясокращенияобщего времени задержки, испытываемого транспортными средствами в дорожной сети. В трехуровневой иерархической мультиагентной системе каждый перекресток моделируется как агент, формирующий агентов на самом низком уровне иерархии, за которыми следуют зональные агенты, которые контролируют группу агентов более низкого уровня, и, наконец, один агент-супервайзер на самомверхуиерархии.Агентнанижнемуровнеиерархиипринимает решение об оптимальном времени зеленого света. Это основано на локальной информации, собранной на каждом из перекрестков.Агентынаболеевысокомуровнеиерархииизменяютрешение агентов более низкой иерархии. Время от времени может возникать конфликт интересов или общая задержка, испытываемая на группе перекрестков, увеличивается из-за выбранного действия. Общий контроль равномерно распределен между агентами. Недостатком является объем информации, которая должна быть переданаагентамнаболеевысокомуровнеиерархии,увеличивающийся с ростом размера сети.
2. Холоническая агентская организация. Холон – это стабильная и связная подобная или фрактальная структура, которая состоит из нескольких холонов в качестве подструктуры и сама является частью более крупной структуры. Концепция холона была предложена Артуром Кестлером [39] для объяснения социального поведения биологических видов. Однако иерархическая структура холона и его взаимодействия использовались для моделирования большого организационного поведения в производственных и деловых областях [40].
55
В холонной мультиагентной системе агент, который выглядит как единое целое, может состоять из множества субагентов, связанныхобязательствами.Субагентынесвязаныжесткимиограничениями или предопределенным правилом. Они относятся к отношениям, согласованным всеми участвующими агентами внутри холона.
Каждый холон назначает или выбирает главного агента, который может общаться со средой или с другими агентами, находящимися в ней. Выбор главного агента обычно основан на доступности ресурсов, коммуникационных возможностях и внутренней архитектуре каждого агента. В однородной мультиагентной системедопускаетсяслучайныйвыбор,можетиспользоватьсяполитика ротации, аналогичная той, которая применяется в распределенных беспроводных сенсорных сетях. В гетерогенной архитектуре выбор основан на возможностях агента. Образованные холоны могут далее группироваться в соответствии с преимуществами, предусмотренными при формировании согласованной структуры. Они образуют суперхолоны. На рис. 11 показан суперхолон, образованный за счет группировки двух холонов. Агенты A1 и A4 являются главами холонов и общаются с агентом A7. Это глава суперхолона. Архитектура в целом похожа на архитектуру иерархической организации. Однако в холонической архитектуре
А2
А3 А1
А5 А7
А6 А4
Рис. 11. Суперхолон [38]
56
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
Coalition 2 |
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
А2 |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
А1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
А4 |
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
А3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Coalition 3 |
|
|
||||||
Coalition 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А7 |
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
А6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А8 |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А9 |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
А10 |
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А11 |
|
|
|
А12 |
|
|
|
|
|
|
|
|
Overlap |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
coalition |
Coalition 4
Рис. 12. Коалиционная мультиагентная система [38]
разрешены перекрестные взаимодействия деревьев и перекрытие или агенты, входящие в состав двух разных холонов.
Абстракция внутренней работы холонов обеспечивает повышенную степень свободы и автономность при выборе поведения. Основным недостатком является отсутствие модели или знания внутренней архитектуры холонов [41]. Это затрудняет для других агентов прогнозирование результирующих действий холонов.
3.Коалиции.Вархитектурекоалициигруппаагентовобъединяется на короткое время, чтобы повысить полезность или производительностьотдельныхеечастей.Коалицияпрекращаетсвоесуществование, когда достигается цель производительности. На рис. 12 представлена типичная коалиционная мультиагентная система. Агенты, образующие коалицию, могут иметь как плоскую, так и иерархическую архитектуру. Даже при использовании плоской архитектурывозможноналичиеведущегоагента,которыйбудетдействовать как представитель группы коалиции. Перекрытие агентов среди групп коалиции допускается, поскольку это увеличивает
57
общие знания внутри нее. Это помогает построить модель убеждений. Однако использование перекрытия увеличивает сложность вычисления стратегии переговоров. Коалицию трудно поддерживать в динамической среде из-за изменения производительности группы. Может потребоваться перегруппировать агентов, чтобы максимизировать производительность системы [38].
Теоретически формирование единой группы, состоящей из всехагентоввсреде,максимизируетпроизводительностьсистемы. Это связано с тем, что каждый агент имеет доступ ко всей информациииресурсам,необходимымдлярасчетаусловийоптимального действия. Но формировать такую коалицию нецелесообразно из-за ограничений на коммуникацию и ресурсы.
Количество созданных коалиционных групп должно быть минимизировано, чтобы снизить затраты, связанные с созданием и роспуском коалиционной группы. Формирование группы может быть заранее определено на основе порогового значения, установленногодляизмеренияпроизводительности,иливкачествеальтернативы может быть разработано в режиме реального времени [38].
Вернемся к описанию коалиционной мультиагентной архитектуры, которая моделирует управление городским светофором, где каждый перекресток был представлен как агент с возможностью определения оптимального времени зеленого света, необходимого дляэтогоперекрестка.Распределенныйнейро-нечеткийвыводной механизм использовался для вычисления уровня необходимого сотрудничества и агентов, которые должны быть сгруппированы.
Коалиционные группы реорганизуются и перегруппировываются динамически в соответствии с изменяющейся моделью входноготрафика.Недостаткомявляетсяповышеннаявычислительная сложность, связанная с созданием ансамблей, или коалиционных групп. Коалиционная MAС может иметь лучшую краткосрочную производительность, чем другие архитектуры агентов [42].
4. Команды. Архитектура MAС команды похожа на архитектуру коалиции по дизайну, за исключением того, что агенты работают в команде, чтобы повысить общую производительность группы, вместо того, чтобы каждый работал как отдельный агент.
58
Взаимодействия агентов в команде могут быть совершенно произвольными, а цели или роли, назначенные каждому из агентов, могут меняться со временем в зависимости от улучшений, полученных в результате производительности команды [43], [44]. Необходимо найти компромисс между объемом информации, количеством агентов в команде и обучающими способностями агентов. Большие команды предлагают лучшую видимость среды и больший объем релевантной информации. Однако обучение или включение опыта отдельных агентов в единую фреймворковую команду страдает. Меньший размер команды предлагает более быстрые возможности обучения, но приводит к неоптимальной производительности из-за ограниченного обзора среды. При выборе оптимального размера команды необходимо найти компромисс между обучением и производительностью. Это увеличивает вычислительные затраты намного больше, чем в архитектуре коалиционной мультиагентной системы. На рис. 13
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
Team 4 |
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
Team 1 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
А2 |
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А6 |
||||||||
А1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А5 |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А4 |
|
|
|
|
|
|
|
|
|
А8 |
|||||||||
|
|
А3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
А7 |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Team 3 |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
Team 2 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А14 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
А10 |
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
А13 |
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
А9 |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А16 |
||||
|
|
|
|
|
|
|
|
|
|
|
|
А12 |
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
А15 |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
А11 |
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Рис. 13. Команда, основанная на архитектуре с частичным обзором [38]
59
показана типичная команда, основанная на архитектуре с частичнымобзором.Команды1и3могутвидетьдругдруга,нонекоманды 2, 4, и наоборот. Внутреннее поведение агентов и их роли произвольны и различаются в зависимости от команды даже в однородной структуре агентов.
Вариации и ограничения аспектов архитектуры четырех типов агентов, упомянутых ранее, могут создавать другие архитектуры, такие как федерации, общества и конгрегации. Большинство этих архитектур вдохновлены поведенческими моделями в правительствах, учреждениях и крупных промышленных организациях. Подробное описание этих архитектур, их формирования и характеристик можно найти в [43].
Коммуникация является одним из важнейших компонентов в мультиагентных системах, который требует тщательного рассмотрения.Ненужнаяилиизбыточнаявнутриагентнаякоммуникация может увеличить стоимость и вызвать нестабильность. Коммуникация в мультиагентной системе может быть классифицирована на два типа, что основано на архитектуре агентской системы и типе информации, которая должна передаваться между агентами.
Локальная коммуникация не имеет места для хранения информации, и нет промежуточных средств коммуникации, которые могли бы выступать в качестве посредника. Термин «передача сообщений»используетсядляподчеркиванияпрямогообщениямежду агентами. Структура общения при передаче сообщений между агентами: в этом типе коммуникации поток информации является двунаправленным, что создает распределенную архитектуру и позволяет минимизировать издержки, вызванные отказом центральных агентов. Этот тип коммуникации описан в [35; 46].
Другой способ обмена информацией между агентами – через доски. Доски на основе агентов отображают группировку для управления взаимодействиями между агентами. Группа агентов в коммуникациинадоскесовместноиспользуетхранилищеданных, которое предоставляется для эффективного хранения и извлеченияданных.Репозиторийможетсодержатькакданныепроектирования,такизнанияуправления,ккоторыммогутполучитьдоступ
60
