计算机围棋

本页使用了标题或全文手工转换
维基百科,自由的百科全书

计算机围棋人工智慧(AI)的一个领域,该领域致力于开发出可以下围棋电脑程序。围棋是棋盘游戏的一种,有很古老的历史。

历史[编辑]

alpha-beta 剪枝法[编辑]

最先计算机围棋也试图用类似处理国际象棋的算法——alpha-beta 剪枝法,即一般认为的暴力搜索法,但成长非常慢。1986年应昌期悬赏100万美金,征求可以打败人类的围棋软件,并以15年为期限,但没有任何人拿走奖金。到了20世纪末,这类程序表现最好的是陈志行制作的手谈,其宣称可以接近业余初段,至少与低段职业差距9子以上,其他如GNU Go更是只有业余5~10级左右。

代表:

蒙地卡罗搜索树[编辑]

Crazy Stone首次引进了蒙地卡罗搜索树,其原理是用蒙地卡罗法快速的把棋局下至终局,然后借此判断局势,用这个方法,计算机围棋得到飞快性的成长,并突破了业余初段的壁障。这时代表现最好的是Zen,在AlphaGo出现的前一年,Zen的平行运算版本可以达到与职业棋士差距3~4子的水平。

这时期开始,开始出现了UEC杯等计算机围棋比赛。在其中发生一个插曲,2010年时,黄士杰Erica在2010计算机奥林匹亚获得19路围棋的冠军,隔年又在UEC杯拿下亚军,这在当时引起许多注目,因为Erica是单机程序,而其对手都是使用大型机,这也使得他获得DeepMind公司的邀请。

代表程序:

深度学习[编辑]

深度学习原本主要应用是图像分析,利用计算机模拟神经元,可以训练计算机有类似人类“直觉”的反应,2014年左右,Google DeepMindfacebook等公司意识这可能可以用在处理计算机围棋。最直接的想法是输入人类的围棋棋谱,并在程序中设置围棋规则,以及各棋谱的最后胜负,利用监督学习让计算机得到“棋感”,计算机因而可以给出特定局面下有哪些可能的行棋方法,后来这个方法在AlphaGo的论文中被称为“走子网”。2015年左右,DeepMind大卫·席尔瓦意识到,其实围棋的形势判断也可以交由神经网络决定,“价值网络”因此诞生。接着DeepMind团队再使用强化学习——大众媒体称之为左右互搏——增强两种神经网络,在大约三千万盘的左右互搏后,超越了职业选手水平,这使得DeepMind最终赢得这项与facebook的竞赛。

2016年1月27日,《自然》发表了Google DeepMind开发AlphaGo 的论文,于2015年10月,在未让子的挑战中,以5:0战绩,击败欧洲围棋冠军——职业围棋二段樊麾。这是计算机程序首次在公平比赛中击败职业棋手。2016年3月,AlphaGo在韩国首尔以4:1击败棋士李世乭[1][2] 2017年5月,AlphaGo在中国乌镇围棋峰会的三局比赛中以3:0击败[3]当时世界排名第一[4][5]的中国棋手柯洁

代表程序:

难点[编辑]

围棋给程序员们带来了许多人工智慧领域里的挑战。当如IBM深蓝那样的超级计算机,已经能够击败世界上最好的国际象棋棋手的同时;却有不少人能击败围棋软件。可见,要编写出超越初级水平的计算机围棋程序,是极其困难的一回事。

棋盘太大[编辑]

围棋的棋盘很大(19×19),因此通常被认为是难以编写围棋程序的一个重要原因。

可行的着法太多[编辑]

与其它棋盘游戏相比,围棋的着法几乎不受规则限制。中国象棋第一步有42种选择,国际象棋有20种选择,但围棋有361种选择。有些着法较常见,有些几乎从未走过(例如第一步下在边线上),但所有着法都有可能。

象棋(以及大部分棋盘游戏如西洋跳棋双陆棋)棋局过程中,棋子数逐渐减少,使游戏简化。但是,围棋中每下一子,都可能有其战略意义,使得单纯分析战术并不管用,会使局势变得更复杂。

估值函数[编辑]

组合问题[编辑]

策略搜索[编辑]

状态表示[编辑]

系统设计[编辑]

处理问题的新方法[编辑]

编程语言选择[编辑]

设计哲学[编辑]

Minimax 树搜索[编辑]

蒙特卡罗方法[编辑]

Knowledge-based 系统[编辑]

机器学习[编辑]

计算机围棋程序的竞赛[编辑]

历史[编辑]

第一个计算机围棋竞赛是由USENIX赞助,在1984年到1988年间举行。

宏碁计算机公司与应昌棋围棋基金会从1986年开始,联合举办计算机围棋竞赛,获得冠军的程序,可以挑战职业棋士,获胜奖金美金一百万元。有效期至2000年。

电脑对电脑程序中的问题[编辑]

注释和参考[编辑]

  1. ^ David Silver, Aja Huang, Chris J. Maddison, Arthur Guez, Laurent Sifre, George van den Driessche, Julian Schrittwieser, Ioannis Antonoglou, Veda Panneershelvam, Marc Lanctot, Sander Dieleman, Dominik Grewe, John Nham, Nal Kalchbrenner, Ilya Sutskever, Timothy Lillicrap, Madeleine Leach, Koray Kavukcuoglu, Thore Graepel & Demis Hassabis. 深度神经网络加树形检索可以下围棋了. 2016-01-27 [2016-01-29]. (原始内容存档于2019-09-24) (英语). 
  2. ^ 开明. 面对谷歌围棋AI,人类最后的智力骄傲即将崩塌. 2016-01-28 [2016-01-29]. (原始内容存档于2016-01-28). 
  3. ^ Google’s AlphaGo Continues Dominance With Second Win in China. 2017-05-25 [2017-05-27]. (原始内容存档于2017-05-27). 
  4. ^ 柯洁迎19岁生日 雄踞人类世界排名第一已两年. May 2017 [2017-05-27]. (原始内容存档于2017-08-11) (中文). 
  5. ^ World's Go Player Ratings. 24 May 2017 [2017-05-27]. (原始内容存档于2017-04-01). 

参考文献[编辑]

  1. AI-oriented survey of Go页面存档备份,存于互联网档案馆
  2. Monte-Carlo Go, presented by Markus Enzenberger, Computer Go Seminar, University of Alberta, April 2004
  3. Monte-Carlo Go页面存档备份,存于互联网档案馆), written by B. Bouzy and B. Helmstetter from Scientific Literature Digital Library
  4. Static analysis of life and death in the game of Go页面存档备份,存于互联网档案馆), written by Ken Chen & Zhixing Chen, 20 February 1999
  5. Co-Evolving a Go-Playing Neural Network页面存档备份,存于互联网档案馆), written by Alex Lubberts & Risto Miikkulainen, 2001

参见[编辑]

外部链接[编辑]

General info[编辑]

Specific info[编辑]

计算机程序[编辑]

Computer Go vs human/computer & tournament[编辑]