中国象棋国际象棋日本将棋(中国象棋、国际象棋、日本将棋,三国棋艺巅峰对决,谁将成为棋盘上的霸主)

这篇文章正在被审核,按deepmind过去的风格有可能还是投到《自然》去。但这回deepmind不保密了,直接在arxiv.org公布了全文。前两篇围棋ai的文章由于投出来之后有人机大战,是需要保密。

中国象棋国际象棋日本将棋

这篇文章在围棋上,用训练34小时的alphazero和训练72小时的alphago zero相比,100盘60:40。这个结果并不令人吃惊,就是训练速度快了,说明新的方法有提升,其实网络架构训练方法和alphago zero的差不太多,是一些小改进。围棋界对这篇文章应该反应不大,新东西不多,早就被震惊好几次了。

alphazero在日本将棋上训练2小时就超过最强程序elmo。日本将棋和中国象棋、国际象棋差不多,也是各兵种吃对方的王。但是最大的不同是吃掉对方的棋子可以变成本方的棋子,放回棋盘任意位置,这使得对局攻杀极为激烈,和局很少,变化比国际象棋要多不少。中国象棋的理论局面数量超过国际象棋,但由于大量局面类似,高手们一般认为实际变化复杂程度比国象要少。

由于日本将棋更为复杂(以及研究人员关注的少),直到2017年冠军程序elmo才战胜了人类高手。这个elmo应该实力还比较弱,所以最终被alphazero以90胜2和8负战胜了。alphazero还会输几局,但这是因为训练时间不长,已经能够说明问题就行了。

真正影响重大的是国际象棋。这次倒不是说alphazero怎么碾压了人,人类高手早就被国际象棋ai整得服气了。但是alphazero训练4小时就反超了,最终以28胜72和战胜了stockfish(鳕鱼),其中先行战绩是25胜25和。这个stockfish在国际象棋界可不是随便搞搞研发的程序,也不仅是2016年国象ai冠军这么简单,它对职业棋手和爱好者们就像是亲人朋友一样,天天在为棋界服务。在chessbomb等网站上,职业棋赛每一步stockfish都在实时地给出各种变化,爱好者们看棋的方式和以前完全不一样了。高手们训练也非常依赖顶级ai给出的各种提示,有时就像终极答案一样。高手们通过亲身感受,对于stockfish的实力非常认可。

由于国际象棋最优解极有可能是和棋,所以高手和爱好者一般认为,stockfish和国际象棋上帝也差不了太多,反正就是和棋。以前两个顶级ai对打(通常是大战100盘),总有90%的是和棋。排名世界前五的美国特级大师中村光就说:就算是上帝先手和stockfish下,也得75%是和棋。

现在alphazero忽然跑出来,先行能以50%的概率战胜stockfish,这让一些国际象棋高手和爱好者们有些难以接受。我对围棋很熟,alphago对围棋界的冲击可以说是天翻地覆无以伦比。现在轮到国际象棋界来感受新型ai的冲击了,看着一些国外爱好者对alphazero的讨论,各种置疑或者不接受,不由得一阵暗爽。

stockfish和alphazero都是机器,不管谁强谁弱,和人都没啥关系,为什么国际象棋界的人要着急?这里有一些算法背景。

中国象棋国际象棋日本将棋

上图对弈者为国际象棋排名前两位的卡尔森与卡鲁亚纳,围观者左为卡斯帕罗夫,右为哈萨比斯。哈萨比斯本人是国际象棋职业选手,青少年时排名仅次于天才少女小波尔加,他的“一个框架解决一切棋类问题”的思想这次实现了。

stockfish是机器,但是里面的算法是人们一步步看着发展过来的,程序员写了很多代码,每年都在不断升级,还有国际象棋大师出主意。棋界和计算机学界一起努力,才达到了非常高的水平,那一行行代码都开源在那,还有规模极大的开局库、残局库放在那帮着简化搜索。这都是业界的心血,那些精巧的alpha-beta搜索、剪枝算法、高效实现,各种知识库,有多少人的聪明才智在里面。业界其实对以stockfish为代表的国际象棋ai比较满意,开发出来的程序又帮助棋手们涨棋,促进了国际象棋界的繁荣,职业棋手数量和水平都大大增加。

