【论文】A Survey of Monte Carlo Tree Search Methods阅读笔记

本文主要是将有关蒙特卡洛树搜索的文献(2011年之前)进行归纳,概述了核心算法的推导,给出了已经提出的许多变化和改进的一些结构,并总结了MCTS方法已经应用于的博弈和其他领域的结果。

蒙特卡洛树搜索是一种通过在决策空间中随机抽样,并根据结果建立搜索树,在给定域内寻找最优决策的方法,它平衡了探索(exploration)和利用(exploitation)。

一、背景

二、蒙特卡洛树搜索

蒙特卡洛树搜索基于两个基本概念:一个动作的真实值可以使用随机模拟来近似;这些值可以有效地调整策略为最佳优先策略。

基本算法包括迭代地构建一个搜索树,直到达到一些预定义的计算预算——通常是时间、内存或迭代约束——此时搜索停止,并返回性能最好的根操作。搜索树中的每个节点表示域的一个状态,指向子节点的定向链接表示导致后续状态的操作。

每次搜索迭代都将应用四个步骤:

  • 选择(selection):从根节点开始,递归地应用子选择策略通过树向下移动,直到到达最紧急的可扩展节点。如果节点表示非终端状态并且有未访问(即未扩展)子节点,则节点是可扩展的。
  • 扩展(expansion):根据可用的操作,添加一个(或多个)子节点以展开树。
  • 模拟(simulation):根据默认策略,从新节点开始运行模拟,以产生结果。
  • 反向传播(backpropagated):模拟结果通过选定的节点进行“备份”(即反向传播),以更新其统计信息。

这些步骤可以分为两种不同的策略:

  • 树策略(tree policy):从已包含在搜索树中的节点中选择或创建一个叶节点(选择和扩展)
  • 默认策略(default policy):从给定的非终端状态发挥域,已产生值估计(模拟)

Upper Confidence Bounds for Trees (UCT) 

UCB1是解决MCTS中的探索-利用困境的一个很有前途的候选对象:每当在现有的树中选择一个节点(动作)时,该选择都可以被建模为一个独立的多武装强盗问题(multiarmed bandit problem),一个子节点 j 被选择去最大化:

方程第一项是利用项,第二项是探索项,两项间有一个基本的平衡。当每个节点被访问时,探索项的分母增加,从而减少其贡献。另一方面,如果访问了父节点的另一个子节点,那么分子就会增加,因此未访问的兄弟节点的探索值也会增加。探索项确保每个子节点都有一个非零的选择概率,这是必要的随机性质。这也赋予了算法一个固有的重启属性,因为即使是低奖励的子节点最终也能保证被选择(如果给定足够的时间),从而探索了不同的游戏路线。

参数可以进行调整以降低或增加探索的概率。一般取,因为这个值能以范围为[0,1]的奖励满足Hoeffding ineqality。其他范围的奖励则需要不同的

算法3展示了一种更有效的双人零和博弈交替移动的备份方法。

 三、特点

1)启发式:MCTS最重要的好处之一就是缺乏对特定领域的知识的需求,这使得它很容易适用于任何可以使用树建模的领域 。

2)任何时间:MCTS立即反向传播每个游戏的结果,确保在算法的每次迭代后所有值都是最新的,这允许算法在任何时候从根目录返回一个操作。

3)不对称:树的选择允许算法偏爱更有前途的节点(但不允许其他节点的选择概率收敛到零),导致随着时间的推移出现不对称的树,也就是说,部分树的构建倾向于更有前途,即更重要的区域。

四、变化

传统的游戏AI研究集中于有两个玩家的零和游戏、交替回合、离散动作空间、确定性状态转换和完美信息。虽然MCTS已经广泛应用于此类游戏,但它也被应用于其他领域类型,如单人游戏和规划问题、多人游戏、实时游戏以及具有不确定性或同时移动的游戏。本节描述了MCTS适应这些领域的方法,以及那些采用来自MCTS的想法而不严格遵守其大纲的算法。

