设为首页 - 加入收藏
广告 1000x90
您的当前位置:二四六天天好彩308K文字资料 > 博弈树搜索 > 正文

MCTS和UCT学习

来源:未知 编辑:admin 时间:2019-06-10

  (Monte Carlo tree search)是一种用于某些决策过程的启发式搜索算法,最引人注目的是在游戏中的使用。一个主要例子是电脑围棋程序,它也用于其他棋盘游戏、即时电子游戏以及不确定性游戏。

  UCT定义:(Upper Confidence Bound Apply to Tree),即上限置信区间算法,是一种博弈树搜索算法,该算法将蒙特卡洛树搜索(Monte—Carlo Tree Search,MCTS)方法与UCB公式结合,在超大规模博弈树的搜索过程中相对于传统的搜索算法有着时间和空间方面的优势。

  历史来历:基于随机抽样的蒙特卡洛方法可以追溯到20世纪40年代(由S.M.乌拉姆和J.冯·诺伊曼在20世纪40年代为研制核武器而首先提出,在这之前,蒙特卡罗方法就已经存在,1777年法国Buffon提出用投针实验的方法求圆周率π,这被认为是蒙特卡罗方法的起源)。布鲁斯·艾布拉姆森(Bruce Abramson)在他1987年的博士论文中探索了这一想法,称它“展示出了准确、精密、易估、有效可计算以及域独立的特性“。他深入试验了井字棋,然后试验了黑白棋和国际象棋的机器生成的评估函数。1992年,B·布鲁格曼(B. Brügmann)首次将其应用于对弈程序,但他的想法未获得重视。2006年堪称围棋领域蒙特卡洛革命的一年,雷米·库洛姆(Remi Coulom)描述了蒙特卡洛方法在游戏树搜索的应用并命名为蒙特卡洛树搜索。列文特·科奇什(Levente Kocsis)和乔鲍·塞派什瓦里(Csaba Szepesvári)开发了UCT算法,西尔万·热利(Sylvain Gelly)等人在他们的程序MoGo中实现了UCT。2008年,MoGo在九路围棋中达到段位水平,Fuego程序开始在九路围棋中战胜实力强劲的业余棋手。2012年1月,Zen程序在19路围棋上以3:1击败二段棋手约翰·特朗普(John Tromp)。

  • 选择(Selection):从根结点R开始,选择连续的子结点向下至叶子结点L。后面给出了一种选择子结点的方法,让游戏树向最优的方向扩展,这是蒙特卡洛树搜索的精要所在。

  • 扩展(Expansion):除非任意一方的输赢使得游戏在L结束,否则创建一个或多个子结点并选取其中一个结点C。

  • 仿真(Simulation):在从结点C开始,用随机策略进行游戏,又称为playout或者rollout。

  • 反向传播(Backpropagation):使用随机游戏的结果,更新从C到R的路径上的结点信息。

  “利用”(Exploitation)和“探索”(Exploration)机制:上图中选择子结点的主要困难是在较高平均胜率的移动后对深层次变型的利用和对少数模拟移动的探索二者中保持某种平衡。第一个在游戏中平衡利用与探索的公式被称为UCT(Upper Confidence Bound 1 applied to trees,上限置信区间算法 ),由匈牙利国家科学院计算机与自动化研究所高级研究员列文特·科奇什与阿尔伯塔大学全职教授乔鲍·塞派什瓦里提出。UCT基于奥尔(Auer)、西萨-比安奇(Cesa-Bianchi)和费舍尔(Fischer)提出的UCB1公式,并首次由马库斯等人应用于多级决策模型(具体为马尔可夫决策过程)。科奇什和塞派什瓦里建议选择游戏树中的每个结点移动,从而使如下表达式具有最大值。在该式中:

  C:加权系数(为探索参数—理论上等于1.44,在实际中通常可凭经验选择)

  蒙特卡洛树搜索通过迭代来一步步地扩展博弈树的规模,UCT 树是不对称生长的,其生长顺序也是不能预知的。它是根据子节点的性能指标导引扩展的方向,这一性能指标便是 UCB 值。它表示在搜索过程中既要充分利用已有的知识,给胜率高的节点更多的机会,又要考虑探索那些暂时胜率不高的兄弟节点,这种对于“利用”(Exploitation)和“探索”(Exploration)进行权衡的关系便体现在 UCT 着法选择函数的定义上, UCB 公式由两部分组成,其中前一部分就是对已有知识的利用,而后一部分则是对未充分模拟节点的探索。C小偏重利用;而 C大则重视探索。需要通过实验设定参数来控制访问节点的次数和扩展节点的阈值。

  蒙特卡洛树搜索(MCTS)仅展开根据 UCB 公式所计算过的节点,并且会采用一种自动的方式对性能指标好的节点进行更多的搜索。具体步骤概括如下:

  3.利用 UCB 公式计算每个子节点的 UCB 值,选择最大值的子节点;

  5.直到遇到叶节点,如果叶节点未曾经被模拟对局过,对这个叶节点模拟对局;否则为这个叶节点随机生成子节点,并进行模拟对局;

  6.将模拟对局的收益(一般胜为 1 负为 0)按对应颜色更新该节点及各级祖先节点,同时增加该节点以上所有节点的访问次数;

  由此可见 UCT 算法就是在设定的时间内不断完成从根节点按照 UCB 的指引最终走到某一个叶节点的过程。而算法的基本流程包括了选择好的分支(Selection)、在叶子节点上扩展一层(Expansion)、模拟对局(Simulation)和结果回馈(Backpropagation)这样四个部分。

  UCT 树搜索还有一个显著优点就是可以随时结束搜索并返回结果,在每一时刻,对 UCT 树来说都有一个相对最优的结果。

  2016-03-11日前,围棋人机大战激战正酣,代表人工智能出战的阿尔法狗(AlphaGo)已经2:0领先韩国世界冠军李世石,展示出雄厚实力。 AlphaGo使用蒙特卡洛树搜索(Monte Carlo tree search),借助值网络(value network)与策略...

  本文系《文工团》约稿,禁止一切形式的未授权转载,谢谢合作。这篇是约稿的第二版,第一版可以点这里。 围棋,是一项中国先人所发明的古老对弈游戏。 相较于中国象棋或者国际象棋,围棋的最大特点在于它的每一个棋子都是相同的,没有不同的走法与规则,以及,更重要的一点,围棋中每个棋子的作...

  这篇文章以比较通俗的语言简单介绍了AlphaGo的工作原理,可以先看看了解大概,会发现AlphaGo也没有那么神秘,然后再针对其中涉及到的算法进行深入学习。作者:袁行远链接:

  Neil Zhu,简书ID Not_GOD,University AI 创始人 & Chief Scientist,致力于推进世界人工智能化进程。制定并实施 UAI 中长期增长战略和目标,带领团队快速成长为人工智能领域最专业的力量。作为行业领导者,他和UAI一起在2014年...

  B树的定义 一棵m阶的B树满足下列条件: 树中每个结点至多有m个孩子。 除根结点和叶子结点外,其它每个结点至少有m/2个孩子。 根结点至少有2个孩子(如果B树只有一个结点除外)。 所有叶结点在同一层,B树的叶结点可以看成一种外部节点,不包含任何信息。 有k个关键字(关键字按...

  和女儿的亲子日记 今天女儿上体育课被一个高年级男孩子撞倒了,额头边上发卡垫了一下有点出血。班主任老师及时打电话告诉我女儿有点受伤了,不过不严重在卫生室抹了碘伏,接到老师的电话心里挺担心的,等到女儿放学回家检查了一下,没出...

  很久没有打开,这,仅属于自己的一方小天地了,手机不知觉中都换了好几部,没有变的还是自己的心性。 依然还是仅有那几个软件安然的躺在手机里面,时间久了好像也就成了习惯,还是懒于去发现自己世界以外的精彩事物。每次打开手机浏览器,或是购物网站,都会有类似的标贴,“根据你浏览过的条新...

  云是少年遗落河畔的白衣一件 曾经的年少轻狂 都了无踪影 云是宫墙之内暮春开的梨花一片 曾经的姹紫嫣红 都归于寂静 云是书生独眠客栈中的黄粱一枕 曾经的功名往事 都散落尘烟 云是荒草覆没高台上的广陵一曲 曾经的帝王将相 都沉沉闭眼 云还是你亲笔所题信笺一封 字里那些巴山听雨,...

本文链接:http://mzi-ads.com/boyishusousuo/579.html

相关推荐:

网友评论:

栏目分类

现金彩票 联系QQ:24498872301 邮箱:24498872301@qq.com

Copyright © 2002-2011 DEDECMS. 现金彩票 版权所有 Power by DedeCms

Top