清明时节一声吼:“加班?加个锤子!”

【少儿禁】马建《亮出你的舌苔或空空荡荡》

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

危险的大东北

重磅!各种迹象证明中国经济进入大萧条

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

给大学生们的一堂课:国际象棋与AI(2)

暨南大学 梁志华 国际棋联 2022-11-14


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


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


我晚上正好有课,我就讲给了大学生听,讲完问他们听懂没(我讲课最怕的是我讲的眉飞色舞,但学生没听懂),他们都表示听懂了,还给了我掌声,谢谢可爱的同学们(送给你们)。我这点专业知识在你们的眼中还挺强大(不好意思,但我很开心)。


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


 

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


    

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


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


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


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


     

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


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


我把后面的走法贴出来,你们慢慢体会:101.Bc4 Kg6 102.Be2 Bc8 103.Bf3! Bf5 104.Ke3 Bc8 105.Kd4 Bg4 106.Be4+ Kf7 107.Bd3! Ke8 108.Bxa6 Kd8 109.Ke4 Kc7 110.Bb5 Kb8 111.Kf4 Kc7 112.Be8 d5 113.Ke5 Bf3 114.Bb5 Kb7 115.Kd6 Kb8 116.Kc6 Ka7 117.Bd3 Kb8 118.Kb6 Be4 119.Bb5 d4 120.a6 d3 121.a7+ Ka8 122.Ba6 d2 123.Be2 d1N 124.Bxd1 Bb7 125.Bxh5 Bc6 126.Bd1 Bh1 127.h5 Bg2 128.h6 Bh1 129.h7 Bd5 130.h8Q+ Bg8 131.Qxg8#  


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


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


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


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


 

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


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


Deep Blue - Garry Kasparov

Philadelphia (5), 16.02.1996


25.Rd1? 

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


25...Be6 26.Qe3

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


26...Bf7 27.Qc3

后只是漫无目的地走动。


27...f4

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


28.Rd2 Qf6

一个新的牵制。


29.g3 Rd5

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


30.a3 

以下变化黑方可以获得简单赢棋:30.gxf4 Qxf4 31.Qe3 Rg5+ 32.Kh1 Qg4 33.Qg3 e3 34.Qxg4 Rxg4 35.Re2 exf2 36.Rxf2 Rxd4


30...Kh7 31.Kg2 Qe5



32.f3 

深蓝向它的运营商展示了各种变化,皆为黑方胜势。它尽量给黑方制造阻力。在评论大厅里,我们看到各种分析,但是,没有机会了

△32.gxf4 Qxf4 33.Qe3 Rg5 34.Kf1 (34.Kh1 Qg4 35.f3 (35.Qg3 e3 36.fxe3 Qe4+ 37.Qf3 Bd5 38.Qxe4+ Bxe4+ 黑胜) Qxh2 35.Qxe4+ Bg6 36.Qe3 Rg4 37.Rd1 Qg2+ 38.Ke1 Re4黑胜;

△32.b4 e3 33.fxe3 fxe3 34.Rd3 Qe4+ 35.Kg1 e2 黑胜。


32...e3 33.Rd3 e2 34.gxf4 e1Q 35.fxe5 Qxc3 36.Rxc3 Rxd4

多子足以取胜。


37.b4 Bc4 38.Kf2 g5 39.Re3 Rd2+ 40.Ke1 Rd3 41.Kf2 Kg6 42.Rxd3 Bxd3 43.Ke3 Bc2 44.Kd4 Kf5 45.Kd5 h5

黑方获胜。


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


 

1. Ne6!!

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



3…gxh5 4. Rg7+ Kh8 5. Ng5 hxg5 6. Rxg5+ Kh7 7. Rxh5+ Kg8 8. Rh8 将杀。另一方面威胁2. Ng5+ hxg5 3. Rxg5以及4. Qh5+构杀。

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


  

3...Kg6(3...Rg8 4.Rxg8 Rxg8 5.Qd3+ Rg6 6.h4 h5 7.c3! 白胜)4.Qg4 Kh7 (4...Kf6 5.Rf1+) 5.Qe4 Kg8 6.Qg6 Kf8 7.Qh6 Kg8 8.Qh8 Kf7 9.Qg7 白方将杀。


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


神仙打架的例子还有很多,如果你有兴趣,请关注电脑国际象棋锦标赛。


我们原本第二讲的内容,现在推到第三讲了,敬请期待!

点按“阅读原文”,可参与留言互动。



相关阅读

梁志华:国际象棋与AI(1)

20年前卡斯真的输给深蓝了?

小卡:克服恐惧 拥抱人工智能

文章有问题?点此查看未经处理的缓存