【Monte Carlo Tree Search Methods】MCTS 蒙特卡洛搜索树 学习笔记

本文介绍了蒙特卡洛搜索树(MCTS)的基本概念和工作原理,用于解决大规模搜索空间的问题,如AlphaGo在围棋中的应用。MCTS包括选择、拓展、模拟和回溯四个步骤,通过平衡探索与利用来寻找最佳决策。文章还讨论了如何计算节点的UCB1值以优化选择,并提供了相关博客链接以深入理解MCTS的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

之前本科的时候有学过这个算法,写了一个五子棋的小demo,不过现在忘记了很多。所以在捡起来看一看。记录一下我的学习。

简介

蒙特卡洛搜索树和蒙特卡洛算法还是有区别的,mcts是一类数搜索算法,可以解决探索空间巨大的问题,比如围棋算法,AlphaGo就是用的mcts。如果对于空间小,层数浅的问题,可以直接使用穷举来计算。但是对于空间非常大的问题,计算能力跟不上,就只能使用mcts了。

mcts包括四个步骤:Selection、Expansion、Simulation、Backpropagation。(配合下图食用更加)

    Selection选择:从根结点(根结点已经确认)往下走,每次都选择最好的(score最高,score后面说,没有选择过的节点score最高)节点,直到到达一个“存在未拓展的”子节点A。

    Expansion拓展:如果A不是终止节点(即游戏结束,或者后面已经没有可以拓展的了),则创建A的子节点B,如果B有多种选择, 则可以随机或者按照一定的机制来选择。

    Simulation模拟:拓展好了B,对B进行模拟。随机选择B可行的下一步,一直随机直到结束。将结果计算作为B的value(value和score是不同的),这个模拟过程的中间节点是不做记录的。

    Backpropagation回溯:用模拟的结果,更新当前行动序列。

重复循环这个过程。

mcts算法重要的问题是如何权衡exploration和exploitation,我们的希望是要尽可能选择出最优的点,同时也要尽量探索未知的点。有一个经典的解决方法。对于每一个节点,都标记了该节点的value和探索次数。选择时候评估的score值(一般称UCB1值)如下定

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值