查看原文
其他

拥有10²⁸种变化的黑白棋,被超算破解了!

嘉伟 返朴 2024-01-10

星标,才能不错过每日推送!方法见文末动图




黑白棋又名奥赛罗棋,别名出处正是莎翁名剧《奥赛罗》——黑白两面象征着主角奥赛罗和他的妻子苔丝狄蒙娜;棋局间的博弈交锋象征着二人的你来我往。现在,科学家借助超算集群,穷尽棋局的所有变化,破解了黑白棋。这对恋人穿过四百多年的嫉妒与背叛、悔恨与泪水,最终以对等的姿态,紧紧相拥在一起。


撰文 | 嘉伟


A minute to learn, a lifetime to master(学会一分钟,精通一世功).

——全球黑白棋爱好者都熟知的一句谚语



我相信,大多数80、90后第一次接触黑白棋,是在名为“文曲星”的电子词典上。同时,因为黑白棋的“社会地位”远远无法和文化传统厚重的围棋、自带精英气质的国际象棋相提并论,或许很多人会认为,黑白棋仅仅是一种简单易学的儿童棋类游戏。殊不知因为独特的规则,黑白棋与其他棋类不同。在局势变化有限的情况下,例如五子棋或象棋中的残局,棋手们常能轻易洞察局势。但黑白棋即便仅空下最后6格,计算起来也颇为不易。这种相对复杂性是由黑白棋的特性所决定的,它并不像其他棋类那样容易被“一目了然”地理解,因此很容易出现局势逆转,在游戏后期可能仅用几个回合就能让大量对方棋子倒戈,从而扭转局势。
所以,黑白棋不但拥有理论上惊人的1028种变化组合数目,同时还需要极深的思维层次。顶级棋手甚至从前中期开始,就得思考最终决战时的棋法策略。
从下面这一点也可以看出黑白棋的复杂度之高:更有人气的五子棋(五连珠)早在1993年便已被计算机科学家Victor Allis破解(solved),并证明在无特殊开局规则的情况下,五子棋先行一方存在必胜的策略;但在过去的30年里,虽然人类所掌握的算力呈指数级增长,却一直无法穷尽黑白棋的所有变化——直到今年10月末,日本的计算机科学家滝沢拓己(Hiroki Takizawa)取得了里程碑式突破,宣布破解了黑白棋!
同时,针对黑白棋的研究,还和不久前在AI业界引发地震的OpenAI的管理层“政变”产生了奇妙的联系。
不过在进一步展开故事之前,为了方便那些不熟悉黑白棋的读者,先简要介绍一下这种棋的规则与历史。




什么是黑白棋


黑白棋中文也叫翻转棋,英文叫做Reversi,或者Othello。
黑白棋的原型最先在19世纪末由英国人发明,上个世纪70年代由日本人长谷川五郎将其发展和推广,借用莎士比亚名剧《奥赛罗》Othello为这个游戏重新命名(日语“オセロ”),才有了现在大家玩的黑白棋。为何借用莎士比亚名剧呢?是因为剧中男主角奥赛罗是一名黑人,他的妻子是白人。奥赛罗因受小人挑拨,怀疑妻子不忠,最终亲手杀死妻子。后来真相大白,他懊悔不已,自杀身亡。黑白棋就借用这个黑人白人斗争的故事而命名,故而棋子为正反黑白两面。
黑白棋的棋子与棋盘。图源:Reversi - Wikipedia
有些地方棋子为正反红、绿两色,此时也被称为“苹果棋”,因苹果有红苹果和青苹果之分。
基本规则
• 最标准的开局,棋盘正中央的4格先置放黑白相隔的4枚棋子。通常黑子先行,双方轮流落子。
黑白棋开局。| 图源:日本最弱黑白棋AI对战平台最弱オセロ对局界面
• 只要落子和棋盘上任一枚己方的棋子在一条线上(横、直、斜线皆可)夹着对方棋子,就能将对方的这些棋子转变为己方棋子(翻面即可)。夹住的位置上必须全部是对手的棋子,不能有空格。并且,只有在可以翻转棋子的地方才可以下子。
• 一步棋可以在数个方向上翻棋,任何被夹住的棋子都必须被翻转过来,棋手无权选择不去翻某个棋子。必须是刚下的子夹住对方才能够给对方棋子翻面,因翻转对方棋子而夹住的棋子是不能被翻面的。
• 如果一方没有合法的棋步可下,就必须让对方继续下子,直到自己有合法的棋步为止。如果双方都没有合法的棋步可下,游戏就结束。
游戏结束时棋盘上棋子多的一方获胜。若棋数一样,则为和局。




