Разработка мультиагентных систем
Детектор образов распознает типовые ситуации, возникающие в ходе поступления заявок и вырабатывает прогноз заявок и рекомендации по планированию с учетом предыстории. Адаптивный планировщик обрабатывает поток входящих событий (поступлений заявок, ввода новых ресурсов, выхода из строя ресурсов и т. п.).
Конструктор сцены позволяет редактировать начальную конфигурацию сети и определить все параметры ресурсов компании. Конструктор сцены основывается на общей базе знаний (онтологии), описывающей деятельность компании, в которой присутствуют базовые понятия и отношения между ними, и которая при развитии бизнеса может расширяться с использованием редактора онтологии.
Редактор онтологии позволяет ввести и изменить общую онтологию компании, описывающую модель знаний предметной области, которая затем применяется в редакторе сети для описания конфигурации бизнеса. Онтология содержит базовые знания и отношения между ними, представляемые в форме семантической сети.
Моделирующая система — программный модуль, позволяющий осуществлять моделирование ситуации по принципу "Что если?".
Эволюционный дизайн — модуль, вырабатывающий предложения по улучшению конфигурации сети в части увеличения или уменьшения определенного числа ресурсов, изменению географии ресурсов и т. д. [ 3.4 ] .
Приведём несколько примеров построения МАС для решения конкретных управленческих задач.
MAC для распределения заказов такси. Для одной из крупнейших в мире компаний корпоративного такси Addison Lee (Лондон) была разработана система, которая позволила распределять и планировать примерно 13 тысяч заказов в день при наличии нескольких тысяч собственных машин (из них до 800 постоянно на линии), оснащенных средствами GPS-навигации. При появлении нового заказа система автоматически находит наилучшую машину, получая сведения о координатах ближайших машин на электронной карте Лондона, и предварительно бронирует заказ. Если эта машина была уже занята, то начинается цепочка переговоров, направленная на разрешении возникшего конфликта и достижение компромисса, что позволит перебросить старый заказ на другую машину, если это выгодно для всех. Но и после этого работа системы с новым заказом не останавливается.
В среднем на подачу машины требуется около 15 минут, при этом примерно половину этого времени система продолжает непрерывно искать возможности для улучшения перевозки с учетом поступающих заказов и появляющихся новых ресурсов и не принимает окончательного решения до момента, когда необходимо отправлять машину с учетом времени пути проезда до заказа. Когда уже пора отправлять автомобиль на заказ, система принимает окончательное решение, посылает водителю сообщение о параметрах заказа и ждет подтверждения о приеме заказа [ 3.4 ] .
Внедрение такой системы дало возможность роста компании за счет повышения управляемости. Существенно увеличилась эффективность автопарка (10-15%) благодаря оптимальному распределению заказов за счет минимизации "холостого" пробега и времени простоя автомобилей. Также сократилось количество опозданий и время обслуживания заявок.
МАС для управления группами интеллектуальных роботов. Хорошим примером интеллектуальных агентов служат роботы. Роботы могут иметь широкий ассортимент искусственных органов чувств (сенсорные датчики) и искусственных эффекторов (манипуляторы, педипуляторы). Их мобильность достигается благодаря колесным, гусеничным, шагающим и прочим системам перемещения. Активность и автономность роботов тесно связаны с наличием средств целеполагания и планирования действий, систем поддержки решения задач, а интеллектуализация, помимо обладания системой обработки знаний, предполагает развитые средства коммуникации различных уровней, вплоть до средств естественноязыкового общения [ 3.1 ] .
Неотъемлемым атрибутом интеллектуальных роботов является наличие специальной подсистемы планирования, составляющей программу действий робота в реальных условиях окружающей среды, которые определяются рецепторами робота. Для планирования деятельности робот должен иметь знания о свойствах окружающей среды и путях достижения целей в этой среде.
Рассмотрим два подхода к управлению группой интеллектуальных роботов.
Первый основан на рыночных отношениях в группе роботов. Его суть заключается в следующем. Сначала каждый робот генерирует список целей. Цели, соответствующие известным областям среды, исключаются из списков, а оставшиеся размещаются в порядке следования. Каждый робот, по очереди, пытается продать каждую из целевых задач всем остальным роботам группы, с которыми возможна связь, выставляя их на аукцион. Каждый из остальных роботов предлагает цену, которая определяется предположительными расходами и доходами. Робот-аукционист, предлагающий целевую задачу, ждет, пока все роботы не предложат цену. Причем на это отводится определенное время. Если какие-либо роботы предлагают цену, большую чем минимум, предложенный роботом-аукционистом, то целевая задача передается тому их них, который предлагает наибольшую цену.
После того, как все аукционы проведены, роботы начинают движение к первой своей цели. По ее достижении каждый робот генерирует новые цели и начинает движение к следующей цели, содержащейся в задании, предлагая все оставшиеся в списке целевые задачи остальным роботам группы через аукцион. Однако в этом подходе используются очень громоздкие механизмы аукционов и регулирования цен, что существенно ограничивает его применение.
Другой подход к организации мультиагентного взаимодействия в группах интеллектуальных роботов основан на принципах коллективного управления [ 3.5 ] , характерных для коллективов людей.
Коллективом называют группу роботов, решающих общую целевую задачу и взаимодействующих между собой для решения этой задачи наилучшим для группы образом. Коллективное взаимодействие — это взаимодействие, охватывающее большое число элементов некоторой системы и проявляющееся в их согласованных действиях.
Метод коллективного управления заключается в том, что каждый робот группы, во-первых, самостоятельно управляет процессом своего функционирования, т. е. определяет свои действия, а во-вторых, согласовывает эти действия с действиями других роботов группы, для того чтобы наиболее эффективно, т. е. с минимальными затратами и максимальной выгодой для группы, решить целевую задачу.
Основные принципы коллективного управления [ 3.5 ] :
- каждый член коллектива группы самостоятельно формирует свое управление (определяет свои действия) в текущей ситуации;
- формирование управлений (выбор действий) каждым членом коллектива осуществляется только на основе информации о коллективной цели, стоящей перед группой, ситуации в среде в предыдущей отрезок и в текущий момент времени, своем текущем состоянии и текущих действиях других членов коллектива;
- в качестве оптимального управления (действия) каждого члена коллектива в текущей ситуации понимается такое управление (действие), которое вносит максимально возможный вклад в достижение общей (коллективной) цели или, иными словами, дает максимально возможное приращение целевого функционала при переходе системы "коллектив-среда" из текущего состояния в конечное;
- оптимальное управление реализуется членами коллектива в течение ближайшего отрезка времени в будущем, а затем определяется новое управление;
- допускается принятие компромиссных решений, удовлетворяющих всех членов коллектива, то есть каждый член коллектива может отказываться от действий, приносящих ему максимальную выгоду, если эти действия приносят малые выгоды или даже ущерб коллективу в целом.
В отличие от группового управления, которое может быть как централизованным, так и децентрализованным, коллективное управление группой роботов всегда децентрализованное по своей сути. Поэтому описанный метод коллективного управления роботами наиболее эффективен при реализации в распределенных мультиагентных системах. Основное преимущество — относительно низкая вычислительная сложность алгоритмов, что позволяет быстро принимать если не оптимальные, то близкие к ним решения в условиях динамически изменяющейся ситуации. Этот подход применяется не только для решения задач коллективного управления интеллектуальными роботами, но и для решения проблемы организации отказоустойчивого вычислительного процесса в распределенных многопроцессорных информационно-управляющих системах сложных динамических объектов [ 3.5 ] .