(我只选择部分可能与课题相关的算法进行学习)

1.Learning in MCTS

MCTS可以被看作是一种强化学习算法,因此考虑它与时间差异学习(典型的RL算法)之间的关系。

时间差异学习(TDL):时间差异学习(TDL)和MCTS都是学习基于状态或状态 - 行动对的值来采取行动的。在某些情况下,算法甚至可能是等价的,但TDL算法通常不构建树,只有当所有状态值都可以直接存储在表中时,这种等价才成立。MCTS估计临时状态值,以决定下一步行动,而TDL学习每个状态的长期值,然后指导未来的行为。

时间差异与蒙特卡洛(TDMC):“一种新的方法使用获胜概率代替非终端位置的奖励”

Bandit-Based Active Learner (BAAL):用来解决在数据稀疏的应用程序中的小训练集的问题。

2.多人 MCTS

极大极小搜索的中心假设是搜索玩家寻求最大化他们的奖励,而对手则寻求最小化奖励。在双人零和游戏中,这相当于说每个玩家都寻求最大化自己的奖励;然而,在两个以上玩家的游戏中,这种等价性并不一定成立。

将MCTS应用于多人游戏的最简单的方法是采用这样的想法:每个节点存储一个奖励向量,并且选择过程寻求最大化使用奖励向量的适当成分计算出的UCB值。

 3.多代理MCTS

考虑拥有多个代理(即多个模拟策略)的影响,在这种情况下,不同的代理是通过给程序中使用的启发式分配不同的优先级来获得的。然而寻找具有正确属性的代理集(即那些增加游戏强度的代理)是需要计算的。

集成UCT:在该方法中,多个UCT实例独立运行,并将他们的根统计量组合起来得到最终结果。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/717610.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis在中国火爆,为何MongoDB更受欢迎国外?

一、概念 Redis Redis(Remote Dictionary Server)是一个使用ANSI C编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。Redis是由Salvatore Sanfilippo于2009年启动开发的,首个版本于同年5月发布。 MongoDB MongoDB…

基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析

在自然和社会科学领域有大量与地理或空间有关的数据,这一类数据一般具有严重的空间异质性,而通常的统计学方法并不能处理空间异质性,因而对此类型的数据无能为力。以地理加权回归为基础的一系列方法:经典地理加权回归,…

138.乐理基础-等音、等音程的意义

上一个内容:137.乐理基础-协和音程、不协和音程 上一个内容里练习的答案: 等音、等音程的意义,首先在 19.音阶 里写了,一个调使用的音阶应当是从主音快开始,以阶梯状的形式进行到主音结束,这样才能明显从乐…

b站小土堆pytorch学习记录—— P16 神经网络的基本骨架 nn.Module的使用

文章目录 一、前置知识1.nn是什么2.nn如何使用 二、代码 一、前置知识 1.nn是什么 在深度学习中,“nn” 通常是指神经网络(Neural Network)的缩写。神经网络是一种由大量神经元(neurons)相互连接而成的模型&#xff…

【Python】成功解决TypeError: list indices must be integers or slices, not float

【Python】成功解决TypeError: list indices must be integers or slices, not float 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&…

两天学会微服务网关Gateway-Gateway工作原理

锋哥原创的微服务网关Gateway视频教程: Gateway微服务网关视频教程(无废话版)_哔哩哔哩_bilibiliGateway微服务网关视频教程(无废话版)共计17条视频,包括:1_Gateway简介、2_Gateway工作原理、3…

【网站项目】144校园二手物品交易平台

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

FRM模型十四:FRA估值

什么是FRA FRA(Forward rate agrreement)远期利率协议,是一种场外衍生品。FRA在0时刻确定,在未来时刻进行交易的协议。例如FRA3,6表示双方约定在3个月后以Rk的利率水平借款3个月。 应用场景:某公司未来3个月有融资需…

[HackMyVM] 靶场 Wave

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Un…