策梅洛定理(Zermelo's theorem)与Solved game


对任何一种棋类的研究,都脱不开德国数学家策梅洛在1913年发表的著名定理:在二人的有限游戏中,如果双方皆拥有完全的资讯,并且运气因素并不牵涉在游戏中,那先行或后行者当中必有一方有必胜/必不败的策略


注意,很多人不能正确地理解该定理,甚至认为它不过是一句显而易见的废话。为了彰显定理的意义,请大家先思考一下“石头剪刀布”的游戏。
在无作弊的情况下,“石头剪刀布”是一种运气游戏,它也不存在任何必胜策略。那么我们凭什么可以认为,一个非运气游戏就一定有一方存在必胜/必不败策略呢?掺杂了运气成分的游戏和不掺杂运气成分的游戏诚然有本质上的不同,但这绝非显然,而是需要数学证明的。
这里提供一个便于理解的通俗化证明思路:我们假设对弈双方都是智慧无限的神仙。如果一方在某一步败了(比如象棋中被将死),那么他在悔一步棋之后仍然是必败,否则与我们的“无限智慧”矛盾(因为他上一步就走错了),依次类推,我们知道游戏的胜负在开局就已经决定了——也就是有一方有必胜策略。
实际上,策梅洛定理就是完全信息博弈论的基石。由此我们知道,每一种可在有限步数内结束的常规棋类游戏,都有一方是必胜或至少是必不败的。后续的问题就是:找出存在必不败策略的那一方。
当我们确认了某游戏里先手或后手一方存在必胜/必不败策略的时候,就说该游戏是solved game。目前solved game还没有统一的标准译名,但可以很自然地直接翻译成已解决或已破解游戏。
对于已破解游戏,还分出三种强度。
超弱解(ultra-weak solution):理论证明一方可以保证赢得游戏,或者游戏必然平局,但不需要给出具体的赢法或平局法。这种解法只需要借助数学工具分析游戏的抽象属性,而不需要穷举所有的可能性。
弱解(weak solution):给出一个算法,可以从游戏的初始状态开始,保证某个玩家赢得游戏,或者任何玩家都不会输掉游戏。这种解法通常需要穷举游戏树的所有分支,或者利用预先生成的数据库。
强解(strong solution):给出一个算法,可以从游戏的任何状态开始,给出最优的走法,无论之前的走法是否完美。这种解法需要穷举游戏树的所有节点,或者利用预先生成的数据库。
在1993年,五子棋得以破解。今年10月,黑白棋也获得了弱解。我们现在知道,如果两个拥有无限计算能力的神仙来下黑白棋,则他们必然是永远平局。换句话说,黑白棋是非常公平的棋类游戏。先手或后手一方,并未因此获得微弱的优势。这和高水准的黑白棋棋手的感觉一致。
同时,因为是弱解,来自日本初创AI研发企业Preferred Networks的生物信息学家和计算机科学家滝沢拓己还穷举了对弈双方的从开局开始的最佳策略。
(需要说明的是,人类并未破解围棋和国际象棋。虽然现在的下棋AI远比人类强大,但它们并没有找到最正确的走法。它们仅仅是找到了比我们人类更正确的走法。)




技术与意义


在计算机科学的襁褓时期,完全破解象棋等纯策略游戏就一直被认为是人类智慧的非凡成就。自那时以来,这也是人工智能(AI)领域的重大课题。早期的研究者包括查尔斯·巴贝奇(Charles Babbage)和克劳德·香农(Claude Elwood Shannon)。随着机器学习技术和计算能力的提升,人类制造出了拥有超高棋力的AI(如里程碑式的AlphaGo),但这些超强AI并不能完美地破解这些游戏。不久之前,人们还普遍认为黑白棋也太过复杂,无法被破解。所以它一直是人工智能领域里的一项宏伟挑战。
为了破解黑白棋,滝沢拓己用现代技术强化了上世纪90年代就已非常强大的下棋程序Edax,然后将任务分解成更易于管理的部分。他先分析了棋盘上剩下50个空位的情况,随后又考察了有36个空位时所有有意义的局势。他惊喜地发现,似乎现有算力足以支持弱解黑白棋。

粗体标注的路径为一条最佳分支。完美的玩家应按对应位置的粗体对策树行棋。| 图源:OTHELLO IS SOLVED


他在Preferred Networks拥有的名为MN-J的超级计算集群上运行了他的程序。该集群包括超算MN-3,是目前在能效方面排名世界第11位(2020年排名第1位)的超算。
最终滝沢在论文“Othello is Solved”中宣布,他破解了黑白棋。这是人类的一项重大成就,展示了计算机科学和人工智能技术的长足进步。
另一个值得注意的地方在于,破解黑白棋实际需要探索的位置数量远远少于先前研究中的评估量。滝沢认为这是由于他的团队拥有更精密的搜索算法配置。之前恰恰是因为评估出的计算量非常之大,导致许多人望而却步。或许这个故事的教益就在于:纸上分析终觉浅,绝知此事要躬行。




黑白棋与AI


可能日本是黑白棋爱好者最多的国家。据2005年的统计数据,在日本,黑白棋爱好者约有6000万人(日本将棋爱好者约1500万人;围棋爱好者约500万人;国际象棋爱好者约300万人)
因此,最终由日本的科学家破解黑白棋,可说是顺理成章。滝沢期待未来可以在国际象棋上有所突破。国际象棋的复杂度比黑白棋还要高出15个数量级,破解国际象棋甚至是计算机和AI技术发展的原动力之一。
不过除了超强AI,也有人打算反其道而行之。日本AI公司AVILEN有感于如今的弈棋AI过于强大,故而研发了一款名叫“奥赛罗”的黑白棋对弈AI,它的目标是尽可能地输给人类玩家,而不是像其他的AI那样追求胜利。
这个AI的原理是通过修改AI对黑白棋规则的理解,让AI每次都选择对自己最不利的落子,同时给人类玩家最大的优势。这样,人类玩家就很难输给AI,甚至需要用一些特殊的策略才能做到。奥赛罗在网上公开挑战人类玩家,截至2019年7月29日,它已经进行了22万场比赛,只赢了1000多场,胜率低于0.5%。它甚至引来了一些职业黑白棋手的挑战,想要看看能否输给它。
有研究者认为奥赛罗打破了人工智能领域里的常规思维,展示了AI的另一种可能性。它也引发了一些人们对于AI的思考,比如AI是否有自己的意志,AI是否能够理解人类的情感……
一定程度上,关于黑白棋的AI实验,确实给上面的思考提供了线索。
11月17日,因开发出ChatGPT和GPT-4而一跃成为AI领域领航者的OpenAI官方,毫无征兆地宣布,原首席执行官萨姆`奥特曼(Sam Altman)被董事会解除职务。这被视为是一场“政变”。后面的剧情更是跌宕起伏,很多细节至今尚未披露。
其中有一种说法是,OpenAI在AI领域再次获得了重大突破,他们的首席科学家伊尔亚·苏茨克维(Ilya Sutskever)因为对最新技术怀有疑虑,所以不希望把它商业化,因此和萨姆·奥特曼出现了分歧。最终矛盾激化,引发了管理层的大清洗。当然,后来我们知道伊尔亚又后悔了,决定站到奥特曼一方反对董事会的决议。
那么OpenAI最有可能在哪个方向上获得了突破呢?其实不久前Ilya曾向媒体透露过,他认为:“训练大型神经网络来准确预测各种文本中的下一个词时,实际上是在构建一个世界的模型。这些文本本质上是对现实世界的一种映射。神经网络正在不断深入学习世界的方方面面,涵盖了人类、人类环境、期望、梦想、动机等各个方面。AI学习了对人类世界的压缩、抽象,以及可用的表征方式


上面的说法让人看得似懂非懂,但用联系本文主题的通俗类比,就是我们给AI看棋谱,但是不告诉它那是棋谱。最终AI学会了下棋,但是又不知道自己在下棋。
OpenAI是否验证了这一概念——证明大语言模型(LLM)仅通过学习语言,最终用语言重新表征了世界——我们尚不得而知,但近期另一项黑白棋研究,却佐证了这一理论。
图源:https://openreview.net/forum?id=DeG07_TcZvT 研究人员利用从大量实际对局游戏中采样的2000万个序列样本,训练一个名为OthelloGPT的神经网络。OthelloGPT并不了解游戏规则或输入序列所代表的游戏概念,它只接触到文本标记的序列字符串。类似于大型语言模型对自然语言的训练,OthelloGPT的训练目标是预测序列中接下来可能出现的字符串。
在获取足够多的棋谱之后,OthelloGPT能够准确预测未来的合法棋步,即使对于训练数据中从未见过的字符串(也就是棋谱里的序列)也是如此!
OthelloGPT并不知晓自己在下黑白棋,但是通过阅读大量的棋谱(由字母和数字构成的字符串),它找到了其中的规律,在事实上学会了下棋。虽然对OthelloGPT来说,它仅仅是在预测字符串的生成模式。
最后,如果哪位朋友读罢本文竟对黑白棋产生了兴趣,这里推荐一本可在网上找到的入门读物《黑白棋指南》(Brian Rose著)

参考资料

[1] OTHELLO IS SOLVED,2310.19387.pdf (arxiv.org)

[2] Reversi - Wikipedia

[3] 日本最弱黑白棋AI对战平台:最弱オセロ | PROJECTS(プロジェクト) | 株式会社AVILEN


本文受科普中国·星空计划项目扶持

出品:中国科协科普部

监制:中国科学技术出版社有限公司、北京中科星河文化传媒有限公司



相关阅读

1  象棋和围棋竟然都存在不败策略?

2  从空城计到阿尔法狗,博弈论如何渗透我们的生活?

3  古典着色问题的新时代算法

4  华罗庚:下棋找高手,弄斧到班门


近期推荐

1  一所学校127人患脑癌,调查结果出乎意料

2  本科生假期打零工,竟推翻了这个著名数学猜想

3  每年感冒两次,感染的病毒一百年不重样丨病毒超话

4  历时8年终发Science,他证明老鼠有类人的想象力

5  简单实用!3个德国人创造的线性迭代法,超越了一个时代


特 别 提 示

1. 进入『返朴』微信公众号底部菜单“精品专栏“,可查阅不同主题系列科普文章。

2. 『返朴』提供按月检索文章功能。关注公众号,回复四位数组成的年份+月份,如“1903”,可获取2019年3月的文章索引,以此类推。

版权说明:欢迎个人转发,任何形式的媒体或机构未经授权,不得转载和摘编。转载授权请在「返朴」微信公众号内联系后台。


找不到《返朴》了?快加星标!!



长按下方图片关注「返朴」,查看更多历史文章

微信实行乱序推送,常点“在看”,可防失联
继续滑动看下一个

您可能也对以下帖子感兴趣

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