蒙特卡洛树搜索的主要流程有哪些_「详细原理」蒙特卡洛树搜索入门教程

本文是对 Monte Carlo Tree Search – beginners guide 这篇文章的文章大体翻译,以及对其代码的解释。

1 引言

蒙特卡洛树搜索在2006年被Rémi Coulom第一次提出,应用于Crazy Stone的围棋游戏。Efficient Selectivity and Backup Operators in Monte-Carlo Tree Search

蒙特卡洛树搜索大概的思想就是给定一个游戏状态,去选择一个最佳的策略/动作。

1.1 有限双人零和序贯博弈

蒙特卡洛树搜索实际上是一个应用非常广泛的博弈框架,这里我们将其应用于 有限双人序贯零和博弈 问题中。像围棋、象棋、Tic-Tac-Toe都是有限双人序贯零和博弈游戏。

1.2 怎样去表示一个游戏?

我们采用 博弈树 (Game Tree)来表示一个游戏:每个结点都代表一个 状态 (state),从一个 结点 (node)移动一步,将会到达它的 子节点 (children node)。子节点的个数叫作 分支因子 (branching factor)。 根节点 (Root node)表示初始状态(initial state)。 终止节点 (terminal nodes)没有子节点了。

在 tic-tac-toe 游戏中表示如下图所示:

每次都是从 初始状态 、树的 根结点 开始。在 tic-tac-toe 游戏里面初始状态就是一张空的棋盘。

从一个节点转移到另一个节点叫作一个 move 。

分支因子 (branching factor), tic-tac-toe 中树越深,分支因子也越少,也就是 children node 的数量越少。

游戏结束表示 终止节点 。

从根节点到终止节点一次表示一个单个游戏 playout 。

你不需要关系你是怎么来到这个 node ,只需要做好之后的事情就好了。

1.3 最佳策略是什么?minimax和alpha-beta剪枝

我们希望找到的就是 最佳策略 ( the most promising next move )。如果你知道对手的策略那你可以争对这个策略求解,但是大多数情况下是不知道对手的策略的,所以我们需要用 minimax 的方法,假设你的对手是非常机智的,每次他都会采取最佳策略。

假设A与B博弈,A期望最大化自己的收益,因为是零和博弈,所以B期望A的收益最小,Minimax算法可描述为如下形式:和 是玩家 和 的效益函数。

move 表示从当前状态 和采取的动作 转移到下一个状态。

eval 评估最终的游戏分数。

是最终的游戏状态。</

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值