深度好文 | 梁志华给大学生们的一堂课:国际象棋与AI

注:本文由作者暨南大学讲师,珠海市国际象棋协会秘书长,女子国际大师梁志华授权发布。


人工智能(ArtificialIntelligence),英文缩写为AI,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。

我今天要讲的话题,不知道大家有没有兴趣。AI(人工智能)!

在我的教学中仅占一两次课。但是我发现学生们特别的感兴趣,这就让我这个原本专注讲棋的老师跨界去了解AI,当然我会结合国际象棋与AI的交融。


在这里我顺便的考考大家,为什么要选在1996年?这个时间对于电脑而言,意味着什么样的一个时间节点?

大家应该知道,1946年世界上有第一部电脑诞生,1996年就是为了纪念电脑诞辰50周年。

这里还有一个历史小知识,关于国际象棋软件的研发开始于什么时间?


在战争期间,美国在位于新墨西哥州沙漠地带建立了一个巨大的实验室。目的是用于研制原子武器。为了正确求出用于引发链式反应的内向爆炸所需的电量科学家们要进行大量的计算。1950年,一台巨型计算机问世。科学家们并没有把这台计算机立即用于爆炸计算,而是做了一些实验。第一个实验便是编写一个弈棋程序。他们将国际象棋棋盘上的"象"去掉,设计了一个6*6大小的棋盘(见上图)。国际象棋软件的研发当初主要是为了了解计算机的计算能力。

从此以后,随着计算机一日千里的发展,国际象棋软件达到超越世界冠军的高度。

让我们再回到1996年,卡斯帕罗夫以4:2的战绩赢得了那场人机大赛。但是在1997年深蓝升级为“更深的蓝(DeeperBlue)”之后,卡斯帕罗夫以2.5:3.5微弱的差距输掉了比赛(事实上,他真正是输了最后一盘棋。如果有兴趣,可以参阅★二十年前,卡斯帕罗夫真的输给了深蓝吗?)。


我个人的看法,当年他不是输给了电脑,而是输给了他自己。

一个人,一个棋手在一场比赛中表现出的不仅是棋弈水平,还包括身体状况、心理状况等等,还有他对比赛的准备和评估,以及自己的决策。

在这些方面,当时卡斯帕罗夫无论在身体状况和心理状况都出了问题。他甚至走了自己不熟悉的开局(用来避免电脑的准备?我不知道),在开局的第7步棋就走出公认的劣势的着法。因为比赛的疲劳、怀疑IBM的深蓝软件是受到人的操控,等等,他的情绪受到很大的干扰。

总之,在这些方面,电脑要强大的多,电脑首先不会受心理方面的干扰,更不会受体力方面的干扰,它可以持之以恒的发挥它的水平。但是人类就不行,人类受到各方面因素的限制,这也是当年世界冠军卡斯帕罗自认为电脑不如人脑的情况下输给了电脑的一个主要原因。

我还记得当年卡斯帕罗夫同意和深蓝的第二场较量的时候,他的原话是这样说的:我能够感受到来自棋桌对面的那种新型的智慧,但它是低效的,不确定的,我觉得自己还有几年好日子过。


很可惜,事与愿违!这场比赛实际上是人类自己打败自己的一场比赛。我在之前的教学中已讲给你们听了,尤其讲了最重要的第六盘棋,他具体是怎么输掉那盘棋的。在这里,我只能省略了。


当年人们还在讨论电脑是否能够战胜人脑或者电脑与人脑的之间的差距,对这种话题津津乐道。但是没隔几年,人们基本上不再去议论这种话题了,因为大家认为人脑和电脑的较量已经变得毫无意义了,事实上电脑无论在对弈的哪方面表现出的能力都远远的强于人脑。

在这里,我举一个电脑之间比赛的例子。



这是在2020年WCCC比赛上出现的一个对局,WCCC又叫做WorldComputerChessChampionship。电脑软件与电脑软件之间的比赛。

