Министерство образования Российской Федерации
Волгоградский государственный технический университет
Кафедра “Системы автоматизированного проектирования и
поискового конструирования”
Многагентные системы. Процесс самоорганизации в многоагентных системах.
Курсовой проект
по дисциплине “Системное программное обеспечение”
План
Основные термины и определения………………………………….стр.3
Введение………………………………………………………………стр.3
Определение агента…………………………………………………..стр.4
Свойства агентов……………………………………………………...стр.5
Понятие многоагентной системы……………………………………стр.7
Самоорганизация и кооперация в компании.……………………….стр.8
Подход агентов и миров…………..………………………………….стр.11
Процесс самоорганизации в мультиагентной системе…………….стр.15
Архитектура и интерфейс мультиагентной системы……………….стр.16
Примеры применения многоагентной системы…………………….стр.18
Заключение……………………………………………………………стр.22
Список литературы…………………………………………………...стр.23
Основные термины и определения
Информация в данной работе была взята из сайтов, указанных в списке литературы, и переведена с английского на русский язык.
Агент (мультиагент) – это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем и/или пользователем.
Программные интеллектуальные агенты – это новый класс систем программного обеспечения, которое действует либо от лица пользователя, либо от лица системы делегировавшей агенту полномочия на выполнение тех или иных действий.
Мультиагентная система – сложная система, в которой функционируют два или более интеллектуальных агентов.
Процесс самоорганизации в мультиагентных системах – внутренняя упорядоченность, согласованность, взаимодействие более или менее дифференцированных и автономных агентов агентной системы, обусловленной ее строением.
Введение
Мощное и эффективное развитие компаний в современных условиях предполагает высокую степень специализации и кооперации работ.
Кооперация - одна из важнейших сторон современной индустрии, охватывающая все сферы деятельности человека: науку и производство, торговлю, услуги и т.д. Проблемы кооперации компаний тесно связаны с проблемами их внутренней организации. Чем больше направлений в деятельности компании, чем сложнее выпускаемые изделия, чем разнообразнее сама деятельность, тем больше роль кооперации, и тем более высокоорганизованной должна быть компания. При этом чем более высокоорганизованней компания, тем более самостоятельными являются ее внутренние подразделения, тем в большей степени жесткое директивное управление в ее внутреннем функционировании заменяется на кооперацию.
Вместе с тем, рассматриваемая внешняя и внутренняя кооперация, позволяющие для компаний добиваться высокой рентабельности - это и постоянная угроза для каждой из них. Достаточно одной из кооперирующих сторон нарушить свои обязательства, и вся сложившаяся цепочка взаимодействия начинает рушиться. Для работы в этих условиях компании должны обладать высокой интеллектуальностью, гибкостью и мобильностью, что в результате должно обеспечивать, с одной стороны, возможность постоянной эволюционной адаптации компаний к условиям рынка и, с другой стороны, возможность совершать революционные и неожиданные для конкурентов скачки в развитии, резко повышающие конкурентоспособность компании. Последнее становится возможным лишь на основе процесса постоянного внутреннего развития (саморазвития) компании, предполагающего способность к самоорганизации.
Пренебрежение ролью механизмов самоорганизации в компании или их недооценка чреваты серьезными последствиями. Утратив или не развив в себе способность к самоорганизации, компания умирает. При этом внешне проявляемые стабильность и процветание рано или поздно оказываются роковой иллюзией, даже для самых мощных и известных компаний. Невидимый процесс накопления и обострения внутренних проблем и противоречий, вовремя не замеченных и неисправленных, постепенно, как коррозия, начинает разъедать организацию, и, в один прекрасный день происходит обвал - мощная по своему потенциалу компания рушится по причине, казалось бы, всего лишь одного непродуманно начатого проекта, одного не вовремя возвращенного кредита, наконец, ухода одного из специалистов.
Одним из путей решения этой проблемы может являться создание интеллектуальных систем управления и поддержки групповой согласованной деятельности нового класса, которые бы не только упрощали для пользователей принятие столь необходимых согласованных решений, но и стимулировали процесс самоорганизации компании на всех уровнях деятельности. Как показывается ниже, главным свойством таких систем становится способность выявлять и разрешать потенциальные конфликты (противоречия) интересов как во внешней. так и внутренней кооперативной деятельности компании.
Разработке подхода к созданию систем рассматриваемого класса и посвящена настоящая работа.[1]
Определение агента
Общепринятого определения “агента” еще не существует. Рассматриваемый в какой-либо системе мультиагент – это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем и/или пользователем. Таким образом, в рамках мультиагентных систем мы рассматриваем агенты, как автономные компоненты, действующие по определенному сценарию. Классифицируются агенты на четыре основных типа: простые, умные (smart), интеллектуальные(intelligent) и действительно интеллектуальные(truly intelligent).
Интерес для построения МАС в задачах инженерии знаний представляют в большей степени интеллектуальные и действительно интеллектуальные агенты, которые отличаются тем, что поддерживают помимо автономного выполнения, взаимодействия с другими агентами и слежения за окружением – способность использовать абстракции, адаптивность поведения, обучение на прецедентах и толерантность к ошибкам.
Проблемы в создании МАС на принципах искусственного интеллекта состоит в том, что при проектировании точной и полной модели представления мира, процессов и механизмов рассуждения в нем – очень тяжело создать адекватную и полную картину мира. Несмотря на явные трудности, идея использовать агентов для решения разноплановых задач очень популярна в последнее время. Однако задача проектирования МАС и действительно интеллектуальных агентов требует специальных знаний и является ресурсоемкой задачей.
Программные интеллектуальные агенты – это новый класс систем программного обеспечения, которое действует либо от лица пользователя, либо от лица системы делегировавшей агенту полномочия на выполнение тех или иных действий. Они являются, по сути, новым уровнем абстракции, отличным от привычных абстракций типа – классов, методов и функций. Но при этом, разработка МАС позволяет создавать системы обладающие расширяемостью/масштабируемостью, мобильностью/переносимостью, интероперабельностью, что несомненно очень важно при разработке систем, основанных на знаниях.
Свойства агента
Какими же свойствами должен обладать “агент”?
§Автономность: агенты функционируют без прямого вмешательства людей или кого-либо другого и владеют определенной способностью контролировать свои действия и внутреннее состояние.
§Методы (способы) общения: агенты взаимодействуют с другими агентами средствами некоторого коммуникационного языка.
§Реактивность: агенты способны воспринимать окружающую среду (которая может быть физическим миром, пользователем, взаимодействующим через графический интерфейс, коллекцией других агентов, Іnternet-ом, или, возможно, всем вместе взятым) и адекватно реагировать в определенных временных рамках на изменения, которые происходят.
§Активность: агенты не просто реагируют на изменения среды, но и обладают целенаправленным поведением и способностью проявлять инициативу.
§Индивидуальная картина мира: каждый агент имеет собственную модель окружающего его мира (среды), которая описывает то, как агент видит мир. Агент строит свою модель мира на основе информации, которую получает из внешней среды.
§Коммуникабельность и коперативность: агенты могут обмениваться информацией с окружающей их средой и другими агентами. Возможность коммуникаций означает, что агент должен получать информацию об его окружающей среде, что дает ему возможность строить собственную модель мира. Более того, возможность коммуникаций с другими агентами является обязательным условием совместных действий для достижения целей.
§Интеллектуальное поведение: поведение агента включает способность к обучению, логичной дедукции или конструированию модели окружающей среды для того, чтобы находить оптимальные способы поведения.
Следовательно, каждый агент - это процесс, который владеет (располагает) определенной частью знаний об объекте и возможностью обмениваться этими знаниями с другими агентами.
Классификацию агентов можно провести в двух направлениях - по их инструментальной реализации (языку программирования агентов) и по основным приметам, которыми они владеют.
Следует отметить, что на сегодня не существует языка программирования или инструментальной системы разработки, которая бы полностью соответствовала требованиям построения агентов. С точки зрения принципов распределенного объектно-ориентированного программирования (ООП) необходимость передачи методов может быть существенно сокращена в том случае, если может быть обеспечен удаленный доступ к общим методам посредством передачи ссылок на удаленные объекты, данных экземпляров этих объектов и их состояний. Однако в дополнение к концепции ООП, каждый агент имеет возможность создания копий самого себя с полной или ограниченной функциональностью, обеспечивая возможность настройки на среду путем исключения неэффективных методов и замены их новыми. Традиционная для ООП схема класс/объект нарушается, т.к. агент имеет возможность постоянного изменения сценария поведения без его изменения в родительском классе. Многозначное наследование позволяет создавать экземпляры агентов, смешивая сценарии поведения, схемы наследования и атрибуты, определенные в родительских классах.
Следовательно, система разработки, которая бы полностью соответствовала требованиям построения агентов, должна была бы соответствовать таким требованиям: обеспечение перенесения кода на различные платформы, доступность на многих платформах, поддержка сетевого взаимодействия, многопотоковая обработка и некоторые другие. Чаще всего в агентных технологиях используются: универсальные языки программирования (Java); языки, “ориентированы на знания”, такие, как языки представления знаний (KIF), языки переговоров и обмена знаниями (KQML, AgentSpeak, April), языки спецификаций агентов; специализированные языки программирования агентов (TeleScript); языки сценариев и scripting languages (Tcl/Tk); символьные языки и языки логического программирования (Oz).
Одно из самых главных свойств агента – это интеллектуальность. Интеллектуальный агент владеет определенными знаниями о себе и об окружающей среде, и на основе этих знаний он способен определять свое поведение. Интеллектуальные агенты являются основной областью интересов агентной технологии. Важна также среда существования агента: это может быть как реальный мир, так и виртуальный (компьютерный), что является важным в связи со всеобщим распространением сети Internet. От агентов требуют способности к обучению и даже самообучению. Поскольку обучение обуславливает наличие знаний у обучаемого, то обучаемым или самообучаемым может быть только интеллектуальный агент.
Свойство умения планировать подразделяет агентов на регулирующие и планирующие. Если умение планировать не предусмотрено (регулирующий тип), то агент будет постоянно переоценивать ситуацию и заново вырабатывать свои действия на окружающую среду. Планирующий агент имеет возможность запланировать несколько действий на различные промежутки времени. При этом агент имеет возможность моделировать развитие ситуации, что дает возможность более адекватно реагировать на текущие ситуации. При этом агент должен учитывать не только свои действия и реакцию на них, но и сохранять модели объектов и агентов окружающей среды для предсказания их возможных действий и реакций.
Агент может иметь доступ к локальным и глобальным ресурсам. При этом агентов, которые имеют доступ к локальным ресурсам (ресурсы, к которым имеет доступ пользователь, в том числе и сетевые), называют персональными помощниками, они автоматизируют работу текущего пользователя, помогая ему в выполнении некоторых операций. Соответственно сетевой агент самостоятельно получает доступ к информации, не доступной пользователю напрямую либо доступ к которой не был предусмотрен. Важным свойством классификации есть мобильность - возможность менять свое местонахождение в окружающей среде. Для программного агента под мобильностью понимается возможность передвигаться по сети от компьютера к компьютеру. Переходя от одного компьютера к другому, такой агент может обрабатывать данные и передавать по сети только результаты своей работы. Система, в которой несколько агентов могут общаться друг с другим, передавать друг другу некоторую информацию, взаимодействовать между собой, называется многоагентной (МАС).
Понятие многоагентной системы
Направление “многоагентной системы” распределенного искусственного интеллекта рассматривает решение одной задачи несколькими интеллектуальными подсистемами. При этом задача разбивается на несколько подзадач, которые распределяются между агентами. Еще одной областью применения МАС есть обеспечение взаимодействия между агентами, когда один агент может выработать запрос к другому агенту на передачу некоторых данных или выполнение определенных действий. Также в МАС есть возможность передавать знания. Построение программных систем по принципу МАС может быть обусловлено следующими факторами:
так, некоторые предметные области применяют МАС в тех случаях, когда логично будет каждого из участников процесса представить в виде агента. Например, социальные процессы, в которых каждый из участников играет свою роль;
параллельным выполнением задач, т.е. если предметная область легко представляется в виде совокупности агентов, то независимые задачи могут выполняться различными агентами;
устойчивостью работы системы: когда контроль и ответственность за выполняемые действия распределены между несколькими агентами. При отказе одного агента система не перестает функционировать. Таким образом, логично поместить агентов на различных компьютерах;
модульностью МАС, что позволяет легко наращивать и видоизменять систему, т.е. легче добавить агента, чем изменить свойства единой программы. Системы, которые изменяют свои параметры со временем могут быть представлены совокупностью агентов. Модульность обуславливает легкость программирования МАС.
Мультиагентные системы подразделяются на кооперативные, конкурирующие и смешанные. Агенты в кооперативных системах являются частями единой системы и решают подзадачи одной общей задачи. Понятно, что при этом агент не может работать вне системы и выполнять самостоятельные задачи. Конкурирующие агенты являются самостоятельными системами, хотя для достижения определенных целей они могут объединять свои усилия, принимать цели и команды от других агентов, но при этом поддержка связи с другими агентами не обязательна. Под смешанными агентами понимаются конкурирующие агенты, подсистемы которых также реализуются по агентной технологии. Кроме общения с другими агентами должна быть реализована возможность общения с пользователем [2]
Самоорганизации и кооперация в компании
Для того, чтобы понять процесс самоорганизации в мультиагентной системе следует довольно детально рассмотреть этот процесс в реальным мире, например в какой-нибудь компании.
Зарождение и развитие компаний всегда связано с организацией коллективов людей, объединяющих свои ресурсы для достижения общих целей. Все начинается обычно с кооперации отдельных творческих людей или организации рабочих групп менеджеров и специалистов (в больших компаниях). По мере получения результатов, сложившееся "вольное объединение" трансформируется в малую компанию или новые подразделения в большой компании, далее - в группу компаний, консорциум и т.д. При этом какова бы ни была форма существования организации, решения на всех уровнях принимаются некоторыми коллективами людей, способных сообща спланировать и скоординировать свою деятельность при решении общих задач.
Простейшей формой такой организации коллективов людей являются широко распространенные на практике рабочие совещания, построенные по принципу "круглого стола". Цель этих совещаний (в отличии от совещаний других видов) состоит в выявлении и разрешении общих проблем (противоречий) в кооперативной деятельности. Амбиции и иерархии здесь отходят на второй план, уступая место знаниям и опыту. Чем глубже дискуссия за "круглым столом", тем более остро обнажаются противоречия, и тем более продуманными и согласованными будут принимаемые решения (при условии признания всеми общих правил игры и некоторых других ограничений). Можно утверждать, что на время проведения любого совещания в компании как бы организуется новое виртуальное структурное подразделение - временный творческий коллектив специалистов. В результате, возможно незримо, но именно эти коллективы (а в их лице, бы само "дело") начинают интеллектуально управлять компанией. При этом руководитель любого уровня высоко организованной компании постепенно приобретает роль арбитра (что вовсе не отрицает его участие в спорах как рядового специалиста), следящего за соблюдением общих для всех правил игры в условиях заданных ограничений.
Высшей формой групповой коллективной работы самоорганизация. Самоорганизация - основа интенсивного развития компании, способность компании чутко реагировать на изменения во внешней среде, обоснованно и своевременно изменяя не только свое внешнее поведение, но и основополагающие принципы собственного устройства и функционирования. В рассматриваемом случае самоорганизация должна проявлять себя в самостоятельном создании специалистами новых рабочих групп по каждому направлению деятельности компании, независимо от ведомственной принадлежности и уровней подчиненности специалистов (множество открытий и изобретений делается на стыке различных направлений деятельности, если обеспечены условия для общения специалистов, пусть на уровне "курилки". Известны примеры, когда с этой целью компании строят свои производственные здания так, чтобы сотрудники различных подразделений чаще могли бы, даже случайно, встречаться).
Таким образом, деятельность компании (или группы компаний) в каждый момент времени можно представить конфигурацией "круглых столов" (рабочих групп), относительно постоянно действующих или создаваемых на самое короткое время. Предлагаемый взгляд на структуру организации представлен на рис. 1, где кольцами обозначены работающие "круглые столы".
Внедрение принципов самоорганизации в компании должно начинаться не столько с нижних уровней управления, сколько с момента создания компании, начиная с уровня отдельных специалистов, микрогрупп, небольших отделов и далее (при этом обычно легче вырастить новую компанию, чем реорганизовать существующую). В идеале, вся структура такой компании является виртуальной: она есть в каждый момент времени, но она столь изменчива, что фактически ее нет, как нет и иерархии управления - управляющие воздействия в равной степени инициируются как "сверху-вниз", так и "снизу-вверх" (если по-прежнему под "верхом" понимать традиционный менеджмент и финансы, а под "низом" - специалистов, технологию и т.п.). Однако, довольно быстро определяются новые лидеры (с точки зрения знаний и опыта), которые идут нарасхват в постоянно образующиеся "круглые столы". При этом каждый рядовой сотрудник самостоятельно работает, возможно, в целом множестве вертикальных и горизонтальных команд (групп), согласованно принимая важные решения в пределах своей компетенции и постоянно развиваясь и соответственно совершенствуя собственные должностные инструкции. Любая новая идея, рожденная даже на самом нижнем уровне, подхватывается и обсуждается всеми другими звеньями и, в результате, возможно начинает менять план действий и текущую структуру компании, при этом не нарушая ее обязательств перед партнерами ... .
Интуитивно ясно, что очень дорогой платой за столь высокую степень согласованности принимаемых решений (а следовательно, и организованности компании) является экспоненциальное возрастание накладных затрат на сам процесс согласования решений на всех вертикальных и горизонтальных уровнях компании, так как теоретически возможно установление отношений "каждый - с каждым". В обычной повседневной практике компаний столь сложный процесс согласования решений просто невозможен (как говорится, "иногда надо и работать!"). В результате весьма распространенным в практике становится феномен "перегруженного руководителя", замыкающего в себе всю "организацию" предприятия. Жизнь всей компании начинает зависеть от одного человека. Доступ к такому руководителю и его ресурсы настолько ограничены, что любые реформаторские идеи, для восприятия которых требуется глубокое понимание и, следовательно, время, обычно рано или поздно становятся просто обреченными на погибание.
Для таких компаний и руководителей в первую очередь и предназначен предлагаемый ниже подход. Потенциальная мощь самоорганизующегося "коллективного разума" компании способна в конечном счете в тысячи раз превосходить возможности любого, даже гениального руководителя. Именно это и заставляет искать новые пути решения проблемы кооперации и самоорганизации компаний, основанные на применении компьютеров для поддержки согласованной деятельности.
Именно эту схема самоорганизации взята за основу при разработке моделей деятельности организаций и людей в различных предметных областях в мультиагентных системах интеллектуальными агентами.
Подход Агентов и Миров
В настоящей работе для решения этой проблемы предлагается подход, базирующийся на идее Миров и Агентов деятельности.
В отличии от известных подходов, данный подход реализуется созданием общего Мира деятельности кооперирующих сторон и Миров деятельности каждой из них, т.е. путем создания единой комплексной среды деятельности менеджеров и специалистов, обеспечивающей воспроизводство главных компонент процесса деятельности каждого предприятия и взаимопонимание между людьми. Использование Интеллектуальных Агентов в комбинации с Мирами действий и рассуждений позволяет менеджерам моделировать все три главные ипостаси кооперации: коллективное поведение, мышление и коммуникацию участвующих сторон. За счет этого каждой из сторон на своего Агента может быть возложена миссия согласования большинства возникающих проблем, для чего ниже рассматривается возможность реализации виртуального круглого стола, предлагающего Агентам общий Мир действия.
В рассматриваемом подходе мир действий - это модель среды деятельности, базирующаяся на знаниях. Главное ее отличие от традиционных систем моделирования состоит в том, что эта система содержит модель пространства и предоставляет прямой доступ к объектам Мира в этом пространстве для выполнения действий, моделируя реакцию на эти воздействия в соответствии с законами Мира. Модели физической реальности, позволяющие моделировать эффект присутствия субъекта деятельности, обычно называют виртуальными.
Рассмотрим конструкцию предлагаемых Миров более подробно. Принципы построения и функционирования Миров кратко могут быть описаны следующим образом:
- Мир состоит из объектов, способных взаимодействовать друг с другом в соответствии с законами Мира; для пользователя Миры представляются сценами, состоящими из заданных объектов, с определенными отношениями между ними, и объектами, потенциально применимыми в сцене;
- объекты Мира определяются своими свойствами, обеспечивающими их способность вступать во взаимодействие с другими объектами; состояния объектов определяются их свойствами и отношениями; потенциально возможные свойства объектов определяются законами Мира, действующими в сцене;
- законы Мира задаются сценариями действий, которые определяются как правила изменений состояния объектов Мира; более простые сценарии позволяют составлять более сложные сценарии;
- отношения между объектами определяют связи между ними; наиболее распространенными отношениями являются "целое-части", "принадлежность", "меры" и ряд других;
- основные концепты выражаются в атрибутах вещества, пространства и времени, энергии и информации.
Представленные базовые категории позволяют конструировать Миры действий в различных предметных областях. Рассмотренные принципы позволяют также создавать Миры рассуждений, такие как Механика и Оптика, Алгебра и Геометрия и т.д. Эти же принципы оказываются пригодными для построения Миров экономики и политики, технологии и торговли и т.п.
Фактически, при создании Мира конкретного сектора рынка или Мира отдельного предприятия, строится полипредметная база знаний (в форме семантической сети), которая в дальнейшем и используется в рассуждениях Агентов. Ее основное отличие от принятых подходов состоит в ориентации на описание "действий" и использование соответствующей логики действий, т.е. в сочетании декларативных и процедурных знаний.
Рассмотрим теперь соответствующую модель устройства памяти и мышления Агента, условно названные выше "Табло сознания" индивидуума.
В структуре памяти Агента выделены следующие компоненты (рис. 5):
- долгосрочная память Агента, содержащая полные семантические сети предметных областей знаний; эта память пополняется знаниями в процессе обучения Агента и постоянно трансформируется и систематизируется, через нее, как через сито, пропускаются все входные факты;
- память (пространство) сознания, содержащая образы объектов Миров, являющаяся среднесрочной. В этой памяти содержатся описания сцены в каждом из Миров (также в форме семантической сети) и здесь же выполняются основные умственные операции над образами объектов;
- память фактов, а также память сценариев - наиболее часто изменяемые структуры памяти (оперативная память). В памяти фактов находятся исходные и конечные, а также все промежуточные факты, получаемые в процессе рассуждений и расчетов; память сценариев также подвергается преобразованиям, в первую очередь, связанным с обобщением и конкретизацией сценариев;
- память генетических знаний - это жестко встроенные в систему и неизменяемые знания, здесь - знания о конструкции и функционировании Миров.
Общие принципы мышления Агента являются вполне традиционными и включают следующие три основные фазы (рис. 6):
рис. 6
- восприятие, в процессе которого осуществляется построение модели сцены в загруженном Мире;
- познания, в процессе которого формируется сценарий действий субъекта для достижения поставленных целей;
- исполнения, в процессе которого осуществляется исполнение намеченного сценария с постоянным сопоставлением ожидаемых и наблюдаемых результатов.
Однако, в отличии от других систем, в настоящей системе реализация этих фаз осуществляется через два базовых механизма: абстрагирования и конкретизации, тесно связанных между собой. Образно говоря, мышление Агента напоминает движение поршней в двигателе: вверх путем абстрагирования, вниз - путем конкретизации и т.д.
При "послойных" рассуждениях основное время тратится на выполнение умственных операций - действий с образами объектов (понятиями), которые изменяют состояния сцены и, тем самым, ограничивают применение дедуктивных рассуждений. Используемая при этом логика действий также существенно отличает предлагаемую модель от традиционных дедуктивных систем.
Еще одна важная особенность предлагаемой модели - ориентация на выявление противоречий. В рассмотренной выше системе деятельности типовыми являются противоречия между знаниями и орудиями, целями и средствами деятельности, сценариями действий индивида и его внутренними интериоризованными способностями и ряд других.
Типология этих противоречий исходно задается в системе и далее постоянно пополняется.
Процесс самоорганизации в мультиагентной системе
Для моделирования процесса переговоров между членами временно организуемых рабочих групп или их Агентами в разрабатываемой мультиагентной системе реализуется виртуальный круглый стол. Виртуальный круглый стол может реализовываться как через локальную, так и через глобальную сети (рис. 7).
Процедура согласования решений организуется следующим способом:
1) конфигурируется начальная сцена общего для всех Агентов Мира действий и задаются цели (задача), общие ресурсы и ограничения;
2) каждый из Агентов считывает состояние сцены и запускает процесс восприятия, планирования действий и их исполнения (при этом загружаются и перезагружаются необходимые Миры знаний и строится модель исходной сцены в этих Мирах); первый из Агентов, спланировавший свою деятельность делает первый ход, предлагая первое действие из своего сценария;
3) если действие удовлетворяет общим ограничениям и не вызывает противоречий с планами других Агентов, оно считается предварительно принятым. Если нарушены общие ограничения, Агент обязан поменять свои планы, если эти ограничения не нарушены, необходимо решить, кто будет вынужден изменять свои планы: первый Агент или другие, сделавшие свои ходы ранее;
4) очередные Агенты делают свои ходы, выполняя очередные действия из своих сценариев. Если какой-либо Агент вынужден поменять свое решение на каком-либо ходу, делается откат всего процесса переговоров для этого этапа и весь процесс согласования начинается вновь и т.д.
5) процесс согласования заканчивается, когда достигнута заданная цель.
Очевидно, что данная процедура связана с возможным перебором всех вариантов решений - скорость ее сходимости зависит от глубины базы знаний и интеллектуальных способностей Агентов. Для людей подобная процедура оказывается слишком трудоемкой. В данном же случае, один и тот же Агент менеджера или специалиста может принимать участие одновременно в целом ряде рабочих совещаний.
Чтобы в полной мере ощутить проблему, достаточно представить себе объем согласований, выполняемых, например, при разработке месторождений нефти, когда за круглым столом могут оказаться геофизик и бурильщик, специалист по прокладке трубопроводов и строитель, экономист и социолог, специалист по охране окружающей среды и т.д. Что будет, если спустя полгода общих усилий выясняется, что один из проектировщик заложил в сценарий неверные данные и всем другим также придется начинать заново? Не меньше согласований происходит при подготовке больших сделок и в рассматриваемых примерах, если в этот процесс вовлекаются все потенциальные участники кооперации.
Несмотря на наличие множества других сложностей, связанных со сходимостью данного процесса, разрабатываемая система не знает этой главной проблемы и реализует его, например, через Internet, независимо от местоположения участников переговоров.
Архитектура и интерфейс мультиагентной системы
Предлагается следующая архитектура интеллектуальной системы поддержки согласованной кооперативной работы, позволяющая моделировать деятельность и рассуждения специалистов или менеджеров с целью выявления потенциальных конфликтов между ними (рис. 8):
База знаний СД - содержит описания среды деятельности, целей и задач, знаний и орудий, сценариев действий, а также всех других компонент рассмотренной выше структуры систем деятельности;
Моделирующая подсистема - позволяет моделировать процессы деятельности (поведения субъектов деятельности);
Подсистема расчетов и рассуждений - позволяет моделировать процессы рассуждений (мышления субъектов деятельности);
Управляющая подсистема - реализует процессы поддержки согласования решений (процедуры виртуального круглого стола - процедуры коммуникации субъектов деятельности). Кроме того, данная подсистема выполняет функции конструктора Миров и конструктора сцен Миров;
Интерфейсная подсистема - обеспечивает взаимодействие с пользователем;
Сцены СД - текущие сцены деятельности.
Как видно из предлагаемой схемы, основные компоненты структуры системы связаны с основными моделируемыми компонентами деятельности: поведением, мышлением и коммуникацией.
Аналогичным образом устроен и интерфейс системы (рис. 9), в котором выделены следующие основные поля:
Поле задания - формализованная постановка задачи;
Поле действия - рабочее поле для построения сценариев действий (здесь представлен интерфейс одной из подсистем для моделирования деятельности коммерческой компании, работающей в сфере агропродукции), в котором создаются и моделируются сцены общего Мира действий и индивидуальных Миров рассуждений;
Поле Агентов - здесь отображаются Агенты текущей рабочей группы, которые либо сами активизируются при совершении каких-либо действий или рассуждений, либо могут быть активизированы по инициативе пользователя;
Магазин объектов - список возможных партеров по кооперации (или внутренних подразделений компании), которые могут быть размещены в рабочем поле;
Магазин договоров - список возможных отношений между компаниями (договора учредительские, кредитные и лизинговые, договора реализации, договора купли-продажи и т.д.) и т.д.
В рассматриваемой подсистеме пользователь может вызвать в начальный момент, например, пиктограмму (модель) банка, птицефабрики, торгового дома и магазина. Далее конфигурировать начальную сцену для моделирования, описав интересующие его отношения между ними. Например. торговый дом может взять кредит в банке, осуществить оптовую закупку товара на птицефабрике, отдать товар на реализацию в магазин. При появлении крупного оптового покупателя товара птицефабрики, он вводится в систему и при этом моделируется возможность успешной реализации соответствующей сделки.
Все операции осуществляются путем активизации соответствующих пиктограмм, что открывает для каждого объекта его индивидуальное поле действий. При этом, например, можно в ручном режиме осуществить взятие кредита или отгрузку товара, приобрести акции какого-либо предприятия и т.п.
В системной части меню имеются клавиши доступа к базе знаний (для режимов просмотра и дообучения), конфигурирования моделируемых параметров, помощи пользователю и ряд других.
Примеры применения многоагентной системы
В настоящее время выполняется несколько проектов по разработке многоагентной системы моделирования процессов кооперации и самоорганизации. В этих проектах участвуют следующие компании:
Компания по разработке мультимедиа компакт-дисков со смежным производством печатной и видео продукции.
Крупная коммерческая компания, занимающаяся экспортом и импортом продуктов питания, а также инвестициями в производство агропродукции.
Холдинговая компания, владеющая крупным магазином бытовой электроники, рестораном и сервис-центром.
Главная задача этих систем – организация деятельности круглых столов с привлечением специалистов из различных подразделений компании и поддержка процесса переговоров между ними.
Ниже приведены примеры взаимодействия между системами, создаваемыми для различных компаний и их работниками.
Пример 1
Менеджер по маркетингу обнаруживает, что на рынке вот-вот появится компакт-диск. аналогичный недавно запущенному в производство в компании. Ввод этой информации в систему, актуализирует весь ряд подразделений компании, связанных с расчетом прибыльности проекта, его реализацией, рекламой продукта и т.п.
Система ведет список подразделений, согласовывающих решение и состояние этого вопроса. По мере движения вопроса по подразделениям, система пересматривает важность других дел сотрудников в соответствии с их должностными инструкциями, отдавая приоритет решению данного вопроса.
В результате проводимых обсуждений данный проект может быть остановлен вовсе, либо, наоборот, завершен в ускоренные сроки с привлечением дополнительных внешних специалистов и концентрацией других ресурсов, что в свою очередь вносит существенные коррективы в деятельность всех подразделений.
Организованные системой рабочие группы представлены на рисунке 10.
Пример 2
Менеджеры, ежедневно заключающие контракты на оптово-розничную продажу продуктов питания, открывая систему, видят все множество заключенных контрактов с состоянием каждого из них, а также складывающуюся общую ситуацию на рынке и в компании. Цель каждого из них - максимизировать прибыль по своей сделке (от сумм которых они получают комиссионные). Однако, в ряде случаев, максимизация прибыли по одной из сделок, может принести убытки компании в целом.
Во избежании этой ситуации каждый из менеджеров должен промоделировать свою сделку на фоне общей деятельности, задавая планируемый сценарий по шагам. Результаты моделирования каждого шага показывают, насколько соотносится сделка с имеющимися в распоряжении менеджера кредитными ресурсами, складскими помещениями, холодильниками, транспортом и т.д. В случае возникновения противоречий, сделки ранжируются и заново пересогласовываются с другими менеджерами и ответственными за соответствующие ресурсы, а далее утверждаются и окончательно упорядочиваются по времени.
Рабочие группы ("круглые столы"), организованные системой в процессе решения этой проблемы представлена на рисунке 11.
Пример 3
Менеджер сервис-центра, готовящий ежемесячный баланс по отремонтированному оборудованию, обнаруживает расхождение между оформленными бланками заказов и имевшимся в начале месяца на складе запасными частями, например, по ассортименту или количеству.
Менеджер вызывает систему и дает формализованное описание проблемы. Анализируя сложившуюся проблемную ситуацию, система приходит к выводу, что причина либо в неверном заполнении бланков заказов на работы приемщицами центра или ошибка в только что внедренной программе. Для разрешения этой проблемы система активизирует создание рабочей группы, включающей менеджера, программиста, приемщиц и кладовщика, каждый из которых должен проверить свои действия (обратим внимание, что каждый - из своего подразделения).
Пусть в результате обнаруживается ошибка в программе подготовки отчетов, вызванная методикой учета товара на складе. Изменение этой методики, в свою очередь, должно быть согласовано с бухгалтером центра (и, возможно, с лиректором), а если изменения коснулись технологии заполнения бланка, менеджер и приемщицы должны быть заново обучены программистом. Это вызывает организацию новых временных рабочих групп, которые действуют до момента восстановления ситуации.
Вся эта процедура может потребовать как полного блокирования всех действий по оформлению заказ-нарядов, так и осуществляться в фоновом режиме.
Рабочие группы, сформированные системой в процессе решения этой проблемы представлены на рисунке 12.
Заключение
В этой статье представлен мультиагентный подход к моделированию процессов самоорганизации и кооперации в современных компаниях.
Особенности подхода связаны с конструированием виртуальных миров деятельности специалистов и созданием интеллектуальных агентов для этих специалистов. Первый опыт экспериментальной разработки позволяет надеяться на успешную реализацию предлагаемого подхода для решения актуальных задач развития компаний.
Список литературы
V. A. Vittikh Multi-agent systems for modeling of self-organization and cooperation processes // http://www.cs.brandeis.edu/dept/faculty/mataric
Project of multi-agent technology in difficult systems // Open University of the Netherlands http://www.ouh.nl/