各种ai们自己在那对战,stockfish前几天就正在和komodo大战。但棋迷和高手们主要还是对人类对局有兴趣。这个局面是不错的,ai们自己玩,玩出东西来帮助人涨棋以及评化棋局,人不和ai较劲。

但是现在alphazero等于是说,人类之前开发ai的所谓“心血”都是没意义的白忙活。弄好一个resnet神经网络结构,把国际象棋基本规则做好了,来5000个一代tpu对局生成样本,再来64个二代tpu训练,过4小时就行了。

人类大师1000多年发掘的象棋精妙知识不需要,算法大师构造的精妙剪枝搜索不需要,也不要任何开局库残局库。就这么一个结构,还同时可以搞定围棋、日本将棋、国际象棋,区别只是训练出来的神经网络系数不同。

这种机器暴力征服,围棋ai界的人还是比较服气和欣赏的,说算法优美简单。可能是因为以前开发围棋ai的人也没写出什么好的搜索算法,各种搜索代码写得心烦意乱,明知一堆缺陷也勉强推出来被人类高手低手嘲笑。

老办法搞不定围棋,机器暴力搞定了,是很好的事。但国际象棋不一样了,业界好不容易各种精巧的代码折腾,精心添加维护开局库残局库,感觉摸到国际象棋真理的边了,忽然一下被机器暴力4小时否定了,难道过去的事真的是没有意义的?

因此一些棋迷和高手质疑alphazero这个结果,对stockfish更有感情,是可以理解的。一种质疑是,你alphazero背后财大气粗,机器厉害,是不是让stockfish运行在弱机上,不公平啊?有棋迷就声称,我还能战胜初代stockfish呢,deepmind到底怎么试的?为什么每步只让stockfish思考一分钟?但是按论文的数据,测试的stockfish有64个线程,每秒能搜索7000万个局面,这机器并不弱。

另一种质疑就专业一些,如中村光说,stockfish并不是一个简单的程序,需要配上合适的开局库残局库。deepmind是不是配错了开局库,让stockfish没有发挥最佳实力?怪不得alphazero先行能25胜,stockfish没有好的开局库吃这么大亏才输成这样的。这种质疑比较专业,因为国际象棋开局变化要比中盘、后期复杂得多,ai也不可能搜索清楚。

业界的解决办法是,搞一个庞大的开局库,通过实战对局或者测试中发现不对劲,就放到开局库里免得stockfish掉到沟里去。而且不同配置的机器对应的开局库是不同的,强机能走的开局,弱机不一定抗得住。这个deepmind论文里说得是有些不清楚。

特级大师考夫曼是帮助komodo开发的专家,对ai很了解,他也有类似意见。考夫曼认为,现在说“alphazero这种暴力训练的引擎比基于min-max搜索的传统算法强”还为时过早。alphazero这么训练,相当于自带了最合适的开局库,公平的比试应该让stockfish配上最合适的开局库。

中国象棋国际象棋日本将棋

对国际象棋不熟的人可能会说,stockfish这不是还不错么,alphazero等级分和它也差不多,而且好像高不上去了。等级分高不上去,主要是因为太多和棋弄的,等级分系统认为分差大获胜概率就得很高,老和就说明你两水平差不多。对人类高手确实如此,人类和stockfish下基本是输,等级分差距很大。但是在极高的水平上,就不能看等级分了,要看输棋。

有经验的高手们认为,国际象棋特别容易和棋,正常走就是和棋,大比例的就应该和棋,就算走得稍不精确也能和,容错犯围比较大。只有说走多了,才偶尔掉进坑里算不清楚输掉。

卡斯帕罗夫和卡尔波夫争霸时曾经连和26局,两人都快折腾死了,卡尔波夫虽然胜局2:0领先,但是已经下崩溃了。

现在stockfish在后走的50局里输掉一半,不太正常,掉坑概率过高,感觉像是开局库吃大亏。下到中后盘,stockfish那每秒7000万步的搜索不是开玩笑的,如果有和棋的路线,不太可能输。

