SlideShare a Scribd company logo
1 of 30
--------------------------------------------------------------------------------------------------
Лекция № 3
Разработка мультиагентных
систем
Лаборатория Системного ПРограммирования и
ИНформационных Технологий СПбГУ
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 1
Ментальный агент
Агент имеет
цели (желания, desires)
представления о внешнем мире
(убеждения, beliefs),
на которые агент опирается при выборе
действия (реализации намерений,
intentions – множество избранных,
совместимых и достижимых желаний)
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 2
Процесс рассуждений
Восприятие внешней среды (sensory input)
Проверка представлений (belief revision function) – модификация базы
знаний агента в соответствии с информацией о текущем состоянии
окружающей среды. База знаний (beliefs) – множество представлений
агента о состоянии внешней среды и её закономерностях.
Генерации желаний (generate options) – на основе представлений о
текущем состоянии среды и текущих желаниях агента, формируется новое
множество желаний агента. Множество желаний (desires) – полный
набор целей, которых агент хочет достичь. Определят направления, в
которых может развивать агент свою деятельность.
Фильтр желаний (filter) – выбор из множества всех желаний тех, какие
именно агент будет пытаться реализовать, с учетом представлений и уже
выбранных намерений. Множество намерений (intentions) – набор тех
целей, которых агент решил добиваться. Именно намерения будут
реально направлять деятельность агента.
Принятие решения (action) – выбор, какие именно действия следует
предпринять агенту. Основывается на множестве сформированных
намерений и представлениях агента о внешней среде.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
3
Взаимодействие агентов
Согласованность – действия агентов
системы не должны конфликтовать друг с
другом
Эффективность – деятельность системы
в целом должна приводить к достижению
общей цели
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
4
Аспекты взаимодействия
Коммуникационные способности могут значительно меняться в
зависимости от свойств агента и внешней среды способы
коммуникации. В некоторых случаях прямая коммуникация может
быть невозможна, или передаваемая информация может
существенно искажаться.
Виды агентов. В гомогенных (все агенты одного вида) и
гетерогенных (возможны агенты разных видов) мультиагентных
системах применимы различные способы организация
взаимодействия агентов.
Открытость среды. Если внешняя среда является открытой, то
новые агенты могут появиться в любой момент времени. Это
требует особого внимания при проектировании взаимодействия. В
закрытой среде, когда набор агентов фиксирован, появляются
дополнительные возможности, например, возможно более точное и
детальное планирование.
Заинтересованность агентов – агенты системы могут
преследовать единую общую цель или свои индивидуальные цели.
Алгоритмы взаимодействия в этих случаях будут сильно
различаться.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 5
Коммуникация
Отсутствие коммуникации – агенты догадываются о планах
других агентов или действуют в среде, структура которой не
требует коммуникации.
Сигналы – коммуникация осуществляется с помощью
семафоров. Очень простой вид коммуникации, эффективно
работающий при управлении доступом к разделяемым
ресурсам, но слишком низкая выразительная способность
недостаточна для организации коммуникации в
интеллектуальных системах.
Сообщения – агенты обмениваются сообщениями
определенного вида, содержащими относительно небольшое
количество информации в установленной форме. При этом
четко определенный формат сообщения значительно облегчает
его интерпретацию.
Речевой акт (speech act) –посылка сообщение
рассматривается как разновидность действия, совершаемого с
определенной целью.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 6
Аспекты речевого акта
Выражение (locution) – физическое
представление выражения говорящего.
Содержание (illocution) – значение,
которое говорящий намеревался придать
выражению.
Следствие (perlocution) – действие,
которое оказывает выражение на
услышавшего. В теории речевого акта
используется понятие перформатив
(performative) – глагол, употребление
которого в первом лице настоящего
времени означает непосредственное
совершение названного действия.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 7
типы сообщений
Роли агентов в диалогах
активная
пассивная
смешанная
Типы сообщений
запросы (queries)
утверждения (assertions)
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 8
Коммуникационные возможности
Агент Базовый Пассив-
ный
Активный Смешан-
ный
Принимать
утверждения
+ + + +
Принимать
запросы
+ +
Посылать
утверждения
+ + +
Посылать
запросы
+ +
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 9
организации
взаимодействия
Координация (coordination) – начальный уровень,
когда агенты пытаются добиться непротиворечивости
своих оперативных действий.
Кооперация (cooperation) – уровень взаимодействия
возможный в случае системы агентов, преследующих
общие цели. При этом действия агентов могут быть
оптимизированы, например, разделением задач.
Планирование (planning) – разновидность кооперации,
при которой агенты совместно планируют свои действия
по достижению общих целей. В свою очередь
планирование может разделяться на распределенное
и централизованное.
Согласование (negotiation) – взаимодействие между
агентами, преследующими индивидуальные цели, при
котором агенты принимают решения о совместных
действиях с учетом своих собственных целей.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 10
Координация
обязательства (commitments) – обещания
придерживаться оподленного курса действий.
Обязательства обеспечивают некоторую степень
предсказуемости и позволяют агентам учитывать
будущие действия других агентов при выработке
собственных действий, связанных с зависимостями,
глобальными ограничениями и разделяемыми
ресурсами.
соглашения (conventions) – предоставляют метод
управления обязательствами в изменяющейся внешней
среде. Соглашения определяют условия, при которых
обязательства могут быть пересмотрены и определяют
связанное действие, которое следует предпринять:
сохранить, изменить или отказаться от обязательства.
Для зависимых целей важно, чтобы другие связанные
агенты были оповещены об изменениях, которые могут
их затронуть. Такого рода соглашения называют
социальными.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 11
Кооперация
Сеть контрактов (contract net) – модель,
имитирующая поведение фирм при заключении
контрактов и проведении тендеров.
Рыночный механизм (market mechanism) –
модель, имитирующая поведение
производителей и потребителей.
Мультиагентное планирование (multiagent
planning) – некоторое количество планирующих
агентов отвечают за распределение задач.
Организованная структура (organizational
structure) – агенты имеют свои фиксированные
зоны ответственности, в соответствии с
которыми им присваиваются задачи.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 12
Сеть контрактов
Заказчик (manager)
Объявить о задаче, требующей решения
Получить и оценить предложения (bids) от
потенциальных подрядчиков
Присвоить задачу наиболее подходящему подрядчику
Получить результаты выполнения задачи
Подрядчик (contractor)
Получить объявление о задаче
Оценить свои возможности по решению этой задачи
Ответить заказчику (отказаться или сделать
предложение)
Если предложение принято, выполнить задачу
Передать результаты заказчику
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 13
механизм
Информация и ресурсы считаются товарами
(goods), на которые устанавливаются цены
(prices).
Два типа агентов: потребители (consumers),
которые могут обмениваться товарами, и
производители (producers), которые могут
преобразовывать одни товары в другие.
Основная задача агентов-потребителей
заключается в максимизации общей
полезности (utility), с учетом бюджетных
ограничений (budget constrains).
Задача агентов-продавцов – максимизация
дохода (profit).
Поведение итогов по покупке и продаже
товаров
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 14
Мультиагентное планирование на примере
МАС фирмы ''Генезис знаний''
http://www.kg.ru/
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 15
Согласование
Агенты сначала объявляют о своих целях и намерениях,
которые могут конфликтовать, а затем пытаются прийти
к общему соглашению, удовлетворяющему условиям:
Эффективность (efficiency) – агенты не должны
тратить слишком много ресурсов на достижение
соглашения.
Стабильность (stability) – не один из агентов не
должен отходить от согласованных стратегий.
Распределенность (distribution) – не должно
вводиться никакого централизованного алгоритма
управления.
Симметричность (symmetry) – алгоритм не должен
«ущемлять права» отдельных агентов.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 16
Разработка МАС
МАС обычно состоит из следующих основных
компонент:
множество организационных единиц, в котором
выделяются: подмножество агентов,
манипулирующих подмножеством объектов;
множество задач;
среда, т.е. некоторое пространство, в котором
существуют агенты и объекты;
множество отношений между агентами;
множество действий агентов (например,
операций над объектами).
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 17
Типичные реализации
Новый язык программирования, как правило,
родственный логическим языкам.
Расширение объектно-ориентированного языка
набором классов и вспомогательных средств для
реализации интеллектуальных агентов.
Расширение объектно-ориентированного языка
новыми языковыми конструкциями (как правило, в
этом случае также присутствует новая библиотека
классов).
Набор инструментов визуального моделирования +
кодогенерация или непосредственное исполнение. Как
правило, для наиболее детального описания
используется скрипто-подобный язык (существующий
или свой).
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 18
Knowledge Query and Manipulation
Language
KQML – универсальный протокол для обмена
информацией и знаниями
(KQML-performative
:sender <слово>
:receiver <слово>
:language <слово>
:ontology <слово>
:content <выражение>
...)
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 19
xKQML
XML, eXtensible Markup Language
<MESSAGE performative=”KQML-performative”>
<ATTRIBUTE name=”sender” value=”[слово]”/>
<ATTRIBUTE name=”receiver” value=”[слово]”/>
<ATTRIBUTE name=”language” value=”[слово]”/>
<ATTRIBUTE name=”ontology” value=”[слово]”/>
...
<CONTENT>
[выражение]
</CONTENT>
</MESSAGE>
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 20
Knowledge Interchange Format
KIF – язык обмена знаниями, основанный на
формальной логике
(зарплата 015-245-31 ДИТ 1000)
(зарплата 364-726-78 ДСУД 1500)
(зарплата 452-235-14 ДРЗПО 1200)
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 21
Средства разработки МАС
JADE (Java Agent Development Framework)
JACK Intelligent Agents
MadKIT – модульная и масштабируемая мультиагентная платформа,
написанная на Java, поддерживает агентов на разных языках: Java, Python,
Jess, Scheme, BeanSchell
AgentBuilder – коммерческий продукт, агенты общаются на языке KQML
(Knowledge Query and Manipulation Language) и обладают ментальной моделью
Cougaar (Cognitive Agent Architecture) – для построения распределенных МАС с
run-time engine и средствами для визуализации, управления данными и др.
NetLogo – кроссплатформенное программируемое окружение для
программирования МАС
VisualBots – бесплатный мультагентный симулятор в Microsoft Excel с Visual
Basic синтаксисом
MASON – Java библиотека для моделирования МАС
REPAST – набор инструментов для создания систем, основанных на агентах
CogniTAO – С++ платформа разработки автономных МАС, ориентированная на
реальных роботов и виртуальных существ
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 22
Java Agent Development Framework
JADE – широко используемая программная среда для
создания мультиагентных систем и приложений,
поддерживающая FIPA-стандарты для
интеллектуальных агентов.
Включает в себя среду выполнения агентов (агенты
регистрируются и работают под управлением среды),
библиотеку классов, которые используются для
разработки агентных систем, набор графических
утилит для администрирования и наблюдения за
жизнедеятельностью активных агентов.
Программная среда JADE подключается к любом
проекту на языке Java. Агенты JADE могут быть
совершенно разными – от простых, только
реагирующих на события, до сложных ментальных.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 23
JACK
Так же как и JADE расширяет Java своими
классами и предоставляет run-time оболочку,
инструменты для отладки и т.д.
Кроме того расширяет Java набором
дополнительных конструкций,
интерпретируемых препроцессором.
JACK одна из немногих платформ, где
используются модель логики агентов,
основанная убеждениях-желаниях-
намерениях, и встроенные формально-
логические средства планирования работы
агентов.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 24
Области применения
МАС наиболее распространены применительно
к решению задач автоматизации управления
сложными системами, для сбора и обработки
информации, в играх.
Мультиагентные технологии применимы в
управлении мобильными ресурсами, а также в
таких сферах, как проектирование объектов,
промышленное производство, финансовое
планирование и анализ рисков, распознавание
образов, извлечение знаний из данных,
понимание текста и решение других сложных
проблем.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 25
Автоматизация управления ресурсами
предприятий
МАС автоматизируют полный цикл управления
ресурсами в реальном времени, включая:
оперативную реакцию на важные события;
динамическое планирование и адаптивное
перепланирование заказов/ресурсов;
взаимодействие с клиентами, менеджерами и
исполнителями для согласования принимаемых
решений через Интернет или сотовый телефон;
мониторинг исполнения построенных планов и
бизнес-процессов заказчика;
перепланирование расписаний в случае
рассогласования между планом и фактом.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 26
Автоматизация управления ресурсами
предприятий
МАС автоматизируют полный цикл управления
ресурсами в реальном времени, включая:
оперативную реакцию на важные события;
динамическое планирование и адаптивное
перепланирование заказов/ресурсов;
взаимодействие с клиентами, менеджерами и
исполнителями для согласования принимаемых
решений через Интернет или сотовый телефон;
мониторинг исполнения построенных планов и
бизнес-процессов заказчика;
перепланирование расписаний в случае
рассогласования между планом и фактом.
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 27
МАС
фирмы ''Генезис знаний''
http://www.kg.ru/
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 28
Примеры промышленных внедрений
МАС фирмы ''Генезис знаний'' внедрена
в компании занимающихся междугородними
транспортными перевозками (организовано
согласованное планирование парка грузовиков для
менеджеров центра и филиалов)
в компании корпоративного такси (планирование и
распределение текущих заказов в режиме реально
времени)
для аэропорта (система управления наземными
сервисами аэропорта на основе RFID-технологий)
для планирования доставки грузов на МКС
для планирования загрузки складов LEGO
Разработка приложений для мобильных интеллектуальных систем. Лекция 3
----------------------------------------------------------------------------------------------------------- 29
Управление группами
интеллектуальных роботов
Основные принципы коллективного управления
каждый член коллектива группы самостоятельно формирует свое управление
(определяет свои действия) в текущей ситуации
формирование управлений (выбор действий) каждым членом коллектива
осуществляется только на основе информации о коллективной цели, стоящей
перед группой, ситуации в среде в предыдущей отрезок и в текущий момент
времени, своем текущем состоянии и текущих действиях других членов
коллектива;
в качестве оптимального управления (действия) каждого члена коллектива в
текущей ситуации понимается такое управление (действие), которое вносит
максимально возможный вклад в достижение общей (коллективной) цели или,
иными словами, дает максимально возможное приращение целевого
функционала при переходе системы «коллектив-среда»' из текущего состояния
в конечное;
оптимальное управление реализуется членами коллектива в течение
ближайшего отрезка времени в будущем, а затем определяется новое
управление;
допускается принятие компромиссных решений, удовлетворяющих всех членов
коллектива, то есть каждый член коллектива может отказываться от действий,
приносящих ему максимальную выгоду, если эти действия приносят малые
выгоды или даже ущерб коллективу в целом

