如何为robocode建立状态/动作的Q表?

时间:2019-11-21 19:11:58

标签: machine-learning artificial-intelligence reinforcement-learning q-learning robocode

所以我的问题是要了解为每个状态(如robocode)具有更多参数的状态创建Q-table。 99%的在线示例都太简单了,很难想象在如此复杂的环境中使用它。

根据我在Q学习中所了解的,创建了states/actions的2D表...因此,对于每个游戏状态,都会有一些动作。在FrozenLake之类的游戏中,这确实很简单。在每个正方形(X / Y点)上,您有4种可能的动作(上,下,左,右)。这意味着在4x4 FrozenLake字段中,您有16种可能的状态,每种状态有4个动作(Q表16x4)。就是这样。

但是在robocode中,您要牢记:炮塔角度,X / Y坐标,能量和敌人状态包含相同的参数。这些所有参数代表1状态,对吗?因此算法必须考虑所有这些值。另外,如果我想在合理的时间内在i5-4210H 2.9GHz上进行训练,那么所有这些值都必须简化。

所以

1)如何为robocode创建Q表,它的外观如何?

2)简化所有这些状态值的最佳方法是什么?

PS:我们将其作为学校项目,并使用Java / C#进行,因为robocode支持这两种语言。

0 个答案:

没有答案