蒙特卡洛树搜索:

  MCTS使用蒙特卡洛模拟来估计每个节点的价值. 其默认策略为贪婪算法, 即每次选择价值最高的节点进行模拟, 在每次模拟得到结果后, 将结果反馈回每个上级节点, 更新节点价值. 通常来讲, 每个访问到的节点都会加入到树中, 实际上为了节省内存每次只加入一个子节点, 可以通过对旧节点剪枝或多次模拟后再加入新节点来进一步节省内存.

贪婪算法的缺点在于对于一个节点, 如果产生了一次或几次不利的结果后, 搜索树就会避开访问这个节点, 这意味着搜索树的广度会降低, 可能会忽略更好的选择. 这时应该选择UCB1算法(Upper Confidence Bound), 对应节点产生的价值为:

其中C为搜索规模常数, 当C取值越大, 树越偏向广度搜索, 越小就越偏向深度搜索.

AMAF(all moves as first) 算法的核心思想是每一步落子有一个恒定的价值, 不管是什么时候落下的.

当给定状态s, 模拟出期望结果z, 选取a作为后续落子, AMAF value计算为:

当第i次模拟时, 动作a被执行, 得到状态s时返回1, 否则则返回0

RAVE(rapid action value estimation) RAVE算法融合了蒙特卡洛树搜索和AMAF算法, 它不计算蒙特卡洛价值, 而是计算AMAF价值. 其核心思想是归纳整个子树, 即动作a的价值在状态s下, 或者在子树中其他状态下都一样, 即a的价值是在所有情况下估计得到而不是执行动作时候得到.

如图, 当使用蒙特卡洛价值估计时, 在s状态下, 如果走a, 会导致两次失败, 价值为0/2, 如果走b, 会有两次成功一次失败, 价值为2/3, 则会选择走b. 当使用AMAF算法价值估计时, 在s状态下, 如果走a, 会有三次成功和两次失败包含动作a, 价值为3/5, 如果走b, 会有两次成功和三次失败包含动作b, 价值为2/5.

RAVE和AMAF算法得到价值会有一定误差但是运行速度较快.

蒙特卡洛树,AMAF,Rave浅析的更多相关文章

  1. 蒙特卡罗方法、蒙特卡洛树搜索(Monte Carlo Tree Search,MCTS)初探

    1. 蒙特卡罗方法(Monte Carlo method) 0x1:从布丰投针实验说起 - 只要实验次数够多,我就能直到上帝的意图 18世纪,布丰提出以下问题:设我们有一个以平行且等距木纹铺成的地板( ...

  2. 基于蒙特卡洛树搜索(MCTS)的多维可加性指标的异常根因定位

    摘要:本文是我在从事AIOps研发工作中做的基于MCTS的多维可加性指标的异常根因定位方案,方案基于清华大学AIOPs实验室提出的Hotspot算法,在此基础上做了适当的修改. 1        概述 ...

  3. 【Todo】蒙特卡洛(蒙特卡罗)树 & 卷积网络

    https://www.zhihu.com/question/41176911/answer/90066752 这里面有关于Deep Learning和蒙特卡洛树的一些内容 https://www.z ...

  4. 蒙特卡罗树搜索(MCTS)【转】

    简介 最近AlphaGo Zero又火了一把,paper和各种分析文章都有了,有人看到了说不就是普通的Reinforcement learning吗,有人还没理解估值网络.快速下子网络的作用就放弃了. ...

  5. AlphaGo原理浅析

    一.PolicyNetwork(走棋网络) 首先来讲一下走棋网络.我们都知道,围棋的棋盘上有19条纵横交错的线总共构成361个交叉点,状态空间非常大,是不可能用暴力穷举的方式来模拟下棋的.但是我们可以 ...

  6. AlphaGo论文的译文,用深度神经网络和树搜索征服围棋:Mastering the game of Go with deep neural networks and tree search

    转载请声明 http://blog.csdn.net/u013390476/article/details/50925347 前言: 围棋的英文是 the game of Go,标题翻译为:<用 ...

  7. Monte Carlo tree search 学习

    https://en.wikipedia.org/wiki/Monte_Carlo_tree_search 蒙特卡洛树搜索(MCTS)基础 http://mcts.ai/about/index.htm ...

  8. 简单二维元胞自动机 MATLAB实现

    20世纪50年代,乌尔姆和冯·诺依曼(对此人真是崇拜的五体投地)为了研究机器人自我复制的可能性,提出了一种叫做元胞自动机(Cellular Automaton,CA)的算法.该算法采用局相互作用规则, ...

  9. 【Todo】【读书笔记】机器学习-周志华

    书籍位置: /Users/baidu/Documents/Data/Interview/机器学习-数据挖掘/<机器学习_周志华.pdf> 一共442页.能不能这个周末先囫囵吞枣看完呢.哈哈 ...

随机推荐

  1. FlexRay通信机制

    通信周期是 FlexRay 的基本通信单元[6~7,19].每个通信周期包括四个时间层,如图 2-9 所示.通信周期由静态段(Static Segment).动态段(Dynamic Segment). ...

  2. haproxy反向代理

    haproxy是个高性能的tcp和http的反向代理.它就是个代理.不像nginx还做web服务器 官网地址为www.haproxy.org nginx的优点和缺点 优点: 1.web服务器,应用比较 ...

  3. 部署activiti 5.15.1的Activiti Explorer

    1.从官网下载activiti包,将其中的activiti-explorer.war文件拷贝到tomcat的webapps目录下: 2.将mysql驱动包文件mysql-connector-java- ...

  4. 使用QTP12.2录制windows applications,没有脚本产生

    使用QTP12.2录制windows applications,没有脚本产生解决方案:关闭电脑的杀毒软件和安全卫士,再进行录制,所有步骤录制成功.录制QTP自带程序flight,选择windows a ...

  5. 360软件的木马查杀、漏洞修复等组件不能使用,提示runtime error

    一.故障现象:1.360软件的木马查杀.漏洞修复等组件不能使用,提示runtime error2.暴风影音等很多软件不能正常使用3.设备管理器不能打开,提示“MMC 不能打开文件”4.部分https安 ...

  6. AsyncTask 的 get post 封装

    1.get方法的封装AsyncTask public class DBUTil2 { public static interface Succee{ void onSuccee(String resu ...

  7. VS2012统计代码量

    第一步:打开项目 第二步:CTRL+SHIFT+H  选择在文件中查找,输入 表达式:b*[^:b#/]+.*$,如下图所示: 第三步:单击 查找全部 按钮,统计结果如下图所示:

  8. Windows下安装Spark环境

    根据博客总结 https://blog.csdn.net/nxw_tsp/article/details/78281533 需要的安装软件可以在网盘下载: 链接:https://pan.baidu.c ...

  9. mat函数

    mat函数可以将目标数据的类型转换为矩阵(matrix) data=[[1,1,0,3,1],[1,0,1,4,3],[1,0,1,2,4],[0,1,1,1,2], [2,0,0,3,0],[1,0 ...

  10. docker环境安装与开启远程访问

    一,安装docker 1,服务器安装 docker yum install docker 直接yum安装版本太低 2,卸载:老版本的Docker在yum中名称为docker或docker-engine ...