More Related Content

Similar to Мультиагентніе системі.ppt

инт тех до_ пособие
инт тех до_ пособиеинт тех до_ пособие
инт тех до_ пособиеSerghei Urban
 
презентация3
презентация3презентация3
презентация3student_kai
 
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON
 
Средства отображения информации
Средства отображения информацииСредства отображения информации
Средства отображения информацииСНУЯЭиП
 
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...Anna Toropova
 
Руководство пользователя CLASS.NET
Руководство пользователя CLASS.NETРуководство пользователя CLASS.NET
Руководство пользователя CLASS.NETAlexandr Dzhumurat
 
Getting Started to the System Design
Getting Started to the System DesignGetting Started to the System Design
Getting Started to the System DesignAnatoly Simkin
 
проект трансформер
проект трансформерпроект трансформер
проект трансформерpermskijkrai
 
Tkb presentation-client
Tkb presentation-clientTkb presentation-client
Tkb presentation-clientKen Doe
 
исслед. проект 4 датчика!
исслед. проект 4 датчика!исслед. проект 4 датчика!
исслед. проект 4 датчика!permskijkrai
 
исслед. проект 4 датчика!
исслед. проект 4 датчика!исслед. проект 4 датчика!
исслед. проект 4 датчика!permskijkrai
 
