蒙特卡洛树搜索:

 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) 算法融合了蒙特卡洛树搜索和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算法得到价值会有一定误差但是运行速度较快.

Pachi中的蒙特卡洛树搜索,AMAF,Rave相关推荐

  1. AlphaGo的制胜秘诀:蒙特卡洛树搜索初学者指南

    编译 | reason_W 出品 |  AI科技大本营(公众号ID:rgznai100) 长久以来,计算机在围棋领域不可能达到人类专家的水平一直是学术界的主流观点.围棋,被认为是人工智能的" ...

  2. python实现的基于蒙特卡洛树搜索(MCTS)与UCT RAVE的五子棋游戏

     转自: http://www.cnblogs.com/xmwd/p/python_game_based_on_MCTS_and_UCT_RAVE.html 更新 2017.2.23有更新,见文末 ...

  3. 蒙特卡洛搜索树python_python实现的基于蒙特卡洛树搜索(MCTS)与UCT RAVE的五子棋游戏...

    更新 2017.2.23有更新,见文末. MCTS与UCT 下面的内容引用自徐心和与徐长明的论文<计算机博弈原理与方法学概述>: 蒙特卡洛模拟对局就是从某一棋局出发,随机走棋.有人形象地比 ...

  4. 蒙特卡洛树搜索_Query 理解和语义召回在知乎搜索中的应用

    分享嘉宾:方宽 知乎 算法工程师 文章整理:艺饭饭 内容来源:DataFunTalk 出品平台:DataFun 注:欢迎转载,转载请留言. 导读:随着用户规模和产品的发展, 知乎搜索面临着越来越大的 ...

  5. 蒙特卡洛树搜索算法实现_蒙特卡洛树搜索实现实时学习中的强化学习

    蒙特卡洛树搜索算法实现 In the previous article, we covered the fundamental concepts of reinforcement learning a ...

  6. MindSpore Reinforcement新特性:分布式训练和蒙特卡洛树搜索

    MindSpore Reinforcement MindSpore Reinforcement v0.5 版本提供了基于Dataflow Fragment的分布式训练能力,通过扩展新的Fragment ...

  7. 【python】蒙特卡洛树搜索(MCTS)简单实现

    过程包括以下四步: 选择 Selection:从根节点 R 开始,递归选择最优的子节点(后面会解释)直到达到叶子节点 L. 扩展 Expansion:如果 L 不是一个终止节点(也就是,不会导致博弈游 ...

  8. 面向初学者的蒙特卡洛树搜索MCTS详解及其实现

    目录 0. 序言 1. 蒙特卡洛算法的前身今世 2. 蒙特卡洛搜索算法的原理 2.1 Exploration and Exploitation(探索与利用) 2.2 Upper Confidence ...

  9. 蒙特卡洛树搜索 MCTS

    原文地址 http://mcts.ai/about/index.html 什么是 MCTS? 全称 Monte Carlo Tree Search,是一种人工智能问题中做出最优决策的方法,一般是在组合 ...

最新文章

  1. 11g内存管理新特性的internal表现
  2. 006_Spring Data JPA基于方法名称命名规则查询
  3. 接口作为参数,不同的接口调用不同的方法,例如:输出“I love Game”或输出“我喜欢游戏”...
  4. bgi::detail::minmaxdist用法的测试程序
  5. 刷leetcode第705题- 设计哈希集合
  6. Jerry的ABAP原创技术文章合集
  7. 教你如何创建一款属于自己的VSCode主题
  8. 腾讯微博虽然停运,但其仍是一款成功的产品
  9. linux列出当前目录及父目录,linux – 仅列出文件的公共父目录
  10. paip.jdbc 连接自动释放的测试
  11. 自动弹琴助手使用及制谱教程
  12. 什么是接触电流怎么测?
  13. 油猴天眼查公司链接获取(用油猴实现爬虫python版)
  14. 静态HTML网页设计作品:旅游网站设计——开心旅游网(15页) HTML+CSS+JavaScript 主题度假酒店
  15. 写给学生看的系统分析与验证笔记(十二)——验证ω-正则属性(Verifying ω-regular properties)
  16. ERROR: Removing unused resources requires unused code shrinking to be turned on.
  17. Python好学吗?要学多久?
  18. iPhone屏蔽IOS更新、iPhone系统更新的提示(免越狱,有效期更新至2021年)
  19. mac的python换字体_Python -mac-画图及设置坐标中文字体
  20. Cesium变换3DTiles的位置(平移旋转缩放)

热门文章

  1. 个人开发者,APP一样可以有很精致的Icon图片
  2. 安卓system userdata镜像解包打包
  3. 博士的待遇真的有那么好吗?
  4. 一名优秀的程序员成长的几个阶段
  5. Efficient Global 2D-3D Matching for Camera Localization in a Large-Scale 3D Map
  6. layout_marginBottom的使用(将VIEW放置在布局底部)
  7. Oracle的基本概念及用法
  8. Progressive Downloader for Mac(mac不限速下载器)
  9. 有道翻译、小牛翻译Python[转载]
  10. 套接字描述符的就绪条件