蒙特卡洛树搜索

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

历史

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

自2007年以来KGS围棋服务器上最优秀围棋程序的评级。自2006年以来,最优秀的程序全部使用蒙特卡洛树搜索。[11]

蒙特卡洛树搜索也被用于其他棋盘游戏程序,如六贯棋[12]三宝棋[13]亚马逊棋[14]印度斗兽棋[15];即时电子游戏,如《吃豆小姐[16][17]、《神鬼寓言:传奇[18]、《罗马II:全面战争[19];不确定性游戏,如斯卡特[20]扑克[21]万智牌[22]卡坦岛[23]

原理

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

  • 选择(Selection):从根節点R开始,选择连续的子節点向下至叶子節点L。后面给出了一种选择子節点的方法,让游戏树向最优的方向扩展,这是蒙特卡洛树搜索的精要所在。
  • 扩展(Expansion):除非任意一方的输赢使得游戏在L结束,否则创建一个或多个子節点并选取其中一个節点C
  • 仿真(Simulation):在从節点C开始,用随机策略进行游戏,又称为playout或者rollout。
  • 反向传播(Backpropagation):使用随机游戏的结果,更新从CR的路径上的節点信息。

每一個節點的內容代表勝利次數/遊戲次數

蒙特卡洛树搜索的步骤

探索与利用

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

  • 代表第次移动后取胜的次数;
  • 代表第次移动后仿真的次数;
  • 为探索参数—理论上等于;在实际中通常可凭经验选择;
  • 代表仿真总次数,等于所有的和。

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

参见

  • AlphaGo,一个同时使用蒙特卡洛树搜索和深度学习的相当于人类的围棋程序。

参考来源

  1. . [2012-02-19].
  2. Abramson, Bruce. (PDF). Technical report, Department of Computer Science, Columbia University. 1987 [23 December 2013].
  3. Brügmann, Bernd. (PDF). Technical report, Department of Physics, Syracuse University. 1993.
  4. Rémi Coulom. . (PDF). 2008.
  5. Rémi Coulom. . . H. Jaap van den Herik, Paolo Ciancarini, H. H. L. M. Donkers (eds.). Springer. 2007: 72–83. ISBN 978-3-540-75537-1.
  6. Kocsis, Levente; Szepesvári, Csaba. . . Johannes Fürnkranz, Tobias Scheffer, Myra Spiliopoulou (eds.). Springer. 2006: 282–293. ISBN 3-540-45375-X.
  7. Sylvain Gelly, Yizao Wang, Rémi Munos, Olivier Teytaud. (PDF). Technical report, INRIA. November 2006.
  8. Chang-Shing Lee, Mei-Hui Wang, Guillaume Chaslot, Jean-Baptiste Hoock, Arpad Rimmel, Olivier Teytaud, Shang-Rong Tsai, Shun-Chin Hsu, Tzung-Pei Hong. (PDF). IEEE Transactions on Computational Intelligence and AI in Games. 2009, 1 (1): 73–89. doi:10.1109/tciaig.2009.2018703.
  9. Markus Enzenberger, Martin Mūller. (PDF). Technical report, University of Alberta. 2008. (原始内容 (PDF)存档于2012-05-29).
  10. . [2012-05-02].
  11. . [2012-05-03].
  12. Broderick Arneson, Ryan Hayward, Philip Henderson. (PDF). ICGA Journal. June 2009, 32 (2): 114–116.
  13. Timo Ewalds. (PDF). Master's thesis, University of Alberta. 2011.
  14. Richard J. Lorentz. . . H. Jaap van den Herik, Xinhe Xu, Zongmin Ma, Mark H. M. Winands (eds.). Springer. 2008: 13–24. ISBN 978-3-540-87607-6.
  15. Tomáš Kozelek. (PDF). Master's thesis, Charles University in Prague. 2009.
  16. Xiaocong Gan, Yun Bao, Zhangang Han. . ICGA Journal. December 2011, 34 (4): 209–222.
  17. Tom Pepels, Mark H. M. Winands, Marc Lanctot. . IEEE Transactions on Computational Intelligence and AI in Games. September 2014, 6 (3): 245–257. doi:10.1109/tciaig.2013.2291577.
  18. . [2015-08-27]. (原始内容存档于2015-08-21).
  19. . [2014-08-13]. (原始内容存档于2017-03-13).
  20. Michael Buro, Jeffrey Richard Long, Timothy Furtak, Nathan R. Sturtevant. . . Craig Boutilier (ed.). 2009: 1407–1413.
  21. Jonathan Rubin, Ian Watson. (PDF). Artificial Intelligence. April 2011, 175 (5–6): 958–987. doi:10.1016/j.artint.2010.12.005. (原始内容 (PDF)存档于2013-10-01).
  22. C.D. Ward, P.I. Cowling. . (PDF). IEEE Press. 2009. (原始内容 (PDF)存档于2016-05-28).
  23. István Szita, Guillaume Chaslot, Pieter Spronck. . (PDF). H. Jaap van den Herik, Pieter Spronck (eds.). Springer. 2010: 21–32 [2016-03-15]. ISBN 978-3-642-12992-6. (原始内容 (PDF)存档于2016-03-04).
  24. G.M.J.B. Chaslot, M.H.M. Winands, J.W.H.M. Uiterwijk, H.J. van den Herik, B. Bouzy. (PDF). New Mathematics and Natural Computation. 2008, 4 (3): 343–359. doi:10.1142/s1793005708001094.
  25. Auer, Peter; Cesa-Bianchi, Nicolò; Fischer, Paul. (PDF). Machine Learning. 2002, 47: 235–256 [2016-03-15]. doi:10.1023/a:1013689704352. (原始内容 (PDF)存档于2014-05-12).
  26. Chang, Hyeong Soo; Fu, Michael C.; Hu, Jiaqiao; Marcus, Steven I. (PDF). Operations Research. 2005, 53: 126–139.

延伸阅读

  • Cameron Browne, Edward Powley, Daniel Whitehouse, Simon Lucas, Peter I. Cowling, Philipp Rohlfshagen, Stephen Tavener, Diego Perez, Spyridon Samothrakis, Simon Colton. (PDF). IEEE Transactions on Computational Intelligence and AI in Games. March 2012, 4 (1). (原始内容 (PDF)存档于2013-03-09).
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.