Каков код стрельбы пулями в динамические объекты в Python? - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу тренировать ИИ с использованием Reinforcement Learning на python.Цель состоит в том, чтобы ИИ мог стрелять движущимися шариками, приходящими в игру env.случайно на разных скоростях и с разных позиций.Положение AI (игрока) фиксировано и может указывать только угол пули.Скорость пули также фиксирована.На самом деле, я не знаю, каковы государства и действия в этой непрерывной и стохастической среде.И, пожалуйста, дайте мне знать, если есть какое-либо учебное пособие для этого типа игровой среды.В основном игровые высказывания касаются оптимального перемещения ИИ из точки А в точку Б, что, я думаю, не относится к моей проблеме.

1 Ответ

0 голосов
/ 13 декабря 2018

Состояние, вероятно, будет отображением того, где находится каждый мяч в игровой среде.Если шары имеют разные размеры, то размер каждого шара должен был бы стать частью состояния.Пространство действий будет состоять из всех возможных действий, которые агент может предпринять на данном этапе.Это означает, что это включает не стрельбу, а также стрельбу в каждом возможном ракурсе.Поэтому пространство действия будет выглядеть примерно как [don't shoot, shoot at angle x, shoot at angle y, shoot at angle z...], так что оно будет содержать все углы, под которыми агент не может стрелять.

Одна библиотека, в которую вы должны заглянуть, это тренажерный зал OpenAI.Это основа для подкрепления обучения в контексте видеоигр.Он разбивает игровую среду и пространство действий для вас и предоставляет пошаговые обновления состояния игры, позволяя агенту выполнять различные действия в зависимости от состояния игровой среды.Вы можете создать свою собственную среду или взглянуть на одну из сред, которые уже существуют.В основном они основаны на старых играх Atari.

Например, взгляните на окружение Asteroids .Это может потенциально работать очень похоже на среду, которую вы предложили выше.В астероидах агент пытается избежать попадания различных астероидов, движущихся по экрану.Они могут стрелять в астероиды, чтобы уничтожить их, и они также могут двигаться.Однако, если вы заставите своего агента избегать действия «переместить», это по сути сводится к проблеме, очень похожей на ту, которую вы описали.

...