Tag: 国际象棋

  • 无声的鏖战

    无声的鏖战

    快年底了,好像没有什么大的体育赛事。不过,还是有一场赛事很让我关注。

    2024年国际象棋世界冠军赛(World Chess Championship 2024)正在新加坡举行。对阵双方分别是2023年国际象棋世界冠军赛的冠军丁立人与挑战者多曼拉朱·古凯什。

    丁立人

    [caption id="attachment_9540" align="alignnone" width="683"]

    Frans Peeters[/caption]

    丁立人1992年出生于浙江温州。2009年4月入选国家队。2009年他成为中国第30个国际象棋特级大师。2014年8月代表中国队参加第41届国际象棋奥林匹克,为中国队首次夺得男团冠军。2018年10月代表中国队参加第43届国际象棋奥林匹克并坐镇一台,再次夺得男团冠军。

    他在2022年曾经达到最高等级分2816,是世界上为数不多的2800+选手之一。

    丁立人夺得2023年国际象棋冠军的历程充满了戏剧性,颇有“外卡选手最终获得四大满贯冠军”的味道。

    2023年的时候,原本已取得2022年国际象棋世界冠军候选人赛参赛资格的俄罗斯棋手谢尔盖·卡里亚金因故被国际棋联剥夺了参赛资格,由丁立人顶替参加候选人赛。他在候选人赛中获得亚军,冠军为俄罗斯棋手扬·涅波姆尼亚奇。

    按照规则,将由扬和当时的卫冕世界冠军卡尔森争夺2023年的冠军。但卡尔森因为“卫冕次数太多(因为从2013年开始就一直是世界冠军)”而宣布放弃卫冕,丁立人顶替卡尔森与扬争夺新一届世界冠军。2023年4月,他击败涅波姆尼亚奇,加冕2023年国际象棋世界冠军。

    古凯什

    丁立人这次面对的对手是来自印度的多曼拉朱·古凯什(Dommaraju Gukesh)。这个选手太年轻了,他出生于2006年5月,今年才18岁出头。他在2019年(12岁)的时候就晋升为国际象棋特级大师,是史上第二年轻的特级大师。

    (看他的脸,说他28岁我觉得也完全可信啊!)

    他目前保持着第三年轻达到2700分,第一年轻达到2750分,第一年轻国际象棋世界冠军挑战者等称号。

    比赛

    这次的冠军赛从11月25日开始,12月13日结束。正赛共14场。如果打平,就加赛快棋。目前已经赛完8场——我看了3场——比分是4:4。

    丁立人下棋的最大“特点”就是前期用时特别长,每次比赛都是如此。正赛每人有2个小时,要下到40步以后,才会再给30分钟并每一步加30秒。

    昨天的比赛,Gukesh一上来就让丁立人陷入长考——显然前者的开局准备工作比丁立人更充分一些。因此,14步以后,丁立人已经用掉了一个小时。

    下棋是无声的鏖战。一个有意思的细节是,在这样的大型重要比赛中,两位选手开场礼节性握手的时候都不会看对方的脸。

    =========

    多年前,AlphaZero横空出世,经过短短4个小时的自我训练(没有参考任何开局和终局手册,完全从零开始),就超过了当时最强的引擎Stockfish 8;9小时的训练后,以28-72-0的不败战绩横扫Stockfish 8。根据民间猜测,它的等级分应该在3750上下,也就是说,它可以横扫当今所有最优秀的国际象棋选手——这是一个人类永远无法达到的等级分。

    AlphaZero之后的AI发展,已经为大家熟稔。而我们自己在AI的发展,在我看来,已经远远落后了。算力的限制是一个硬件方面,但更大的限制却远远不是算力。这是另一场无声的鏖战。

  • 丁立人,新世界冠军!

    丁立人,新世界冠军!

    昨天(4.30)从晚上5点左右开始,就开始看2023年国际象棋世界冠军赛( FIDE World Chess Championship 2023)。对阵双方是中国的丁立人和俄罗斯的Ian Nepomniachtchi(一般简称为Nepo)。

    本次比赛

    本次比赛从4月9号开始,4月30日结束,举办地点是在哈萨克斯坦首都阿斯塔纳(Astana)。

    (有趣的事实:根据维基记载,阿斯塔纳是全世界第二冷的首都,仅次于蒙古的乌兰巴托。)

    丁立人,中国棋手,1992年10月24日出生,中国第30个国际象棋特级大师(Grand Master),等级分2788,世界排名第三,中国第一。

    Nepo,俄罗斯棋手,1990年7月14日出生,等级分2795,世界排名第二。

    本次比赛采用两个赛段。

    • 第一赛段:14局常规赛,拿到7.5分的选手获得冠军。每局比赛每人2小时,必须完成40步,并不得提和(除非是规则规定的和棋局面);然后每人1小时,必须完成20步;然后每人15分钟,并每走一步获得30秒延时(15+30)。
    • 第二赛段:如果14局常规赛打平,那么将加赛快棋,并在一天内完成。
      • 先进行4局快棋赛。每人25分钟+10秒。
      • 如果打平,进行2局超快棋。每人5+3。
      • 如果再打平,再进行2局超快棋。每人5+3。
      • 如果还是打平,进行突然死亡快棋,谁赢谁就是冠军。每人3+2。
  • 2022国际象棋挑战者赛

    天气很热,我校的暑假班正常开营,各地疫情的报告多了起来。

    今天不聊别的,聊点冷门的东西。

    2022年国际象棋挑战者赛已经结束,中国棋手、30岁的丁立人在8名棋手参赛、14轮的双循环赛中,获得8分,名列第二。他目前也是世界排名第二,等级分2806分——到目前,只有14名选手曾经达到2800+的门槛。

    丁立人本次比赛前7轮表现平平,1负6平,只拿到了3分。第二阶段开始后,强势反弹,4胜2平1负,拿到了5分。特别是9、10、11轮三连胜(分别战胜了Duda、Rapport、Caruana),14轮战胜了当时领先他半分、名列第二的中村光(Nakamura),并超越后者成为挑战者赛的亚军。

    这也是中国棋手在这项赛事中的最佳成绩。

    1. 国际象棋的国际组织叫做“世界国际象棋联合会”(FIDE,International Chess Federation)。目前有199个成员。
    2. 目前国际象棋的世界冠军是挪威的马格努斯·卡尔森(Magnus Carlsen),32岁。2013年击败阿南德成为世界冠军,并一直卫冕成功。
    3. 挑战者赛的冠军将有资格向当前冠军发起挑战。卡尔森上两次面对的挑战者分别是2018年的Caruana和2020年的Ian Npeomniachtchi(也是本次挑战者赛中未尝一败的第一名),并成功击败挑战。
    4. 卡尔森已经在世界冠军的宝座上雄踞了差不多10年。之前曾经有传言,说卡尔森觉得很累了,很可能放弃卫冕。
    5. 于是,本次挑战者赛的第二名就变得有那么一点意思了:如果卡尔森真的放弃卫冕,那么新的世界冠军将在本次比赛的冠亚军中产生——他俩将进行14轮的比赛。当然,这取决于卡尔森到底要不要进行卫冕。

    国际象棋可能是人类从事的最古老的一项体育项目。和那时的物理学一样,人们认为这项运动已经很成熟了:各种开局被研究了个底朝天,中盘的缠斗也有很系统的套路,终局的形势和走向也有了极为充分的研究。

    而且,各类强力引擎也已经出现,等级分远远高出人类可以企及的程度。

    但是AlphaZero在2017年横空出世,经过短短4个小时的自我训练(没有参考任何开局和终局手册,完全从零开始),就超过了当时最强的引擎Stockfish 8;9小时的训练后,以28-72-0的不败战绩横扫Stockfish 8。有关AlphaZero的开发和部分对局,可以参考这本书:Game Changer以及我的评论

    如今,顶级国际象棋选手都已经习惯用顶级引擎来帮助自己分析对局。即便如此,国际象棋对局却体现出前所未有的“创新”。棋手往往在20个回合前、15个回合前甚至10个回合前,就下出前所未有的(当然是在有记录范围内的)新对局。

    中国的国际象棋水平一直很高。中国女棋手的战绩尤为出色。谢军在1991、93、99、2000年四次获得女子冠军;然后是诸宸(2001-2004)、许昱华(06-08)、侯逸凡(10-12,13-15,16-17)、谭中怡(17-18)、居文君(2018-)。男棋手相对弱一点。这不是因为中国男棋手不行,而是因为国际上有太多的、太强的男棋手。在前10的男棋手中,只有丁立人一人是中国人:

    名字 国别 等级分 出生年
    Magnus Carlsen 挪威 2864 1990
    丁立人 中国 2808 1992
    Ian Nepomniachtchi 俄罗斯 2792 1990
    Alireza Firouzja 伊朗 2778 2003
    Levon Aronian 亚美尼亚 2775 1982
    Fabiano Caruana 美国 2775 1992
    Wesley So 美国 2773 1993
    Hikaru Nakamura 美国 2768 1987
    Anish Giri 荷兰 2760 1994
    Maxime Vachier-Legrave 法国 2760 1990
    (19)王皓(已退役) 中国 2735 1989

    最后,放上本次挑战者赛最后一轮丁立人执白战胜中村光、后者认输时的局面:

    [fen]4r2k/6p1/7p/1p1N2nP/1P2P3/b3BP2/2R3K1/8 b – – 0 0[/fen]

  • This is Game Changer, this is real AI

    《Game Changer》是一本关于国际象棋目前最强的引擎AlphaZero的书。

    根据推算,AlphaZero的等级分在3480分左右;而目前的国际象棋男子世界冠军马格努斯·卡尔森(Magnus Carlsen)的等级分也不过在2860分上下。也就是说,AlphaZero可以轻松吊打卡尔森。

    这本书目前国内还没法买到,也没有翻译。好朋友Vera帮我下单并顺便买单,她实在是一个好人!

    我曾试着和出版社联系,但他们听到这是一本关于国际象棋的书后,就表示很难出版——毕竟说来,虽然人工智能这个话题很热门,但国际象棋这个话题太冷门了。

    我国际象棋水平不高,但是很喜欢下。它能运动的子力以及子力的运动范围和作用都比中国象棋大了很多,所以其变化也就更加多样。

    国际象棋的AI(或者说人机大战)出现得很早。我们都熟知深蓝和卡斯帕罗夫的对战。自此之后,其实国际象棋引擎已经树立了全面超越人类棋手的地位:顶尖的人类棋手已经无法打败一个顶尖的国际象棋引擎

    那么,既然如此,DeepMind的各位老兄为什么还要钻到国际象棋引擎里来?

    我们必须知道一点,在AlphaZero出现之前,所有的顶级国际象棋引擎(乃至包括围棋引擎)都有一个共同点:有关该领域的人类知识的基础

    比如说,国际象棋引擎会被人教导说:开局一般不要重复走一个子(特别是大子)、叠兵一般是不好的、能易位就要尽量易位、双象一般比双马或者马象的结合要好等等……然后,也会被人教导说:后值9分,车是5分,马象是3分,兵是1分……;还有诸如开放线、通路兵之类的“价值”;甚至还有开局手册、终局指南等等。围棋引擎也是如此。

    但是:

    1. AlphaZero的学习不依靠任何与该领域(国际象棋)相关的或者人类的知识
    2. AlphaZero对局面的判定是或然性的(基于它认为赢或者平的机会多大)而不是以领先多少兵来判定——而这是当时所有引擎的判定方式。
    3. AlphaZero搜索它认为最有前途的走法,它的评估是多个可能序列的平均而不是试图找到单一的最佳路线。
    4. AlphaZero的评估函数结构非常灵活并允许它考虑位置因素的组合。

    这是和所有引擎都不同的地方。

    AlphaZero横空出世,在经过4个小时的训练后,DeepMind认为它已经超过了当时最强的引擎Stockfish 8的等级分,在训练了9个小时后,它和Stockfish 进行了100盘的对战,最终取得了压倒性的胜利:28胜,72平,0负。这100盘棋的棋谱得以公开,也正是本书分析的重点。

    作者通过分析这100局对战,总结出了很多AlphaZero的“风格”,比如:它倾向于瞄准对方的王;让自己的王安全;在削弱自己的王翼结构以打开进攻路线前,它会确保中心局势稳定等等等等。这些都是所谓的“后知”分析,是人类根据AlphaZero的下法得出的结论,并不是说AlphaZero“知道”这样下比较好——它根本不知道。它只知道如此这般的下法可以让自己有更多的赢棋机会。

    如今的国际象棋高手都已经习惯于通过某个引擎甚至多个引擎来帮助自己提高。AlphaZero的一些下法完全颠覆了人类多年来的固有下法和定式。这对国际象棋本身的发展是具有革命性意义的。棋手通过向“机器”学习,拓展自己的思路和对国际象棋的理解。国际象棋界甚至专门创造了一个术语“Engine Move”来特指那些几乎无法由人类棋手想到、但顶级引擎一定能想到的“神之一手”。

    DeepMind很有野心,他们是想将AlphaZero做成一个通用的引擎,可以用来下国际象棋(西方主流)、围棋(中国主流)以及将棋(日本主流)。不过,AlphaZero也有局限:它只能进行目标明确、双方对弈、信息全对称的游戏,而如炉石、星际争霸之类的信息非对称游戏下,它就无能为力了。

    这才是AI的正确的发展姿势。

    DeepMind公司并没有停步,就在今天我看到一条爆炸性新闻:他们公司的AlphaFold 2在所谓的CASP14蛋白质折叠竞赛中,拿到了接近90分的高分。

    这才是AI的正确的发展姿势。

    确定蛋白质的空间结构到底有多大的意义,我就不说了。有兴趣的可以自行搜索。

    我总是忍不住地想,只要人类中还有这样的科学家,人类发展的前景就将是美妙的。

  • Queen’s Gambit

    用最快的速度追完了Netflix的最新网剧《Queen’s Gambit》第一季,毫不犹豫地给了10分。

    先说说中文译名。首先,女王的开局、或者女王的棋局这样的翻译引申太远了。Queen’s Gambit是国际象棋中的一个非常常见的开局,就是翻译为“后翼弃兵”。

    这个开局的前三步走法是:

    1. d4 d5
    2. c4

    这时,黑方可以接受弃兵,也就是用自己的d5兵吃掉白方的c4兵,从而进入所谓的“接受后翼弃兵”变例(Queen’s Gambit Accepted,或QBA),也可以不接受弃兵而改走2. … e6挺起自己的黑兵而保护自己的d5兵,从而进入所谓的“拒绝后翼弃兵”变例(Queen’s Gambit Declined,或QBD)。

    这个开局是最古老的国际象棋开局之一,在斯坦尼茨塔拉什两位大师的研究下,该开局变得非常流行,在20世纪20和30年代达到巅峰。1927年国际象棋世界冠军赛,卡帕布兰卡阿廖欣的36局对战中,只有2局没有采用后翼弃兵开局。由此可见当时这个开局的风靡程度和被研究程度(以及还未被研究的程度)。2018年国际象棋世界冠军赛上,卫冕冠军卡尔森和挑战者卡鲁瓦纳的12局常规对局中,有2局采用了QBD开局。

    在本剧中,女主Beth和Borgov的终极对局就采用了QBD开局。

    =========

    谷歌曾经推出过深蓝,然后又在2014年通过收购DeepMind Technologies推出了AlphaZero。2017年12月5日,AlphaZero通过24小时的自我对弈训练——而且在训练时不借助任何开局手册和残局指南——已经达到了超人类的水平,等级分在3500以上(而目前的世界冠军卡尔森的等级分不过2882,而且大家也知道,等级分越高后再提高的难度有多大)。也就是说,AlphaZero可以“吊打”卡尔森。

    AlphaZero的棋局有一些得到了公开,比如这本《Game Changer》就详细分析了AlphaZero的多个棋局。任何对国际象棋有兴趣的人都应该买一本。

    AlphaZero给国际象棋带来的冲击是令人着迷的。它在开局、中局、残局时,在局面、子力强度、兵型、棋子的行动力、弃子以换取时间空间并造成伤害、异侧易位、防守等等方面,都给人类棋手带来全新的理念。

    当然,AlphaZero也不是一枝独秀。在AlphaZero的影响下,国际象棋社区开发出了Leela Chess Zero,该引擎和老牌Stockfish引擎在所谓的TCEC(Top Chess Engine Championship,顶级国际象棋引擎锦标赛)中,展开激烈的厮杀。从2018年11月开始,两者交锋5次,战绩是2:3。

    国际象棋超级引擎的出现,给人类棋手带来新的思路。很多世界顶级选手早就配备了一个或多个引擎,为自己训练和做对战准备提供一个强大的机器对手和“教练”。国际象棋界甚至专门创造了一个术语“Engine Move”来特指那些几乎无法由人类棋手想到、但顶级引擎一定能想到的“神之一手”。

    我很喜欢看国际象棋,虽然我的等级分很低,属于菜中菜,但这不妨碍我欣赏国际象棋对局。有限的平面空间内,兵的挺进和升变、象在斜线上的远程威胁、马的腾挪、车的强大火力、后的八面威风以及王的威力,子力的交换、对局面的判断、各种战术的综合运用、残局的精准计算……都很让我着迷。

    人类对这么一个成熟的游戏已经进行了很多代人的研究,而引擎——更确切地说是AI——的出现,为它赋予了全新的生命力。已经下过的棋局不计其数,但即便是高手对局中还是会出现completely new game。

    我想,这才是AI的魅力所在和发展方向吧。

    最后,小小地剧透一下。第一季终,当Beth战胜了Borgov后,Borgov拿起自己的黑王将它交给了Beth。这个黑王是不是会有什么玄机呢?我想,这应该是第二季的内容了吧——只是不要变成烂大街的谍战才好。

  • 太子暑假学习、生活计划

    6月份即将结束。

    太子完成了一年级的学习,开始了暑假的生活。我准备采用人肉输入法,将他一年级(特别是下学期)的考卷进行重新输入,让他在暑假里再次温习一下。同时,要安装一个二年纪数学方面的CAE软件,帮他预习。

    国际象棋还是要学的,钢琴也要继续练习。

    恩恩。

  • 老彼得赢棋了

    今天陪老彼得去下国际象棋,老师指派他执黑和叶子扬小朋友对下。

    棋谱如下,附我的注释。

    [pgn] 1.e4 e5 2.Nf3 Nc6 3.Bc4 Nf6 {[pgndiagram]黑走Nf6不是很好,应该走Bc5。现在白方有Ng5攻击f7兵的招法。} 4.c3 Bd6 5.Nd4 0-0 {[pgndiagram]这里黑没有看到ed吃马而走了易位。} 6.Nf5 b6 7.O-O Be7 8.d3 Re8 9.Re1 g6 10.Nh4 Na5 11.Be3 Nxc4 12.dxc4 c6 {[pgndiagram]这里黑选择兑去白方的白格象,造成了白方c线的叠兵。} 13.Bg5 b5 14.cxb5 cxb5 15.Na3 a6 16.c4 Bxa3 17.bxa3 Bb7 {[pgndiagram]这里黑还是应该选择吃掉白c兵比较好。} 18.f3 bxc4 19.Rb1 Nxe4 20.Rxb7 Rb8 21.Rxb8 Qxb8 {[pgndiagram]黑方出现低级错误,本方的象和马都被攻击。而在白车吃象后应该用e4马吃白方的象,尚能保持平衡。而白方吃马会更好。} 22.Rxe4 Rc8 23.Rxe5 c3 24.Qe1 c2 25.Re2 c1=Q 26.Qxc1 Rxc1+ 27.Bxc1 Qc8 {[pgndiagram]面对黑兵升变的着法,白方没有找到合理的防御。其实黑兵是根本不可能升变的。即使升变,白也可以用象轻松吃去。但是在用白后吃升变的兵后,黑方挽回不少颓势。现在局面是黑后五兵对白车马象五兵,白方还有子力优势。} 28.Bd2 Qa8 29.Rf2 Qa7 30.Be1 f6 31.a4 g5 32.Nf5 Kf7 33.a5 h6 34.Nxh6+ Kg7 35.Nf5+ Kg6 36.Nh4+ gxh4 {[pgndiagram]黑方冲兵盲目,没有王的跟进是无法冲兵的。当然,白方马送吃也是漏着。现在黑有物质优势了。当然,在这个局面下,解决掉白方a线的两个孤叠兵并将本方d线通路兵放置到白格以避免白方黑格象的攻击是唯一的策略。} 37.h3 d6 38.Kh1 Qb7 39.Bb4 Qc7 40.Rd2 d5 41.Rxd5 Qc1+ 42.Kh2 Qb1 43.Re5 Qxb4 {[pgndiagram]黑方冲d路兵准备不足,而白方在时间压力下,频出漏着。而黑方不吃车而吃象也是匪夷所思。} 44.Re4 Qb2 45.Re2 Qxe2 46.f4 Qe4 0-1 {[pgndiagram]此时白方已经完全失去了方寸,黑方胜定。最终白超时判负。} [/pgn]

    =====================

    这是老彼得第七次学棋,也是第一次真刀真枪的赢棋。我很欣慰。

    当然,他的开局、中局以及残局入局的技巧还需要大大的提高。不过我真的很激动。毕竟是他第一次凭自己的本领下赢了对手。我也因此将本局棋谱记录下来,而且写在这里。希望大家能分享我的喜悦。

  • 玩具反斗城

    周日一早赶往上海,和我老婆的先天性表妹(注:见令狐的记录)约好了在浦东的正大广场碰头。

    我们一家三口到的比较早,开始无聊地从8楼往下逛:中华书局比较大,真冰溜冰场真的很冷…… 玩具反斗城,真的真的很好玩!

    我忍不住要买,要买,要买!于是,给太子(和我)买了一副玻璃的国际象棋,还给他买了一个LEGO的玩具,还有给小P孩买了一套画图笔,最后是给咱家BH的老猫买了一个弹力球,希望他会喜欢。

    玩是任何人的天性。我也不能例外。

  • 不可翻译的童话

    昨天买了三本书。其中有一本是《爱丽丝漫游奇境记》(以下简称《爱丽丝》)。

    家里一共有两本《爱丽丝》。一本是昨天买的,中文全译本。另一本是1992年买的。前后差不多相差了15年。之所以要间隔这么9,是因为我看了原著后,对如何能翻译好一直没有信心。

    这次决定买,一个是要扩充自己的收藏,一个是为了给老彼得。

    《爱丽丝》这本书很薄,很快就可以看完。昨天晚上我就将中文译本看完了。觉得翻译的还可以。整体的行文非常流畅,有原著的风味。 举一个例子: 原文:

    I beg your pardon, said Alice very humbly: you had got to the fifth bend, I think? I had not! cried the Mouse, sharply and very angrily. A knot! said Alice, always ready to make herself useful, and looking anxiously about her. Oh, do let me help to undo it!

    译文:

    “对不起,”爱丽丝谦逊地说,“我想,你讲到第五个弯儿了吧?” “我没有!”老鼠生气地嚷,“你打什么岔?” “打镲?你要镲吗?让我帮你找一找。”爱丽丝边说边向四周看,她总喜欢帮人忙。

    英文里not和knot是同音的,翻译成中文,译者还是下了点功夫。用“镲”和“岔”来模拟,而且适当的给老鼠的话加了一点内容以求上下文的衔接。这是不错的。

    从译者前言来看,译者确实做了一些研究。而且告诉了我一些我原本并不知道的事情。例如,“在本书的‘跋诗’中,每句诗的第一个字母拼出,就是‘爱丽丝·普瑞斯·利德尔’——院长小女儿的名字。”要求中文翻译能到这个地步是不切实际的,所以在译文中无法体现出来。

    但是,译者也确实漏说了两样东西。

    第一,是书中的插图来自哪里?根据我的判断,至少来自两个地方。

    一个是和我英文原著一样的,来自John Tenniel,而另外一个来源译者显然没有说明。

    第二,《爱丽丝》第二本“Through the Looking-Glass是基于一个国际象棋棋局展开的。我的英文版中有这个棋局的图样。而中译本没有加图,在前言中也没有说明。

    让我就将这个棋局(以及描述性的走法)列出,作为对Lewis Carroll的敬意吧!