lect03 - Agents & Types

advertisement
Агенты и их виды
Курс «Мультиагентные интеллектуальные системы»
Иванов А.М.*, aivanoff@nm.ru
Некоторые права защищены.
* МГТУ им. Н.Э.Баумана, каф. ИУ-3, 2008
Структура курса в картинках
Координация
агентов, их
взаимодействия
Агент и
его
«мозги»
Стандарты
Агентные
платформы
Методологии
разработки
Место лекции в общем курсе


Введение
Теория агента






Одинокий изолированный агент
Теория многоагентных систем
Агентные платформы
Стандарты
Методологии разработки
Перспективы
Содержание




Агент и его свойства
Агентные среды и их свойства
Теория одинокого агента
Виды агентов (архитектуры агентов)
Что такое «агент»?

Агент – система, находящаяся в среде,
действующая в среде и воспринимающая среду
*Michael Wooldridge, “Reasoning about Rational Agents”, 2000.
Свойства агента

Основные [1]






Автономность
Реактивность
Проактивность
Социальность
Рациональность
Прочие


…>100 штук
в основном, связаны с конкретной областью
использования
Автономность


Агент работает без ежесекундного
вмешательства и контроля человека
Агент должен обучаться всему, что может
освоить для компенсации неполных или
неправильных априорных знаний [2]
*Рис. взят из A Multi-Plane State Machine Agent Model, FIPA Methodology TC Glossary
Реактивность




Если среда, в которой работает система,
неизменна, то системе нет необходимости
беспокоиться в неправильности своих действий
В реальном мире информация является
неполной и часто меняется. Множество сред –
являются изменяющимися
Трудно создавать ПО для динамичных
предметных областей, так как существует
возможность неправильных действий
Реактивная система сохраняет взаимодействие
со средой и реагирует на изменения
Проактивность




Кроме реакций от агента требуются
совершение действий
Необходимо целевое поведение
Проактивность – постановка агентом
целей и попытки их достичь (не только в
ответ на события среды, но и
самостоятельно)
Распознавание возможностей и ситуаций
Баланс проактивности и
реактивности




Агент должен быстро реагировать на изменения
среды
Агент должен выполнять систематическую
работу в соответствии со своими
долговременными целями
Цели могут конфликтовать друг с другом
Баланс кратковременных и долговременных
целей
Социальность



Реальный мир многоагентная среда,
нельзя достичь своих целей, не принимая
в расчет других агентов
Некоторые цели можно достичь только в
кооперации с другими агентами
Социальность – способность
взаимодействовать (возможно
сотрудничать) с другими агентами
(возможно людьми) при помощи какогонибудь языка коммуникации агентов
Рациональность


Агент действует для достижения своих
целей
Агент действует «правильно» оптимально согласно некоторому
критерию
Другие свойства





Мобильность – способность агента
перемещаться в сети (и/или в среде)
Правдивость – агент сознательно не сообщает
неверную информацию
Доброжелательность – агенты не имеют
конфликтующих целей и поэтому каждый из них
выполняет все, о чем его попросят другие
Обучение – улучшение работы агента со
временем
Эмоциональность
Содержание




Агент и его свойства
Агентные среды и их свойства
Теория одинокого агента
Виды агентов (архитектуры агентов)
Агентные среды

Агент должен
находиться в среде




Действия агента
выполняются в среде
Объект восприятия агента
является частью среды
Среда имеет множество
параметров среды,
влияющих на архитектуру
агента
Параметры определяются
с точки зрения агента
Свойства среды






Полностью обозримая/частично обозримая
Детерминированная/случайная
Эпизодическая/последовательная
Дискретная/непрерывная
Статичная/динамичная
Одноагентная/многоагентная
подробнее...
Свойства среды – 2

Полностью обозримая



Сенсоры агента полностью воспринимают состояние
среды в каждый момент времени. Агент может получить
полную, точную, своевременную информацию о
состоянии среды
Пример: искусственные среды
Частично обозримая


Из-за зашумленных, неточных сенсоров или ограничений
области восприятия
Пример: реальные физические системы
Свойства среды – 3

Детерминированная





Любое действие приводит к единственному
гарантированному результату. Отсутствует
неопределенность состояния, вызванного действием
Последующее состояние определяется предыдущим
состоянием и действием агента
Среда должна быть полностью обозримой
Пример: искусственные среды
Случайная



