减少强化学习中的马尔可夫状态数

问题描述 投票:2回答:3

我已经开始尝试强化学习(使用萨顿的书)。 我无法完全理解是必须减少马尔可夫状态空间而另一方面却不对重要和不重要的假设之间的矛盾。

背景

例如在跳棋的例子中,萨顿说,不应给游戏中的某些动作分配奖励,例如击败对手。他声称,这可能会优化AI来解决无法赢得比赛的局面。因此,奖励仅应提供给您想要达到的结果(例如,赢得比赛)。

问题1

[假设(德州扑克)扑克AI的状态只有马夫夫和桌上的纸牌。这大约有52 * 51 * 50 * 49 * 48 * 47 * 46/1 * 2 * 3 * 4 * 5 * 6 * 7个状态。现在假设我们希望AI将玩家的资金池及其下注考虑在内。如果我们假设8个玩家的每个玩家的收入在$ 1-200.000之间,这将使Markov状态空间方法成为“无限数量的组合”。

问题2

一种减少状态的策略可以是将玩家的现金分成poormediumrich。这严重减少了我们的状态空间,但是,我怎么知道a)3个组就足够了? b)每个组的区别限制是什么?

欢呼声,

artificial-intelligence reinforcement-learning
3个回答
2
投票

一种减少RL中状态空间的建议方法是通过使用状态操作层次结构。您可以将其分解为较小的变量,例如x1,x2,x3,而不是使用单个状态变量X。然后,您可以测量它们的过渡频率并确定它们之间的依赖性(例如,当x2 = abc时,x1通常会发生变化)。然后,您可以形成一个政策,说明如何最好地转换快速变化的变量,以便更改较慢变化的变量,以使报酬最大化。

此方法仍相对较新,我不知道它的任何公开实现。但是,有几篇论文提出了可能的实现方案。 MAXQ algorithm假设人类定义了层次结构,而HEXQ algorithm描述了学习层次结构和策略的方法。


3
投票

一般方法是使用函数逼近来减小状态空间过大时的状态。这里的关键是要概括相似状态之间的奖励。当然,这需要您利用领域知识来想出有意义的功能来使用。不幸的是,没有一种算法既可以解决特征选择问题又可以解决控制问题,并且不能保证最优性(在多项式时间内),也不能期望发明出任何算法。

要回答您的问题,1)即使在8个玩家极限德州扑克中,即使是初学者水平的表现,也远远超出了当前的最新研究水平。在http://poker.cs.ualberta.ca/上查看当前的“世界最佳计算机扑克玩家”研究。也就是说,您可以尝试将空间划分为任意功能,例如:(player [1] .cash> 1000)0:1,(player [1] .cash> 2500)0:1等]

2)很难知道您的表示有多好,通常人们只是运行它直到它开始收敛并查看其表现如何...


0
投票

[添加到@fairidox点(我同意):如果现金玩家的底池介于1-200000之间,则按照他们所说的给定函数近似值,如果玩家愿意,则不会改变其行为是合乎逻辑的拥有$ 1000或$ 1001的状态。现在,正如您在问题2中提到的那样,选择这些任意边界存在问题。

相同的逻辑适用于将机器人放置在物理空间中,该机器人在一个空间中的状态可能与右侧1mm的状态具有相同的值。如果我们不近似,那么我们可以争辩说我们也应该为0.5mm,0.25mm等设置一个新状态。Sutton和Barto(以及David Silver的讲座)为此讨论了Tile Coding,我认为这也可能适合您扑克示例。

© www.soinside.com 2019 - 2024. All rights reserved.