← Вернуться к списку

Как представлять государство в игровом окружении "Wizard"?

Краткое содержание

Мы пытаемся создать ИИ, который сможет играть в карточную игру Wizard. На данный момент у нас есть работающая сеть (основанная на объектном детекторе YOLO), которая способна обнаруживать карты, находящиеся на столе. При запросе она возвращает цвет и ранг карт на столе. Но теперь, когда мы начинаем строить агента для фактического обучения, я просто не могу понять, как представить состояния этой игры. В каждом раунде каждый игрок получает количество карт, соответствующее раунду (одна карта в первом раунде, две во втором и так далее). На основе этого игроки оценивают, сколько побед они получат в этом раунде. По окончании раунда игроки рассчитывают свои очки относительно своей оценки. Таким образом, агенту необходимо прогнозировать количество будущих побед и играть соответственно этой стратегии. Как же закодировать это в формат, который может обрабатывать нейронная сеть?

Полный текст

Как представить состояние игры Wizard в игровом окружении? Задать вопрос

Задано 5 лет, 11 месяцев назад Изменено сегодня Просмотрено 404 раза

Задано 5 лет, 11 месяцев назад

2 $\begingroup$ Мы пытаемся создать ИИ, который сможет играть в карточную игру Wizard. На данный момент у нас есть работающая сеть (на базе системы обнаружения объектов YOLO), которая способна определять, какие карты разыгрываются. При запросе она возвращает цвет и ранг карт на столе. Но теперь, когда мы начинаем строить агента для реального обучения, я просто не могу понять, как представлять состояния для этой игры. В каждом раунде у каждого игрока получается количество карт, представленное раундом (одна карта в первом раунде, две во втором и так далее). На основе этого игроки оценивают, сколько побед они выиграют в этом раунде. Заканчивая раунд, игроки рассчитывают свои очки относительно их оценки. Таким образом, агенту нужно оценивать свои будущие победы и играть соответственно этой стратегии. Так как же я должен закодировать это в форму, с которой может работать нейронная сеть? reinforcement-learning q-learning Поделиться Улучшить вопрос Подредактировано 1 час назад Mr. AI Cool 1 187 1 1 серебряная медаль 19 19 бронзовая медаль задано 10 февраля 2020 г. в 7:37 Voß 109 9 9 бронзовая медаль $\endgroup$ Добавить комментарий | 1 Ответ 1 Отсортировано по: Сбросить по умолчанию Наивысший рейтинг (по умолчанию) Измененная дата (новые данные первыми) Созданная дата (старые данные первыми) 0 $\begingroup$ Прошло почти два года, но поскольку у меня была такая же проблема и я все еще нашел эту публикацию, я также опубликую, как я планирую решить ее: Я не реализовал или протестировал это решение. Мы будем рассматривать вход в нейронную сеть в несколько блоков. блок: количество карт в руке игрока блок: информация о том, какие карты уже сыграны блок: другая информация Теперь немного больше деталей: 1. Блок: Представлять каждую карту двумя нейронами: один для цвета, один для значения. затем сделать размер блока 1 как можно больше. В игре с тремя игроками никогда не будет более чем 20 карт в руке игрока, каждый из них требует двух нейронов, поэтому мы получаем 40 нейронов в блоке 1. (Меньше, если ИИ обучается для меньшего числа игроков) цвет также можно разделить на пять нейронов вместо одного (5 цветов + 1 нейтральный цвет) 2. Блок: 60 нейронов со значениями 0 или 1 в зависимости от того, сыграна ли карта или нет. 3. Блок: • Некоторые сведения о том, сколько побед должен выиграть ИИ. Например, используя один нейрон с входным значением: "Количество побед, которые должен выиграть ИИ", деленное на "количество карт, еще доступных" • цвет, который должен выполнить ИИ -> 1, 4 или 5 нейронов Опциональные входы: • значение текущей выигрышной карты -> 1 нейрон • цвет текущей выигрышной карты -> 1, 4 или 5 нейронов • соотношения общего количества очков, набранных каждым игроком, к среднему количеству очков • отношение желаемых побед к доступным победам (как выше) Можно также объединить блоки 1 и 2 в 60 нейронах с дополнительным возможным состоянием: не сыграно еще -> 0 сыграно -> 1 в своей руке -> -1 Поделиться Улучшить этот ответ Подредактировано 23 декабря 2021 г. в 23:35 Sebastian $\endgroup$ 1 $\begingroup$ Возможно, стоит задать вопрос об этом представлении. Основная проблема, которую я вижу, заключается в том, что в блоке 1 много избыточности из-за того, что карты по сути являются одним и тем же данными (иметь карту в своей руке не зависит от ее позиции, но кодирование варьируется в зависимости от позиции). По моему мнению, вам лучше подойдет блок 1 с фиксированным представлением для всех карт, таким же, как блок 2, хотя возможно, использование подхода сортировки для блока 1 и использование архитектуры LSTM или Transformer также хорошо работает. $\endgroup$ Neil Slater – Neil Slater 2024-09-09 06:27:55 +00:00 Комментировано 9 сентября 2024 г. в 6:27 Добавить комментарий | Вам необходимо войти, чтобы ответить на этот вопрос Найдите ответ на свой вопрос, задавая его Задать вопрос Исследуйте связанные вопросы reinforcement-learning q-learning Смотрите похожие вопросы с этими тегами.

2 $\begingroup$ Мы пытаемся создать И