Разработка мультиагентных систем
Платформы для разработки МАС
Перед тем, как приступать к созданию приложений на Android, необходимо выбрать подходящий инструментарий разработки и установить соответствующий Android SDK.
Наиболее популярные средства разработки MAC следующие:
- JADE (Java Agent Development Framework) — широко используемая программная среда для создания мультиагентных систем и приложений, поддерживающая FIPA-стандарты для интеллектуальных агентов. Включает в себя среду выполнения агентов (агенты регистрируются и работают под управлением среды), библиотеку классов, которые используются для разработки агентных систем, набор графических утилит для администрирования и наблюдения за жизнедеятельностью активных агентов. Программная среда JADE подключается к любом проекту на языке Java. Агенты JADE могут быть совершенно разными — от простых, только реагирующих, до сложных — ментальных.
- JACK Intelligent Agents — Java платформа для создания мультиагентных систем. Так же как и JADE, расширяет Java своими классами. JACK одна из немногих платформ, где используются модель логики агентов, основанная убеждениях-желаниях-намерениях (Belief–desire–intention software model – BDI), и встроенные формально-логические средства планирования работы агентов.
- MadKIT — модульная и масштабируемая мультиагентная платформа, написанная на Java. Поддерживает агентов на разных языках: Java, Python, Jess, Scheme, BeanSchell. Красиво визуализирует и позволяет управлять этими агентами.
- AgentBuilder — большой коммерческий продукт, выпускаемый так же и в Academic Edition. Агенты достаточно интеллектуальны, и общаются на языке KQML (Knowledge Query and Manipulation Language) и обладают ментальной моделью. Платформа является Java-ориентированной.
- Cougaar (Cognitive Agent Architecture) — также Java-ориентированная платформа для построения распределенных мультиагентных систем. Включает не только исполняющую систему (run-time engine), но и некоторые средства для визуализации, управления данными и др.
- NetLogo — кроссплатформенное программируемое окружение для программирования мультиагентных систем.
- VisualBots — бесплатный мультагентный симулятор в Microsoft Excel с Visual Basic синтаксисом.
- MASON — Java библиотека для моделирования мультиагентных систем.
- REPAST — набор инструментов для создания систем, основанных на агентах.
- CogniTAO — С++ платформа разработки автономных мультиагентных систем, ориентированная на реальных роботов и виртуальных существ (CGF).
Области применения
На сегодняшний день мультиагентные системы используются для разработки широкого спектра информационных и промышленных систем. В промышленности MAC наиболее распространены применительно к решению задач автоматизации управления сложными системами, для сбора и обработки информации, в играх. Мультиагентные технологии применимы в управлении мобильными ресурсами, а также в таких сферах, как проектирование объектов, промышленное производство, финансовое планирование и анализ рисков, распознавание образов, извлечение знаний из данных, понимание текста и решение других сложных проблем.
Так, например, IBM использует агентов для производства полупроводниковых микросхем, датская судостроительная компания – для заварки отверстий в кораблях, а в Японии система на базе агентов выполняет функции интерфейса оператора сверхскоростного поезда
МАС могут применяться как для конструирования и моделирования гибких производственных систем, так и для управления реальными системами производства (логистика), продажи продукции различного назначения (е-коммерции), интеграции и управления знаниями и научной работы. Большое значение в мультиагентном подходе имеет социальный аспект решения современных задач как его концептуальная основа.. Такие системы должны постоянно "жить" на сервере предприятия и непрерывно участвовать в решении задач, а не быть запускаемыми от случая к случаю, а для этого – обеспечивать пользователю возможность введения новых данных и компонентов. Наконец, такие системы должны накапливать информацию, извлекать из нее новые знания и в зависимости от этого изменять свое поведение с течением времени.
В настоящее время интеллектуальные агенты применяются в следующих областях бизнеса:
- управление распределенными или сетевыми предприятиями;
- сложная и многофункциональная логистика;
- виртуальные организации и Интернет-порталы по продаже продуктов и услуг;
- управление учебным процессом в системах дистанционного обучения;
- компании с развитыми дистрибьюторскими и транспортными сетями (например, в Procter&Gamble);
- управление каналами распределения;
- моделирование предпочтений пользователей.
Для крупных компаний преимущества мультиагентного подхода очевидны. Среди них можно отметить: сокращение сроков решения проблем, уменьшение объема передаваемых данных за счет передачи другим агентам высокоуровневых частичных решений; сокращение сроков согласования условий и формирования заказов.
Для распределенных компаний преимущества в первую очередь заключаются в возможности оптимального обеспечения продукцией, облегчении контроля удаленных подразделений и структур и взаимодействия с ними.
Для компаний с широким и быстро меняющимся ассортиментом – возможность гибко реагировать на изменения в предпочтениях клиентов и просчитывать периоды изменения. Для компаний оказывающих услуги – накопление опыта взаимодействия и решения проблем не только "в головах" сотрудников, но и в МАС.
Среди примеров компьютерных программ-агентов, существующих в настоящее время и широко используемых в Интернете можно выделить следующие:
Copernic Agent (http://www.copernic.com/) – одновременно отправляет запросы нескольким популярным поисковым системам, выбирает наиболее рейтинговые ссылки, сопоставляет их между собой, удаляет дубли и, сортируя отобранное по рейтингу в соответствии со своим алгоритмом ранжирования, выводит их пользователю.
MySimon (http://www.mysimon.com/) – осуществляет интеллектуальный поиск, сравнивая цены миллионов товаров в более чем двух тысячах онлайновых магазинов.
MP3-Wolf (http://www.trellian.com/) – сканирует Интернет в поисках нужных пользователю музыкальных файлов. В процессе работы он использует различные поисковые системы, а также сайты, найденные им ранее и содержащиеся в его базе.
WebSite-Watcher (http://www.aignes.com/) – предназначена для слежения за изменениями на сайтах. Поддерживает работу RSS-ленты. Имеет гибкие настройки по предотвращению ложных срабатываний, когда отдельные изменения на страницах носят случайный или технический характер, например изменение числа просмотров.
Помимо этого, агенты могут быть уполномоченными представителями пользователя при общении с другими пользователями или их агентами, при решении порученных им задач.
Для решения задач автоматизации управления ресурсами предприятий в реальном времени в последнее время разрабатывается большое количество интеллектуальных программных систем нового поколения, построенных на основе мультиагентных технологий, которые позволяют автоматизировать полный цикл управления мобильными ресурсами в реальном времени, включая:
- оперативную реакцию на важные события;
- динамическое планирование и адаптивное перепланирование заказов/ресурсов;
- взаимодействие с клиентами, менеджерами и исполнителями для согласования принимаемых решений через Интернет или сотовый телефон;
- мониторинг исполнения построенных планов и бизнес-процессов заказчика;
- перепланирование расписаний в случае рассогласования между планом и фактом.
В таких системах агенты способны взаимодействовать друг с другом путем переговоров и демонстрировать коллективный интеллект, возникающий в системе в форме спонтанных цепочек согласованных изменений планов агентов.
Таким образом, в разработке программных систем используются фундаментальные принципы самоорганизации и эволюции, присущие живым системам, например, колонии муравьев или рою пчел, отличающихся способностью решать сложные задачи в реальном времени, открытостью к изменениям, высокой эффективностью, надежностью и живучестью.
Обычно такие системы легко интегрируются с существующими коммуникаторами, учетно-контрольными системами предприятия, электронными картами, средствами GPS навигации, RFID-чипами и т.п.
Применение мультиагентных инструментальных средств позволяет решить ряд сложных задач производственной и транспортной логистики [ 3.5 ] . В [ 3.4 ] описаны промышленные реализации нескольких интеллектуальных систем, основанных на мультиагентных технологиях: для компаний занимающихся междугородними транспортными перевозками (организовано согласованное планирование парка грузовиков для менеджеров центра и филиалов), для компании корпоративного такси (планирование и распределение текущих заказов в режиме реально времени), для аэропорта (система управления наземными сервисами аэропорта на основе РФИД технологий). Для решения этих задач использовалась инструментальная платформа, которая состоит из основных модулей, представленных на Рис. 5.5.