Monte Carlo Tree搜索Belot和Bridge等纸牌游戏

时间:2016-01-25 09:15:33

标签: artificial-intelligence montecarlo

我一直试图在纸牌游戏中应用MCTS。基本上,我需要一个公式或修改UCB公式,因此最好选择继续哪个节点。

问题是,纸牌游戏不是赢/输游戏,他们在每个节点都有得分,例如158:102。我们有2支球队,所以基本上它是2人游戏。我测试的游戏是常数游戏(技巧数量,或者采取的技巧等等)。

让我们说每个叶子的teamA和teamB得分的最大总和为260。然后我从根部搜索最佳移动,我尝试的第一个在10次尝试后给出平均250。我有3个可能的动作,从未经过测试。因为250太接近于最高分,所以测试另一个动作的后悔因素非常高,但是,应该在数学上证明什么是最佳公式,它可以让你在选择时选择哪个动作:

  • Xm - 移动m的平均分数
  • Nm - 移动m
  • 的尝试次数
  • MAX - 可以达到的最高分
  • MIN - 可以达到的最低分数

显然,你尝试同样的动作越多,你想要尝试其他动作的次数越多,但是你越接近最高分,你想要尝试其他动作的次数就越少。根据这些因素选择移动的最佳数学方法是什么?Xm,Nm,MAX,MIN?

1 个答案:

答案 0 :(得分:2)

您的问题显然是探索问题,问题在于使用上限置信区(UCB),无法直接调整探索。这可以通过添加探测常数来解决。

上置信区(UCB)计算如下:

Eq. UCB1

V 是您要优化的值函数(预期得分), s 您所处的状态(手中的牌),以及< em> a 动作(例如放一张卡片)。 n(s)是在蒙特卡罗模拟中使用状态 s 的次数, n(s,a) s 和action a 的组合相同。

左侧部分( V(s,a))用于利用先前获得的分数的知识,右侧部分是增加值以增加探索。但是没有办法增加/减少这个探索值,这是在树木的高置信区域(UCT)中完成的:

Eq. UCT

这里 C p &gt; 0 是探测常数,可用于调整探索。结果表明:

Eq. Cp

如果奖励(分数)介于0和1([0,1]之间),则

保留Hoeffding's inequality

Silver & Veness建议: C p = R hi - R lo > R hi 是使用 C p = 0 返回的最高值, Rlo 是最低值推出期间的值(即,当您尚未计算任何值函数时随机选择操作时)。

参考:

Cameron Browne, Edward J. Powley, Daniel Whitehouse, Simon M. Lucas, Peter I. Cowling, Philipp Rohlfshagen, Stephen Tavener, Diego Perez, Spyridon Samothrakis and Simon Colton. A Survey of Monte Carlo Tree Search Methods. IEEE Trans. Comp. Intell. AI Games, 4(1):1–43, 2012.

Silver, D., & Veness, J. (2010). Monte-Carlo planning in large POMDPs. Advances in Neural Information Processing Systems, 1–9.