- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我熟悉更基本的树搜索算法,例如带有极小极大的游戏搜索,但我一直在尝试了解有关蒙特卡洛树搜索算法的更多信息,并且想知道它如何处理“精确线”。
在国际象棋中,您可能会遇到 30 次失败但有 1 条获胜路线的情况,MTCS 算法(更具体地说是 UCB1 函数)将如何处理这种情况?我理解 UCB1 的方式是,它本质上是对其子节点进行某种平均,因此,有 30 次失败的棋步和 1 次获胜的棋局的 UCB1 值应该低得令人迷惑?
我仍在学习 MCTS,但我一直有这个问题,并希望有人能够解释 MCTS 如何仍然收敛到极小极大,即使 UCB1 值可能非常低。
任何知识将不胜感激!谢谢
最佳答案
Imran 的答案是正确的,因为从理论角度来看,通常在 MCTS 的选择阶段使用的 UCB1 策略应该最终能够处理您描述的各种情况,并且 MCTS(假设我们在选择阶段使用类似 UCB1 的东西)将最终收敛到极小极大评估。
但是,这里的“最终”表示“经过无数次 MCTS 迭代之后”。我们需要无限量的处理时间,因为只有 MCTS 的选择阶段能够充分处理您描述的情况类型(播放阶段不能),而< em>选择阶段实际上仅用于根节点周围树的缓慢生长部分。因此,如果您描述的情况“位于”相对靠近根节点的位置,那么我们可以预期像 UCB1 这样的策略可以充分处理它们。如果它们非常深/离根很远,深到我们无法在处理时间内将搜索树增长到那么远......那么 MCTS 确实不能很好地处理这些情况。
请注意,对于基于极小极大的方法也可以说类似的事情;如果他们搜索得不够深入,也可能导致评价不佳。不过,在类似极小极大算法的情况下,这个故事往往更加二元化。他们要么设法足够深入地搜索良好的评估,要么就没有。就 MCTS 而言,它最初总是对这些类型的情况评估不佳,并且可能会随着搜索树的逐渐增长而逐渐改善。
实际上,在大约整整十年的时间里,在具有许多“陷阱”情况(如您所描述的情况)的游戏中,极小极大/α-β/相关算法被认为优于基于 MCTS 的方法。这包括类似国际象棋的游戏。在同一时期,MCTS 在围棋等游戏中已经更有前景。仅在 a recent paper MCTS + 深度强化学习 + 大量硬件的组合在类似国际象棋的游戏中击败了基于极小极大的方法。
关于machine-learning - MCTS 如何与 'precise lines' 配合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51881397/
我有一个关于 MCTS 的基本问题。我的问题是关于开始状态的处理。据我了解,搜索树是通过有效操作的分支来构建的,这会导致每次在相同状态下启动时遍历相同的搜索树。但是如果每次游戏开始时游戏的开始状态都不
我目前正在尝试为我的一个项目实现 MCTS,但我不确定我是否正确理解了节点选择的概念。在游戏开始时,在我随机选择一个 Action 后,将整棵树展开到游戏结束点,然后进行反向传播,这个节点显然比其他所
我正在尝试通过蒙特卡罗树搜索解决 2048 的变体。我发现 UCT 是一种在探索/开发之间进行权衡的好方法。 我唯一的问题是我见过的所有版本都假设得分是胜率。我怎样才能让它适应一个游戏,其中分数是最后
好吧,我基本上了解 MCTS 如何与节点选择等一起工作。我不明白的是随机推出阶段。我随机模拟 future 的游戏步骤直到以赢或输结束,这是否正确?对于具有多种状态、可能的行动以及未知的敌人行动的更复
我试图掌握此实现的流程并弄清楚如何运行此 MCTS 实现:https://github.com/int8/gomcts/blob/master/README.md . 采取的步骤:我遵循了自述文件,但
当我运行我的程序时出现这个错误: Exception in thread "AWT-EventQueue-0" java.lang.OutOfMemoryError: Java heap space
我想知道MCTS中如何处理N个玩家的游戏。对手的 Action 是否嵌入到搜索树中?它们的值(value)生成方式与其他操作相同吗?如果是这样,它们的值是否会以错误的方式改变父状态的总值(value)
所以我熟悉更基本的树搜索算法,例如带有极小极大的游戏搜索,但我一直在尝试了解有关蒙特卡洛树搜索算法的更多信息,并且想知道它如何处理“精确线”。 在国际象棋中,您可能会遇到 30 次失败但有 1 条获胜
我想并行化我的 MCTS 程序。有几种方法可以做到这一点: 叶并行化,其中每个叶并行展开和模拟。 根并行化,其中每个线程/进程创建一个单独的树,当完成一定数量的模拟时,树被合并以提供更好的统计数据 树
我从官方 MCTS 考试 70-562 书中得到的小测试程序没有触发事件。我在 Debug模式下跟踪了计算机逻辑,它甚至没有进入我的事件,即使我已经设置好一切来处理它们。所以最大的问题是我做错了什么?
MCTS算法的步骤是: 选择 扩张 模拟 反向传播 我的问题涉及第三步,模拟。我们用一个新节点扩展了我们的决策树,并模拟了剩余的 Action ,直到游戏结束。这个模拟可以分为两部分: 轮到我们利用决
在本书的第 123 页 - 第 3 章,第 2 课。它说: ” Page.ViewState 属性提供了一个字典对象,用于在 对同一页面的多个请求。此对象属于 StateBag 类型。当一个 ASP.
如图所示,AlphaGo Zero 神经网络使用损失函数,该函数使用 MCTS 概率和值作为真实标签。我试图了解神经网络的输出是否被视为逻辑(例如实值)或原始概率([0,1])。在损失函数中,看起来
我正在阅读 MCTS 自定进度培训工具包(考试 70-536):Microsoft .NET Framework — 应用程序开发基础,第二版电子书。 现在我正在完成线程章节(第 7 期)。在第 2
在我的书“MCTS 自定进度培训工具包(考试 70-515):使用 Microsoft .NET Framework 4 进行 Web 应用程序开发”的第 418 页上有以下问题: You want
我是一名优秀的程序员,十分优秀!