一、简介

蒙特卡洛树搜索(简称 MCTS)最早兴起于上个世纪五十年代左右,从统计实验中衍生而来,在博弈决策中发挥了巨大的作用。当博弈序列较长,动作空间大时,往往会使博弈树非常巨大,导致使用蒙特卡洛树搜索带来了较大的困难,近几年深度学习的兴起,尤其是AlphaGO,其使用了深度学习与蒙特卡洛树搜索相结合,借助MCTS的框架(就是实验统计的思想),利用深度网络来拟合,解决了空间规模较大的问题,在各类游戏中越来越突出MCTS的作用。

二、博弈树

先看博弈树,博弈树能够直观的体现出双方的决策行为,如下图所示,这种博弈适合异步博弈,如棋牌类,一方的决策需要等待另一方决策完成之后。从树中根节点开始,任一个状态,树中的每一个分支即为一种决策路径(双方的决策)。博弈树中常见的方法即为最大最小法(max-min),剪枝法等。MCTS就是用于解决这两种方法的不足。

二、基本原理

MCTS核心部分包含四个步骤:选择(Selection)、扩展(Expansion)、仿真(Simluation)、回溯(Backpropagation)。

核心思想:当遇到需要决策的状态点时,利用大量的仿真实验结果来评估该点每个动作的好坏,仿真实验可能会达到上万局,根据决策问题的复杂度来定,在AlphaGo中就是用快速走子网络来做实验。最终返回当前状态的一个决策结果。

节点信息

每一个节点代表一个状态,每一条边代表状态动作对,每一个节点处至少包含三种信息,一是节点访问次数,一是节点获胜次数,一是节点处的评估值。

选择(Selection)

扩展(Expansion)

仿真(Simluation)

回溯(Backpropagation)

参考论文

博弈决策---蒙特卡洛搜索过程(一):原理相关推荐

  1. c语言编简单博弈小游戏,[2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏.doc...

    [2018年最新整理]实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏 实验二:利用α-β搜索过程的博弈树搜索算法编写一字棋游戏 一.实验目的与要求 (1)了解极大极小算法的原理和使用方法,并 ...

  2. Lucene学习总结之七:Lucene搜索过程解析

    一.Lucene搜索过程总论 搜索的过程总的来说就是将词典及倒排表信息从索引中读出来,根据用户输入的查询语句合并倒排表,得到结果文档集并对文档进行打分的过程. 其可用如下图示: 总共包括以下几个过程: ...

  3. linux从接通电源到操作系统启动,第4章-Linux引导过程及原理要点.ppt

    <第4章-Linux引导过程及原理要点.ppt>由会员分享,可在线阅读,更多相关<第4章-Linux引导过程及原理要点.ppt(98页珍藏版)>请在人人文库网上搜索. 1.Li ...

  4. PRN(20201231):驾驶人驾驶决策机制遵循最小作用量原理

    王建强, 郑讯佳, 黄荷叶. 驾驶人驾驶决策机制遵循最小作用量原理[J]. 中国公路学报, 2020, v.33;No.200(04):159-172. 观点: 为提升智能汽车的自主决策能力,使其能够 ...

  5. 禁忌搜索(Tabu Search)原理梳理和应用细节-附求解VRPTW问题C++代码

    文章目录 1.禁忌搜索(TS)的相关概念 1.1 搜索空间(search space) 1.2 邻域结构(neighborhood structure) 1.3 禁忌表(tabu) 1.4 解禁标准( ...

  6. 决策树算法和CART决策树算法详细介绍及其原理详解

    相关文章 K近邻算法和KD树详细介绍及其原理详解 朴素贝叶斯算法和拉普拉斯平滑详细介绍及其原理详解 决策树算法和CART决策树算法详细介绍及其原理详解 线性回归算法和逻辑斯谛回归算法详细介绍及其原理详 ...

  7. iOS编译过程的原理和应用

    阅读本文你将收获: iOS编译流程 明确 text.data 的含义 iOS dSYM 的作用和生成方式 明白iOS crash堆栈符号化解析流程 source: iOS编译过程的原理和应用 iOS ...

  8. Internet:A/B Testing即对照实验(一种数据驱动决策方法)的简介、原理、案例应用之详细攻略

    Internet:A/B Testing即对照实验(一种数据驱动决策方法)的简介.原理.案例应用之详细攻略 目录 A/B Testing即对照实验(一种数据驱动决策方法)的简介 1.A/B Testi ...

  9. Lucene系列七:搜索过程和IndexSearcher

    搜索过程是由Lucene所提供的核心功能之一.下图说明了搜索过程和使用的类. IndexSearcher是搜索过程中最重要的和核心组件.本章的需要掌握的,了解他们的存储原理后就可以方便知道如何基于这些 ...

最新文章

  1. 服务器的操作系统分哪几类,服务器的操作系统分哪几类
  2. C-二维数组,多维数组
  3. C/C++程序基础 (八)数据结构
  4. CentOs6.5下独立安装Nginx篇
  5. RT3070_STA_驱动移植文档
  6. Java黑皮书课后题第7章:7.26(完全相同的数组)如果两个数组list1和list2的对应元素都相等,认为完全相同。编写一个测试程序,提示用户输入两个整数列表,然后显示这两个列表是否完全相同
  7. redis 保存 array list 区别_为什么Redis的RDB备份不用多线程实现CopyOnWrite?
  8. TypeScript模块系统、命名空间、声明合并
  9. 在二元树中查找和为某一值的所有路径
  10. 进程退出:SIGINT、SIGTERM和SIGKILL区别
  11. 【剑指offer】31、栈的压入和弹出序列
  12. 电脑重启bootmgr_解决电脑出现bootmgr is missing如何解决
  13. 相同分数排相同名次C语言,实验六 按成绩输出名次
  14. 大数据有哪些基本特征?
  15. 关于计算机的合成新英语词,计算机英语专业词汇的构词法
  16. 能够做到亚马逊月销售额50w以上的运营,他们有什么共同点 和技巧
  17. Unity编辑器录屏神器:Unity Recorder
  18. Tableau 5阶桑基图
  19. 谁是滕尚华?两获哥德尔奖,上交大校友,喜欢「躺平式」科研
  20. Mina框架并实现Server与Client端的简单消息传递!

热门文章

  1. Android的鼠标事件流向
  2. python实战| 爬取虎牙高质量小姐姐私房照!
  3. Linxu命令(3)
  4. linux 禁用cpu的acpi,Linux中的ACPI和APIC
  5. 服务器安全证书更新失败怎么回事,手机安全证书更新失败怎么办
  6. pytorch迁移学习载入部分权重
  7. 华为v5服务器raid设置系统,华为服务器2288hv5raid阵列卡制作
  8. deepin 下 WPS for linux字体显示问题[已解决]
  9. android的word默认字体大小设置,更改Microsoft Word文档的默认字体大小和样式 | MOS86...
  10. 统计学习方法 - 绪论部分