两个问题
- 当真正的对手的行为可能不是随机的时,为什么蒙特卡洛会起作用?
- 如果模拟是基于随机动作的,那么对手行为的建模如何才能很好地发挥作用?
树上的有向图
游戏(或类似游戏的战略场景)不应表示为树。如果所表示的过程路径具有马尔可夫特性,即每个决策都缺乏历史知识,则可以通过多个路径接近特定的博弈状态,并且可能存在重新访问博弈状态的循环路径。树没有任何特征。
最好使用有向图结构来考虑这些问题。游戏的状态是一个顶点,顶点由单向边连接。这通常绘制为由箭头连接的形状。当两个箭头进入一个形状或有一条闭合路径时,它就不是一棵树。
问题中概述的场景
在这个问题的场景大纲的情况下,有一个顶点代表一个游戏状态,其中 100 条出边代表玩家 A 可能的移动。九十九条边导致 A 明显的即时游戏胜利。正好有一个导致B. 明显的即时游戏胜利。
将游戏回放到在最后一步之前传入边遍历到顶点之前,不能假设游戏允许玩家 B 相同的 100 个选项。即使 B 可以使用相同的 100,从 B 的角度来看,在决定先前的移动时,它们也不一定具有相似的价值。很有可能,B 将有一组不同的输出边可供选择,与 A 的后续选项几乎没有或没有明显相似之处。
即使与井字游戏相比,任何不正确且选项保持不变的游戏都将是微不足道的。
蒙特卡罗方法及其算法开发
关于奇异蒙特卡洛算法的规范,它不存在。Goodfellow、Bengio 和 Courville 在他们的2016 年深度学习中正确地指出,蒙特卡洛算法(不是单一算法)得出通常正确的结论,但会出现非确定性的错误结论。文献中有各种各样的方法细节和相关算法。
- 1997年鲁宾斯坦提出的交叉熵(CE)方法
- 连续多级蒙特卡罗算法;Collier, Haji–Ali, von Schwerin, & Tempone; 2000
- 顺序蒙特卡罗算法;德罗万迪、麦格里和佩蒂特;2012
- 来自贝叶斯和大数据的分布式共识方法:共识蒙特卡洛算法;Scott1、Blocker、Bonassi、Chipman、George 和 McCulloch;2014
- Hamiltonian Monte Carlo,一种基于马尔可夫链的算法,旨在避免“随机游走行为和对相关参数的敏感性”;霍夫曼和格尔曼;2014
还有几个。所有人都试图通过从贝叶斯后验分布近似蒙特卡罗模拟来使用混沌扰动来最小化决策的持续时间和资源消耗。
在这些方法中,随机性质的模拟通常是通过从伪随机数生成器中注入混沌序列来完成的。它们通常不是真正随机的,因为从数字系统中获取熵是另一个带来巨大困难的瓶颈,但这是一个完全切题的话题。
直接回答问题
为了纠正问题中的误解,这种混沌扰动的使用并不等于移动的选择(由游戏有向图中的边表示)。每个可用选项的成功概率仍然粗略计算和遵循,但由于设计注入了伪噪声,因此只能粗略计算。
纯优化应用中的这些干扰实现了大多数游戏状态(由顶点表示)的时间和资源节约,但同时牺牲了一些可靠性。
牺牲为何有效的概述
上面提到的混沌扰动的引入通过实现两个非常具体的增益来修改优化搜索的条件。
- 通过在整个试验集中增加熵(通过添加合成布朗运动来减少组织性)来更快地搜索轮廓。
- 通过对正在搜索的轮廓不那么随意(对梯度和曲率提示的依赖程度稍低)来避免收敛中的局部最小值。
这适用于强化网络(包含实际使用期间的实时反馈)或监督训练类型的预训练网络(带有标记数据)或收敛性由固定标准确定的无监督训练。