Внешние по отношению к агенту события
Неоднозначность/нечеткость реакции среды на действия
агента
Пример: реальные физические системы
Свойства среды – 4

Эпизодическая





Поведение агента можно разделить на отдельные
эпизоды
Эпизоды не связаны между собой
Не нужно думать вперед
Пример: задачи классификации
Последовательная




Эпизоды связаны между собой или отсутствуют
Кратковременные действия имеют долговременные
последствия
Нужно планировать свои действия
Пример: шахматы
Свойства среды – 5

Статичная




Может меняться только от действий агента
Не нужно смотреть на среду во время принятия решений
Пример: разгадывание кроссворда
Динамичная



Может меняться от внешних по отношению к агенту
факторов
Среда может измениться во время принятия решений
 Думать надо быстрее
Пример: шахматы, вождение а/м
Свойства среды – 6

Дискретная



Дискретность состояния или времени, или
процесса восприятия, или действий
Пример: шахматы
Непрерывная

Пример: вождение а/м
Свойства среды – 7

Одноагентная



Другие агенты не влияют на достижение цели
данного агента
Пример: задачи классификации
Многоагентная


Пример: шахматы – конкурентная среда
Пример: вождение а/м – кооперативная среда
Содержание




Агент и его свойства
Агентные среды и их свойства
Теория одинокого агента
Виды агентов (архитектуры агентов)
Агент. Под капотом…
Сенсоры
???
Среда
Агент
Исполнители

Агент – система, находящаяся в среде,
действующая в среде и воспринимающая среду [2]
Подведем теорию*…

Допустим, что среда может быть в любом из
конечного набора E мгновенных состояний

Агенты имеют набор действий, зависящий от
текущего состояния и изменяющий среду:

Работа агента а среде является
последовательностью мгновенных состояний
среды и его действий:
* Подробнее см. [1], стр. 31
Подведем теорию…



R – набор всех возможных конечных
последовательностей из E и Ac
RAc – подмножество R, заканчивающееся
действием
RE – подмножество R, заканчивающееся
состоянием среды
Функция перехода

Представляет поведение среды (отображает работу агента
на набор возможных состояний среды):

Отметим, что среда:
 Зависит от истории
 Недетерминированная
Если (r)=, то не существует возможного состояния для
работы r. В этом случае считаем, что система закончила
свою работу.
Формально, среда Env =E,e0,, где E - набор состояний
среды, e0 E - начальное состояние,  - функция перехода


Агент

Функция, отображающая деятельность
агента на его действия:

Агент принимает решение о том, какое
действие совершить на основе истории
системы, привязанной ко времени
Система



Пара, содержащая агента и среду:
Любую систему можно связать с набором
возможных работ агента Ag в среде Env
при помощи R(Ag, Env)
(Считаем, что R(Ag, Env) содержит только
ограниченные работы, например: поиск
решения)
Система – 2
Формально, последовательность
представляет работу агента Ag в среде Env
если:
1. e0 – начальное состояние среды Env
2. 0 = Ag(e0) и
3. Для любого u > 0,
Содержание




Агент и его свойства
Агентные среды и их свойства
Теория одинокого агента
Виды агентов (архитектуры агентов)
Виды агентов*


Реактивные (правило-действие)
Символические (рассуждения, логический
вывод)

Гибридные агенты (реактивноделиберативные)

Обучающиеся агенты
* Обобщенная в силу моего понимания классификация на основе Рассела&Норвига и Вулдриджа
Реактивные агенты

Принцип работы



Правила типа ситуация-действие. Выбирают
при помощи правил наиболее подходящие
действия к конкретной ситуации
Сложное поведение системы возникает
(emergent) из простых взаимодействий
отдельных агентов
Виды


Чисто реактивный (рефлексный)
С внутренним состоянием
Простой реактивный агент

Принятие решения только на основе
текущего момента, без оглядки на
прошлое
Формально:

Пример: термостат

Простой реактивный агент
Пример



Сенсоры: положение в пространстве, чистота
Действия:
Возможное поведение: если текущая область грязная,
пылесосить, в противном случае перейти в другую
область
Простой реактивный агент
Наблюдаемая функция агента
Простой реактивный агент
Схема
Агент
Сенсоры
Среда
На что мир похож сейчас
Какое действие нужно
сделать сейчас
Условные правила действий



