AI Economist - это проект, целью которого является исследование динамики экономики с помощью обучения с подкреплением (RL).

После краткого знакомства с AI Economist я покажу свои эксперименты, оценивающие некоторые сценарии, такие как коммунизм и т. Д.

Что такое экономист по ИИ?

Что такое AI Economist?, это хорошо описано в их сообщении в блоге. Итак, я хотел бы сосредоточиться на объяснении этого с точки зрения обучения агентов RL.

Авторы опубликовали Gym-style API. На основе API мы можем обучать агентов RL, а также CartPole и другие среды RL. API можно настраивать, так что мы можем добавлять в него нашу собственную игровую логику, чтобы представить наш собственный сценарий.

Нам нужно понимать правила игры, наблюдения, награды и действия для RL. Хорошая идея - воспроизвести сценарий свободного рынка, чтобы понять его в качестве первого шага.

Правила игры

Само правило можно настроить, но в настоящее время мы сосредоточимся на правиле, используемом в сценарии свободного рынка.

Предметы и цели

В игре есть два типа предметов.

  • Планировщик (Правительство)
  • 4 экономических игрока

В сценарии свободного рынка Planner не появляется, потому что нет налогообложения. Итак, четыре экономических игрока работают только для достижения своих целей. Их цель - максимизировать свои собственные полезности (счастье).

Полезность - это функция труда и монеты, принадлежащая игроку. Больше труда делает игрока менее счастливым. Эффект линейный. С другой стороны, большее количество монет делает игрока более счастливым, но его эффект ослабевает по мере увеличения количества монеты. Отсюда следует изоупругая функция.

Сущность

Сущность представляет объекты, которые появляются в мире. Некоторые из них видны, а другие нет.

  • Труд
  • SourceBlock
  • дом
  • Воды
  • Дерево / Камень
  • Монета

Труд - это внутреннее состояние игрока. Когда игроки выполняют какие-то задания, трудозатраты увеличиваются. Работа не видна другим игрокам и планировщику.

SourceBlock - это блок, который генерирует дерево или камень. Это невидимо. Дом может быть построен игроком. Другие игроки не могут пройти через это. Вода - это блок, через который никто не проходит.

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

Компоненты

Вот компоненты, используемые на свободном рынке. Это базовые компоненты, поэтому они обычно используются и в других сценариях.

  • Строить
  • Непрерывный
  • Собирать
  • PeriodicBracketTax

Компонент Build позволяет игрокам строить дома. Когда игрок строит дом, то…

  • Игрок получает около 11 ~ 22 монет. Это зависит от мастерства игрока.
  • Игрок получает 10 работ.
  • Игрок теряет 1 дерево и 1 камень.

Компонент ContinuousDoubleAuction позволяет игрокам обменивать свои ресурсы на монеты в системе аукционов.

  • Игрок может попросить или сделать ставку до 10 монет за 1 ресурс (дерево или камень).
  • Игрок получает 0,25 труда, когда просит или делает ставку.

Компонент Gather позволяет игрокам перемещать и собирать ресурсы.

  • Игрок получает 1 труд при движении.
  • Игрок получает 1 труд, когда собирает ресурс.

Компонент PeriodicBracketTax вводит налогообложение. Он не используется на свободном рынке. Если ставка налога установлена ​​на 0 во всех налоговых скобках, это эквивалентно свободному рынку.

  • Налог взимается за каждые 100 шагов.
  • Ставка налога может быть установлена ​​независимо в 7 разных скобках (диапазонах дохода).
  • Собранные монеты будут распределены равномерно.

Игроки начинают играть с 10 монетами и разными навыками. Исходное положение фиксируется по углам на карте. Общее количество ступеней - 1000.

Наблюдения, награды и действия

Определение зоны наблюдения для игроков доступно здесь. Он содержит пространственную информацию, навыки игрока и информацию об аукционе.

Пространство действия - это дискретное пространство размером 50. Маска действий при наблюдении помогает нам узнать, какие действия разрешены.

Эксперименты

Я пробовал 4 разных сценария.

  1. Свободный рынок (просто для того, чтобы попытаться воспроизвести газету.)
  2. Коммунизм
  3. Машина
  4. Дистопия

Результат о свободном рынке описан в оригинальной статье. Мой результат почти такой же, как и у них. Итак, я пропускаю это сейчас.

Второй сценарий - коммунизм. Хотя я называю это коммунизмом, это не был бы коммунизм в строгом смысле слова. Я только что установил ставку налога 1 во всех налоговых скобках. ContinuousDoubleAuction по-прежнему доступен. В любом случае, суть здесь в том, чтобы знать, что происходит, когда я пытаюсь добиться максимального равенства.

В третьем сценарии я настроил награду игроков. Игроки больше не пытаются максимизировать свою полезность. Вместо этого они пытаются максимизировать социальную продуктивность. Таким образом, я могу оценить, насколько вероятна максимальная производительность в RL. Более того, я знаю, как этого добиться.

Четвертый сценарий аналогичен третьему, но цель игрока - максимизировать «Социальную продуктивность, умноженную на равенство». Интересно узнать, как влияет термин «Равенство».

Полученные результаты

Вот сводка всех 4 экспериментов.

Давайте внимательно рассмотрим каждый результат.

Коммунизм

Это выглядит действительно скучным миром. Движение, торговля и строительство - все они неактивны. Хотя этого эксперимента недостаточно, чтобы установить причину, он согласуется с хорошо известным объяснением провала коммунизма.

Мотивация самого опытного игрока была потеряна. Этот игрок больше не строит так много домов, потому что прибыль (монета) не стоит затрат труда. В результате другие игроки перестают собирать ресурсы, потому что их никто не покупает.

Машина

Это было бы близко к нашему ожидаемому результату. Самый опытный игрок сосредотачивается на строительстве домов, в то время как другие игроки собирают ресурсы. Другие игроки тоже строят дома, вероятно, тогда, когда у самого умелого игрока есть лишние ресурсы.

Одно интересное наблюдение - начальная рыночная цена дерева и камня. Они исключительно дешевле других. Помогает умелому игроку построить дом сразу после старта. После этого цена становится высокой, но я не уверен в причине (есть идеи?).

Дистопия

Равенство производительности составляет 2690. Это лучше, чем в третьем сценарии (2044). Количество построенных игроками домов аналогично 3-му сценарию. Итак, вопрос в том, Как им удалось добиться высокого равенства?

Когда я внимательно смотрю на результаты, я замечаю, что Агент 0 купил камни по очень низкой цене (4,03). Эти камни принадлежат Агенту 2 и Агенту 3. Другими словами, Агент 0 является торговым посредником. Это основной метод получения монеты агентом 0. Каждый агент сотрудничает таким образом и сохраняет высокое равенство.

Резюме

В этом посте я попробовал 3 оригинальных сценария. Хотя это удобные сценарии, которые не тренируют Planner, они показали некоторые интересные идеи. Кажется, что RL работает довольно хорошо независимо от различных сценариев.

Поскольку AI Economist обладает широкими возможностями настройки, он дает нам множество идей, которые можно попробовать. Например,…

  • Коммунизм достигнут Планировщиком
  • Состязательные игроки (например, максимизируйте маржу общей прибыли)

Команда AI Economist сотрудничает с экспертами-экономистами. Я с нетерпением жду встречи с ними, которые принесут нам много интересных идей и результатов.

Все исходники доступны в моем репозитории.