Lection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User StoriesLection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User StoriesYana Brodetski
 
Biosystems a25
Biosystems a25Biosystems a25
Biosystems a25modchip
 
Управляемая эволюция SaaS - доклад на неконференции *aaS предпринимателей 2011
Управляемая эволюция SaaS -  доклад на неконференции *aaS предпринимателей 2011Управляемая эволюция SaaS -  доклад на неконференции *aaS предпринимателей 2011
Управляемая эволюция SaaS - доклад на неконференции *aaS предпринимателей 2011Dmitry Honcharenko
 
Гончаренко Дмитрий (ПланФикс): Управляемая эволюция SaaS
Гончаренко Дмитрий (ПланФикс): Управляемая эволюция SaaSГончаренко Дмитрий (ПланФикс): Управляемая эволюция SaaS
Гончаренко Дмитрий (ПланФикс): Управляемая эволюция SaaSKirill Rubinshteyn
 

Similar to Мультиагентніе системі.ppt (20)

лекция № 11
лекция № 11лекция № 11
лекция № 11
 
инт тех до_ пособие
инт тех до_ пособиеинт тех до_ пособие
инт тех до_ пособие
 
презентация3
презентация3презентация3
презентация3
 
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
SECON'2017, Реуцкий Вадим, О чем мечтают современные андройды: особенности ра...
 
