ФЭНДОМ


Мы настоятельно рекоммендуем зарегистрироваться и установить стиль Настройки->Оформление->MonoBook


Это заглавная страница коллективного проекта Управление агентами

К проекту может присоединиться каждый желающий, взяв на себя некоторые обязательства помочь целям проекта. Для этого поставьте ниже шаблон {{Участник проекта}} и приступайте к работе :).

Обсуждение проекта участниками идет на этой странице. Организационные вопросы и замечания, поправки тех, кто не участвует в проекте, вносите на страницу Обсуждение:Управление агентами'.

Использование этой информации в коммерческих целях лицами, не участвующими в коллективном проекте Управление агентами, запрещено. Но вы можете копировать и перерабатывать данную статью в научных и образовательных целях, с последующим предоставлением результата на тех же правах. Для подробной информации см. Авторское право.


Участник проекта Данер , 27.09.2009 - ...

Участник проекта Сергей Яковлев, 27.09.2009 - ...


Общие принципы проекта Править

  1. Тема подпроекта - любая связанная с ИИ, но с общей координацией
  2. Умение идти на компромис и учитывать интересы сообщества участников (например, менять свои приоритеты, т.е. иногда сделать что-то вначале, а только потом, что хотелось бы)
  3. Вежливость. Даже если не согласен с мнением участника - только спокойные аргументы, иначе просто стираем
  4. Открытость проекта - мы готовы принять любого конструктивного участника на любой стадии проекта
  5. Доброжелательность и помощь новичкам - мы не требуем от новичков ни каких знаний, мы помогаем им освоится и ознакомится с тем или другим - для этого готовим материалы, которые помогли бы им, и которые нужны для протокола того, что мы уже сделали.

Инструменты Править

Общая постановка задачи Править

несформулирована

....


Задача в среде Terrarium DNA Править

черновое описание общей задачи

Мир - матрица 960x960 точек, на матрице случайно разбросаны растения и агенты (1 в нашем случае). Размер каждого растения/агента 48х48 точек. Припятствий нет - можно ползать где угодно. Координаты важны лишь для определения места куда идти.

У агента есть только зрение, видит на определенный радиус и получает массив растений чего видит.

Агент может двигаться задав цель движения, стоять бездельничать, или кушать.

Про растения - они различаются по ДНК (количеством 3 параметров), но запаса в кустах много - муравей целиком не съест.

черновой набросок упрощенной задачки

  1. Действия - ходы влево/вправо/верх/вниз/стоять/кушать
  2. Сенсоры - зрение видит всю карту
  3. Карта 10х10 - нарисуем в текстовом файле набором 0/1/2/3/4/5 - 0 нету растения, цифры вид растения, например, 1 = 100, 2 = 011, 3 = 101, 4 = 201, 5 = 111 ... N=x1x2x3 --- отличающиеся вкусностью (набором ДНК)
  4. Что у нас с состояниями: Зависит от положения на карте 100 состояний, Зависит от ???
  5. Что у нас с наградами: Награждать надо за съеденные растения, Награждать надо за движение к более вкусному растению, Награждать надо за риск в поиске более вкусного растения, Штрафовать нужно каждый ход за потерю времени ... Но как именно ?
  6. Для начала можем определить цель: съесть максимум сбалансированной пищи Z= sum(x1) * sum(x2) * sum(x3)

Комментарии Править

  • Данер: "Если муровей не может съесть всю еду, то почему он вообще должен покидать найденный им куст?"
  • Сергей: "Куст действительно не пропадает, но время идет. Поэтому если он захочет получить больше наград, то покинет найденный куст - во благо поиска более вкусных/сытных кустов."

Принятая терминалогия Править

  • ход или эпоха : это одно действие агента.
  • запуск или эксперемент: это какое-то кол-во ходов агента.
  • серия экспериментов: это несколько запусков.

Например, 4 серии по 30 запусков по 10000 ходов.

Этапы реализации Править

Принято решение перед использованием алгоритма в каком-либо симуляторе, тестировать его в искусственной идеальной среде. В этой среде формально определяется задача в виде MDP или в каком другом виде (но формальном) и агент точно так же, формально решает эту задачу. Таким образом, мы убираем фазу интерпретации задача+среда в формальное описание и сосредотачиваемся на правильности выполнения алгоритма и анализа его параметров. Это позволит исследовать ограничения алгоритмов (так как задачу легко поменять с MDP на PoMDP и т.д.), а так же облегчит анализ среды (позволит нам сравнивать работу алгоритма в идеально формализованной среде), когда мы перейдем к задачам в симуляторах.

Контролеры на основе Reinforcement Learning (Q - learning) Править

Контролеры на основе Q - learning выбраны из за их простоты реализации и прозрачного алгоритма имеющего формальное доказательство работоспособности в среде MDP. Таким образом, у нас получается "чистый" и обоснованный плацдарм для дальнейшего развития проекта. Когда следующий этап будет отработан с использованием этого типа контроллеров, тогда перейдем к изменению контроллера.

MDP и Q-Learning Agent Править


Будем двигаться не к усложнению среды, а к усложнению алгоритма. Т.е. надо начинать думать, как же сочетать несколько виртуальных-агентов и одном реальном-агенте. Можно разделить на этапы:

  1. Последовательное (а не одновременное) введение 30 реальных агентов - наблюдаем есть ли различия в их действиях, определяем на сколько эти различия существенны. Для этого нужно вычислить не только среднее из 30 запусков (а ведь за каждый запуск появляется новый агент), но и максимум/минимум.
    1. Если уровень различий существенен, то разрабатываем способ совмещения решений 10 реальных агентов (они становятся вируальными) в одно оптимальное
    2. Если уровень различий несущественен, то следует признать, что введение дополнительных агентов мало чего дает в MDP среде, и нужно начать думать об усложнении среды, где различия в решения агентов будут существеннее.
  • /Задача №0 - в результате обсуждения результатов, пришли к выводу, что имеет смысл рассматривать задачи только такие, где есть несколько решений. Ход решения таких задач может быть потенциально улучшен, т.к. Q-learning в таких задачах сильно зависим от параметров LF, DF, EF, и прежде чем найти правильное решение делает большое число неэффективных проб. Т.е. минимальная граница сильно отличается от максимальной.
  • /Задача №1

PoMDP Править

Q-Learning в PoMDP не работает, это известный факт. Он так же не работает, в общем случае, в мульти-агентной среде.

Деревья Решений (ID3) Править

ГА Править

ИНС Править

MDP и Q-Learning Agent Править

Использование ИНС заключается в замене Q-матрицы нейронной сетью, при этом возможны варианты:

  1. Входы - состояния, выходы - оценки действий (число выходов = число действий), число нейронных сетей = одна
  2. Входы - состояния, выход - оценка действия (число выходов = один), число нейронный сетей = число действий
  3. Входы - состояния, выход - оценка наилучшего действия, (например, порог 100, а оценка 120 - означает выбор второго действия, которое оценивается в 20), (число выходов = один), число нейронный сетей = одна

Нейронную сеть необходимо обучить, только на качественных данных, тогда она сможет прогнозировать исход ситуации, которой не была обученна. Поэтому нельзя обучать произвольным тестовым значениям, которые хранятся в Q-матрице. Необходимо разработать алгоритм, который будет определять на сколько имеющимся парам состояние-действие можно доверять в зависимости от награды, полученной за это. И тогда ИНС будет обученна только таким проверенным парам.

Методы Править

Программы Править

  • В качестве среды можно использовать Terrarium DNA

Ссылки Править

Анализ диссертации Бурцева М.С.
Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA , если не указано иное.