Процедура согласования решений организуется следующим способом:
1) конфигурируется начальная сцена общего для всех Агентов Мира действий и задаются цели (задача), общие ресурсы и ограничения;
2) каждый из Агентов считывает состояние сцены и запускает процесс восприятия, планирования действий и их исполнения (при этом загружаются и перезагружаются необходимые Миры знаний и строится модель исходной сцены в этих Мирах); первый из Агентов, спланировавший свою деятельность делает первый ход, предлагая первое действие из своего сценария;
3) если действие удовлетворяет общим ограничениям и не вызывает противоречий с планами других Агентов, оно считается предварительно принятым. Если нарушены общие ограничения, Агент обязан поменять свои планы, если эти ограничения не нарушены, необходимо решить, кто будет вынужден изменять свои планы: первый Агент или другие, сделавшие свои ходы ранее;
4) очередные Агенты делают свои ходы, выполняя очередные действия из своих сценариев. Если какой-либо Агент вынужден поменять свое решение на каком-либо ходу, делается откат всего процесса переговоров для этого этапа и весь процесс согласования начинается вновь и т.д.
5) процесс согласования заканчивается, когда достигнута заданная цель.
Очевидно, что данная процедура связана с возможным перебором всех вариантов решений - скорость ее сходимости зависит от глубины базы знаний и интеллектуальных способностей Агентов. Для людей подобная процедура оказывается слишком трудоемкой. В данном же случае, один и тот же Агент менеджера или специалиста может принимать участие одновременно в целом ряде рабочих совещаний.
Чтобы в полной мере ощутить проблему, достаточно представить себе объем согласований, выполняемых, например, при разработке месторождений нефти, когда за круглым столом могут оказаться геофизик и бурильщик, специалист по прокладке трубопроводов и строитель, экономист и социолог, специалист по охране окружающей среды и т.д. Что будет, если спустя полгода общих усилий выясняется, что один из проектировщик заложил в сценарий неверные данные и всем другим также придется начинать заново? Не меньше согласований происходит при подготовке больших сделок и в рассматриваемых примерах, если в этот процесс вовлекаются все потенциальные участники кооперации.
Несмотря на наличие множества других сложностей, связанных со сходимостью данного процесса, разрабатываемая система не знает этой главной проблемы и реализует его, например, через Internet, независимо от местоположения участников переговоров.
Архитектура и интерфейс мультиагентной системы
Предлагается следующая архитектура интеллектуальной системы поддержки согласованной кооперативной работы, позволяющая моделировать деятельность и рассуждения специалистов или менеджеров с целью выявления потенциальных конфликтов между ними (рис. 8):
База знаний СД - содержит описания среды деятельности, целей и задач, знаний и орудий, сценариев действий, а также всех других компонент рассмотренной выше структуры систем деятельности;
Моделирующая подсистема - позволяет моделировать процессы деятельности (поведения субъектов деятельности);
Подсистема расчетов и рассуждений - позволяет моделировать процессы рассуждений (мышления субъектов деятельности);
Управляющая подсистема - реализует процессы поддержки согласования решений (процедуры виртуального круглого стола - процедуры коммуникации субъектов деятельности). Кроме того, данная подсистема выполняет функции конструктора Миров и конструктора сцен Миров;
Интерфейсная подсистема - обеспечивает взаимодействие с пользователем;
Сцены СД - текущие сцены деятельности.
Как видно из предлагаемой схемы, основные компоненты структуры системы связаны с основными моделируемыми компонентами деятельности: поведением, мышлением и коммуникацией.
Аналогичным образом устроен и интерфейс системы (рис. 9), в котором выделены следующие основные поля:
Поле задания - формализованная постановка задачи;
Поле действия - рабочее поле для построения сценариев действий (здесь представлен интерфейс одной из подсистем для моделирования деятельности коммерческой компании, работающей в сфере агропродукции), в котором создаются и моделируются сцены общего Мира действий и индивидуальных Миров рассуждений;
Поле Агентов - здесь отображаются Агенты текущей рабочей группы, которые либо сами активизируются при совершении каких-либо действий или рассуждений, либо могут быть активизированы по инициативе пользователя;
Магазин объектов - список возможных партеров по кооперации (или внутренних подразделений компании), которые могут быть размещены в рабочем поле;
Магазин договоров - список возможных отношений между компаниями (договора учредительские, кредитные и лизинговые, договора реализации, договора купли-продажи и т.д.) и т.д.
В рассматриваемой подсистеме пользователь может вызвать в начальный момент, например, пиктограмму (модель) банка, птицефабрики, торгового дома и магазина. Далее конфигурировать начальную сцену для моделирования, описав интересующие его отношения между ними. Например. торговый дом может взять кредит в банке, осуществить оптовую закупку товара на птицефабрике, отдать товар на реализацию в магазин. При появлении крупного оптового покупателя товара птицефабрики, он вводится в систему и при этом моделируется возможность успешной реализации соответствующей сделки.
Все операции осуществляются путем активизации соответствующих пиктограмм, что открывает для каждого объекта его индивидуальное поле действий. При этом, например, можно в ручном режиме осуществить взятие кредита или отгрузку товара, приобрести акции какого-либо предприятия и т.п.
В системной части меню имеются клавиши доступа к базе знаний (для режимов просмотра и дообучения), конфигурирования моделируемых параметров, помощи пользователю и ряд других.
Примеры применения многоагентной системы
В настоящее время выполняется несколько проектов по разработке многоагентной системы моделирования процессов кооперации и самоорганизации. В этих проектах участвуют следующие компании:
Главная задача этих систем – организация деятельности круглых столов с привлечением специалистов из различных подразделений компании и поддержка процесса переговоров между ними.
Ниже приведены примеры взаимодействия между системами, создаваемыми для различных компаний и их работниками.
Пример 1
Менеджер по маркетингу обнаруживает, что на рынке вот-вот появится компакт-диск. аналогичный недавно запущенному в производство в компании. Ввод этой информации в систему, актуализирует весь ряд подразделений компании, связанных с расчетом прибыльности проекта, его реализацией, рекламой продукта и т.п.
Система ведет список подразделений, согласовывающих решение и состояние этого вопроса. По мере движения вопроса по подразделениям, система пересматривает важность других дел сотрудников в соответствии с их должностными инструкциями, отдавая приоритет решению данного вопроса.
В результате проводимых обсуждений данный проект может быть остановлен вовсе, либо, наоборот, завершен в ускоренные сроки с привлечением дополнительных внешних специалистов и концентрацией других ресурсов, что в свою очередь вносит существенные коррективы в деятельность всех подразделений.
Организованные системой рабочие группы представлены на рисунке 10.
Пример 2
Менеджеры, ежедневно заключающие контракты на оптово-розничную продажу продуктов питания, открывая систему, видят все множество заключенных контрактов с состоянием каждого из них, а также складывающуюся общую ситуацию на рынке и в компании. Цель каждого из них - максимизировать прибыль по своей сделке (от сумм которых они получают комиссионные). Однако, в ряде случаев, максимизация прибыли по одной из сделок, может принести убытки компании в целом.
Во избежании этой ситуации каждый из менеджеров должен промоделировать свою сделку на фоне общей деятельности, задавая планируемый сценарий по шагам. Результаты моделирования каждого шага показывают, насколько соотносится сделка с имеющимися в распоряжении менеджера кредитными ресурсами, складскими помещениями, холодильниками, транспортом и т.д. В случае возникновения противоречий, сделки ранжируются и заново пересогласовываются с другими менеджерами и ответственными за соответствующие ресурсы, а далее утверждаются и окончательно упорядочиваются по времени.
Рабочие группы ("круглые столы"), организованные системой в процессе решения этой проблемы представлена на рисунке 11.
Пример 3
Менеджер сервис-центра, готовящий ежемесячный баланс по отремонтированному оборудованию, обнаруживает расхождение между оформленными бланками заказов и имевшимся в начале месяца на складе запасными частями, например, по ассортименту или количеству.
Менеджер вызывает систему и дает формализованное описание проблемы. Анализируя сложившуюся проблемную ситуацию, система приходит к выводу, что причина либо в неверном заполнении бланков заказов на работы приемщицами центра или ошибка в только что внедренной программе. Для разрешения этой проблемы система активизирует создание рабочей группы, включающей менеджера, программиста, приемщиц и кладовщика, каждый из которых должен проверить свои действия (обратим внимание, что каждый - из своего подразделения).