电脑围棋中的人工智能技术
电脑围棋中的人工智能技术
摘要:本文通过研究几个最出色的电脑围棋程序,从认知科学的角度介
奇境小站 (WonderLand)1998.06 -- 2000.06 Webmaster: Kerry Jia
电脑围棋中的人工智能技术 作者:Jay Burmeister 和 Janet Wiles
澳大利亚昆士兰大学心理学与信息技术学院 jay@it.uq.edu.au http://www.psy.uq.edu.au/~jay/ 翻译:Lookingfor
1. 挑战围棋的程序
作为正规游戏之一的围棋领域,过去即便是应付一般的人类棋手计算机
最早以围棋为对象把电脑围棋纳入研究工作是在1962年
2. 围棋中的博弈树搜索
二人完美信息博弈中典型的人工智能方法是搜索博弈树以决定走哪一步
1.状态表示,2.候选走法产生,3.确定目标状态,以及4
博弈树这条途径很成功,如我们在国际象棋程序中所看到的
2.1 状态表示
从完全信息的角度看,围棋盘面有19X19的3次方格
由于空间的组合尺寸,用19X19格的形式严格表示状态空间对人或
另外,恰当层次的表示能改变对运行时子任务的依赖,例如
2.2 走子
棋手在禁止自杀和同型反复(劫)的规则限制下轮流把棋子投放在空的
注意这个分枝因子在全盘中的考虑。而在某些情形下只有局部的考虑是
实际的走子是个复杂的问题:参见3.4部分。
2.3 目标状态
围棋的最终目标是获得比对手更多的实地。有两种方法用来争取实地
当对局双方依次弃权时结束。棋手通常在没有走法能增加所得和
2.4 评估函数
在判断盘面的形势优劣时棋块的死活是个重要的考虑点
评估的结果有时不确定,因为明确的死活定义在受限的战术搜索里也许
从复杂的类型分析看,由一个绝对位置来确定赢家是P空间难题(Lichtenstein & Sipser,1980),决定一个棋手能否左右输赢需指数时间来完成(Robson,1983),由此也就不奇怪要用到启发式了。这些理论结果显示不存 在从一个绝对局势出发决定领地结果的多项式时间算法。
3. 参赛程序里的博弈树搜索和人工智能技术
当前活跃在各电脑围棋赛事里的程序有Martin Muller(1995)的Explorer(EX),陈恳(陈
3.1 位置表示
所有的程序都有子、串、块的表示,确认串属于某个组的典型方式是采
盘面(例如棋块、敌方)表示的对象属性包括它们的死活状态
MFG的表示方式中一些组件由评估函数控制(例如块、联接、眼
3.2 候选走法
通常,由模式或更常见的是由基于规则的专家系统产生候选走法
不同程序由全局水平变量估值得出的候选走法数也有所不同:GI(陈,1997)有12手,MFG有10手,而Go4至少有50手。程序变量保持的规则数: EX大约100,MFG大约200。GI含有约20个走子算法,它们或者基于模式库,或者基于面向目标的搜索
模式通常既包含低级信息也包含高级信息。低级信息与黑白子的位置有
知识以不同的方式组合到程序当中:一些程序几乎完全依据第一原则工
3.3 目标
多数情况下,大量的实地比起少量的实地加相应的外势更合乎需要
用来确定形势优劣的大量子目标的相对优先度在电脑围棋中看来没有一
3.4 评估过程
评估围棋的形势是个很慢的过程(例如,比起国际象棋程序的每秒10
Go4的50种候选走法中每一个都通过一个六步的过程来评估:1.启用一个联接概率图。对于盘面上的每一个黑子和白子,计算它与32个(实际的或假定的) 友好点的联接概率(要处理大量的数据)。确定联接性还要用到战术搜
MFG的评估是个多步过程,并且在很大程度上依赖于战术搜索
GI的评估用在做全局搜索时。如果所有候选走法中有一种走法的得分
3.5 战术搜索
战术搜索是有选择的、面向目标的搜索,并且为一大堆目的而使用
MFG提供了一个战术搜索操作的很好的例证(通过“战术家”)
“战术家”有两个分离的走子器;一个执行攻击走法
战术搜索直接针对目标并被限制一个最大节点数。抓子时这个限制是大
对局过程中,MFG作大约100,000-150
3.6 死活搜索
不是所有的程序都做明确的死活分析,很多程序对此使用了战术搜索
一个静态死活评估器在多步过程中确定每个块的死活状态
死活搜索是直接面向目标的(例如,拯救或杀死一个棋块)
3.7 势函数
势是一种围棋概念,它表明了每一方棋子对空点的最大可能的控制潜力
势通过势函数建立可计算模型(Zobrist,1969
应用势的启发包括确定联接性和敌子(GI),以及确定领地(MFG)。MFG的块势初始值依赖于块的强度等,强壮的块比弱块或将死的块辐射更大
4. 讨论
当前的围棋程序都使用了一定量的“知识”。由于建立在设计者下棋成
由此可见,电脑围棋领域在关于怎样构筑一个围棋程序或者指配不同围
本文对目前比较成功的几个程序作了比较。通过这项工作
除了所列出的围棋领域固有的问题外,本文还探讨当前的程序怎样地处
电脑围棋的挑战性在于要扩展当前的围棋理论或发展新理论—
致谢
感谢Ken Chen、陈志行、David Fotland、Martin Muller 和Mick Reiss,他们向我们提供了有关程序的细节和对本文不无裨益的反
参考文献
Allis, V.Searching for solutions in games and artificial intelligence. PhD thesis, University of Limburg, Maastricht, 1994.
Burmeister, J.&Wiles, J. The challenge of Go as a domain for AI research: a comparison between Go and chess. In proceedings of the Third Australian and New Zealand Conference on Intelligent Information System, pages 181-186, Perth, November 1995. IEEE Western Australia Section.
Chen, K. Group Identification in Computer Go. In D.N.L.Levy and B.F.Beal, (eds), Heuristic Programming in Aritificial Intelligence: the First Computer Olympiad, pages 195-210. Ellis Horwood, Chichester, 1989.
Chen, K. The move decision process of Go Intellect. In David Erbach, editor, Computer Go, 14: 9-17, 1990.
Chen, K. Attack and defence. In H. J. Van den Herik and L. V. Allis,(ed)s, Heuristic Programming in Artificial Intelligence 3 - The Third Computer Olympiad, pages 146-156. Ellis Horwood, Chichester, 1992.
Donnelly, P., Corr, P., and Crookes, D. Evolving Go playing strategy in neurl networks, 1994. Available on the Internet at ftp://igs.nuri.net/Go/comp
Fotland, D. Knowledge representation in The Many Faces of Go,1993. Available on the Internet at ftp://igs.nuri.net/Go/comp/mfg
Lishtenstein, D. & Sipser, M. Go is polynomial-space hard. Journal of the ACM, 27(2):393-401, 1980.
Muller, M. Computer Go as a sum of local games: an application of combinatorial game theory. PhD thesis, Swiss Federal Institute of Technology Zurich, 1995.
Pell, B. Exploratory learning in the game of Go. In D. N. L. Levy and D.F. F. Beal,(eds), Heuristic Programming in Artificial Intelligence 2 - The Second Computer Olympiad, volume 2. Ellis Horwood, 1991
Robson, J. The complexity of Go. In R. E. A. Mason, (ed), Proceedings of the IFIP 9th World Computer Congress, pages 413-417, North Holland, 1983. IFIP, Elsevier Science Publishers.
Ryder, J. Heuristic analysis of large trees as generated in the game of Go. Phd thesis, Department of Computer Science, Standford University, 1971.
Saito, Y. & Yoshikawa, A. Go as a testbed for Cognitive Science studies. In IJCAI Workshop Proceedings Using Games as an Experimental Testbed for AI Research, 1997.
Schraudolph, N., Dayan, P. and Sejnowski, T. Temporal difference learning of position evaluation in the game of Go. In J. D. Cowan, G. Tesauro and J. Alspector, (eds), Advances in Neural Information Processing 6, pages 817-824. Morgan Kaufmann, San Francisco, 1994.
Zorbrist, A. Amodel of visual organization for game Go. In Proceedings of the Spring Joint Computer Conference, 34: 103-112, 1969.
Zorbrist, A. Feature extractions and representation for pattern recognition and the game of Go. PhD thesis, Graduate School of the University of Wisconsin, 1970.