Исполнители
Поведение основывается на ассоциациях вход/выход
Ассоциации описываются как правила условие-действие (if-then,
продукции)
Алгоритм: глянуть на мир, найти подходящее правило,
выполнить указанное в нем действие
Агент с состоянием



Если среда не полностью обозримая, то
можно сохранять то, что в данный момент
нельзя увидеть
Агент имеет внутреннюю модель внешней
среды
Пример: вождение – необходимо помнить
где могут быть машины, которых в данный
момент не видно, тормозит ли впереди
идущая машина
Агент с состоянием
Алгоритм





Обозреть среду
Обновить внутреннее состояние
Выбрать действие
Выполнить действие
Повторить цикл
Агент с состоянием
Схема
Агент
Состояние
Как мир развивается
Сенсоры
На что мир похож сейчас
Среда
Что делает мое действие
Какое действие нужно
сделать сейчас
Условные правила действий
Исполнители

Поведение основывается на ассоциациях вход/выход и памяти о среде

Ассоциации описываются как правила условие-действие (if-then,
продукции)

Алгоритм: глянуть на мир и обновить представление о мире, найти
подходящее правило, выполнить указанное в нем действие
Символьные агенты

Принцип работы



Виды1 – схематично, в общем, слишком
абстрактные, по способу самоудовлетворения



Используется формальное представление модели
окружающей среды в символьной форме
Решения принимаются на основе формальных
рассуждений (логический вывод)
Целеориентированный
Ищущий выгоду
Виды2 – по архитектуре


Дедуктивный (делиберативный)
Практически мыслящий
Агент с целью



Знаний о состоянии среды не всегда
достаточно для решения задачи: на
перекрестке можно повернуть по-разному
Необходимы цели – желательные ситуации
Пример: цель такси – доставка
пассажиров вовремя в место назначения
Агент с целью
Схема
Агент
Сенсоры
Как мир развивается
На что мир похож сейчас
Как повлияют мои действия
На что это будет похоже,
если я сделаю действие А
Цели
Какое действие нужно
сделать сейчас
Среда
Состояние
Исполнители


Поведение основывается на памяти о среде, знаниях о
своих возможностях и целях
Алгоритм: агенту приходится размышлять: «Что
произойдет, если я сделаю то-то?», «Позволит ли это мне
достичь цели?» (поиск, планирование)
Агент, ищущий выгоду



Часто для получения высококачественного
поведения одного лишь учета целей
(достигнута/недостигнута) недостаточно:
существует множество путей для такси в городе
Необходима функция полезности – насколько
удовлетворенным станет агент, если достигнет
определенного состояния или их
последовательности
Пример: функция полезности такси –
минимизация времени или расхода топлива
Агент, ищущий выгоду
Схема
Агент
Сенсоры
Как мир развивается
На что мир похож сейчас
Как повлияют мои действия
На что это будет похоже,
если я сделаю действие А
Выгода
Как счастлив буду я в
следующем состоянии
Среда
Состояние
Какое действие нужно
сделать сейчас
Исполнители


Поведение основывается на памяти о среде, знаниях о своих
возможностях и выгоде от действий (или достижения
определенных целей)
Алгоритм: агенту приходится размышлять: «Что произойдет,
если я сделаю то-то?», «Позволит ли это мне достичь
максимального удовлетворения?» (поиск, планирование)
Дедуктивный агент
Deductive (deliberative)

D – совокупность наборов утверждений в логике первого порядка.

Алгоритм работы


Воспринимаем

Обновляем внутреннее состояние

Методом дедукции находим действие в базе утверждений (пытаемся
доказать путем перебора всех возможных действий, что какое-то из них
подходит для данного состояния среды)

Считаем это действие оптимальным и выполняем его. Повторяем цикл
Свойства

Простая семантика

Можно реализовать только простое поведение без построения планов

Сложности с представлением времени и сложных данных (видео)

Конечное время вывода не гарантировано
Практически мыслящий
Practical Reasoning


Модель данных

Beliefs (убеждения) – состояние мира

Desires (желания) – выбор между возможными состояниями

Intentions (намерения) – фиксация для достижения конкретного
состояния
Алгоритм

Обновление внутреннего состояния

Чего мы хотим достичь (deliberation)?


Выявление вариантов

Выбор между вариантами
Как этого достичь (means-ends reasoning)?

Планировщик принимает Intentions=задачу, Beliefs, доступные действия

