想实施强化学习连接四个代理

时间:2012-01-10 09:41:21

标签: java reinforcement-learning

我想实现一个强化学习连接四个代理。 我不确定该怎么做以及它应该如何看待。我熟悉强化学习的理论方面,但不知道应该如何实施。

应该怎么做? 我应该使用TD(lambda)还是Q-learning,MinMax树如何进入这个? 我的Q和V功能如何工作(行动质量和国家价值)。我如何评分这些东西?我改进的基本政策是什么,我的模特是什么? 另一件事是我应该如何保存状态或statesXactions(取决于学习算法)。我应该使用神经网络吗?如果是的话,怎么样?

我正在使用JAVA。

感谢。

1 个答案:

答案 0 :(得分:2)

这可能是一个比你想象的更难的问题,原因如下:

游戏的动作空间是选择放入一块的列。游戏的状态空间是MxN网格。每列包含最多M个分布在2个玩家之间。这意味着有(2 M + 1 -1) N 状态。对于标准的6x7电路板,这大约为10 15 。因此,您不能直接将加速学习应用于问题。状态值函数不平滑,因此无法使用函数逼近

但并非所有人都失去了。首先,您可以通过分离动作空间来简化问题。如果分别考虑每列的值,则根据它旁边的两列,将N减少到3,将状态空间大小减少到10 6 。现在,这是非常易于管理的。您可以创建一个数组来表示此值函数,并使用简单的RL算法(例如SARSA)更新它。

请注意,游戏的收益会非常延迟,因此您可能希望使用资格跟踪来加速学习。