Я пытаюсь разработать алгоритм обучения подкреплению для Пасьянса Клондайк, и немного наткнулся на препятствие.
Я не знаю, как лучше всего представить состояние игры в качестве входных данных.Что касается нейронной сети, я рассмотрел использование большой матрицы, но, поскольку многие стопки карт различного размера, многие поля матрицы будут неиспользованы.
Основная проблема заключается в том, что следующая информация вседолжно быть представлено:
- Карты лицевой стороной вверх на каждой куче сборки
- Количество карт лицевой стороной вниз на каждой куче сборки
- Карты каждой кучи основания
- Карта на складе
- Количество карт на складе
Все это можно представить в 3D-матрице с размерами 13x20x52, но большинствозначений матрицы будут неиспользованными.Заметит ли сверточный слой, что некоторые значения в матрице всегда равны 0, и игнорирует их?
Второй вариант, о котором я могу подумать, - это использовать визуальное представление состояния игры в качестве входных данных для нейронной сети.как примеры OpenAI Gym Atari.
Вторая проблема заключается в том, что количество действий, которые можно выполнить, является переменным.Есть ли решение для этого?
Любой совет приветствуется.
Спасибо