一些国象高手们对deepmind应用stockfish细节的质疑,似乎也有道理。但不管怎么说,就算stockfish真是因为没有好开局库输大了,它总得依赖好几个g的宠大开局库,而且还得不停更新维护达到高水平,这看上去不是正路。这等于是说,吃了亏,就把吃亏算不清的地方用开局库补足。

这看上去很像腾讯的围棋ai绝艺之前挣扎的开发阶段,老是出死活bug,就去人工修,修来修去似乎是出错概率小了,但总修不干净。棋下得也不太自然,解说人类对局的时候也经常给出不靠谱结论。后来腾讯参考alphago zero的新版本“符合预期”就很好了,行棋自然,不出死活bug,对人类高手也是60连胜,还让二子胜了绝艺。

符合预期这个版本2017年12月9日10日参加了在日本举办的龙星杯世界围棋ai赛,预赛决赛两次战胜最强对手deepzengo夺冠。但是绝艺预赛中对一个弱程序maru输了一局,终局已经大胜了,但因为是用中国规则开发的,对日本规则没有准备,对手不断pass,绝艺却自填了很多目填输了。比赛中多个中韩程序都因为日本规则中招了,自填负、自填超时负、终局死机负,状况不断。

从开发思想看,其实很清楚。stockfish等之前的“顶级”国际象棋ai,是用精确搜索的思想开发的,各种细节都做到极致,人工编写的局面估值函数极尽精巧,算法剪枝操作研究极深,代码量不小。如果搜索不行,就加开局库、残局库补足弱点。这是传统的人工代码开发的思想,其实搜索本身是暴力倾向的,开发目标就是尽可能多搜增强实力,标志性指标之一就是一秒能搜多少个局面。

而alphazero的开发思想特别简单。人简直是太轻松了,给出网络结构,实现下棋规则,搞出强化学习方法,配上足够的学习和训练的机器就行了。一切都是机器自己学出来的,人没有什么事。而且学完后下棋,一些棋迷评论说alphazero下得混然天成,非常自然,人容易理解,没有什么开局库的生搬硬套,一切都在神经网络系数里。stockfish倒是下得像机器,有些招法不知道怎么蹦出来的,人理解不了。

alphazero下国际象棋的时候,每秒只要搜索8万个局面就够了,个个变化图都很有意义。这反过来说明stockfish每秒7000万个局面,双方对局时一分钟一步,那几十亿的局面绝大多数都没啥意义浪费了,还有漏算。

中国象棋国际象棋日本将棋

国际象棋ai超级决赛(tcec season 10 superfinal ),第97场komodo执白负于houdini

从算法意义来说,alphazero下得更像人。alphazero是用mcts来搜索的,不是精确的,有概率随机因素,是随机选择一些高概率的分枝进行搜索,低概率的分枝根本不浪费算力去碰。之前人们评论说,这不象人,人不可能这么下棋。这主要指的是mcts用在围棋上,有一个下完数子的rollout用来代替代码写不好的局面估值,这确实不象人。

但是alphago zero已经把rollout取消了,直接用深度神经网络来进行估值。这样alphazero下棋其实更像人的思路,找直觉最想下的点往下推,再找其它也看着靠谱的点也试试。只不过alphazero比起人来还是特别能算,一秒能算8万个局面(人类高手每步一般考虑10个局面)。但是与stockfish相比,alphazero这还是人的思考方式,stockfish等于在那一秒7000万个局面疯狂分枝扩展,各种不靠谱的分枝占据了大量算力,真正有效的搜索没有太多,借着机器的暴力才搞定了人。

这就是机器学习算法界之前争议的,博弈算法“mcts+神经网络”是更先进的框架。之前deepmind有人简单地把“mcts+神经网络”用在国际象棋上,只是大师的水平,达不到顶级ai的水平。有不少人认为,也许“mcts+神经网络”这个套路只是对围棋这种简单规则的管用。国际象棋规则复杂,mcts不够“精确”,还是人类程序员精心编制的确定性算法更管用。这次deepmind新论文应该给出结论了,“mcts+神经网络”就是先进生产力的代表。