我尽量讲的浅显些,让大家听明白。大家可以简单的看这个图。


目前白方有三只小兵,黑方也有三只小兵,如果要是懂规则,就知道三只小兵互相顶在一起的,谁也不能动,谁也不能吃。白方有一只象,黑方也有一只,每方一个王,从棋子这个数量,双方基本均势。白方d5兵受到黑象的威胁,黑方a6兵也受到白象的威胁。但同时互相都能守住各自的兵。一个看似均等的局面。

人类的高手,比如说特级大师,或许认为白方有一点点优势,但是不足以赢棋(这个我也问了两三个特大)。如果没有好的计划,象走来走去,就变成一盘和棋。

但电脑不是这么认为,它这样想:(我猜的


)我的三只小兵无法战胜你三只小兵,但假设我弃掉一个小兵变成两只小兵。两只小兵对三只小兵就有赢棋的机会。

电脑走了Bf5弃兵。这个在国际象棋中叫Zugzwang(指的是轮到走棋的一方没有有效的走法);强迫黑象吃了白方d5兵。然后形成两兵对三兵(注意:想赢棋方少一兵!)的局面。

在这里,我们也可以看到人和电脑的区别,除了我们的计算能力、分析能力、计划能力不如电脑以外,实际上还包含着胆量的问题。你是否有胆量这样想?我送掉一只小兵,让我的两只小兵去赢你的三只小兵。所以电脑的想法已经超出了人类的这种预想。

如果你的水平非常高,可以好好去欣赏一下这盘棋的残局部分,精确到你叹为观止!


怎么说呢,本以为20世纪人类对国际象棋的研究、人类的国际象棋认知水平已经达到了一个非常高的高度,但是电脑的出现让人们重新反思,发现人们在这个领域上认知还远远不足。或者这样形容,电脑已经达到了大学的程度,而人类还是在小学阶段。

这也是人类在研发人工智能面临的一个强大的挑战,这个挑战就是当电脑在方方面面都战胜人类的时候,人类会不会出现某种困境?或是将来被电脑左右。这个话题太远,我们就不继续了。

今天暂时讲到这里,下一讲我会给大家讲讲新时代人工智能AlphaZero和一个特别重要的人物。

原本我把稿件都交给了塔尔老师,他说太长,分两讲登出来。他又找了特别几张珍贵的图片(比如那张1950年的图片)加上去。

结果第一讲一登,很多人都问我关于那盘电脑之间的残局是怎么回事?我在文章中叙述的过于简单了,没有满足大家的好奇心。

我晚上正好有课,我就讲给了大学生听,讲完问他们听懂没(我讲课最怕的是我讲的眉飞色舞,但学生没听懂),他们都表示听懂了,还给了我掌声,谢谢可爱的同学们(


送给你们)。我这点专业知识在你们的眼中还挺强大(不好意思,但我很开心)。

其实我想说句老实话,我现在知道电脑的走法了,知道答案了,我跟你们讲的头头是道。如果我不知道答案,我仅仅知道电脑选择少一个兵的走法来取胜,你让我按电脑的思路走下去,我能赢吗?我真的能赢吗?不好意思,老师的水平一般般,理论和实战有一定的差距。但有一点,经过学习之后,理解并明白了电脑的思路,原来如此!


2020年4月3日,电脑国际象棋锦标赛上,在Stockfish和Komodo之间上演了一场精彩的残局。时限是每方10分钟,每步加5秒。


左上图是昨天跟大家分享的图,电脑走到第96回合的局面。然后双方又走了:97.

注意,此时又回到这个局面。有时我觉得电脑也挺可爱,它也在试探看看对手会不会犯错?或者一时还看不清楚应该怎么下?我用我电脑上的Stockfish分析软件,它给出的走法是:Be2,白稍优,但如何赢棋也搞不清楚。我的电脑不灵,硬件不够强大,软件带不动。

