首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中向动态对象发射子弹的代码是什么?

在Python中向动态对象发射子弹的代码是什么?
EN

Stack Overflow用户
提问于 2018-12-11 15:39:35
回答 1查看 175关注 0票数 0

我想在python中使用强化学习来训练AI。目标是AI应该能够投篮移动的球来到游戏env。在不同的速度和不同的位置。AI (玩家)位置是固定的,它只能指定子弹的角度。子弹速度也是固定的。实际上,我不知道在这种连续和随机的环境中是什么状态和行为。请让我知道,如果有任何教程,为这种类型的游戏环境。大多数游戏RL图集是关于AI从A点到B点的最优移动,我认为这不适用于我的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-13 15:56:39

状态很可能是每个球在游戏环境中的位置的表示。如果球是不同的大小,那么每个球的大小也将成为状态的一部分。操作空间将包括代理在给定步骤中可能采取的每一个可能的操作。这意味着它包括不拍摄,以及射击的每一个可能的角度。因此,动作空间看起来类似于[don't shoot, shoot at angle x, shoot at angle y, shoot at angle z...],因此它包含了代理无法拍摄的每个角度。

你应该去看看的一个图书馆是OpenAI的健身房。这是一个在电子游戏背景下强化学习的框架。它为您分解游戏环境和操作空间,并提供游戏状态的逐步更新,允许代理根据游戏环境的状态采取不同的操作。您可以创建自己的环境,或者查看已经存在的环境之一。它们大多是以古老的Atari游戏为基础的。

例如,看看小行星环境。这可能与您前面建议的环境非常相似。在小行星中,间谍试图避免被移动在屏幕上的各种小行星撞击。它们可以向小行星射击以摧毁它们,它们也可以移动。然而,如果你强迫你的代理人避免采取“移动”行动,它本质上归结为一个非常类似的问题,你所描述的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53727531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档