Разработка приложений для мобильных интеллектуальных систем на платформе Intel Atom

Разработка мультиагентных систем

Разбить на страницы
Показывать лекцию целиком

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

Презентацию к лекции Вы можете скачать здесь.

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

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

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

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

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

    (рис 5.1) Укрупнённая структура агента (рис 5.2) Архитектура ядра мультиагентной системы

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

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

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

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

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

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

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

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

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

    Деятельность 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 и других.

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

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

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

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

    Компания Агентная платформа Адрес в интернете
    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.tlab.com/
    Fujitsu Labs(США) AAP http://www.sourceforge.net/
    Nortel Networks FIPA-OS http://www.nortelnetworks.com/fipa-os

    Агентная платформа в стандартах FIPA представляет собой следующую конструкцию (рис. 5.4):

    (рис 5.4) FIPA-модель агентной платформы

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

    Платформы для разработки МАС

    Перед тем, как приступать к созданию приложений на 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 использует агентов для производства полупроводниковых микросхем, датская судостроительная компания – для заварки отверстий в кораблях, а в Японии система на базе агентов выполняет функции интерфейса оператора сверхскоростного поезда

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

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

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

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

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

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

    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-чипами и т.п.

    Применение мультиагентных инструментальных средств позволяет решить ряд сложных задач производственной и транспортной логистики . В описаны промышленные реализации нескольких интеллектуальных систем, основанных на мультиагентных технологиях: для компаний занимающихся междугородними транспортными перевозками (организовано согласованное планирование парка грузовиков для менеджеров центра и филиалов), для компании корпоративного такси (планирование и распределение текущих заказов в режиме реально времени), для аэропорта (система управления наземными сервисами аэропорта на основе РФИД технологий). Для решения этих задач использовалась инструментальная платформа, которая состоит из основных модулей, представленных на Рис. 5.5.

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

    (рис 5.5) Схема взаимодействия модулей инструментальной системы [4]

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

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

    Моделирующая система — программный модуль, позволяющий осуществлять моделирование ситуации по принципу "Что если?".

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

    Приведём несколько примеров построения МАС для решения конкретных управленческих задач.

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

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

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

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

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

    Рассмотрим два подхода к управлению группой интеллектуальных роботов.

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

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

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

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

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

    Основные принципы коллективного управления :

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

    .

    Подсистема предназначена для постоянного текущего мониторинга устройств и механизмов автомобиля клиента и базируется на современных достижениях в области сбора, передачи, и автоматизированного анализа сигналов, обработки сигналов в режиме on-line с использованием современных датчиков и контроллеров, а также контроля всей системы на базе мультиагентного подхода. Пользователем может стать любой человек, который пожелает установить систему АПД при покупке нового автомобиля распространенных марок Ford, Opel, Chevrolet, KIA, BMW и др.

    (рис 5.6) Эксплуатация автомобиля, не оборудованного системой АПД

    Главным назначением АПД является повышение безопасности клиента. Во время движения автомобиля могут возникать нештатные ситуации, связанные с состоянием агрегатов автомобиля, дорожной обстановкой, состоянием покрытия, погодой и т.д. При этом водитель может не подозревать о надвигающейся аварийной ситуации, связанной с некорректной работой двигателя, тормозной системы, рулевого управления. Система АПД обязана минимизировать последствия критических поломок, так как она призвана при первых симптомах неисправности, отправить сведения о них в дилерский центр, оператор которого свяжется с клиентом и сообщит о возможных последствиях и путях их предотвращения. Рассмотрим вариант, когда автомобиль не оборудован системой АПД (рис.5.6.) Клиент эксплуатирует автомобиль определённое количество времени, проводит регламентированные работы (ТО) в официальном автосервисе. В случае инцидента на дороге (отказ двигателя, съезд с полотна и переворот вследствие прокола колеса, наезд на препятствие, столкновение с другим транспортным средством) водитель обязан вызвать сотрудников ГИББД, страхового агента и т.д. Но если водитель серьёзно пострадал, то он не может определить своё состояние, местоположение, вызвать себе скорую помощь и соответствующие службы. И если ДТП произошло на просёлочной дороге, то шансы быстро получить необходимую помощь резко уменьшаются.

    (рис 5.7) Эксплуатация автомобиля, оборудованного системой АПД

    Если же автомобиль оснащен системой оказания комплексной услуги АПД (рис. 5.7), то при возникновении малейшей неисправности (например, нештатная вибрация кузова, рулевого управления, утечка масла или бензина, критический износ тормозных колодок и пр.) система отображает возникшую коллизию на панели приборов. Бортовой компьютер отсылает код неисправности оператору в дилерский центр или станцию технического обслуживания. Оператор немедленно связывается с дежурным мастером-консультантом, а тот, в свою очередь, удаленно тестирует неисправность, связывается с клиентом и даёт рекомендации по поводу дальнейшего эксплуатирования автомобиля. Если клиент попадает в ДТП, то компьютер автоматически отсылает информацию о том, что сработали ремни и подушки безопасности. Оператор сразу же пытается связаться с клиентом по сотовому телефону. Если клиент не снимает трубку, то оператор вызывает скорую помощь на место, которое было определено с помощью GPS-передатчика на автомобиле.

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

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

    Архитектура системы АПД может состоять состоит из трёх базовых модулей (рис.5.8):

  • модуль диагностики автомобиля;
  • программный модуль коммуникатора;
  • АРМ оператора у дилера.
  • (рис 5.8) Архитектура системы АПД

    Модуль диагностики автомобиля включает в себя систему самодиагностики и блоки ECU (Electronic Control Unit). "Самодиагностика (иногда называемая бортовой диагностикой) – это система, которая постоянно держит под наблюдением сигналы различных датчиков и исполнительных механизмов системы управления двигателем (СУД). Эти сигналы сравниваются с их контрольными значениями, которые хранятся в памяти бортового компьютера.

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

    Ранние конструкции систем диагностики были способны формировать и хранить лишь небольшое число кодов. Современные системы в состоянии генерировать и хранить 100 и более кодов и способны ещё увеличить это количество по мере того, как ПО бортовых компьютеров, основанное на технологии интеллектуальных агентов "научится" выделять новые нештатные, сбойные и аварийные ситуации.

    ECU – основной элемент электронной системы управления, реализующий алгоритм управления путём преобразования электрических сигналов датчиков в управляющие воздействия на исполнительные устройства. Электронный блок управления (ЭБУ) двигателем получает сигналы от разных датчиков и обрабатывает их по определённой схеме. После обработки данных принимает решение о том, как управлять работой различных систем двигателя, меняя подачу топлива, выставляя зажигание, а также диагностирует все системы управления автомобилем и уведомляет о неисправностях.

    Связь внешнего устройства (в данном случае коммуникатора) с электронным блоком управления осуществляется благодаря CAN-шине. CAN (Contoller Area Network) является сетевым интерфейсом передачи данных на скорости до 1 Мбит/сек. Автомобиль связывается с коммуникатором посредством CAN-шины и переходника CAN-bus-USB. На смартфоне водителя установливается ПО, которое способно выводить информацию о работе систем автомобиля на дисплей, а также отправлять их в Интернет. В случае, если ошибок никаких не возникает, то сведения о работе автомобиля остаются в телефоне. В случае, если возникает какая-либо критическая неисправность либо срабатывают датчики ремней и подушки безопасности), то информация о местоположении автомобиля, а также информация с кодом неисправности отсылается на АРМ оператора соответствующего Call-центра.

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

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

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

  • На улице зима, человек садится в автомобиль, прогревает его (режим контролирует 1-й агент) и выезжает на шоссе. Во время движения из-за снега и наледи постоянно меняется рельеф дорожного покрытия, и человек не всегда успевает реагировать на эти изменения. Поэтому агент, который отвечает за анализ состояния дорожного покрытия (4-й агент), постоянно общается с агентами, которые отвечают за работу двигателя (3-й агент) и тормозной системы (2-й агент). Если автомобиль выезжает на лёд, то четвертый агент сообщает об этом первому и второому. Второй агент приводит тормозную систему в состояние повышенный готовности (усиливает давление в тормозной системе), а первый агент ограничивает обороты и плавность работы двигателя. Тем самым уменьшается риск заноса или, другими словами, повышается уровень безопасности.
  • Автомобиль двигается по дороге. Соответствующие интеллектуальные агенты следят за состоянием элементов активной безопасности (рис.5.9). Первый агент отвечает за состояние ремней безопасности, второй агент следит за состоянием подушек безопасности, третий отслеживает состояние тормозной системы, четвёртый передаёт данные на коммуникатор, пятый отправляет информацию на АРМ оператора дилерского центра, шестой агент отвечает за информацию поступающих с датчиков парковки (патронников), седьмой агент следит за работой климатической установки. Автомобиль подъезжает к пешеходному переходу, но водитель задумался, и не успевает своевременно плавно остановиться и резко нажимает на педаль тормоза. Агенты анализирует изменившуюся информацию (автомобиль ехал с постоянной скоростью, но резко остановился), общаются между собой: шестой агент сообщает, что контакта не было, второй сообщает, что подушки безопасности не раскрылись, первый агент говорит о том, что преднатяжители ремней безопасности сработали.
  • (рис 5.9) Схема анализа информации, полученной агентами от датчиков

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

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

    Устройство управления самодиагностикой состоит из нескольких выделенных блоков: для двигателя – ECU (Engine Control Unit) или ECM (Engine Control Module); для антиблокировочной системы тормозов – ABS (Antiblocking System), для подушек безопасности – ABSRS (Air Bag Supplemental Restraint System), для автоматической коробки передач – A/T (Electronic Automatic Transaxles) и др.

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

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

    . В следующей главе будет рассмотрен один из возможных вариантов реализации MAC для управления группой БПЛА.

    Страницы:

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

    Презентацию к лекции Вы можете скачать здесь.

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

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

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

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

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

    (рис 5.1) Укрупнённая структура агента (рис 5.2) Архитектура ядра мультиагентной системы

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

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

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

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

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

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

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

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

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

    Деятельность 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 и других.

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

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

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

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

    Компания Агентная платформа Адрес в интернете
    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.tlab.com/
    Fujitsu Labs(США) AAP http://www.sourceforge.net/
    Nortel Networks FIPA-OS http://www.nortelnetworks.com/fipa-os

    Агентная платформа в стандартах FIPA представляет собой следующую конструкцию (рис. 5.4):

    (рис 5.4) FIPA-модель агентной платформы

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

    Платформы для разработки МАС

    Перед тем, как приступать к созданию приложений на 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 использует агентов для производства полупроводниковых микросхем, датская судостроительная компания – для заварки отверстий в кораблях, а в Японии система на базе агентов выполняет функции интерфейса оператора сверхскоростного поезда

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

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

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

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

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

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

    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-чипами и т.п.

    Применение мультиагентных инструментальных средств позволяет решить ряд сложных задач производственной и транспортной логистики . В описаны промышленные реализации нескольких интеллектуальных систем, основанных на мультиагентных технологиях: для компаний занимающихся междугородними транспортными перевозками (организовано согласованное планирование парка грузовиков для менеджеров центра и филиалов), для компании корпоративного такси (планирование и распределение текущих заказов в режиме реально времени), для аэропорта (система управления наземными сервисами аэропорта на основе РФИД технологий). Для решения этих задач использовалась инструментальная платформа, которая состоит из основных модулей, представленных на Рис. 5.5.

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

    (рис 5.5) Схема взаимодействия модулей инструментальной системы [4]

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

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

    Моделирующая система — программный модуль, позволяющий осуществлять моделирование ситуации по принципу "Что если?".

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

    Приведём несколько примеров построения МАС для решения конкретных управленческих задач.

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

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

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

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

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

    Рассмотрим два подхода к управлению группой интеллектуальных роботов.

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

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

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

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

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

    Основные принципы коллективного управления :

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

    .

    Подсистема предназначена для постоянного текущего мониторинга устройств и механизмов автомобиля клиента и базируется на современных достижениях в области сбора, передачи, и автоматизированного анализа сигналов, обработки сигналов в режиме on-line с использованием современных датчиков и контроллеров, а также контроля всей системы на базе мультиагентного подхода. Пользователем может стать любой человек, который пожелает установить систему АПД при покупке нового автомобиля распространенных марок Ford, Opel, Chevrolet, KIA, BMW и др.

    (рис 5.6) Эксплуатация автомобиля, не оборудованного системой АПД

    Главным назначением АПД является повышение безопасности клиента. Во время движения автомобиля могут возникать нештатные ситуации, связанные с состоянием агрегатов автомобиля, дорожной обстановкой, состоянием покрытия, погодой и т.д. При этом водитель может не подозревать о надвигающейся аварийной ситуации, связанной с некорректной работой двигателя, тормозной системы, рулевого управления. Система АПД обязана минимизировать последствия критических поломок, так как она призвана при первых симптомах неисправности, отправить сведения о них в дилерский центр, оператор которого свяжется с клиентом и сообщит о возможных последствиях и путях их предотвращения. Рассмотрим вариант, когда автомобиль не оборудован системой АПД (рис.5.6.) Клиент эксплуатирует автомобиль определённое количество времени, проводит регламентированные работы (ТО) в официальном автосервисе. В случае инцидента на дороге (отказ двигателя, съезд с полотна и переворот вследствие прокола колеса, наезд на препятствие, столкновение с другим транспортным средством) водитель обязан вызвать сотрудников ГИББД, страхового агента и т.д. Но если водитель серьёзно пострадал, то он не может определить своё состояние, местоположение, вызвать себе скорую помощь и соответствующие службы. И если ДТП произошло на просёлочной дороге, то шансы быстро получить необходимую помощь резко уменьшаются.

    (рис 5.7) Эксплуатация автомобиля, оборудованного системой АПД

    Если же автомобиль оснащен системой оказания комплексной услуги АПД (рис. 5.7), то при возникновении малейшей неисправности (например, нештатная вибрация кузова, рулевого управления, утечка масла или бензина, критический износ тормозных колодок и пр.) система отображает возникшую коллизию на панели приборов. Бортовой компьютер отсылает код неисправности оператору в дилерский центр или станцию технического обслуживания. Оператор немедленно связывается с дежурным мастером-консультантом, а тот, в свою очередь, удаленно тестирует неисправность, связывается с клиентом и даёт рекомендации по поводу дальнейшего эксплуатирования автомобиля. Если клиент попадает в ДТП, то компьютер автоматически отсылает информацию о том, что сработали ремни и подушки безопасности. Оператор сразу же пытается связаться с клиентом по сотовому телефону. Если клиент не снимает трубку, то оператор вызывает скорую помощь на место, которое было определено с помощью GPS-передатчика на автомобиле.

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

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

    Архитектура системы АПД может состоять состоит из трёх базовых модулей (рис.5.8):

  • модуль диагностики автомобиля;
  • программный модуль коммуникатора;
  • АРМ оператора у дилера.
  • (рис 5.8) Архитектура системы АПД

    Модуль диагностики автомобиля включает в себя систему самодиагностики и блоки ECU (Electronic Control Unit). "Самодиагностика (иногда называемая бортовой диагностикой) – это система, которая постоянно держит под наблюдением сигналы различных датчиков и исполнительных механизмов системы управления двигателем (СУД). Эти сигналы сравниваются с их контрольными значениями, которые хранятся в памяти бортового компьютера.

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

    Ранние конструкции систем диагностики были способны формировать и хранить лишь небольшое число кодов. Современные системы в состоянии генерировать и хранить 100 и более кодов и способны ещё увеличить это количество по мере того, как ПО бортовых компьютеров, основанное на технологии интеллектуальных агентов "научится" выделять новые нештатные, сбойные и аварийные ситуации.

    ECU – основной элемент электронной системы управления, реализующий алгоритм управления путём преобразования электрических сигналов датчиков в управляющие воздействия на исполнительные устройства. Электронный блок управления (ЭБУ) двигателем получает сигналы от разных датчиков и обрабатывает их по определённой схеме. После обработки данных принимает решение о том, как управлять работой различных систем двигателя, меняя подачу топлива, выставляя зажигание, а также диагностирует все системы управления автомобилем и уведомляет о неисправностях.

    Связь внешнего устройства (в данном случае коммуникатора) с электронным блоком управления осуществляется благодаря CAN-шине. CAN (Contoller Area Network) является сетевым интерфейсом передачи данных на скорости до 1 Мбит/сек. Автомобиль связывается с коммуникатором посредством CAN-шины и переходника CAN-bus-USB. На смартфоне водителя установливается ПО, которое способно выводить информацию о работе систем автомобиля на дисплей, а также отправлять их в Интернет. В случае, если ошибок никаких не возникает, то сведения о работе автомобиля остаются в телефоне. В случае, если возникает какая-либо критическая неисправность либо срабатывают датчики ремней и подушки безопасности), то информация о местоположении автомобиля, а также информация с кодом неисправности отсылается на АРМ оператора соответствующего Call-центра.

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

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

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

  • На улице зима, человек садится в автомобиль, прогревает его (режим контролирует 1-й агент) и выезжает на шоссе. Во время движения из-за снега и наледи постоянно меняется рельеф дорожного покрытия, и человек не всегда успевает реагировать на эти изменения. Поэтому агент, который отвечает за анализ состояния дорожного покрытия (4-й агент), постоянно общается с агентами, которые отвечают за работу двигателя (3-й агент) и тормозной системы (2-й агент). Если автомобиль выезжает на лёд, то четвертый агент сообщает об этом первому и второому. Второй агент приводит тормозную систему в состояние повышенный готовности (усиливает давление в тормозной системе), а первый агент ограничивает обороты и плавность работы двигателя. Тем самым уменьшается риск заноса или, другими словами, повышается уровень безопасности.
  • Автомобиль двигается по дороге. Соответствующие интеллектуальные агенты следят за состоянием элементов активной безопасности (рис.5.9). Первый агент отвечает за состояние ремней безопасности, второй агент следит за состоянием подушек безопасности, третий отслеживает состояние тормозной системы, четвёртый передаёт данные на коммуникатор, пятый отправляет информацию на АРМ оператора дилерского центра, шестой агент отвечает за информацию поступающих с датчиков парковки (патронников), седьмой агент следит за работой климатической установки. Автомобиль подъезжает к пешеходному переходу, но водитель задумался, и не успевает своевременно плавно остановиться и резко нажимает на педаль тормоза. Агенты анализирует изменившуюся информацию (автомобиль ехал с постоянной скоростью, но резко остановился), общаются между собой: шестой агент сообщает, что контакта не было, второй сообщает, что подушки безопасности не раскрылись, первый агент говорит о том, что преднатяжители ремней безопасности сработали.
  • (рис 5.9) Схема анализа информации, полученной агентами от датчиков

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

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

    Устройство управления самодиагностикой состоит из нескольких выделенных блоков: для двигателя – ECU (Engine Control Unit) или ECM (Engine Control Module); для антиблокировочной системы тормозов – ABS (Antiblocking System), для подушек безопасности – ABSRS (Air Bag Supplemental Restraint System), для автоматической коробки передач – A/T (Electronic Automatic Transaxles) и др.

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

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

    . В следующей главе будет рассмотрен один из возможных вариантов реализации MAC для управления группой БПЛА.

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