接下来,右上图:99.Bf5!!电脑开始出着!就是我昨天写的,在计算了三个兵不好赢棋之后,它果断地送了一个兵,形成两只兵对抗三只兵的情况。

现在是个Zugzwang的局面(指对方没有有效着法),黑方除了99Bxd5之外已无其他走法,退王的话被白王入侵,退象则被白象攻击a6兵。大家再往下看:100.Bd3Bb7,你们会不会觉得很有意思,看图说话:


左上图,这是在100步之后的局面,是不是和上面的区别就是d5兵的存在与否。好像又回到原点,白方放弃了d5兵。为什么呢?

看看右上图,这就是答案:白方认为,在d5白兵的妨碍之下,白王没办法入侵(b5和c5两个点都进不去)。但如果放弃d5兵,白方就有了进攻a6兵的机会。a兵是远方通路兵,是赢棋的机会。

我把后面的走法贴出来,你们慢慢体会:101.!+!++#


云里雾里看完之后,是不是跟我的感觉一样,好像知道答案,但实战中真不一定能走成赢棋。中间的变化太多,N多的等着以及为什么,烧脑的思考会把你搞昏。电脑不依不饶地走了131步!

所以我们看现在电脑的比赛,大家都感慨:神仙打架!我好歹有几十年的功力,看得懂。如果屏幕前的你看懂了,恭喜你,你和我一样,算是资深棋迷了!

我回想起1996年,电脑也有失误的时候。

人机大赛深蓝与卡斯帕罗夫第5局的较量,看看这盘残局。


目前局面黑方稍好一点,卡斯帕罗夫提出和棋。深蓝也意识到了这一点,并显示了-0.10至-0.15(电脑显示负数的时候指黑方略优),但比赛顾问本杰明拒绝这一提议。他说我们是科学家,想继续这项实验。其实他们在等待看看人类的世界冠军会不会犯错。

我们不知道卡斯帕罗夫是不是被激怒了,他开始在王翼发起进攻。他说:"我很累,我想为最后一场比赛节省体力。所以我提出了和棋。当然,我看到了一个充满希望的、积极的延续着法。现在对手逼我进攻。感谢对手。"


DeepBlue-GarryKasparov

Philadelphia(5),16.02.1996

25.Rd1?

这步棋带来d线马被牵制的麻烦。较合理的着法是25.g3,在黑方之后,仍是均势。

25

深蓝始终没有意识到d线上哪怕很小的危险。

26

后只是漫无目的地走动。

27f4

深蓝现在知道有大麻烦了。

28.Rd2Qf6

一个新的牵制。

29.g3Rd5

赛后卡斯帕罗夫说必须马上走28Rd5,以免在29.+31.Nc1白方寻求和棋的机会。

30.a3

以下变化黑方可以获得简单赢棋:30.+32.

30


32.f3

