Modification of UCT with Patterns in Monte-Carlo Go(论文阅读)

摘要:用于解决多臂赌博机UCB1算法已经被扩展成了解决极大极小树搜索的UCT算法。我们开发了一套Monte-Carlo围棋程序,MoGo,这是第一个使用UCT算法实现的计算机围棋程序。我们解释了为了围棋应用而对UCT的修改,同时还介绍了有效提高MoGo性能的模式智能随机模拟。在本文还讨论了UCT结合剪枝技术对于大型围棋棋盘的应用以及UCT的并行化。如今MoGo已经是在$9\times9$和$13\times13$围棋棋盘上的顶级围棋程序。
关键词:计算机围棋,Exploration-exploitation,UCT, Monte-Carlo, Patterns
1 引言
围棋的历史可以追溯到大约4000年前,并且这项游戏现在仍在世界范围内广受欢迎。虽然它的规则很简单(在http://www.gobase.org中有详细介绍),但是自从七十年代末开始,它的复杂性使得试图构建一个优秀的计算机围棋选手变得十分困难。现在围棋代替了国际象棋成为了AI中最困难的挑战之一。
围棋和国际象棋相比有很多不同。首先树的规模和分支因子要比国际象棋大得多。一般来说围棋的棋盘范围从$9\times9$到$19\times19$之间(相比而言国际象棋的棋盘只有$8\times8$;围棋每一步都有几百种可能,而国际象棋只有数十种。第二,目前还没有计算最适合落子的有效评价函数可用。因此,对于计算机国际象棋选手采用的alpha-beat搜索算法并不能提供很好的围棋策略。
最近Monte-Carlo方法在评估围棋落子上已经有一些进展了(在第二部分有更详细的描述)。然而,这种评价过程只是有限的精确;以每一步最高的分来评价并不会在最后就赢得胜利。而是每一步都会限制在一些相关的候选步中。还有,由于离散搜索空间的规模太大使得很难使用标准的增强学习方法来处理,也很难增强一个好的围棋选手所必须的exploration versus exploitation (EvE) 搜索策略。
本文也考虑到了另一个起源于博弈论中的EvE设定,即多臂赌博机问题。多臂赌博机问题模拟了一个赌徒依赖于过去的选择和奖励为了最大化奖励而选择下一台要赌博的机器的问题。由Auer等人提出在多臂赌博机框架下的UCB1算法最近被Kocsis等人(UCT算法)用于树结构的搜索空间。
我们提出的选手(MoGo)最主要的贡献是:
(i)为了围棋修改了UCT算法,
(ii)在Monte-Carlo评价函数中使用sequence-like模拟。
同时也解决了其他几个算法的问题,比如动态树结构,并行化和启发式(简单的剪枝启发)。MoGo已经达到了一个相当不错的围棋水平:自从2006年8月,MoGo在Computer Go Server中的$9\times9$棋盘中的142个计算机围棋中排名第一;并且它在2006年10月和11月的国际Kiseido围棋服务器中赢得了所有的比赛($9\times9$和$13\times13$)。
本文的组织结构如下。
第二部分简要的介绍了一下相关的工作,我们假设读者了解基本的围棋知识。
第三部分描述了MoGo,主要集中于我们的贡献:在大规模搜索空间中UCT的实现,and the use of prior, pattern-based, knowledge to bias the Monte-Carlo evaluation。
第四部分报告和讨论了实验结果。
本文以讨论如何从知识以及计算机密集的角度来提高MoGo。
2 前期的相关工作
我们的方法是基于Monte-Carlo围棋以及多臂赌博机问题,它们分别在2.1部分和2.2部分描述
多臂赌博机 multi-armed bandit problem
UCB1算法
UCT算法 Upper bound Confidence for Tree
Go
Exploration-exploitation exploration versus exploitation
Bandit Algorithms for Website Optimization
Monte-Carlo
Patterns
增强学习 Reinforcement Learning approach
sequence-like simulations
转载于:https://www.cnblogs.com/tuhooo/p/8031519.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