Средства отображения информации
Средства отображения информацииСредства отображения информации
Средства отображения информации
 
ПВПС
ПВПСПВПС
ПВПС
 
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
TMPA-2015 > Инструмент для автоматизированого тестирования систем проведения ...
 
Руководство пользователя CLASS.NET
Руководство пользователя CLASS.NETРуководство пользователя CLASS.NET
Руководство пользователя CLASS.NET
 
Getting Started to the System Design
Getting Started to the System DesignGetting Started to the System Design
Getting Started to the System Design
 
Mas
MasMas
Mas
 
Интеграция / Integration
Интеграция / IntegrationИнтеграция / Integration
Интеграция / Integration
 
проект трансформер
проект трансформерпроект трансформер
проект трансформер
 
Tkb presentation-client
Tkb presentation-clientTkb presentation-client
Tkb presentation-client
 
исслед. проект 4 датчика!
исслед. проект 4 датчика!исслед. проект 4 датчика!
исслед. проект 4 датчика!
 
исслед. проект 4 датчика!
исслед. проект 4 датчика!исслед. проект 4 датчика!
исслед. проект 4 датчика!
 
Lection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User StoriesLection 23-24. Use Cases+ User Stories
Lection 23-24. Use Cases+ User Stories
 
Biosystems a25
Biosystems a25Biosystems a25
Biosystems a25
 
