Alphago中的蒙特卡洛算法

本文介绍了AlphaGo采用的蒙特卡洛树搜索(MCTS)算法,它结合了随机模拟和树搜索,适用于各种组合博弈问题。MCTS通过选择、扩展、模拟和反向传播四个步骤进行决策。节点选择利用UCB策略平衡探索与利用。MCTS的优势在于无须领域知识、适应性强、可在任意时间终止并返回当前最优解,但存在收敛速度慢和行为能力有限的缺点。通过领域知识和领域独立强化技术可提升性能。
摘要由CSDN通过智能技术生成

AlphaGo使用蒙特卡洛树搜索(Monte Carlo tree search),借助值网络(value network)与策略网络(policy network)这两种深度神经网络,通过值网络来评估大量选点,并通过策略网络选择落点。

 

什么是 MCTS?

全称 Monte Carlo Tree Search,是一种人工智能问题中做出最优决策的方法,一般是在组合博弈中的行动(move)规划形式。它结合了随机模拟的一般性和树搜索的准确性。

 

MCTS 受到快速关注主要是由计算机围棋程序的成功以及其潜在的在众多难题上的应用所致。超越博弈游戏本身,MCTS 理论上可以被用在以 {状态 state,行动 action} 对定义和用模拟进行预测输出结果的任何领域。

 


 

基本算法

基本的 MCTS 算法非常简单:根据模拟的输出结果,按照节点构造搜索树。其过程可以分为下面的若干步:

 

搜索树的构建过程

  1. 选择 Selection:从根节点 R 开始,递归选择最优的子节点(后面会解释)直到达到叶子节点 L。

  2. 扩展 Expansion:如果 L 不是一个终止节点(也就是,不会导致博弈游戏终止)那么就创建一个或者更多的字子节点,选择其中一个 C。

  3. 模拟 Simulation:从 C 开始运行一个模拟的输出,直到博弈游戏结束。

  4. 反向传播 Backpropagation:用模拟的结果输出更新当前行动序列。

 

参看Tutorial 了解关于这个过程更多的信息。

 

每个节点并需包含两个重要的信息:一个是根据模拟结果估计的值和该节点已经被访问的次数。

计算机博弈理论的研究希望计算机能够像人一样、思维、判断和推理,并能够做出理性的决策。棋类博弈由于规则明确、竞技性高,且人类选手往往胜于计算机等原因,在计算机博弈理论的研究过程一直受到重要关注和深入的探讨,并促进了计算机博弈理论的发展。传统的基于博弈树搜索和静态评估的博弈方法在国际象棋、国象棋等棋类项目获得了明显的成功,该类项目的盘面估计与博弈树搜索过程相对独立,棋子在盘面的作用相对明确,且棋局的专家规则相对较为容易概括和总结。 然而传统的博弈理论在计算机围棋博弈遇到了明显的困难:围棋具有巨大的搜索空间;盘面评估与博弈树搜索紧密相关,只能通过对将来落子的可能性进行分析才能准确地确定棋子之间的关系;与此同时,高层次的围棋知识也很难归纳,归纳之后常有例外,并且在手工构建围棋知识和规则的过程常会出现矛盾而导致不一致性。这些独特的因素为围棋及拥有类似性质的计算机博弈问题研究带来了新的挑战。 从2006年开始,计算机围棋博弈的相关研究有了跨越式的发展,基于蒙特卡罗模拟的博弈树搜索算法获得了重要的成功,并开始逐步引领计算机博弈理论研究的方向。在本章,我们将介绍蒙特卡罗博弈理论及其在围棋等棋类博弈的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值