Интеллектуальные системы на базе мобильных платформ Интеллектуальные агенты Дмитрий Крыжановский Singularis Lab, LLC v 1.1 26.08.2014 Содержание 1. 2. 3. 4. Что такое искусственный интеллект Понятие интеллектуального (рационального) агента Проблемная среда и её характеристики Типы агентов и их архитектура Компьютерный континуум'14 1.3. Интеллектуальные агенты 2 Что такое искусственный интеллект? Компьютерный континуум'14 1.3. Интеллектуальные агенты 3 Что такое искусственный интеллект? Компьютерный континуум'14 1.3. Интеллектуальные агенты 4 Первые шаги ИИ • Становление искусственного интеллекта происходит одновременно с изобретением вычислительной техники. Компьютерный континуум'14 1.3. Интеллектуальные агенты 5 Первые шаги ИИ • Становление искусственного интеллекта происходит одновременно с изобретением вычислительной техники. Компьютерный континуум'14 1.3. Интеллектуальные агенты 6 Четыре подхода Подобно людям Думать Действовать Рационально Мы не знаем, как думают Рассуждать – ещё не люди значит делать, не всегда рассуждения и действия связаны (рефлексы, притча об осле и двух стогах сена) Действия людей далеко не всегда эффективны Самый рациональный подход • Рациональность – способность эффективно решать поставленную задачу при заданных показателях эффективности и знаниях о том, какие решения правильны и допустимы; достижение наилучшего ожидаемого результата. Компьютерный континуум'14 1.3. Интеллектуальные агенты 7 Примеры агентов Датчики (сенсоры) уши глаза другие органы чувств входные файлы самые разные датчики дальномеры действия пользователя input камеры output руки ноги запись в файл манипуляторы вывод на экран катки Исполнительные механизмы Компьютерный континуум'14 1.3. Интеллектуальные агенты 8 Понятие агента Агент Датчики Восприятие Решения Исполнительные механизмы Компьютерный континуум'14 Действия 1.3. Интеллектуальные агенты Внешняя среда • Агент – это сущность, которая может воспринимать свою среду с помощью датчиков (сенсоров) и воздействовать на неё с помощью исполнительных механизмов (реальных – актуаторов или виртуальных – эффекторов). 9 Понятие агента • Восприятие – ◦ сенсорные данные, полученные агентом в данный момент времени; ◦ сам процесс получения агентом информации об окружающем мире. • Последовательность актов восприятия – история всех данных, когда-либо осуществлённых агентом. Функция агента : Акты восприятия → Действие • Выбор действия в данный момент времени может зависеть от всей предыстории актов восприятия, когда-либо осуществлённых агентом. Компьютерный континуум'14 1.3. Интеллектуальные агенты 10 Понятие агента • Функция агента – абстрактное математическое описание того, что должен делать агент. • Программа агента – конкретная физическая реализация функции агента (как именно агент должен действовать). Задача искусственного интеллекта – разработка программы агента. • Для одних и тех же входных данных возможны различные варианты действий (соответственно, функций и программ агентов). ◦ Какой из них правильный? ◦ Тот, при котором агент наиболее успешно решает поставленную задачу. Компьютерный континуум'14 1.3. Интеллектуальные агенты 11 Рациональный агент • Рациональный агент – такой агент, который эффективно решает поставленные перед ним задачи, функционирует правильным образом. ◦ В чём измеряется «эффективность» и «правильность»? ◦ Вводятся специальные метрики – показатели производительности (критерии успеха). Спецификация задачи агента: • показатели производительности • описание среды • исполнительные механизмы • датчики Компьютерный континуум'14 1.3. Интеллектуальные агенты 12 Рациональный агент Рациональность зависит от следующих факторов (коррелированы со спецификацией задачи агента): • показатели производительности • знания агента о среде, приобретённые ранее • действия, которые могут быть выполнены агентом • последовательность актов восприятия Для каждой возможной последовательности актов восприятия рациональный агент должен выбирать действие, которое, как ожидается, максимизирует его показатели производительности, с учётом информации, извлечённой из актов восприятия, и имеющихся знаний о среде. Компьютерный континуум'14 1.3. Интеллектуальные агенты 13 Показатели производительности • Показатели производительности не универсальны, для разных задач (и даже для разных условий одной и той же задачи) они могут быть различными. • Как правило, показатели производительности содержат по несколько критериев (переменных), которые могут конфликтовать друг с другом: улучшение по одному из них ведёт к ухудшению по другому. • Показатели производительности должны отражать, какой цели мы хотим достичь, а не как её достичь. Компьютерный континуум'14 1.3. Интеллектуальные агенты 14 Показатели производительности Пример: робот-пылесос • «Количество убранного мусора»: ◦ действительно рациональный агент должен максимизировать количество убранного мусора; ◦ значит, когда он уберёт весь мусор, ему придётся вывалить его назад и убирать снова; ◦ неудачный показатель (отражает не нашу цель – чистоту в помещении, а как бы её можно было достичь). • «Минимизация количества мусора в помещении»: ◦ отражает именно нашу цель, а не способ её достижения. Компьютерный континуум'14 1.3. Интеллектуальные агенты 15 Показатели производительности Пример: робот-пылесос • «Минимизация количества мусора в помещении» За какое время считать количество мусора: за всё или за отдельные периоды (постоянство чистоты)? А ведь электроэнергию тоже нужно экономить. Это ещё один критерий в показатель производительности. Что лучше: простой 90 % времени и потом убрать всё сразу или «гудеть» всё время и убирать мелкий мусор? Как сбалансировать минимизацию количества мусора и экономию энергии? Не получится ли, что агент-пылесос будет простаивать, чтобы сберечь энергию? Компьютерный континуум'14 А как быть со срочными командами на уборку? Как их увязать с остальными критериями? 1.3. Интеллектуальные агенты 16 Обучаемость и автономность • Рациональный агент максимизирует ожидаемую производительность, а не фактическую. • На фактическую производительность, помимо действий агента, оказывают влияние многочисленные неучитываемые факторы, о которых у агента нет знания. Пример: • Рациональный агент «житель г. Челябинска» едет на работу, прокладывая путь по кратчайшему маршруту, минимизируя затраты на дорогу. • Рационально? Вполне. Компьютерный континуум'14 1.3. Интеллектуальные агенты 17 Обучаемость и автономность Пример: • Но вот настало 15 февраля 2013 г. • Так кто ж знал?!! Падение метеорита в будущем было фактом, о котором у агента не было (и не могло быть) знания. И вряд ли он будет его учитывать при планировании своих действий в дальнейшем. Компьютерный континуум'14 1.3. Интеллектуальные агенты 18 Обучаемость и автономность • Рациональный агент должен обладать способностью к обучению, то есть пополнению своих знаний о среде по мере своего функционирования. • У обучаемых агентов функция агента меняется во времени. С приобретением новых знаний агент может по-новому повести себя в старой ситуации. • Часть знаний должна предоставляться заранее (чтобы агент както функционировал до приобретения более обширных знаний). Это аналог рефлексов у животных. Компьютерный континуум'14 1.3. Интеллектуальные агенты 19 Обучаемость и автономность Знания и восприятие: • восприятие – информация о том, что именно сейчас происходит в среде в зоне восприятия (непосредственно воспринимается сенсорами); • знание – информация о том, как это происходит, как устроена среда, что может происходить вне зоны восприятия. Что яблоко падает с ускорением 9,81 м/с² – знание Факт того, что сейчас падает яблоко – восприятие Компьютерный континуум'14 1.3. Интеллектуальные агенты 20 Обучаемость и автономность • Автономный агент – агент, который в основном полагается на приобретённые, а не на априорно заданные знания, и принимает решения самостоятельно, а не руководствуясь командами оператора. • Пока проблема автономности далека от решения. Во многих ситуациях по-прежнему требуется вмешательство человека. Самый удачный пр имер автономнос т и – «Вояджер-1»: • срок работы – с 1977 г. (почти 40 лет) • запаздывание сигнала – 18 ч Компьютерный континуум'14 1.3. Интеллектуальные агенты 21 Восприятие • Восприятие предоставляет агентам информацию о мире, в котором они обитают. Восприятие осуществляется посредством датчиков (сенсоров). • Датчики могут быть как очень простыми (детектор «разомкнута цепь или замкнута»), так и очень сложными (сетчатка человеческого глаза). • Сенсорная модальность – способность воспринимать об окружающем мире информацию определённого вида. У человека это: ◦ зрение (восприятие света); ◦ слух (восприятие звука); ◦ осязание (тактильное ощущение и температура); ◦ вкус и обоняние (химические анализаторы). Компьютерный континуум'14 1.3. Интеллектуальные агенты 22 Восприятие • Модальности искусственных агентов могут как совпадать с человеческими, так и расширять их: ◦ восприятие радио-, инфракрасных, ультрафиолетовых и других волн; ◦ ультразвуковые дальномеры; ◦ датчики радиации; ◦ магнитометр; ◦ глобальное позиционирование. • Два вида восприятия: ◦ извлечение характеристик (features); ◦ на основе модели окружающего мира. Компьютерный континуум'14 1.3. Интеллектуальные агенты 23 Восприятие • Извлечение характеристик: ◦ датчик получает информацию о какой-то одной простой характеристике (тепло / холодно); ◦ плюс – экономия объёма; ◦ минус – узкая применимость. • На основе модели окружающего мира (её реконструкция): ◦ для извлечения информации необходимы дополнительные знания об окружающем мире; ◦ плюс – широкие возможности, много дополнительной информации; ◦ минус – модель всегда имеет погрешности, знание о мире никогда не бывает полным. Компьютерный континуум'14 1.3. Интеллектуальные агенты 24 Восприятие • П р и м е р н е д о с т а т к о в м од е л и : ( о б м а н ы з р е н и я ) * Рисунок взят из книги Я. И. Перельмана «Занимательные задачи и опыты» Компьютерный континуум'14 1.3. Интеллектуальные агенты 25 Проблемная среда Проблемная среда (задача) определяется PEAS: • показателями производительности (Performance) • описанием среды (Environment) • исполнительными механизмами (Actuators) • датчиками (Sensors) Пример: беспилотное вождение такси • среда: ◦ дороги и их состояние ◦ другие автомобили, пешеходы ◦ ПДД ◦ пассажиры, текущие и потенциальные • исполнительные механизмы: ◦ рулевое управление, звуковые и световые сигналы, тормоз, привод и т.д. Компьютерный континуум'14 1.3. Интеллектуальные агенты 26 Проблемная среда Пример: беспилотное вождение такси • показатели производительности: ◦ достижение пункта назначения ◦ безопасность, соблюдение ПДД конфликт ◦ быстрота ◦ минимизация потребления топлива и износа ◦ минимизация стоимости поездки конфликт ◦ максимизация прибыли ◦ максимизация комфорта • датчики: ◦ дальномеры, система позиционирования (GPS + GSM), акселерометр, одометр, диагностические (проприоцептивные) сенсоры для двигателя, колёс и т.д. (давление, запас топлива) Компьютерный континуум'14 1.3. Интеллектуальные агенты 27 Свойства проблемной среды Наблюдаемость: • полностью наблюдаемая среда • частично наблюдаемая среда Обусловленность следующего состояния среды: • детерминированная – только от текущего состояния и действий агента • стохастическая – в противном случае (зависимость и от посторонних факторов) Частичная наблюдаемость Стохастичность • Куда едут другие автомобили? • Что углом? • Каково состояние дороги дальше? • А если будет прокол? • А если будет ДТП? • А если будет пробка? состояния среды изменятся Компьютерный континуум'14 1.3. Интеллектуальные агенты 28 Свойства проблемной среды Эпизодичность vs. Последовательность: • эпизодическая среда – функционирование агента состоит из отдельных эпизодов, не зависящих друг от друга Эпизод 𝑁 восприятие Эпизод 𝑁 + 1 действие восприятие действие П р и м е р : отбраковка деталей на конвейере; каждая деталь – отдельный эпизод; отбраковка 𝑁-й детали не зависит от результатов отбраковки предыдущих деталей. • последовательная среда – текущее действие, осуществлённое агентом, может повлиять на все последующие его действия П р и м е р : игра в шахматы; любая задача, где нужно думать о последствиях. Компьютерный континуум'14 1.3. Интеллектуальные агенты 29 Свойства проблемной среды Изменения среды пока агент «думает»: • статическая среда – во время принятия агентом решения состояние среды не меняется, агент может «думать» какое угодно время П р и м е р : разгадывание кроссворда; обдумывание ходов в шахматах. • динамическая среда – во время принятия решения агентом состояние среды продолжает меняться, новая информация агенту поступает постоянно, от него требуется постоянно наблюдать за миром • Эта характеристика показывает изменения среды именно во время принятия агентом решений. В остальные моменты времени среда меняет свои состояния как в статическом, так и в динамическом случаях. Компьютерный континуум'14 1.3. Интеллектуальные агенты 30 Одно- и мультиагентность Количество агентов в проблемной среде: • одноагентная среда – если мы рассматриваем только одного («нашего») агента • мультиагентная среда – если мы рассматриваем нескольких агентов («соперников нашего» или команду / команды агентов) • Это разделение на абсолютно, в зависимости от задачи одна и та же среда может рассматриваться и как одно-, и как мультиагентная. Компьютерный континуум'14 1.3. Интеллектуальные агенты 31 Одно- и мультиагентность Пример: игра в шахматы • одноагентная – мы рассматриваем только «нашего» игрока, а ходы соперника как случайные процессы в проблемной среде; • мультиагентная – мы рассматриваем обоих игроков как агентов, стремящихся выиграть в игре; их ходы обусловлены программами агентов (а не случайными процессами). Пример: вождение автомобиля • одноагентная – мы рассматриваем только «наш» автомобиль, а ситуацию на дороге, включая манёвры других автомобилей, как случайные процессы в проблемной среде; • мультиагентная – мы рассматриваем другие автомобили тоже как агенты, стремящиеся для себя максимизировать те же самые показатели производительности; их манёвры – это уже не только случайные процессы в среде, но и результаты работы программ агентов. Компьютерный континуум'14 1.3. Интеллектуальные агенты 32 Одно- и мультиагентность Конкурентные и кооперативные среды: • Конкурентная мультиагентная среда – улучшение показателей производительности одного агента ведёт к ухудшению у другого (агенты соревнуются между собой) П р и м е р : шахматы. • Кооперативная мультиагентная среда – улучшение показателей производительности одного агента может улучшить показатели других П р и м е р : безопасное вождение одного автомобиля как минимум снимает риски для других автомобилей. • Среда может одновременно сочетать в себе кооперативные, и конкурентные признаки П р и м е р : гонка (соблюдение безопасности – общая задача, но победитель будет только один). Компьютерный континуум'14 1.3. Интеллектуальные агенты 33 Одно- и мультиагентность Задачи, встающие при проектировании агентов в мультиагентных средах, сильно отличаются от случаев сред с одним агентом. В мультиагентных средах: • приходится организовывать коммуникацию (общение) между агентами; • они могут объединяться в команды (взаимодействовать) для более эффективного решения общей задачи (вопрос: как распределять между ними роли и задания?); • для обеспечения рациональности бывает необходимым добавить стохастическое поведение, чтобы избежать ловушек предсказуемости результатов и зависания. Компьютерный континуум'14 1.3. Интеллектуальные агенты 34 Архитектуры и типы агентов Типы рациональных агентов (отличаются по архитектуре их программ): • простые рефлексные агенты • рефлексные агенты, основанные на модели • агенты, действующие на основе цели • агенты, действующие на основе полезности Компьютерный континуум'14 1.3. Интеллектуальные агенты 35 Простые рефлексные агенты • Простой рефлексный агент вырабатывает действие только на основе текущего акта восприятия, игнорируя всю остальную их историю. = Датчики Восприятие Внешняя среда Как мир выглядит сейчас Таблица правил «Условие – Действие» Действия = Компьютерный континуум'14 Исполнительные механизмы 1.3. Интеллектуальные агенты Действия 36 Простые рефлексные агенты • Простые рефлексные агенты действуют по правилам типа «условие – действие» («ситуация – действие», продукция, if – then), играющих роль рефлексов – того, что нужно делать не раздумывая. • Пример: ◦ автомобиль впереди остановился нам тоже нужно остановиться. • Простые рефлексные агенты успешно функционируют только в том случае, если правильное решение может быть принято на основе только текущего восприятия. Компьютерный континуум'14 1.3. Интеллектуальные агенты 37 Рефлексные агенты на основе модели Чтобы решить проблему частичной ненаблюдаемости, можно ввести внутреннее состояние агента. Пример: • в данный момент времени водитель смотрит строго вперёд, он не видит, что происходит по бокам, сзади, за углом; • у него поддерживается внутреннее состояние – сведения о том, что происходит в среде вокруг него (мире), которые были добыты из предыдущих актов восприятия и хранятся в памяти агента (сзади едет грузовик; справа и слева свободно, но грузовик собирался идти на обгон); Компьютерный континуум'14 1.3. Интеллектуальные агенты 38 Рефлексные агенты на основе модели Пример: • кроме того, у агента-водителя есть модель мира – знания о том, как «работает мир»: ◦ что происходит в мире независимо от агента: если сзади идущий автомобиль пошёл на обгон, то скоро он поравняется с нашим автомобилем; ◦ что произойдёт в мире в случае тех или иных действий агента: если резко дёрнуть вправо или влево, можно столкнуться с идущим рядом автомобилем. • Вывод из модели: не перестраиваться в другой ряд, пока шедший сзади грузовик не совершит обгон. • Это решение не вытекает непосредственно из текущего акта восприятия, когда водитель смотрит строго прямо. Компьютерный континуум'14 1.3. Интеллектуальные агенты 39 Агенты на основе цели • Агенты на основе цели для выбора действий помимо текущей информации о среде используют информацию о цели, которую им необходимо достичь. • Только реагируя на состояния среды (результаты восприятия) агент никогда не добьётся цели. • Реагирование + планирование: ◦ Цели можно достичь за одно действие, но чаще бывает необходимым выстраивать длинную цепочку действий (проводить поиск и планирование). Компьютерный континуум'14 1.3. Интеллектуальные агенты 40 Агенты на основе полезности • Может сложиться ситуация, когда агент может достичь цели разными способами. Цели могут конфликтовать, и нужно свои действия планировать с учётом их приоритетов. • Может сложиться ситуация, когда ни одной из целей нельзя достичь полностью, но каждая из низ может быть достигнута частично. • Насколько стараться выполнить каждую из целей? Какие им расставить приоритеты? Примеры: • Цель – доставка пассажира до места, способы – безопасный или с риском для пассажира. • Нужно купить молоко и хлеб, но денег хватает только на что-то одно. Что в итоге купить? В каком случае польза (удовлетворённость агента) будет больше? Компьютерный континуум'14 1.3. Интеллектуальные агенты 41 Агенты на основе полезности • В таких ситуациях помимо жёсткого разделения на действия, ведущие к цели и не ведущие к ней, нужно вводить понятие полезности (utility) – меры эффективности, с которой агент будет функционировать при выборе той или иной альтернативы. • Математически полезность эквивалентна показателям производительности рационального агента. Рациональный агент должен максимизировать ожидаемое значение своей функции полезности. Компьютерный континуум'14 1.3. Интеллектуальные агенты 42 Соотношение типов агентов Простой рефлексный агент Компьютерный континуум'14 + Модель мира (внутреннее состояние) Рефлексный агент, основанный на модели + Цель (чего агент должен достичь) Агент на основе цели + Полезность (какое состояние лучше) Агент на основе полезности 1.3. Интеллектуальные агенты 43 Что почитать • Рассел Стюарт, Норвиг Питер. Искусственный интеллект: современный подход, 2-е изд. (2006) ◦ Фундаментальный курс по искусственному интеллекту с точки зрения рациональных агентов ◦ Russel Stuart, Norvig Peter. Artificial Intelligence: A Modern Approach ◦ Главы 1 и 2 Компьютерный континуум'14 1.3. Интеллектуальные агенты 44 Что почитать • Turing Alan. Computing machinery and intelligence (1950, Mind) ◦ Основополагающая статья по искусственному интеллекту. В ней Тьюринг предложил свой знаменитый тест на интеллектуальность компьютера • Пенроуз Роджер. Новый ум короля (2003) ◦ Популярное изложение основных проблем искусственного интеллекта и их связи с физикой ◦ Penrose Roger. The Emperor’s New Mind • Винер Норберт. Кибернетика, или Управление и связь в животном и машине (1983) ◦ Главная в мире книга по кибернетике, играет для неё такую же роль, как «Искусство программирования» для теории алгоритмов, а труды Ньютона для физики. MUST READ! ◦ Wiener Norbert. Cybernetics: On the Control and Communication in the Animal and the Machine Компьютерный континуум'14 1.3. Интеллектуальные агенты 45 Спасибо за внимание • Дмитрий Крыжановский, к.т.н., директор Singularis Lab, LLC ◦ dmitry.kryzhanovsky@singularis-lab.com Компьютерный континуум'14 1.3. Интеллектуальные агенты 46