蒙特卡洛搜索树python_蒙特卡洛树搜索最通俗入门指南

本文深入浅出地介绍了蒙特卡洛树搜索算法,讲解了其在围棋AI中的应用,如AlphaGo。内容包括蒙特卡洛方法与蒙特卡洛树搜索的区别,以及MCTS的基本概念:选择、扩展、模拟和回溯。此外,还探讨了AlphaGo如何改进MCTS,结合神经网络提升性能。
摘要由CSDN通过智能技术生成

关于蒙特卡洛树搜索,国内真的很难找到特别好的入门资料,很多还是错的,本文是前段时间为了实现自己的一个 AI,在阅读了几十篇国内外文章之后根据自己的理解整合写的,主要参照 INT8 的一篇英语博文 Monte Carlo Tree Search - beginners guide Machine learning 。不过虽然已经尽力写得通俗,但是蒙特卡洛搜索树比博弈树要难两个等级,没太多算法基础的可以不用搞懂每一个细节。

引言

在很长一段时间以来,学术界普遍认为,机器在围棋领域击败人类是完全不现实的,它被认为是人工智能的“圣杯”,尽管“深蓝”在二十年前已经击败了卡斯帕罗夫,但是在围棋上人工智能的表现还很弱。

2016 年 3 月,由 google Deepmind 研发的 ALphaGo 程序 4-1 击败了李世石,并且在一年后 AlphaGo Zero 又以 100-0 击败了它的前辈——毫无疑问,人类世界已经没有他的对手,柯洁也差得远。

Alpha Go / Zero系统将几种方法组合成一个伟大的工程:蒙特卡罗树搜索

残余卷积神经网络 - 用于游戏评估和移动先验概率估计的策略和价值网络

用于通过自我游戏训练网络的强化学习

在这篇文章中,我们将重点关注卡特蒙洛树搜索算法。

说到关注,我就想到下半年…中美合拍…文体两开花…多多关注…

在此之前,棋类 AI 基本上使用的是博弈树算法——但是用在围棋上,效果很差,原因有两个:棋局评判能力要求更高

棋局的评判一般使用估值函数来评估,国际象棋的棋局局面特征比较明显,最容易想到的是可以给每个棋子和位置设置不同的分值,如果棋子之间的保护关系等特征,对局面的评价就已经很靠谱了。而对于围棋上述方法基本不起任何作用。

计算能力要求更高

首先,国际象棋的棋盘大小为 64,围棋的大小为 361。由于棋盘大小的不同,每走一步国际象棋和围棋的计算量的要求是不一样的,围棋明显要求更高。这在博弈论中一般称之为分支因子,即平均每个落子后的合法走法,国际象棋的分支因子约为 35,而围棋大约是 250。另外一个可以说明计算能力要求不同的指标是搜索空间,在该指标上两者也存在指数级的差异,国际象棋是 10^50,而围棋是 10^171。 我们知道宇宙中的原子总数总共大约也才10^80,因此围棋的搜索空间绝对算是天文数字,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值