哈萨比斯评论说,alphazero下国际象棋的时候,最革命性的一点是,它没有棋子的概念。在alphazero看来,只有整体局势才是它关心的,这相当于国际象棋理论对“position”的重视。但无论是人类高手还是过于的顶级ai,再怎么也是以棋子实力评估为基础的,被吃了大子会心疼,在这个基础上再去进行“重视中央”之类的局面评估理论。

而alphazero却完全对棋子没有概念,只要它认为未来整体局势好,弃子根本不叫事。所以哈萨比斯说,从棋艺理论来说,alphazero既不是人的下法,也不是机器的下法,它是自己创新了一个下法。

这次deepmind公布了alphazero对stockfish的十局胜局棋谱。

中国象棋国际象棋日本将棋

从棋谱中看,alphazero很善于弃子。人类或者机器也弃子,但多半有明确目的,弃了子立刻能吃回或者做杀入局。但alphazero经常早早放弃子力,在多步以后才建立优势,这个能力是令人震惊的。

如第十局alphazero执白对stockfish,到36步这个局势黑多兵,而且还多一个马,粗看上去应该是黑大优。但实际上白棋进入了必胜局势,黑为了救命,只能用车后换白的后,白方车对马优势很大可以把黑的兵扫光。而alphazero第18步就把马弃了,这么多步以后人们才明白它在干什么。

alphazero刚出来,国际象棋高手们还在接受中,但方向应该是明确的。机器学习代表了一大类问题的未来,人类精心设计的算法,不如机器暴力自学习。和之前的围棋相比,这次的国际象棋和日本将棋进一步打开了想象力。也许以后,机器就自己学会编程了,因为编程其实就是实现一些明确的目标。

【温馨提示】如果文章内容有帮助到您,别忘动动小手指分享给好友哦!