Artem abm
Artem abmArtem abm
Artem abm
 
Управляемая эволюция SaaS - доклад на неконференции *aaS предпринимателей 2011
Управляемая эволюция SaaS -  доклад на неконференции *aaS предпринимателей 2011Управляемая эволюция SaaS -  доклад на неконференции *aaS предпринимателей 2011
Управляемая эволюция SaaS - доклад на неконференции *aaS предпринимателей 2011
 
Гончаренко Дмитрий (ПланФикс): Управляемая эволюция SaaS
Гончаренко Дмитрий (ПланФикс): Управляемая эволюция SaaSГончаренко Дмитрий (ПланФикс): Управляемая эволюция SaaS
Гончаренко Дмитрий (ПланФикс): Управляемая эволюция SaaS
 

Мультиагентніе системі.ppt

  • 1. -------------------------------------------------------------------------------------------------- Лекция № 3 Разработка мультиагентных систем Лаборатория Системного ПРограммирования и ИНформационных Технологий СПбГУ Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 1
  • 2. Ментальный агент Агент имеет цели (желания, desires) представления о внешнем мире (убеждения, beliefs), на которые агент опирается при выборе действия (реализации намерений, intentions – множество избранных, совместимых и достижимых желаний) Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 2
  • 3. Процесс рассуждений Восприятие внешней среды (sensory input) Проверка представлений (belief revision function) – модификация базы знаний агента в соответствии с информацией о текущем состоянии окружающей среды. База знаний (beliefs) – множество представлений агента о состоянии внешней среды и её закономерностях. Генерации желаний (generate options) – на основе представлений о текущем состоянии среды и текущих желаниях агента, формируется новое множество желаний агента. Множество желаний (desires) – полный набор целей, которых агент хочет достичь. Определят направления, в которых может развивать агент свою деятельность. Фильтр желаний (filter) – выбор из множества всех желаний тех, какие именно агент будет пытаться реализовать, с учетом представлений и уже выбранных намерений. Множество намерений (intentions) – набор тех целей, которых агент решил добиваться. Именно намерения будут реально направлять деятельность агента. Принятие решения (action) – выбор, какие именно действия следует предпринять агенту. Основывается на множестве сформированных намерений и представлениях агента о внешней среде. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 3
  • 4. Взаимодействие агентов Согласованность – действия агентов системы не должны конфликтовать друг с другом Эффективность – деятельность системы в целом должна приводить к достижению общей цели Разработка приложений для мобильных интеллектуальных систем. Лекция 3 4
  • 5. Аспекты взаимодействия Коммуникационные способности могут значительно меняться в зависимости от свойств агента и внешней среды способы коммуникации. В некоторых случаях прямая коммуникация может быть невозможна, или передаваемая информация может существенно искажаться. Виды агентов. В гомогенных (все агенты одного вида) и гетерогенных (возможны агенты разных видов) мультиагентных системах применимы различные способы организация взаимодействия агентов. Открытость среды. Если внешняя среда является открытой, то новые агенты могут появиться в любой момент времени. Это требует особого внимания при проектировании взаимодействия. В закрытой среде, когда набор агентов фиксирован, появляются дополнительные возможности, например, возможно более точное и детальное планирование. Заинтересованность агентов – агенты системы могут преследовать единую общую цель или свои индивидуальные цели. Алгоритмы взаимодействия в этих случаях будут сильно различаться. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 5
  • 6. Коммуникация Отсутствие коммуникации – агенты догадываются о планах других агентов или действуют в среде, структура которой не требует коммуникации. Сигналы – коммуникация осуществляется с помощью семафоров. Очень простой вид коммуникации, эффективно работающий при управлении доступом к разделяемым ресурсам, но слишком низкая выразительная способность недостаточна для организации коммуникации в интеллектуальных системах. Сообщения – агенты обмениваются сообщениями определенного вида, содержащими относительно небольшое количество информации в установленной форме. При этом четко определенный формат сообщения значительно облегчает его интерпретацию. Речевой акт (speech act) –посылка сообщение рассматривается как разновидность действия, совершаемого с определенной целью. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 6
  • 7. Аспекты речевого акта Выражение (locution) – физическое представление выражения говорящего. Содержание (illocution) – значение, которое говорящий намеревался придать выражению. Следствие (perlocution) – действие, которое оказывает выражение на услышавшего. В теории речевого акта используется понятие перформатив (performative) – глагол, употребление которого в первом лице настоящего времени означает непосредственное совершение названного действия. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 7
  • 8. типы сообщений Роли агентов в диалогах активная пассивная смешанная Типы сообщений запросы (queries) утверждения (assertions) Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 8
  • 9. Коммуникационные возможности Агент Базовый Пассив- ный Активный Смешан- ный Принимать утверждения + + + + Принимать запросы + + Посылать утверждения + + + Посылать запросы + + Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 9
  • 10. организации взаимодействия Координация (coordination) – начальный уровень, когда агенты пытаются добиться непротиворечивости своих оперативных действий. Кооперация (cooperation) – уровень взаимодействия возможный в случае системы агентов, преследующих общие цели. При этом действия агентов могут быть оптимизированы, например, разделением задач. Планирование (planning) – разновидность кооперации, при которой агенты совместно планируют свои действия по достижению общих целей. В свою очередь планирование может разделяться на распределенное и централизованное. Согласование (negotiation) – взаимодействие между агентами, преследующими индивидуальные цели, при котором агенты принимают решения о совместных действиях с учетом своих собственных целей. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 10
  • 11. Координация обязательства (commitments) – обещания придерживаться оподленного курса действий. Обязательства обеспечивают некоторую степень предсказуемости и позволяют агентам учитывать будущие действия других агентов при выработке собственных действий, связанных с зависимостями, глобальными ограничениями и разделяемыми ресурсами. соглашения (conventions) – предоставляют метод управления обязательствами в изменяющейся внешней среде. Соглашения определяют условия, при которых обязательства могут быть пересмотрены и определяют связанное действие, которое следует предпринять: сохранить, изменить или отказаться от обязательства. Для зависимых целей важно, чтобы другие связанные агенты были оповещены об изменениях, которые могут их затронуть. Такого рода соглашения называют социальными. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 11
  • 12. Кооперация Сеть контрактов (contract net) – модель, имитирующая поведение фирм при заключении контрактов и проведении тендеров. Рыночный механизм (market mechanism) – модель, имитирующая поведение производителей и потребителей. Мультиагентное планирование (multiagent planning) – некоторое количество планирующих агентов отвечают за распределение задач. Организованная структура (organizational structure) – агенты имеют свои фиксированные зоны ответственности, в соответствии с которыми им присваиваются задачи. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 12
  • 13. Сеть контрактов Заказчик (manager) Объявить о задаче, требующей решения Получить и оценить предложения (bids) от потенциальных подрядчиков Присвоить задачу наиболее подходящему подрядчику Получить результаты выполнения задачи Подрядчик (contractor) Получить объявление о задаче Оценить свои возможности по решению этой задачи Ответить заказчику (отказаться или сделать предложение) Если предложение принято, выполнить задачу Передать результаты заказчику Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 13
  • 14. механизм Информация и ресурсы считаются товарами (goods), на которые устанавливаются цены (prices). Два типа агентов: потребители (consumers), которые могут обмениваться товарами, и производители (producers), которые могут преобразовывать одни товары в другие. Основная задача агентов-потребителей заключается в максимизации общей полезности (utility), с учетом бюджетных ограничений (budget constrains). Задача агентов-продавцов – максимизация дохода (profit). Поведение итогов по покупке и продаже товаров Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 14
  • 15. Мультиагентное планирование на примере МАС фирмы ''Генезис знаний'' http://www.kg.ru/ Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 15
  • 16. Согласование Агенты сначала объявляют о своих целях и намерениях, которые могут конфликтовать, а затем пытаются прийти к общему соглашению, удовлетворяющему условиям: Эффективность (efficiency) – агенты не должны тратить слишком много ресурсов на достижение соглашения. Стабильность (stability) – не один из агентов не должен отходить от согласованных стратегий. Распределенность (distribution) – не должно вводиться никакого централизованного алгоритма управления. Симметричность (symmetry) – алгоритм не должен «ущемлять права» отдельных агентов. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 16
  • 17. Разработка МАС МАС обычно состоит из следующих основных компонент: множество организационных единиц, в котором выделяются: подмножество агентов, манипулирующих подмножеством объектов; множество задач; среда, т.е. некоторое пространство, в котором существуют агенты и объекты; множество отношений между агентами; множество действий агентов (например, операций над объектами). Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 17
  • 18. Типичные реализации Новый язык программирования, как правило, родственный логическим языкам. Расширение объектно-ориентированного языка набором классов и вспомогательных средств для реализации интеллектуальных агентов. Расширение объектно-ориентированного языка новыми языковыми конструкциями (как правило, в этом случае также присутствует новая библиотека классов). Набор инструментов визуального моделирования + кодогенерация или непосредственное исполнение. Как правило, для наиболее детального описания используется скрипто-подобный язык (существующий или свой). Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 18
  • 19. Knowledge Query and Manipulation Language KQML – универсальный протокол для обмена информацией и знаниями (KQML-performative :sender <слово> :receiver <слово> :language <слово> :ontology <слово> :content <выражение> ...) Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 19
  • 20. xKQML XML, eXtensible Markup Language <MESSAGE performative=”KQML-performative”> <ATTRIBUTE name=”sender” value=”[слово]”/> <ATTRIBUTE name=”receiver” value=”[слово]”/> <ATTRIBUTE name=”language” value=”[слово]”/> <ATTRIBUTE name=”ontology” value=”[слово]”/> ... <CONTENT> [выражение] </CONTENT> </MESSAGE> Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 20
  • 21. Knowledge Interchange Format KIF – язык обмена знаниями, основанный на формальной логике (зарплата 015-245-31 ДИТ 1000) (зарплата 364-726-78 ДСУД 1500) (зарплата 452-235-14 ДРЗПО 1200) Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 21
  • 22. Средства разработки МАС JADE (Java Agent Development Framework) JACK Intelligent Agents MadKIT – модульная и масштабируемая мультиагентная платформа, написанная на Java, поддерживает агентов на разных языках: Java, Python, Jess, Scheme, BeanSchell AgentBuilder – коммерческий продукт, агенты общаются на языке KQML (Knowledge Query and Manipulation Language) и обладают ментальной моделью Cougaar (Cognitive Agent Architecture) – для построения распределенных МАС с run-time engine и средствами для визуализации, управления данными и др. NetLogo – кроссплатформенное программируемое окружение для программирования МАС VisualBots – бесплатный мультагентный симулятор в Microsoft Excel с Visual Basic синтаксисом MASON – Java библиотека для моделирования МАС REPAST – набор инструментов для создания систем, основанных на агентах CogniTAO – С++ платформа разработки автономных МАС, ориентированная на реальных роботов и виртуальных существ Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 22
  • 23. Java Agent Development Framework JADE – широко используемая программная среда для создания мультиагентных систем и приложений, поддерживающая FIPA-стандарты для интеллектуальных агентов. Включает в себя среду выполнения агентов (агенты регистрируются и работают под управлением среды), библиотеку классов, которые используются для разработки агентных систем, набор графических утилит для администрирования и наблюдения за жизнедеятельностью активных агентов. Программная среда JADE подключается к любом проекту на языке Java. Агенты JADE могут быть совершенно разными – от простых, только реагирующих на события, до сложных ментальных. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 23
  • 24. JACK Так же как и JADE расширяет Java своими классами и предоставляет run-time оболочку, инструменты для отладки и т.д. Кроме того расширяет Java набором дополнительных конструкций, интерпретируемых препроцессором. JACK одна из немногих платформ, где используются модель логики агентов, основанная убеждениях-желаниях- намерениях, и встроенные формально- логические средства планирования работы агентов. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 24
  • 25. Области применения МАС наиболее распространены применительно к решению задач автоматизации управления сложными системами, для сбора и обработки информации, в играх. Мультиагентные технологии применимы в управлении мобильными ресурсами, а также в таких сферах, как проектирование объектов, промышленное производство, финансовое планирование и анализ рисков, распознавание образов, извлечение знаний из данных, понимание текста и решение других сложных проблем. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 25
  • 26. Автоматизация управления ресурсами предприятий МАС автоматизируют полный цикл управления ресурсами в реальном времени, включая: оперативную реакцию на важные события; динамическое планирование и адаптивное перепланирование заказов/ресурсов; взаимодействие с клиентами, менеджерами и исполнителями для согласования принимаемых решений через Интернет или сотовый телефон; мониторинг исполнения построенных планов и бизнес-процессов заказчика; перепланирование расписаний в случае рассогласования между планом и фактом. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 26
  • 27. Автоматизация управления ресурсами предприятий МАС автоматизируют полный цикл управления ресурсами в реальном времени, включая: оперативную реакцию на важные события; динамическое планирование и адаптивное перепланирование заказов/ресурсов; взаимодействие с клиентами, менеджерами и исполнителями для согласования принимаемых решений через Интернет или сотовый телефон; мониторинг исполнения построенных планов и бизнес-процессов заказчика; перепланирование расписаний в случае рассогласования между планом и фактом. Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 27
  • 28. МАС фирмы ''Генезис знаний'' http://www.kg.ru/ Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 28
  • 29. Примеры промышленных внедрений МАС фирмы ''Генезис знаний'' внедрена в компании занимающихся междугородними транспортными перевозками (организовано согласованное планирование парка грузовиков для менеджеров центра и филиалов) в компании корпоративного такси (планирование и распределение текущих заказов в режиме реально времени) для аэропорта (система управления наземными сервисами аэропорта на основе RFID-технологий) для планирования доставки грузов на МКС для планирования загрузки складов LEGO Разработка приложений для мобильных интеллектуальных систем. Лекция 3 ----------------------------------------------------------------------------------------------------------- 29
  • 30. Управление группами интеллектуальных роботов Основные принципы коллективного управления каждый член коллектива группы самостоятельно формирует свое управление (определяет свои действия) в текущей ситуации формирование управлений (выбор действий) каждым членом коллектива осуществляется только на основе информации о коллективной цели, стоящей перед группой, ситуации в среде в предыдущей отрезок и в текущий момент времени, своем текущем состоянии и текущих действиях других членов коллектива; в качестве оптимального управления (действия) каждого члена коллектива в текущей ситуации понимается такое управление (действие), которое вносит максимально возможный вклад в достижение общей (коллективной) цели или, иными словами, дает максимально возможное приращение целевого функционала при переходе системы «коллектив-среда»' из текущего состояния в конечное; оптимальное управление реализуется членами коллектива в течение ближайшего отрезка времени в будущем, а затем определяется новое управление; допускается принятие компромиссных решений, удовлетворяющих всех членов коллектива, то есть каждый член коллектива может отказываться от действий, приносящих ему максимальную выгоду, если эти действия приносят малые выгоды или даже ущерб коллективу в целом