△32.(34.(35.+37.+Bxe4+黑胜)++38.Ke1Re4黑胜;

△32.+35.Kg1e2黑胜。

32

多子足以取胜。

37.+40.

黑方获胜。

进入2000年,电脑以一日千里的速度在进步。以下我们来欣赏来自2020年2月18日万亿节点(Trillion-Node)比赛的加赛,由电脑软件Lc0执白对电脑软件Stockfish。这是两款当今世界最高水平的软件,之前它们12盘对局全部以和棋告终,这盘棋成为本次比赛唯一一盘分胜负的对局(参考“Leela和它的朋友们“公众号)


1.Ne6!!

电脑的想法不可思议!Lc0这步棋有双重威胁:一方面威胁2.得子;或2.Bxc4Nxc4?3.Qh5!


3…+++将杀。另一方面威胁2.Ng5+以及4.Qh5+构杀。

如果黑棋用兵吃马,走1.fxe6。那么接下来将是2.fxg6+Nxg6(2白胜)3.Rxg6!


3Kg6(3+!白胜)4.Qg4Kh7(4+)5.白方将杀。

因此Stockfish明知是陷阱,却不得不接受威胁巨大的e6弃马。实战中黑棋只能用车吃马1….Rxe6。在2.fxe6后,Lc0得到了子力优势,然而电脑的顽强超乎人的想像,直到第100回合,Lc0获胜。

我来讲讲新时代的人工智能。接下来我要说的这个事件,想必大家都知道。


2016年3月,阿尔法围棋(AlphaGo)与围棋世界冠军、职业九段棋手李世石进行了一场围棋人机大战,阿尔法围棋以4比1的总比分获胜。

同学们必须知道,AlphaGo可不是阿尔法狗,GO表示的是围棋,阿尔法围棋。


2017年5月,在中国乌镇围棋峰会上,升级版的阿尔法围棋(AlphaGo)又与排名世界第一的世界围棋冠军柯洁对战,以3比0完胜。围棋界公认阿尔法围棋的棋力已经超过人类职业围棋顶尖水平。

阿尔法围棋(AlphaGo)是一款围棋人工智能程序。其主要工作原理是"深度学习"。"深度学习"是指多层的人工神经网络和训练它的方法。阿尔法围棋用到了很多新技术,如神经网络、深度学习、蒙特卡洛树搜索法等。


说到阿尔法围棋(AlphaGo),我们就必须要谈到一个人,就是它的研发者戴密斯·哈萨比斯(DemisHassabis)。

戴密斯·哈萨比斯是人工智能企业家,DeepMindTechnologies公司创始人,人称"阿尔法围棋之父"。4岁开始下国际象棋,8岁自学编程,13岁获得国际象棋大师称号。


他在1988年世界国际象棋青少年锦标赛中获得了12岁组的世界亚军(插一句,你们知道那一年12岁组的男子世界冠军是谁吗?女子组冠军又是谁呢?有趣的是,12岁组的两个世界冠军都是女孩子,男子组实际上叫公开组,是允许女孩子参加的,当年被小波尔加获得。女子组是我们中国的女棋手诸宸,她后来又赢得了女子世界冠军)。

哈萨比斯那年也挺倒霉的(笑),他完全有能力走的更远,冲击世界冠军,他是个天才。但是这个棋手,很快就放弃了走国际象棋职业道路,他或许觉得国际象棋只是一个小众的项目。

据说8岁时,他开始思考两个问题:第一,人脑是如何学会完成复杂任务的?第二,电脑能否做到这一点?

16岁时,他进入剑桥大学计算机科学专业;17岁时,他设计出游戏《主题公园》,是最早包含人工智能元素的游戏之一。后来又成立电脑游戏公司。2014年他将自己的公司DeepMind卖给谷歌,价格据说高达4亿英镑(约合6.5亿美元)。

2005年,哈萨比斯回归学术领域,在伦敦大学学院攻读认知神经科学博士学位。开创性地发现大脑中海马体与情景记忆间的关系。他的研究成果在2007年被顶级学术期刊《科学》评为"年度突破"。他在大学期间参加了围棋的社团。

当时国际象棋的软件已经达到及超越人类世界冠军的水平,那么,国际象棋的棋盘是八乘八64个格,围棋呢?大家都知道是19×19这么大的一个棋盘!棋盘每增大一圈,都会引发更多的计算。

我觉得哈萨比斯的心理:我没空跟你玩(战胜你),我做个程序把你打败!


阿尔法围棋(AlphaGo)的版本,结合了数百万人类围棋专家的棋谱,以及强化学习进行了自我训练。一出道就旗开得胜!

但哈萨比斯并不追求这种满足。他需要达到这样的高度,他要研发的是真正的人工智能。所以在阿尔法围棋(AlphaGo)之后,又出现了一个新的版本,叫做AlphaGoZero(从零开始?)。

AlphaGoZero的能力在AlphaGo的基础上有了质的提升。最大的区别是,它不再需要人类数据。也就是说,它一开始就没有接触过人类棋谱。研发团队只是让它自由随意地在棋盘上下棋,然后进行自我博弈。

是一个深度学习、自我学习的真正智能的AI。


AlphaZero使用新的强化学习方法,让自己变成了老师。系统一开始甚至并不知道什么是围棋,只是从单一神经网络开始,通过神经网络强大的搜索算法,进行了自我对弈。随着自我博弈的增加,神经网络逐渐调整,提升预测下一步的能力,最终赢得比赛。更为厉害的是,随着训练的深入,阿尔法围棋团队发现,AlphaZero还独立发现了游戏规则,并走出了新策略,为围棋这项古老游戏带来了新的见解。


比赛一共有24款强大的软件参与:

1.Lc0*;2.Stockfish;3.Fizbo;4.Komodo;5.Laser;6.*;8.BlackMamba;9.Schooner;10.;12.Andscacs;13.Antifish*;14.;16.Houdini;17.Protector;18.*;20.Wasp;21.Texel;22.;24.Ethereal

我不再一一列举,事实上我也不完全能叫出这些软件的名字。比赛总共进行了1404场,持续42天。

我看到这样的比赛,真正是不眠不休,他们毫无情感的进行一轮又一轮的比赛,一轮结束,马上下一轮就开始,一天24小时不间断。

大家可以想象啊,这样的非常强大的人工智能在不断的学习中,让自己变得更加的强大是多么可怕的一件事情。

人们现在也不再讨论人脑厉害还是电脑厉害,人工智能软件在我们这个国际象棋行业中已经是无所不在,它充当着教练员的身份,指导我们对棋有更深的学习和了解。它甚至在比赛中作为作弊的工具也在频繁使用。

在柯洁与阿尔法的人机大战后,阿尔法团队宣布阿尔法围棋将不再参加围棋比赛。阿尔法围棋将进一步探索医疗领域,利用人工智能技术攻克现实现代医学中存在的种种难题。实际上,对付人类棋手从来不是"阿尔法围棋"的目的,开发公司只是通过围棋来试探它的功力,而研发这一人工智能的最终目的是为人类造福。

最后,我们用2018年中国科幻作家刘慈欣的话作为结尾:在被问及人工智能是否会威胁到人类时,刘慈欣表示,目前的人工智能水平,距离电影中的强人工智能还有不小的差距,现在的人工智能,前面有多少智能后面就有多少人工。

刘慈欣也谈到了他认为的真正的智能,"真正的智能是什么?这个机器能通过图灵测试,但假装通过不了;AlphaGo赢不了柯洁,恼羞成怒,拿起棋盘往柯洁脑袋上砸。这才是真正的人工智能。"

谢谢大家!


★附:

世界计算机国际象棋锦标赛(WCCC)

世界计算机国际象棋锦标赛(WCCC)始于1974年。该比赛定期举办,是计算机国际象棋引擎之间的大比拼。比赛由国际计算机游戏协会组织,常常与计算机奥赛一起举办。计算机奥赛除了国际象棋之外,还包含若干其他棋类。

需要说明的是,世界计算机国际象棋锦标赛期间,这些引擎并不使用引擎协议,而是由人类操作员在物理棋盘上完成对局。世界计算机国际象棋锦标赛(WCCC)面向对所有类型的计算机,包括微处理器、超级计算机、集群和专用国际象棋硬件。

历届WCCC的比赛冠军


世界国际象棋软件锦标赛

自2010年起,一项新的世界锦标赛被引入。而且与世界计算机国际象棋锦标赛在同一地点和同一时期举行。世界国际象棋软件锦标赛的规则规定,参赛程序必须在相同硬件规格的机器上运行。时限为每方45分钟,每步棋加15秒。

历届"世界国际象棋软件锦标赛"的冠军



发布于 2025-04-11
133
目录

    推荐阅读