相关文章

  • 将棋和中国象棋哪个难度大.

    将棋和中国象棋哪个难度大

    将棋,对抗激烈,复杂程度高,中后期持驹一多非常考验计算能力,个人认为很有意思。B站上有不少学习资源可供参考。象棋国内爱好者数目庞大,和周围人有很多的切磋机会。围棋网上对弈也很方便。将棋不清楚,但是在国内很小众吧。国际象棋应该最难,因为规则更复杂,对于人的智力开拓作用更大。围棋的逻辑与两者都不同。人类攻破国象是在二十一世纪初。

    2024-04-23 阅读 (568)
  • 将棋和象棋有什么区别 知乎

    中国象棋是模拟的古代战争、直线战争、陆地战争、平面战争。在中国古代,象棋被列为士大夫们的修身之艺。现在,则被视为是怡神益智的一种有益身心的活动。象棋集文化、科学、艺术、竞技于一身,不但可以开发智力,启迪思维,锻炼辨证分析能力和培养顽强的意志,而且可以修心养性,陶冶情操,丰富文化生活,深受广大群众的喜爱。

    2025-02-06 阅读 (358)
  • 日本的将棋和中国的象棋(日本将棋与中国象棋,两者有何异同).

    日本的将棋和中国的象棋(日本将棋与中国象棋,两者有何异同)

    一:中国象棋为什么只有五个兵,比起国际象棋八个兵和日本象棋九个兵要少得多?目前来看的解释有两种:一种是象棋起源于春秋,五卒代表着是当时的“伍长”兵制,即五人为一队。一种则是因为象棋起源于周代,五个兵分别代表着是五种兵器:弓、殳、矛、戈、戟。由于象棋实际上是一种浓缩的军事理论训练,所以上述的两种情况都是有道理的。

    2023-09-15 阅读 (300)
  • 日本将棋和中国象棋哪个复杂(日本将棋和中国象棋,谁更技高一筹).

    日本将棋和中国象棋哪个复杂(日本将棋和中国象棋,谁更技高一筹)

    聂卫平说过,你们不要一味地拔高围棋,这个游戏本质上就是一个游戏。锻炼这个锻炼那个,有什么xx思维,你玩游戏要获得乐趣,这才是最重要的。如果想要培养一项业余爱好的话,我觉得这些都是非常好的选择。就像大家说的,本质上这些棋类都是一项游戏,没有什么高下之分(但我个人认为,单论复杂和难易程度还是围棋更胜一筹)。

    2023-11-07 阅读 (293)
  • 将棋和象棋的区别是什么意思

    中国象棋是模拟的古代战争、直线战争、陆地战争、平面战争。在中国古代,象棋被列为士大夫们的修身之艺。现在,则被视为是怡神益智的一种有益身心的活动。象棋集文化、科学、艺术、竞技于一身,不但可以开发智力,启迪思维,锻炼辨证分析能力和培养顽强的意志,而且可以修心养性,陶冶情操,丰富文化生活,深受广大群众的喜爱。

    2025-08-15 阅读 (146)
  • 日本将棋是模仿中国象棋的吗(日本将棋是否受到中国象棋的启发).

    日本将棋是模仿中国象棋的吗(日本将棋是否受到中国象棋的启发)

    将棋的始祖是大约五千年以前印度的查德兰,主流观点认为从东南亚传入,一说由唐朝的象棋传去日本,演变而成 ,在平安时代演变成与平安将棋、平安大将棋。之后平安将棋分支成小将棋、中将棋、大将棋、大大将棋、天竺大将棋、摩诃大大将棋、泰将棋、大局将棋等诸多日本将棋前身,传说再由后奈良天皇改良小将棋,最终在江户初期大桥宗桂去除棋子醉象,确定将棋规则,正式定型了现在流行的日本将棋。

    2023-11-03 阅读 (130)
  • 将棋和中国象棋哪个难(谁才是棋艺之巅).

    将棋和中国象棋哪个难(谁才是棋艺之巅)

    聂卫平说过,你们不要一味地拔高围棋,这个游戏本质上就是一个游戏。锻炼这个锻炼那个,有什么xx思维,你玩游戏要获得乐趣,这才是最重要的。如果想要培养一项业余爱好的话,我觉得这些都是非常好的选择。就像大家说的,本质上这些棋类都是一项游戏,没有什么高下之分(但我个人认为,单论复杂和难易程度还是围棋更胜一筹)。

    2023-11-16 阅读 (116)
  • 中国象棋在日本的地位(中国象棋在日本是否拥有同样高的地位).

    中国象棋在日本的地位(中国象棋在日本是否拥有同样高的地位)

    日本将棋的历史日本将棋的本源也是古印度的“恰图兰卡”。但究竟从何时由何地传入日本已经不可考证。目前流行“中国-朝鲜-日本”和“印度-东南亚-日本”两种假说。大约在10世纪,将棋就应该已经到达了日本,并逐渐演变发展起来。日本将棋最早见诸于史书,是在一本叫做《新猿乐记》(1058-1064年中国北宋年间)书中。

    2023-09-10 阅读 (99)
  • 将棋规则与哪种外国象棋类似(将棋规则与哪种外国象棋最相似?探索古老棋艺的奥秘!).

    将棋规则与哪种外国象棋类似(将棋规则与哪种外国象棋最相似?探索古老棋艺的奥秘!)

    将棋的始祖是大约五千年以前印度的查德兰,主流观点认为从东南亚传入,一说由唐朝的象棋传去日本,演变而成 ,在平安时代演变成与平安将棋、平安大将棋。之后平安将棋分支成小将棋、中将棋、大将棋、大大将棋、天竺大将棋、摩诃大大将棋、泰将棋、大局将棋等诸多日本将棋前身,传说再由后奈良天皇改良小将棋,最终在江户初期大桥宗桂去除棋子醉象,确定将棋规则,正式定型了现在流行的日本将棋。

    2023-11-14 阅读 (90)
  • 将棋规则最快将军方法(如何实现将棋最快将军技巧).

    将棋规则最快将军方法(如何实现将棋最快将军技巧)

    日本将棋规则简介日本将棋(shogi)的内容相对多一些,为避免文章过长,计划分为规则、历史和棋驹欣赏三篇。今天这一篇向大家介绍一下日本将棋的规则,相信如果你感兴趣,看完此篇之后,就会学会日本将棋的下法。日本将棋(后文简称将棋)我很小的时候就听说过,一直有一种说法称围棋、中国象棋、国际象棋和日本将棋为世界四大棋类运动。

    2023-11-18 阅读 (82)