Java JDBC JDBC事务管理 JDBC连接池(阿里巴巴Druid连接池、C3P0连接池) JDBC工具类

Java数据库连接 Java DataBase Connectivity。JDBC 规范定义接口,具体的实现由各大数据库厂商来实现。 JDBC可让Java通过程序操作关系型数据库,JDBC基于驱动程序实现与数据库的连接与操作。 JDBC 是 Java 访问数据库的标准规范,真正怎么操作…

C++ 滑动窗口

例1 209. 长度最小的子数组 ①窗口大小不固定 ②求最小长度 -> ret INT_MAX ③数组内的值都大于0, 符合单调性(sum nums[right] -> sum增大) while里面符合条件,在里面更改ret 参考代码 class Solution { public:i…

集成测试之我的初步学习与总结

基本概念 将软件集成起来后进行测试。 集成测试又叫子系统测试、组装测试、部件测试等。集成测试主要是针对软件高层设计进行测试,一般来说是以模块和子系统为单位进行测试。 集成测试包含的层次 模块内的集成,主要是测试模块内各个接口间的交互集成…

day_12二叉树理论基础以及遍历

第六章 二叉树part01 今日内容: 理论基础 递归遍历 迭代遍历 统一迭代 详细布置 题目分类 二叉树的种类 二叉树有两种主要的形式:满二叉树和完全二叉树。 满二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并…

进程与线程:通过实际生活来解析计算机的基本运作单位

进程与线程 进程与线程:详细解析计算机的基本运作单位1. 进程:独立的执行环境1.1 进程的特点: 2. 线程:轻量级的执行单元2.1 线程的特点: 3. 区别和联系4. 表格 进程与线程:详细解析计算机的基本运作单位 在…

Unity铰链四杆机构设计和运动仿真

一、效果图 设定好各边长度和转速后,点击【设置并启动】,自动生成一个机构模型,并按照原理进行运转 二、铰链四杆机构介绍 机架:A和D是固定位置,叫做机架。 曲柄:B点绕A点旋转,构成曲柄。 连…

英语学习资源分享

键盘侠的单词记忆软件: Qwerty Learner — 为键盘工作者设计的单词与肌肉记忆锻炼软件https://qwerty.kaiyi.cool/ 经济学人、纽约客等英语外刊杂志下载:若github无法进入可以试试下载VPN插件(在浏览器中安装免费的VPN插件,个人推…

视频汇聚/存储/压缩/诊断平台EasyCVR视频联网整合方案应用特点

随着科技的不断发展,监控视频在各个领域的应用越来越广泛。为了更好地管理和利用这些视频资源,视频联网与整合的需求也越来越多。通过视频联网技术将不同地理位置或不同设备的视频资源进行整合,实现实时共享和集中管理。视频联网整合方案的应…

2024最新算法:鹦鹉优化算法(Parrot optimizer,PO)求解23个基准函数

一、鹦鹉优化算法 鹦鹉优化算法(Parrot optimizer,PO)由Junbo Lian等人于2024年提出的一种高效的元启发式算法,该算法从驯养的鹦鹉中观察到的觅食、停留、交流和对陌生人行为的恐惧中汲取灵感。这些行为被封装在四个不同的公式中…

C++_红黑树

目录 1、红黑树的规则 2、红黑树节点的定义 3、红黑树插入节点的调整操作 3.1 情况一 3.2 情况二 3.3 情况三 4、红黑树的实现 结语 前言: 在C中,红黑树是二叉搜索树的另一种优化版本,他与AVL树的区别在于保持树的平衡方式不同&…

【Mysql】Navicat数据库勿删了mysql.infoschema@localhost,导致打不开数据库,如何修改

运行报错如下: 1449 . The user specified as a definer (mysql.infoschemaocalhost) does not exist该方法不需要重启mysql,或者重装;仅需要恢复删除的mysql.infoschemalocalhost用户 一、登录建立用户 mysql -uroot -pxxxxxx密码二、建立…