蒙特卡洛树搜索

✍ dations ◷ 2025-02-23 14:16:15 #组合博弈论,蒙地卡罗方法,人工智能,搜寻算法

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

基于随机抽样的蒙特卡洛方法可以追溯到20世纪40年代。布鲁斯·艾布拉姆森(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)。

蒙特卡洛树搜索也被用于其他棋盘游戏程序,如六贯棋、三宝棋、亚马逊棋和印度斗兽棋;即时电子游戏,如《吃豆小姐(英语:Ms. Pac-Man)》、《神鬼寓言:传奇(英语:Fable Legends)》、《罗马II:全面战争》;不确定性游戏,如斯卡特、扑克、万智牌、卡坦岛。

蒙特卡洛树搜索的每个循环包括四个步骤:

每一个节点的内容代表

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

大多数当代蒙特卡洛树搜索的实现都是基于UCT的一些变形。

相关

  • 勾芡打纤,又称勾芡、着膩、加滋,一种烹调方法。可以使食物色味更佳。做法是用各种淀粉加凉水搅匀的液汁,加进食材之中,使用的淀粉有太白粉、玉米淀粉、菱粉、藕粉、马铃薯淀粉、绿豆
  • 胸半棘肌半棘肌是指人体中的横突棘肌肉。更具体来说,半棘肌是指下列三块肌肉的其中之一:
  • 培雷火山培雷火山(英语:Mount Pelée,法语:Montagne Pelée,中文又译:派利火山/派里火山)是一座火山,位于法属马提尼克的北端,为活火山。培雷火山属于层状火山,火山锥由火山灰与火山岩浆所构成
  • 1991年贝尔格莱德抗议1991年贝尔格莱德抗议(塞尔维亚语:Демонстрације у Београду 1991.),指的是1991年3月发生在南斯拉夫社会主义联邦共和国首都贝尔格莱德街头的一场抗议活
  • 柯城区柯城区是中国浙江省衢州市下辖的一个区。面积609平方千米,人口40万。邮政编码324000。区人民政府驻西安路24号。下辖5个街道、2个镇、11个乡,40个居民区、309个行政村:
  • 伊奥尼亚伊奥尼亚(拉丁语:Ionia;古希腊语:Ἰωνία;土耳其语:İyonya;这三种语言的发音均为“伊奥尼亚”而非“爱奥尼亚”)是古希腊时代对今天土耳其安纳托利亚西南海岸地区的称呼。伊奥尼
  • 奥斯卡荣誉奖奥斯卡荣誉奖(Academy Honorary Award),近年来中文或又被称为奥斯卡终身成就奖。在奥斯卡奖设立之初由美国电影艺术与科学学院颁给奥斯卡奖项没有包括的领域的杰出人士或团体机
  • 佛说布施经《佛说布施经》(梵语:Dānādhikāra (mahāyāna) sūtra;藏语:.mw-parser-output .uchen{font-family:"Qomolangma-Dunhuang","Qomolangma-Uchen Sarchen","Qomolangma-Uchen
  • 埃兰多尔埃兰多尔(Erandol),是印度马哈拉施特拉邦Jalgaon县的一个城镇。总人口30120(2001年)。该地2001年总人口30120人,其中男性15565人,女性14555人;0—6岁人口4020人,其中男2120人,女1900人
  • 破坏载荷破坏载荷,(英语:damage load)指在结构强度静力实验中,结构在真实边界条件下总体破坏时所能承受的最大载荷。静力实验时往往是各种载荷组合(包括热载荷)的联合作用。