Выдает план – последовательность действий, рецепт достижения цели
Реактивный vs символьный
Достоинства и недостатки
Реактивный агент

Подходит для реализации шаблонного
поведения (биологические системы)

Простота и устойчивость к сбоям

Производительность и вычислительная
разрешимость

Необходимость полного ситуационного
определения всех возможных активностей
агентов

Агенты без модели среды должны иметь
достаточно информации от локальной среды

Сложность создания обучающихся агентов

Сложность в проектировании агентов с
многочисленными вариантами поведения
(динамическим взаимодействием, ролями)
Символьный агент

Символьное представление удобно
и достаточно хорошо проработано

Существуют языки и машины
вывода

Доказательство теорем в логике
предикатов 1-ого порядка может
продолжаться неограниченно долго

Создание точной и полной модели
мира, процессов и механизмов
рассуждения представляют
определенные трудности
Гибриды

Наиболее перспективный подход
Комбинирует подходы реактивных и делиберативных
архитектур

Разновидности

Проблемы



Управление взаимодействием между разными уровнями
Усложнение связей между уровнями
Гибриды. Разновидности

Горизонтальная





Все уровни напрямую подключены
к сенсорам и манипуляторам.
Каждый уровень ведет себя как
агент, получая данные и предлагая
действия
Концептуальная простота
Нужно следить за целостностью
результирующего поведения
Вертикальная



Сенсоры и манипуляторы
взаимодействуют с вышележащим
и нижележащим уровнями
Меньше взаимодействий между
слоями
Ниже устойчивость к отказам
TouringMachnes – архитектура с
горизонтальными слоями





Область: мультиагентная
навигация
Реактивный слой –
мгновенный ответ
Планирующий слой – работа
день-за-днем в нормальных
условиях. Частичный
планировщик
Уровень моделирования –
предсказывает конфликты и
генерирует цели для их
разрешения.
Метапланировщик
Система управления –
решает, какой из слоев может
контролировать агента
InteRRaP – архитектура с
вертикальными слоями





Многослойная BDI
архитектура.
Каждый из уровней
имеет свою BDIмодель и связь с
собственной базой
знаний
Слой поведения –
реактивное поведение
Слой планирования –
планирование для
достижения целей
Слой коопераций –
социальные
взаимодействия
Обучающийся агент



Обучение позволяет агенту работать в
изначально неизвестных вариантах среды,
становиться более компетентным по-сравнению
с начальными данными
Обучение – процесс модификации каждого
компонента агента для улучшения общей
производительности агента
Пример: водитель такси получает меньшую
выручку из-за лихой езды
Обучающийся агент
Схема
Стандарт производительности
Агент
Сенсоры
Критик
Обучающий
компонент
знания
изменения
Производительный
компонент
цели
обучения
Среда
обратная
связь
Генератор проблем
Исполнители

Производительный компонент – то, что до этого рассматривалось как агент

Обучающий компонент вносит изменения в ПК

Критик оценивает действия агента (ПК)

Стандарт производительности позволяет оценить деятельность агента, должен
быть неизменным

Генератор проблем позволяет получать новый опыт
Источники
1.
2.
M. Wooldridge. Introduction to MultiAgent
Systems. Wiley, 2002
С. Рассел, П. Норвиг. Искусственный
интеллект. Современный подход.
Вильямс, 2007.
Дополнительные источники


О 60-летнем цикле в науке

Азимов А. Генетический код. От теории эволюции до расшифровки ДНК.
Центрполиграф, 2006

Уилсон Р.А. Прометей восставший. Психология эволюции. София, 1998
Сущность человека и общество

Томпсон А. А., Стрикленд III А. Дж. Стратегический менеджмент: концепции и ситуации
для анализа. Вильямс, 2003

Протопопов А. Трактат о любви, как её понимает жуткий зануда.
http://protopop.chat.ru/tl3.html

Также, см. Прометей восставший.

[Parnas02]
D.L. Parnas, P. Eng, and M. Soltys, "Basic Science for Software
Developers," Dept. of Computing and Software, Faculty of Engineering,
McMaster Univ., Hamilton, ON, Canada.[Online] Report, 2002. (о пользе науки
в инженерном образовании)

[Evans03]
E. Evans, Domain-Driven Design: Tackling Complexity in the
Heart of Software. Addison-Wesley Professional, 2003. (о модели предметной
области)
Вопросы есть?
Download