Киргизия, ош, ОшГУ |
Платформы для разработки МАС
Примеры практического применения технологии МАС в системах управления
Приведём несколько примеров построения МАС для решения конкретных управленческих задач.
MAC для распределения заказов такси
Для одной из крупнейших в мире компаний корпоративного такси Addison Lee (Лондон) была разработана система, которая позволила распределять и планировать примерно 13 тысяч заказов в день при наличии нескольких тысяч собственных машин (из них до 800 постоянно на линии), оснащенных средствами GPS-навигации. При появлении нового заказа система автоматически находит наилучшую машину, получая сведения о координатах ближайших машин на электронной карте Лондона, и предварительно бронирует заказ. Если эта машина была уже занята, то начинается цепочка переговоров, направленная на разрешении возникшего конфликта и достижение компромисса, что позволит перебросить старый заказ на другую машину, если это выгодно для всех. Но и после этого работа системы с новым заказом не останавливается.
В среднем на подачу машины требуется около 15 минут, при этом примерно половину этого времени система продолжает непрерывно искать возможности для улучшения перевозки с учетом поступающих заказов и появляющихся новых ресурсов и не принимает окончательного решения до момента, когда необходимо отправлять машину с учетом времени пути проезда до заказа. Когда уже пора отправлять автомобиль на заказ, система принимает окончательное решение, посылает водителю сообщение о параметрах заказа и ждет подтверждения о приеме заказа [Виттих В. А., Скобелев П. О., 2009].
Внедрение такой системы дало возможность роста компании за счет повышения управляемости. Существенно увеличилась эффективность автопарка (10-15%) благодаря оптимальному распределению заказов за счет минимизации "холостого" пробега и времени простоя автомобилей. Также сократилось количество опозданий и время обслуживания заявок.
МАС для управления группами интеллектуальных роботов
Хорошим примером использования интеллектуальных агентов служат системы управления роботами. Роботы могут иметь широкий ассортимент искусственных органов чувств (сенсорные датчики) и искусственных эффекторов (мани-пуляторы, педипуляторы). Речь идет о робототехнических устройствах, выполняющих задачи, связанные с перемещениями в пространстве. Их мобильность достигается благодаря колесным, гусеничным, шагающим и прочим системам перемещения. Активность и автономность роботов тесно связаны с наличием средств целеполагания и планирования действий, систем поддержки решения задач, а интеллектуализация, помимо обладания системой обработки знаний, предполагает развитые средства коммуникации различных уровней, вплоть до средств естественноязыкового общения.
Неотъемлемым атрибутом интеллектуальных роботов является наличие специальной подсистемы планирования, составляющей программу действий робота в реальных условиях окружающей среды, которые определяются рецепторами робота. Для планирования деятельности робот должен иметь знания о свойствах окружающей среды и путях достижения целей в этой среде.
Рассмотрим два подхода к управлению группой интеллектуальных роботов.
Первый основан на рыночных отношениях в группе роботов. Его суть заключается в следующем. Сначала каждый робот генерирует список целей. Цели, соответствующие известным областям среды, исключаются из списков, а оставшиеся размещаются в порядке следования. Каждый робот, по очереди, пытается продать каждую из целевых задач всем остальным роботам группы, с которыми возможна связь, выставляя их на аукцион. Каждый из остальных роботов предлагает цену, которая определяется предположительными расходами и доходами. Робот-аукционист, предлагающий целевую задачу, ждет, пока все роботы не предложат цену. Причем на это отводится определенное время. Если какие-либо роботы предлагают цену, большую чем минимум, предложенный роботом-аукционистом, то целевая задача передается тому их них, который предлагает наибольшую цену.
После того, как все аукционы проведены, роботы начинают движение к первой своей цели. По ее достижении каждый робот генерирует новые цели и начинает движение к следующей цели, содержащейся в задании, предлагая все оставшиеся в списке целевые задачи остальным роботам группы через аукцион. Однако в этом подходе используются очень громоздкие механизмы аукционов и регулирования цен, что существенно ограничивает его применение.
Другой подход к организации мультиагентного взаимодействия в группах интеллектуальных роботов основан на принципах коллективного управления, характерных для коллективов людей [Каляев И. А., Гайдук А. Р., Капустян С. Г., 2002].
Коллективом называют группу роботов, решающих общую целевую задачу и взаимодействующих между собой для решения этой задачи наилучшим для группы образом. Коллективное взаимодействие — это взаимодействие, охватывающее большое число элементов некоторой системы и проявляющееся в их согласованных действиях.
Метод коллективного управления заключается в том, что каждый робот группы, во-первых, самостоятельно управляет процессом своего функционирования, т. е. определяет свои действия, а во-вторых, согласовывает эти действия с действиями других роботов группы, для того чтобы наиболее эффективно, т. е. с минимальными затратами и максимальной выгодой для группы, решить целевую задачу.
Основные принципы коллективного управления:
- каждый член коллектива группы самостоятельно формирует свое управление (определяет свои действия) в текущей ситуации;
- формирование управлений (выбор действий) каждым членом коллектива осуществляется только на основе информации о коллективной цели, стоящей перед группой, ситуации в среде в предыдущей отрезок и в текущий момент времени, своем текущем состоянии и текущих действиях других членов коллектива;
- в качестве оптимального управления (действия) каждого члена коллектива в текущей ситуации понимается такое управление (действие), которое вносит максимально возможный вклад в достижение общей (коллективной) цели или, иными словами, дает максимально возможное приращение целевого функционала при переходе системы "коллектив-среда" из текущего состояния в конечное;
- оптимальное управление реализуется членами коллектива в течение ближайшего отрезка времени в будущем, а затем определяется новое управление;
- допускается принятие компромиссных решений, удовлетворяющих всех членов коллектива, то есть каждый член коллектива может отказываться от действий, приносящих ему максимальную выгоду, если эти действия приносят малые выгоды или даже ущерб коллективу в целом.
В отличие от группового управления, которое может быть как централизованным, так и децентрализованным, коллективное управление группой роботов всегда децентрализованное по своей сути. Поэтому описанный метод коллективного управления роботами наиболее эффективен при реализации в распределенных мультиагентных системах.
Основное преимущество — относительно низкая вычислительная сложность алгоритмов, что позволяет быстро принимать если не оптимальные, то близкие к ним решения в условиях динамически изменяющейся ситуации. Этот подход применяется не только для решения задач коллективного управления интеллектуальными роботами, но и для решения проблемы организации отказоустойчивого вычислительного процесса в распределенных многопроцессорных информационно-управляющих системах сложных динамических объектов.
MAC для управления ансаблями динамических объектов
Еще одним перспективным направлением применения MAC являются системы динамических управляемых объектов — например, беспилотных летательных аппаратов. В современном мире "беспилотные летательные аппараты" (Unmanned Aerial Vehicles, далее БПЛА) приобретают все большую популярность в качестве легких и недорогих инструментов для исследований территорий, разведки и воздушных съемок. В основной массе современная беспилотная техника не обладает автономностью (обычно дистанционно управляется оператором со специального пульта).
Есть успешные разработки одиночных БПЛА, которые под управлением автопилота способны в автономном режиме облететь территорию по заданному маршруту, собирая ту или иную информацию или выполняя другие задания. Анализ большинства задач решаемых с использованием одиночных аппаратов показывает, что они могут более эффективно решаться группой, так как у группы эффективно взаимодействующих легких и маленьких самолетов появляются дополнительные полезные свойства [Амелин К. С, Антал Е. И., Васильев В. И., Граничина Н. О., 2009; Antal С, Granichin О., Levi S., 2010].
MAC для управления безопасностью автомобиля
Примером инновационного продукта, обеспечивающего комплексную безопасность автомобиля на дороге может служить информационно-диагностическая подсистема "Автоматизированная помощь на дороге" (АПД) для on-line обслуживания водителей [Кияев В. И., Герасимов Р. В, 2012].
Подсистема предназначена для постоянного текущего мониторинга устройств и механизмов автомобиля клиента и базируется на современных достижениях в области сбора, передачи, и автоматизированного анализа сигналов, обработки сигналов в режиме on-line с использованием современных датчиков и контроллеров, а также контроля всей системы на базе мультиагентного подхода. Пользователем может стать любой человек, который пожелает установить систему АПД при покупке нового автомобиля распространенных марок Ford, Opel, Chevrolet, KIA, BMW и др.
Главным назначением АПД является повышение безопасности клиента. Во время движения автомобиля могут возникать нештатные ситуации, связанные с состоянием агрегатов автомобиля, дорожной обстановкой, состоянием покрытия, погодой и т.д. При этом водитель может не подозревать о надвигающейся аварийной ситуации, связанной с некорректной работой двигателя, тормозной системы, рулевого управления. Система АПД обязана минимизировать последствия критических поломок, так как она призвана при первых симптомах неисправности отправить сведения о них в дилерский центр, оператор которого свяжется с клиентом и сообщит о возможных последствиях и путях их предотвращения.
Рассмотрим вариант, когда автомобиль не оборудован системой АПД (рис. 7.2). Клиент эксплуатирует автомобиль определённое количество времени, проводит регламентированные работы (ТО) в официальном автосервисе. В случае инцидента на дороге (отказ двигателя, съезд с полотна и переворот вследствие прокола колеса, наезд на препятствие, столкновение с другим транспортным средством) водитель обязан вызвать сотрудников ГИББД, страхового агента и т.д. Но если водитель серьёзно пострадал, то он не может определить своё состояние, местоположение, вызвать себе скорую помощь и соответствующие службы. И если ДТП произошло на просёлочной дороге, то шансы быстро получить необходимую помощь резко уменьшаются.
Если же автомобиль оснащен системой оказания комплексной услуги АПД (рис. 7.3), то при возникновении малейшей неисправности — например, нештатная вибрация кузова, рулевого управления, утечка масла или бензина, критический износ тормозных колодок и пр. — система отображает возникшую коллизию на панели приборов.
Бортовой компьютер отсылает код неисправности оператору в дилерский центр или станцию технического обслуживания. Оператор немедленно связывается с дежурным мастером-консультантом, а тот, в свою очередь, удаленно тестирует неисправность, связывается с клиентом и даёт рекомендации по поводу дальнейшего эксплуатирования автомобиля. Если клиент попадает в ДТП, то компьютер автоматически отсылает информацию о том, что сработали ремни и подушки безопасности. Оператор сразу же пытается связаться с клиентом по сотовому телефону. Если клиент не снимает трубку, то оператор вызывает скорую помощь на место, которое было определено с помощью GPS-передатчика на автомобиле.
Таким образом, система АПД позволяет повысить безопасность благодаря своевременному выявлению проблем, а также вызову помощи тогда, когда клиент в ней нуждается. Помимо всего прочего, система АПД может иметь ряд других полезных функций. Так например, если клиент оставил ключи от автомобиля дома, но очень спешит, то он может позвонить оператору, назвать свой уникальный ID и пароль. Оператор открывает и заводит автомобиль. Также оператор может закрыть автомобиль.
Система АПД может выполнять также функцию охранной сигнализации: если злоумышленники угнали автомобиль, клиент связывается с оператором, а тот, в свою очередь, связывается с правоохранительными органами и сообщает им расположение автомобиля.
Архитектура системы АПД может состоять состоит из трёх базовых модулей (рис. 7.4): модуль диагностики автомобиля; программный модуль коммуникатора; АРМ оператора у дилера.
Модуль диагностики автомобиля включает в себя систему самодиагностики и блоки ECU (Electronic Control Unit). "Самодиагностика (иногда называемая бортовой диагностикой) — это система, которая постоянно держит под наблюдением сигналы различных датчиков и исполнительных механизмов системы управления двигателем (СУД). Эти сигналы сравниваются с их контрольными значениями, которые хранятся в памяти бортового компьютера.
Набор таких контрольных значений может быть разным в разных автомобилях и их моделях. Он может включать в себя верхние и нижние границы контролируемых параметров, допустимое число ошибочных сигналов в единицу времени, неправдоподобные сигналы, сигналы, выходящие за допустимые пределы и др. При выходе сигнала за пределы контрольных значений блок электронного управления квалифицирует это состояние как неисправность, формирует и помещает в память соответствующий код.
Ранние конструкции систем диагностики были способны формировать и хранить лишь небольшое число кодов. Современные системы в состоянии генерировать и хранить 100 и более кодов и способны ещё увеличить это количество по мере того, как ПО бортовых компьютеров, основанное на технологии интеллектуальных агентов "научится" выделять новые нештатные, сбойные и аварийные ситуации.
ECU — основной элемент электронной системы управления, реализующий алгоритм управления путём преобразования электрических сигналов датчиков в управляющие воздействия на исполнительные устройства. Электронный блок управления (ЭБУ) двигателем получает сигналы от разных датчиков и обрабатывает их по определённой схеме. После обработки данных принимает решение о том, как управлять работой различных систем двигателя, меняя подачу топлива, выставляя зажигание, а также диагностирует все системы управления автомобилем и уведомляет о неисправностях.
Связь внешнего устройства (в данном случае коммуникатора) с электронным блоком управления осуществляется благодаря CAN-шине. CAN (Contoller Area Network) является сетевым интерфейсом передачи данных на скорости до 1 Мбит/сек. Автомобиль связывается с коммуникатором посредством CAN-шины и переходника CAN-bus-USB. На смартфоне водителя установливается ПО, которое способно выводить информацию о работе систем автомобиля на дисплей, а также отправлять их в Интернет. В случае если ошибок никаких не возникает, то сведения о работе автомобиля остаются в телефоне. Если же возникает какая-либо критическая неисправность либо срабатывают датчики ремней и подушки безопасности), то информация о местоположении автомобиля, а также информация с кодом неисправности отсылается на АРМ оператора соответствующего Call-центра.
В соответствии с такой архитектурой, алгоритм сбора, анализа, и выработки рекомендаций для пользователя будет основан на мультиагентном подходе. Суть мультиагентного подхода в этом случае заключается в том, что гораздо эффективнее внедрить несколько интеллектуальных агентов, которые будут отвечать за свой небольшой сегмент, чем использовать одно электронное устройство с заданной жестко программой функционирования, отвечающее за всю диагностику (в настоящее время вся информация с датчиков поступает в "головной центр" сбора информации ECU).
Каждый агент содержит базу знаний, которая распространяется только на один элемент автомобиля. Например, первый агент отвечает за работу включения и выключения атвомобиля, другой агент отслеживает работу тормозной системы, третий агент контролирует работу двигателя, четвёртый агент следит за покрытием дороги, и т. д.
Рассмотрим два алгоритма работы системы на базе мультиагентного подхода и опишем типичную схему принятия решения.
На улице зима, человек садится в автомобиль, прогревает его (режим контролирует 1-й агент) и выезжает на шоссе. Во время движения из-за снега и наледи постоянно меняется рельеф дорожного покрытия, и человек не всегда успевает реагировать на эти изменения. Поэтому агент, который отвечает за анализ состояния дорожного покрытия (4-й агент), постоянно общается с агентами, которые отвечают за работу двигателя (3-й агент) и тормозной системы (2-й агент). Если автомобиль выезжает на лёд, то четвертый агент сообщает об этом первому и второму. Второй агент приводит тормозную систему в состояние повышенный готовности (усиливает давление в тормозной системе), а первый агент ограничивает обороты и плавность работы двигателя. Тем самым уменьшается риск заноса или, другими словами, повышается уровень безопасности.
Автомобиль двигается по дороге. Соответствующие интеллектуальные агенты следят за состоянием элементов активной безопасности (рис. 7.5). Первый агент отвечает за состояние ремней безопасности, второй агент следит за состоянием подушек безопасности, третий отслеживает состояние тормозной системы, четвёртый передаёт данные на коммуникатор, пятый отправляет информацию на АРМ оператора дилерского центра, шестой агент отвечает за информацию поступающих с датчиков парковки (патронников), седьмой агент следит за работой климатической установки. Автомобиль подъезжает к пешеходному переходу, но водитель задумался, и не успевает своевременно плавно остановиться и резко нажимает на педаль тормоза.
Агенты анализируют изменившуюся ситуацию и информацию о ней — автомобиль ехал с постоянной скоростью, но резко остановился. Они общаются между собой: шестой агент сообщает, что контакта не было, второй сообщает, что подушки безопасности не раскрылись, первый агент говорит о том, что преднатяжители ремней безопасности сработали.
Исходя из этих данных, они решают не отправлять данные на АРМ оператора дилерского центра, но занести информацию о характере торможения в память (для того, чтобы при возникновении неполадки в будущем, можно было легко вычислить причину её возникновения). Автомобиль продолжает движение и совершает наезд на впереди стоящий автомобиль. И тут уже начинается рассмотрение как минимум двух ситуаций:
1). Агенты сообщают, что патронники зафиксировали критическое приближение (удар), преднатяжители ремней сработали, но температура в салоне не изменилась (лобовое стекло цело) и подушки безопасности не открылись, т.е. удар произошёл на небольшой скорости. Как вывод, агенты сообщают эту информацию на АРМ оператора дилерского центра, и он связывается с клиентом.
2). Агенты сообщают о срабатывании всех систем активной безопасности: преднатяжители сработали, зафиксировано критическое сближение (удар), подушки безопасности раскрылись, температура в салоне изменилась — т.е. произошёл один из худших вариантов развития для человека. Агенты автомобиля сообщают информацию о случившемся агенту, который отвечает за коммуникатор, далее этот агент передаёт информацию о происшествии и местоположении автомобиля на АРМ оператора дилерского центра. Оператор быстро обрабатывает всю информацию, пытается связать с клиентом и в случае необходимости вызывает скорую помощь на место происшествия.
Таким образом, видно, что агенты общаются между собой и при анализе поступающей информации принимают решение о реализации необходимых процедур.
Устройство управления самодиагностикой состоит из нескольких выделенных блоков: для двигателя — ECU (Engine Control Unit) или ECM (Engine Control Module); для антиблокировочной системы тормозов — ABS (Antiblocking System), для подушек безопасности — ABSRS (Air Bag Supplemental Restraint System), для автоматической коробки передач — EAT (Electronic Automatic Transaxles) и другие.
При получении сигнала о возникновении неполадки система диагностики обязана ответить унифицировано:
- во-первых, классифицировать неисправность по номеру (коду ошибки) и запомнить этот код в долговременной памяти;
- во-вторых, предпринять действия по минимизации ущерба, предусмотренные на этот случай управляющей программой.
После этого сохранённые в памяти коды ошибок считываются специальным прибором (сканером), или вручную, при помощи определённой процедуры, которая вводит ECU в режим индикации кодов самодиагностики.
Приведенные примеры, естественно, не исчерпывают всех возможностей использования мультиагентных систем, области применения современных МАС чрезвычайно широки — от систем управления сложными робототехническими устройствами и комплексами до различных сервисных систем и контроля безопасности платежных и банковских систем. MAC, как часть интеллектуальных информационных технологий (ИИТ), представляют собой гибкий инструмент для повышения эффективности управления и самоорганизации современных высокотехнологичных компаний!