ИТ в современном менеджменте

Управление на базе мультиагентных систем

Показывать лекцию целиком

Мультиагентный подход

Олимпийские спортивные призывы: "Быстрее, Выше, Сильнее" в компьютерной области трансформировались в лозунг: "Быстрее, Мощнее, Миниатюрнее"! На самом деле эти противоречивые цели стыкуются в одном: технологии приближаются к созданию "мобильного" искусственного интеллекта — уже скоро умные встроенные миниатюрные вычислительные устройства, снабженные управляющими системами на базе мультиагентов, смогут выполнять те функции, которые несколько лет назад и "не снились" пользователям больших компьютеров. Под мультиагентными технологиями сейчас часто понимают как технологии разработки и использования мультиагентных систем (MAC, Multiagent Systems — MAS), так и мультиагентное управление (МАУ, Multiagent Conrol — MAC) [Shoham Y., Leyton-Brown K., 2009] .

Задачи управления и распределенного взаимодействия в сетях динамических систем привлекают в последнее десятилетие внимание все большего числа исследователей. Во многом это объясняется широким применением мультиагентных систем в разных областях, включая разработку автоматизированных систем управления, автоматическую подстройку нейронных сетей распознавания, управление формациями, роение, распределенные сенсорные сети, управление перегрузкой в сетях связи, взаимодействие групп БПЛА, относительное выравнивание групп спутников, управление движением групп мобильных роботов, синхронизации в энергосистемах и др. [Project of multi-agent technology in difficult systems // Open University of the Netherlands http://www.ouh.nl/].

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

В основе мультиагентного подхода лежит понятие мобильного программного агента, который реализован и функционирует как самостоятельная специализированная компьютерная программа или элемент искусственного интеллекта.

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

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

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

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

Значит ли это, что ситуация, когда точный алгоритм решения отсутствует, безнадежна?

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

На рис. 6.1 показаны в сравнении две схемы построения программного обеспечения: традиционная и на базе мультиагентной системы. В MAC каждой сущности ставится в соответствие программный агент, который представляет ее интересы.

(рис 6.1) Традиционное и мультиагентное построение программного продукта

Человеку присущ интеллект — это его отличает от компьютера, действующего строго по заложенной в него про-грамме. А это то, что позволяет человеку ориентироваться в сложной обстановке, иметь дело с нечетко поставленными задачами, адаптироваться к меняющимся условиям. Неопределенность присутствует чаще всего, когда существует набор альтернатив, и невозможно предсказать, какой из вариантов окажется лучшим по прошествии достаточно длительного времени.

При составлении расписаний движения грузовиков, например, это ситуация, когда существует выбор между несколькими грузовиками, перевозящими грузы, несколькими дорогами, которые могут быть использованы для достижения разных точек назначения, и многими водителями, которые могут управлять грузовиками. Каждый из ресурсов (грузовик, дорога и водитель) имеют различные свойства. Неопределенность возрастает в ситуациях, когда возможны непредсказуемые события, такие как изменения в условиях поставок или спроса, аварии или сбои ресурса, задержки, отмены заказов и тому подобное [Амелина Н., Лада А., Майоров И., Скобелев П., Царев А., 2011].

А есть ли интеллект, скажем, у колонии муравьев или роя пчел? С одной стороны, каждый отдельно взятый муравей или пчела, очевидно, им не обладают. С другой — колония в целом проявляет удивительные образцы поведения, которое во многом может считаться интеллектуальным. Такие ситуации называются проявлением эмерджентного интеллекта, или неожиданных свойств, которыми обладает система, но не обладает ни один входящий в нее отдельный элемент. Возникающий при этом эффект "интеллектуального резонанса" часто так и называют "интеллект роя". Действительно, интеллект и физическая сила одной пчелы не так велики, но рой пчел, согласованно действующий, может победить медведя и даже человека.

Агенты очень похожи на членов команды, которые могут соревноваться друг с другом или сотрудничать в процессе принятия решения. Ключевая особенность эмерджентного интеллекта — динамика и непредсказуемость процесса принятия решений. На практике это означает, что решение достигается за счет сотен и ты-сяч взаимодействий, которые почти невозможно отследить. Но это и не требуется, поскольку агентам дают цели, которые они должны достигать, но не предопределяют сценарии исполнения задач по достижению этих целей.

Эти сценарии формируются и исполняются агентами самостоятельно. На каждом шаге агенты рассматривают входы системы и реагируют на непредсказуемые события (задержки, сбои, изменения). Реакция может быть самостоятельной, или осуществляться во взаимодействии с оператором. Таким образом, эмерджентный интеллект — это не есть какой-либо один новый и специально сконструированный уникальный блок-решатель, добавленный к системе. Напротив, это нечто (результат самоорганизации), что возникает как бы "из воздуха" (за счет множества скрытых или явных условий, сложившихся в ситуации), спонтанно и в заранее не предвиденный момент времени, и так же неожиданно исчезает, но в процессе своего существования определяющим образом руководит работой всей системы. Тут мы имеем дело с возникновением порядка из хаоса, с одним из тех явлений, которые изучали и описывали такие выдающиеся ученые, как Александр Богданов (теория организации), Илья Пригожий (самоорганизация в физических системах), Марвин Минский (психология и теория мышления), Артур Кестлер (биология).

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

В начале XXI века группа ведущих мировых ученых составила список приоритетных задач кибернетики на ближайшие 50 лет [Murray R.M., Astrom K.J., Boyd S.P., Brockett R.W., Stein G., 2003]. Среди них:

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

    Начало построения моделей и применения искусственных мультиагентных систем на практике было положено в 1960-х годах. В качестве основы были взяты достижения таких областей деятельности человека, как системы искусственного интеллекта (Artificial Intelligence), параллельные вычисления (Parallel Computing), распределенное решение задач (Distributed Problem Solving). Многоагентные системы имеют реальную возможность интегрировать в себе самые передовые достижения перечисленных областей, демонстрируя принципиально новые качества. Сейчас MAC — одно из наиболее динамично развивающихся и перспективных направлений в области искусственного интеллекта [Городецкий В.И., Грушинский М.С., Хабалов А.В., 1998].

    Открытый характер современного информационного общества и глобальной рыночной экономики приводит к ускорению научно-технического прогресса и обострению конкуренции на рынках. Это заставляет предприятия искать новые методы и средства организации и управления, направленные на более качественное и эффективное удовлетворение индивидуальных запросов потребителей. Большинство современных систем характеризуются отсутствием средств своевременной идентификации новых потребностей и возможностей в среде, позволяющих предприятию оперативно принимать эффективные решения по реконфигурации производственных, кадровых, финансовых и других ресурсов.

    Типичными примерами событий, вызывающих необходимость заново идентифицировать потребности и возможности, являются: появление нового выгодного заказа, для исполнения которого недостаточно собственных ресурсов предприятия, выход из строя части имеющихся ресурсов, а также изменение критериев принятия решений. Чем выше неопреде-ленность, чем более распределенный характер имеют процессы принятия решения и чем чаще случаются незапланированные события, тем ниже эффективность существующих систем, не способных самостоятельно принимать решения и автоматически перестраиваться под изменения в среде [Скобелев П.О., 2002].

    Необходимость модификации схемы принятия решений в традиционных системах оказывается сложной и трудоемкой задачей, которая требует высокой квалификации исполнителей. Это делает разработку и эксплуатацию таких систем крайне дорогостоящими. Соответственно, еще одной актуальной проблемой современности становится рост объемов информации и степени сложности описания систем.

    Для решения подобных проблем применяются мультиагентные технологии, в основе которых лежит понятие "агента", которое в последнее время было адаптировано ко многим областям как прикладного и системного программирования, так и к исследованиям в областях искусственного интеллекта и распределенных интеллектуальных систем. Причем в каждом конкретном случае понятию придается несколько разное значение.

    Первоначально идея создания интеллектуального по-средника (агента) "возникла в связи с желанием упростить стиль общения конечного пользователя с компьютерными программами, поскольку доминирующий, в основном, и ныне стиль взаимодействия пользователя с компьютером предполагает, что пользователь запускает задачу явным образом и управляет ее решением. Но это совершенно не подходит для неискушенного пользователя". Иначе говоря, сначала идея интеллектуального посредника возникла как попытка интеллектуализации пользовательского интерфейса [Maes P., 1994].

    Развитие методов искусственного интеллекта позволило сделать новый шаг к изменению стиля взаимодействия пользователя с компьютером. Возникла идея создания так называемых "автономных агентов", которые породили уже новый стиль взаимодействия пользователя с программой. Вместо взаимодействия, инициируемого пользователем путем команд и прямых манипуляций, пользователь вовлекается в совместный процесс решения [Cohen P.R., Morgan J.L., Pollack M., 1990]. При этом, как пользователь, так и компьютерный посредник, оба принимают участие в запуске задачи, управлении событиями и решении задачи. Для такого стиля используется метафора персональный ассистент, который сотрудничает с пользователем в той же рабочей среде.

    Словари дают следующее толкование слова агент: "некто или нечто, прикладывающее усилия для достижения эффекта". Такое самое общее определение указывает на первый признак агента — агенты совершают действия. Часто утверждается, что агенты не просто совершают действия, но они действуют автономно и рационально. Под автономностью обычно понимают, что агент действует без прямого вмешательства человека или другой управляющей сущности. Под рациональностью понимают стремление агента оптимизировать значение некоторой оценочной функции. Мера рациональности неявно указывает на то, что агент имеет цели (желания — англ. desires), которых агент "хочет" достичь, и представления о внешнем мире (убеждения — англ. beliefs), на которые агент опирается при выборе действия (реализации намерений — англ. intentions: множество избранных, совместимых и достижимых желаний).

    Еще одним важным свойством агента является то, что он помещен во внешнюю среду, с которой он способен взаимодействовать. Обычно, среда не контролируется агентом, он лишь способен влиять на нее. Разделение намерений и желаний необходимо, так как агент может иметь несовместимые желания или желания могут быть недостижимы. Поскольку агент ограничен в ресурсах и не может достичь всех желаний одновременно, естественно выбирать наиболее значимые цели — намерения. Итак, агент — разумная сущность, помещенная во внешнюю среду, способная взаимодействовать с ней, совершая автономные рациональные действия для достижения целей, т. е. Интеллектуальный агент — это агент, обладающая следующими свойствами:

  • реактивность (англ. reactivity) — агент ощущает внешнюю среду и реагирует на изменения в ней, совершая действия, направленные на достижение целей;
  • проактивность (англ. pro-activeness) — агент показывает управляемое целями поведение, проявляя инициативу, совершая действия направленные на достижение целей;
  • социальность (англ. social ability) — агент взаимодействует с другими сущностями внешней среды (другими агентами, людьми и т. д.) для достижения целей.
  • При разработке системы каждое из первых двух свойств достигается достаточно легко. Наибольшую сложность представляет совмещение в системе обоих свойств в нужных пропорциях. Будет не слишком эффективно, если агент жестко следует сценарию достижения цели, не реагируя на изменения во внешней среде и не обладая способностью заметить необходимости корректировки плана. Но также не эффективно будет и поведение, ограниченное лишь реакцией на поступающие из вне стимулы, без какого-либо планирования целенаправленных действий.

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

    Достичь свойства социальности тоже нелегко. Социальность — это не просто обмен данными. Помимо коммуникации, социальное поведение должно включать кооперацию с другими сущностями, заключающуюся в разделении целей между отдельными сущностями, совместном планировании и координации действий, направленных на достижение общих целей. Социальное поведение, как минимум, предполагает наличие у агента представлений о целях других сущностей и том, как они планируют этих целей достичь.

    Сложность формулирования содержательных практически значимых задач и невозможность априорного точного задания всех условий функционирования выдвигают адаптивные постановки проблем, отдельно выделяя такую особенность агентов, как адаптивность — способность автоматически приспосабливаться к неопределенным и изменяющимся условиям в динамической среде.

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

    Сложные системы часто рассматривают как среду действия агентов. С понятием сложных систем связаны следующие фундаментальные идеи, которые непосредственно влияют на функционирование МАС:

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

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

    "Агент — это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных пользователем".

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

    По определению Кристиана Доннегара (директора по технологии компании Living Systems, занимающейся созданием систем совместной коммерции на основе технологии агентов): "агенты — программные объекты, которые выполняют определенные упреждающие и корректирующие действия в соответствии с заданиями, делегированными человеком".

    Алан Кэй, который начал первым развивать теорию агентов, определил агент как "программу, которая после получения задания способна поставить себя на место пользователя и действовать по адаптивному сценарию. Если же агент попадает в тупик, он может задать пользователю вопрос, чтобы определить, каким образом ему необходимо действовать дальше".

    Программные интеллектуальные агенты – это новый класс систем программного обеспечения, которое действует либо от лица пользователя, либо от лица системы делегировавшей агенту полномочия на выполнение тех или иных действий. Они являются, по сути, новым уровнем абстракции, отличным от привычных абстракций типа – классов, методов и функций. Но при этом, разработка МАС позволяет создавать системы обладающие расширяемостью/масштабируемостью, мобильностью/переносимостью, интероперабельностью, что несомненно очень важно при разработке систем, основанных на знаниях.

    (рис 6.2) Области знания и технологии, используемые интеллектуальными агентами

    Простая компьютерная программа отличается от агента тем, что "не утруждает" себя целевым поведением и анализом достигнутых результатов. Напротив, агент, представляющий интересы пользователя, "заинтересован" в том, чтобы задание было выполнено. В случае неудачи или какого-то сбоя он должен повторить попытку позднее или иметь про запас альтернативный вариант решения проблемы. Агенты в процессе отработки заданий всегда формирует список выполненных действий, результаты тестирования и верификации и отсылают его в управляющую систему.

    Отметим, однако, что вопрос по определению того, что такое агент не закрыт до сих пор, и обсуждение этого вопроса периодически выносится на конференции самого высокого уровня. На рис. 6.2показаны области знания и технологии, с помощью которых формируются механизмы искусственного интеллекта и применения мультиагентных систем.

    На основании изложенного выше мы можем скомпилировать следующее определение [Кияев В. И., Герасимов Р. В., 2012]: "агент — это самостоятельная программная система,

  • имеющая возможность принимать воздействие из внешнего мира;
  • определяющая свою реакцию на это воздействие и формирующая ответное действие;
  • изменяющая свое поведение с течением времени в зависимости от накопленной информации и извлеченных из нее знаний,
  • обладающая мотивацией и способная после делегирования полномочий пользователем поставить себя на его место и принять решение, соответствующее ситуации".
  • Интеллектуальный агент должен обладать следующими свойствами [Vittikh V. A. — http://www.cs.brandeis.edu/dept/ faculty/ mataric]:

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

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

    Основной формой организации взаимодействия между агентами, характеризующаяся объединением их усилий для достижения совместной цели при одновременном разделении между ними функций, ролей и обязанностей является кооперация.

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

    (рис 6.3) Укрупнённая структура агента

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

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

    (рис 6.4) Архитектура ядра мультиагентной системы

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

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

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

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

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

    Подход "Агентов и Миров" в разработке МАС

    Одним из современных подходов к созданию МАС является подход, основанный на концепции "Агентов и Миров" (далее — агентов и миров) [Vittikh V. A. — http://www.cs.brandeis.edu/dept/ faculty/mataric].

    В отличии от других известных подходов, этот подход реализует формирование общего мира деятельности кооперирующих сторон и миров деятельности каждой из них, путем создания единой комплексной среды. Эта среда служит основой деятельности менеджеров и специалистов и обеспечивает воспроизводство главных компонент процесса деятельности предприятия и взаимопонимание между людьми. Использование интеллектуальных агентов в комбинации с мирами действий и рассуждений позволяет менеджерам моделировать три "кита" кооперации: коллективное мышление, обоснованное поведение и коммуникацию участвующих сторон. За счет этого каждая из сторон возлагает на своего агента миссию согласования большинства возникающих проблем. Это чаще всего реализуется в виде реализации виртуального круглого стола, предлагающего агентам общий мир действия.

    В рассматриваемом подходе мир действий — это модель среды деятельности, базирующаяся на знаниях. Главное ее отличие от традиционных систем моделирования состоит в том, что эта система формирует модель виртуального пространства и предоставляет прямой доступ к объектам мира в этом пространстве для выполнения действий, моделируя реакцию на эти воздействия в соответствии с законами мира.

    Принципы построения и функционирования миров кратко могут быть описаны следующим образом:

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

    (рис 6.5) Модель устройства памяти интеллектуального агента

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

    Рассмотрим соответствующие модели устройства памяти и мышления агента. В структуре памяти агента выделены следующие компоненты (рис. 6.5):

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

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

    В отличие от других подобных систем, в рассматриваемой системе реализация этих фаз осуществляется через два базовых механизма: абстрагирования и конкретизации, тесно связанных между собой. В этом смысле мышление агента напоминает движение поршней в двигателе: движение вверх — путем абстрагирования, вниз — путем конкретизации.

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

    Еще одна важная особенность предлагаемой модели — ориентация на выявление противоречий. В любой системе деятельности типовыми являются противоречия между знаниями и орудиями, целями и средствами деятельности, сценариями действий индивида и его внутренними интериоризованными способностями и ряд других. Типология этих противоречий исходно задается в системе и далее постоянно пополняется.

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

    (рис 6.7) Виртуальный круглый стол

    Процедура рассмотрения и согласования решений пошагово организуется следующим способом:

  • конфигурируется начальная сцена общего для всех агентов мира действий и задаются цели (задача), общие ресурсы и ограничения;
  • каждый из агентов "считывает" состояние сцены и запускает процесс восприятия, планирования действий и их исполнения — при этом загружаются необходимые миры знаний и строится модель исходной сцены в этих мирах; первый из агентов, спланировавший свою деятельность делает первый ход, предлагая первое действие из своего сценария;
  • если действие удовлетворяет общим ограничениям и не вызывает противоречий с планами других агентов, оно считается предварительно принятым. Если нарушены общие ограничения, агент обязан поменять свои планы, если же эти ограничения не нарушены, необходимо решить, кто будет вынужден изменять свои планы: первый агент или другие, сделавшие свои ходы ранее;
  • очередные агенты делают свои ходы, выполняя очередные действия из своих сценариев. Если какой-либо агент вынужден поменять свое решение на каком-либо ходу, делается пошаговый "откат" всего процесса переговоров для этого этапа и весь процесс согласования начинается вновь;
  • процесс согласования заканчивается, когда достигнута заданная цель.
  • Очевидно, что данная процедура связана с возможным перебором всех вариантов решений. Скорость ее сходимости зависит от глубины базы знаний и интеллектуальных способностей агентов. Для людей подобная процедура оказывается слишком трудоемкой. В данном же случае, один и тот же агент менеджера или специалиста может принимать участие одновременно в целом ряде рабочих совещаний.

    Чтобы в полной мере ощутить проблему, достаточно представить себе объем согласований, выполняемых, например, при разработке месторождений полезных ископаемых, когда за круглым столом могут оказаться геофизик и бурильщик, специалист по прокладке трубопроводов и дорог, строитель, экономист и социолог, специалист по охране окружающей среды и т.д. Что будет, если спустя полгода общих усилий выясняется, что один из проектировщик заложил в сценарий неверные данные и всем другим также придется начинать заново? Не меньше согласований происходит при подготовке больших сделок и в рассматриваемых примерах, если в этот процесс вовлекаются все потенциальные участники кооперации.

    Для реализации такой МАС предлагается следующая примерная архитектура интеллектуальной системы поддержки согласованной кооперативной работы, позволяющая моделировать деятельность и рассуждения специалистов или менеджеров с целью выявления потенциальных конфликтов между ними и нахождения согласованного решения (рис. 6.8):

  • База знаний сцен действия (СД) содержит описания среды деятельности, целей и задач, знаний и орудий, сценариев действий, а также всех других компонент рассмотренной выше структуры систем деятельности.
  • Моделирующая подсистема позволяет моделировать процессы деятельности (поведения субъектов деятельности).
  • Подсистема расчетов и рассуждений позволяет моделировать процессы рассуждений (мышления субъектов деятельности).
  • Управляющая подсистема реализует процессы поддержки согласования решений (процедуры виртуального круглого стола — процедуры коммуникации субъектов деятельности). Кроме того, эта подсистема выполняет функции конструктора миров.
  • Интерфейсная подсистема обеспечивает взаимодействие с пользователем;
  • Сцены действия — совокупность текущих сцен деятельности.
  • (рис 6.8) Примерная архитектура интеллектуальной системы

    Как видно из предлагаемой схемы, основные компоненты структуры системы связаны с основными моделируемыми компонентами деятельности: поведением, мышлением и коммуникацией.

    Пользовательский интерфейс такой системы максимально упрощен и предназначен для использования менеджерами, не являющимися специалистами в области ИТ. Здесь выделены следующие основные поля:

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

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

    Работу такой системы можно проиллюстрировать на следующем примере (рис. 6.9).

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

    (рис 6.9) Организация рабочих групп на базе МАС

    Система ведет список подразделений, согласовывающих решение и состояние этого вопроса. По мере движения вопроса по подразделениям, система пересматривает важность других дел сотрудников в соответствии с их должностными инструкциями, отдавая приоритет решению данного вопроса.

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

    Современные международные стандарты создания агентов и платформы МАС

    Существует несколько международных подходов к созданию мультиагентных систем, наиболее известные их них — это OMG MASIF, созданный Object Management Group, в основе которого лежит понятие мобильный агент; спецификации FIPA (Foundations for Intelligent Physical Agents), основанные на предположении об интеллектуальности агента, а также стандарты, разработанные исследовательским подразделением Пентагона — Агентством Передовых Оборонных Научных Исследований (Defense Advanced Research Projects Agency — DARPA), в частности Control of Agent Based Systems.

    (рис 6.10) Сравнение подходов в определении мобильных и интеллектуальных агентов

    Относительно мобильности и интеллектуальности агентов, большинство специалистов сходятся на том, что мобильность — центральная характеристика агента, интеллектуальность — желаемая, но не всегда строго требуемая. Различия подходов к определению агента в стандарте FIPA и OMG представлены на рис. 6.10.

    Деятельность FIPA заключается в совместном исследовании и разработке членами организации международных согласованных спецификаций, которые позволят максимизировать взаимодействие между агентными приложениями, услугами и оборудованием. Членами FIPA являются такие высокотехнологичные компании как Alcatel, Boeing, British Telecom, Deutsche Telekom, France Telecom, Fujitsu, Hitatchi, HP, IBM, Fujitsu, Hewlett Packard, IBM, Intel, Lucent, NEC, NHK, NTT, Nortel, Siemens, SUN, Telia, Toshiba, различные университеты, государственные организации.

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

    Стандарт OMG MASIF нацелен на создание условий для миграции мобильных агентов между мультиагентными системами посредством стандартизированных интерфейсов CORBA IDL.

    Организация DARPA инициировала работу по распределению знаний (Knowledge Sharing Effort), в результате которой языки программирования агентов были разделены на синтакс (Syntax), семантику (Semantics) и прагматику (Pragmatics):

  • KIF — Knowledge Interchange Format (Syntax);
  • Ontolingua — A language for defining sharable ontologies (Semantics);
  • KQML (Knowledge Query and Manipulation Language) — A high-level interaction language (Pragmatics).
  • Важным элементом при создании мультиагентных систем является язык коммуникации агентов — Agent Communication Language, который определяет типы сообщений, которыми могут обмениваться агенты. В рамках парадигмы коммуникации между агентами, кооперация между ними достигается за счет ACL, языка контента и онтологии, которые определяют набор базовых концепций, используемых в сообщениях кооперации. Онтология здесь выступает синонимом понятия API (Application Programming Interface), т.е. она определяет конкретный интерфейс интеллектуальных агентов.

    На техническом уровне коммуникация между агентами происходит за счет передачи сообщений с использованием какого-либо транспортного протокола нижнего уровня (SMTP,TCP/IP, HTTP, IIOP). Альтернативами к использованию ACL является ряд других языков, таких как языки БД (SQL), Distributed object systems (CORBA и др.), Service languages (e-speak от Hewlett Packard, BizTalk от Microsoft и др.) и Web languages (XML, RDF, DAML).

    Еще одной альтернативой ACL является CORBA ORB, разработанный уже упоминавшийся Object Management Group. Вся функциональность, предоставляемая CORBA, доступна и на языке JAVA, путем комбинации Java RMI, Java RMI servers, Jini, Java event servers и других.

    В настоящее время языки коммуникации агентов продолжают эволюционировать. Поскольку совместимость — определяющая характеристика агентов, при разработке МАС — очень важна именно стандартизированная коммуникативность. Основными объектами для стандартизации являются: архитектура агента, языки взаимодействия агентов, протоколы взаимодействия агентов, знания агентов, языки программирования агентов.

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

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

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

    На данный момент известно несколько агентных платформ, ориентированных на использование спецификации FIPA-2000 (табл. 1) (Bellifemine F., 1999; Willmott S. N., 2000; Burg B., 2001). Агентная платформа в стандартах FIPA представляет собой конструкцию, представленную на рис. 6.11.

    Компания Агентная платформа Адрес в Интернете (URL)
    BTexact Technologies (Великобритания) ZEUS http://www.labs.bt.com/projects/agents/zeus/
    Comtec (Япония) Comtec Agent Platform http://fipa.comtec.co.jp/glointe.htm
    CSELT (Италия) JADE http://jade.tilab.com/
    Fujitsu Labs (США) AAP http://www.sourceforge.net/
    Nortel Networks (Великобритания) FIPA-OS http://www.nortelnetworks.com/fipa-os

    Система управления агентами (СУА) представляет собой также агента, который осуществляет контроль доступа и использования агентной платформы. В каждой агентной платформе присутствует одна СУА, которая предоставляет сервис жизненного цикла программных агентов и их реестр с идентификаторами, а также содержит состояния каждого программного агента.

    Маршрутизатором каталога является программный агент, который обеспечивает направление запросов в другие агентные платформы. Система транспортировки сообщений, или канал коммуникации агентов, является программным компонентом для управления потоками сообщений, приходящих на агентную платформу.

    Применение мультиагентного подхода в бизнесе

    Сложные системы на базе агентов уже нашли широкое применение в промышленности. Так, например, IBM использует агентов для производства полупроводниковых микросхем, датская судостроительная компания — для заварки отверстий в кораблях, а в Японии система на базе агентов выполняет функции интерфейса оператора сверхскоростных поездов.

    МАС могут применяться как для конструирования и моделирования гибких производственных систем, так и для управления реальными системами производства (логистика), продажи продукции различного назначения (е-коммерции), интеграции и управления знаниями и научной работы. Большое значение в мультиагентном подходе имеет социальный аспект решения современных задач как его концептуальная основа. Такие системы должны постоянно "жить" на сервере предприятия и непрерывно участвовать в решении задач, а не быть запускаемыми от случая к случаю, а для этого — обеспечивать пользователю возможность введения новых данных и компонентов. Наконец, такие системы должны накапливать информацию, извлекать из нее новые знания и в зависимости от этого изменять свое поведение с течением времени.

    В настоящее время интеллектуальные агенты применяются в следующих областях бизнеса:

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

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

    Для компаний с широким и быстро меняющимся ассортиментом — возможность гибко реагировать на изменения в предпочтениях клиентов и просчитывать периоды изменения. Для компаний оказывающих услуги — накопление опыта взаимодействия и решения проблем не только "в головах" сотрудников, но и в МАС.

    Среди примеров компьютерных программ-агентов, существующих в настоящее время и широко используемых в Интернете можно выделить следующие:

    Copernic Agent (http://www.copernic.com/) — одновременно отправляет запросы нескольким популярным поисковым системам, выбирает наиболее рейтинговые ссылки, сопоставляет их между собой, удаляет дубли и, сортируя отобранное по рейтингу в соответствии со своим алгоритмом ранжирования, выводит их пользователю.

    MySimon (http://www.mysimon.com/) — осуществляет интеллектуальный поиск, сравнивая цены миллионов товаров в более чем двух тысячах онлайновых магазинов.

    MP3-Wolf (http://www.trellian.com/) — сканирует Интернет в поисках нужных пользователю музыкальных файлов. В процессе работы он использует различные поисковые системы, а также сайты, найденные им ранее и содержащиеся в его базе.

    WebSite-Watcher (http://www.aignes.com/) — предназначена для слежения за изменениями на сайтах. Поддерживает работу RSS-ленты. Имеет гибкие настройки по предотвращению ложных срабатываний, когда отдельные изменения на страницах носят случайный или технический характер, например изменение числа просмотров.

    Помимо этого, агенты могут быть уполномоченными представителями пользователя при общении с другими пользователями или их агентами, при решении порученных им задач.

    Вернуться к учебному плану