Агенты и их виды Курс «Мультиагентные интеллектуальные системы» Иванов А.М.*, [email protected] Некоторые права защищены. * МГТУ им. Н.Э.Баумана, каф. ИУ-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. (о модели предметной области) Вопросы есть?