快捷搜索:  汽车  科技

围棋中的数学原理(漫话围棋深奥莫测的数学王国)

围棋中的数学原理(漫话围棋深奥莫测的数学王国)以天元为中心的九层棋子大家知道,围棋在发展过程中,棋盘经历了从13道到19道的历史演变。如果从数学的角度来看,这种演变也是遵循了一定的数学规律的。我们可以把围棋的十九道棋盘看成是由围绕以天元为中心的九层交叉点再加上天元一点所组成。那么,从天元周围第一层的8个交叉点开始,直至第九层周围的72个交叉点,它们恰好都是8的整数倍。而这各层的点数之和再加上天元一点所组成的棋盘交叉点,这正好符合数学中“任何一个奇数的平方都是1与8的某个倍数之和,且这个倍数是一个特定数列中的数。”的定理。见下图所示。现代许多科学家都认为围棋是最富于数学哲理的游戏,虽然规则简单,可概括为“轮流着子、气尽棋亡、地多为胜”,但却是变化无穷,居各项棋类之首。在围棋对局中,每下一步都有多种方案可供选择,而每种方案又须深算十几步乃至几十步之遥,每下一子,就好比解一道数学题。随着棋局的进程,棋盘上黑白双方棋子数量逐渐由少变多,各自占

围棋中的数学原理(漫话围棋深奥莫测的数学王国)(1)

漫话围棋——深奥莫测的数学王国

刘建国

在世界流行的棋类之中,与数学联系最密切的,莫过于围棋了。围棋作为一种智力竞技,从它诞生之日起就与数学结下了不解之缘。可以这么说,数学就是围棋中的一个重要元素,围棋中的数学无处不在。

早在战国时期,著名的思想家、教育家孟子就曾说,“今夫弈之为数,小数也。不专心致志,则不得也。”这段话的意思是说,下围棋实际就是一种数学计算,虽然是浅易的计算,如果不专心致志地来学,也是下不好的。中国古代把“礼、乐、射、御、书、数”称之为“六艺”。而元代的围棋大家晏天章、严德甫在其名著《玄玄棋经》中则明确表明:“弈之为数,即六艺之数也。”在围棋发展与数学相互促进的南北朝时代,以发现圆周率而闻名于世的数学家祖冲之就是一位围棋高手。据说,他曾经深入研究过组合数学与棋路。由此可见,围棋与数学密不可分的渊源关系在很早以前便被人们所认知了。

现代许多科学家都认为围棋是最富于数学哲理的游戏,虽然规则简单,可概括为“轮流着子、气尽棋亡、地多为胜”,但却是变化无穷,居各项棋类之首。在围棋对局中,每下一步都有多种方案可供选择,而每种方案又须深算十几步乃至几十步之遥,每下一子,就好比解一道数学题。随着棋局的进程,棋盘上黑白双方棋子数量逐渐由少变多,各自占据的地域范围也经历了从抽象到具象、从大体到具体、从模糊到精确的演变过程。而棋局的胜负,经过双方的判断比较后,最终还是要通过精确计算的结果来体现。

围棋中的数学原理(漫话围棋深奥莫测的数学王国)(2)

● 棋盘上的数学

我们首先来了解一下围棋棋盘上的数学。如果我们把围棋棋盘看作是数学中的一个直角坐标系, 把棋盘上的“天元”一点看作是这个坐标系的中心点,那么棋子下在棋盘上361个交叉点中的任何一个位置,就都可以用纵横坐标的数字一目了然地表示出来。例如,四、4就表示了棋盘的星位,三、4就表示了小目的位置,这就是围棋记录棋谱的基本方法。

大家知道,围棋在发展过程中,棋盘经历了从13道到19道的历史演变。如果从数学的角度来看,这种演变也是遵循了一定的数学规律的。我们可以把围棋的十九道棋盘看成是由围绕以天元为中心的九层交叉点再加上天元一点所组成。那么,从天元周围第一层的8个交叉点开始,直至第九层周围的72个交叉点,它们恰好都是8的整数倍。而这各层的点数之和再加上天元一点所组成的棋盘交叉点,这正好符合数学中“任何一个奇数的平方都是1与8的某个倍数之和,且这个倍数是一个特定数列中的数。”的定理。见下图所示。

围棋中的数学原理(漫话围棋深奥莫测的数学王国)(3)

以天元为中心的九层棋子

这也就是说,如果围绕棋盘天元四周的交叉点,按照九层来计算,就构成了一个十九道的棋盘,而这些交叉点的总数目恰好就是361。而361这个数恰好等于1 8×45,如果我们按天元周围有八层交叉点来算,那就是十七道棋盘了,交叉点的总数就是289,即1 8×36。由此我们也就不难理解为什么围棋棋盘的道数为奇数了。

根据对策论的定理,在围棋对局中,假设黑白双方从布局开始都以最佳的着法一直下到终局,由于执黑棋的一方有先行之利,取胜的概率必然会大大高于白方。为了使对局双方处于平等的地位,那么先行棋的黑方就应当在终局时贴还给白方一定的子数或目数作为先行的补偿,这就是现代各种围棋规则中黑方都要贴子或贴目的理论根据。那么黑方要补偿多少才算合理呢?这正是目前各种围棋规则中还没有解决的一道数学难题。目前,中国规则规定黑方贴3又3/4子(相当于七目半);日本规则是黑方贴六目半,而应氏规则黑方要贴8点(相当于八目)。

如果从数学上看,这些规定似乎已经很精确了,但实际上这种规定却并非十分科学合理。为什么这样说呢?这是因为只要是我们无法把围棋对局中的全部变化列出来,也就无法从棋局中得到或判断出所有的最佳着法来。因此黑方对白方的补偿应该是多少,只能是一个概略数而已,而真正意义的精确合理之数,也许人们永远也不为所知。如果换句话来讲,就是这个合理的补偿之数永远也不会得到数学上严谨的证明。在围棋中,通常用数字序数来表示在棋盘上落子的手数,用目数来表示围“地”多少,用分数来表示细微的差距。在对局中还能在棋盘上经常见到“大飞”、“曲尺”、“猴子脸”等几何图形和“拆二”、“二间夹”等表示棋子之间距离的着法。

围棋中涉及到数学之处多不胜数,甚至连围棋的基本棋理也可以借助数学的理论来加以论证。例如,每一位围棋爱好者都熟知的棋理格言“金角银边草肚皮”,就是通过计算和比较在棋盘的角、边和中腹要围得相同目数的地域,所用的棋子分别是多少的结果得出来的一个结论。我们从下图可知,在棋盘的角部两眼做活最少要用6颗棋子,在边上两眼做活至少要用8颗棋子,而在中腹两眼做活则至少要用10颗棋子。

围棋中的数学原理(漫话围棋深奥莫测的数学王国)(4)

金角银边草肚皮

这个结论完全符合数学中的勾股定理,即6的平方加8的平方等于10的平方。出现这样的“巧合”显然是有科学道理的。这个结论告诉我们,在角上的活棋效率是最高的,其次是边上,最后才是中腹。换句话来讲,如果用相同数量的棋子,在棋盘角部围的地域最大,边上次之,中腹围地最小。由此可见,“金角银边草肚皮”的格言是既通俗又科学的。清代著名棋手施定庵在他的《凡遇要处总诀》中,在一开篇就写道:“起手据边隅,逸己攻人原在是”,正是阐明的这个道理。

棋局中的变化

围棋之所以有很强的趣味性,一个重要原因就在于它丰富而复杂的变化。这些变化,可以说是现在世界上其他任何智力游戏都望尘莫及的。也许有人会问,围棋的一局棋究竟会有多少种变化呢?其实,古人很早就已经注意到这个棋局变化的总数问题了。按照围棋的规则,在有361个交叉点的棋盘上,对弈的双方各执180颗棋子,总是应该在有限的步数之内弈至终局的。而能够弈出的不同局面的变化总数也一定是一个有限的数字。北宋的著名科学家沈括在他的《梦溪笔谈》中给了我们这样一个答案:“其法初一路可变三局,自后不以横直,但增一子,即三因之,凡三百六十一增,皆三因之,即是都局数。”沈括的计算,是运用数学的排列组合理论和指数运算法则进行的。

这段话的意思是说,在围棋的对局中,棋盘上每个交叉点都有可能出现黑子、白子或空着不放子的三种情况。如果每一个交叉点都有黑、白、空的三种可能性,那么两个交叉点就有3×3=9种可能性,而三个交叉点就有3×3×3=27,即3的3次方种变化的可能性,四个交叉点就会有3的4次方种变化的可能性。以此类推,那么在棋盘361个交叉点上就会有3的361次方种变化的可能。沈括据此得出了“大约连书‘万’字四十三,即是局之大数。”的结论。如果我们用现代数学来表述,即为1.74×10的172次方。也就是说,围棋棋局变化的概数是一个有173位数的正整数。具有一般数学常识的人都知道,这可是一个大得十分惊人的天文数字。

举例来说,我们假设对局中每一秒钟出现一种棋局变化,那么一个小时就会有3600种变化,一天24个小时的变化数就是3600×24=86400,而一年365天的变化数则是86400×365等于3.15×10的7次方。照此来计算,一万年的变化数是10的11次方,一亿年的变化数也仅仅是10的15次方,而要完成10的172次方变化所需要的时间就简直不可想象了。再来打另外一个比方吧,假设全世界有五十亿人都来下围棋,每人每天下一盘,要下完这1.74×10的172次方盘棋就得花上9.53×10的159次方年,这是一个几乎无法表达的天文数字!而现在人类目前所知道宇宙形成的年龄也不过才138亿年。

由此可见,小小棋盘所能容纳的棋局真是深不可测! 如果我们再进一步探讨下去,就会发现这样的计算还是不够全面。因为在围棋的对局中,还会经常遇到“打劫”和提子以后再下子的情况。这样一来,在每个交叉点上的变化就有了三种以上的可能性。由此看来,围棋棋局的理论变化数,比起沈括的计算还会大出许多。如果我们再变换一种思路,从围棋着子的次序来考虑,还会得出另一种计算方法来,其结果就更加令人瞠目结舌了。

大家知道,围棋的棋盘共有361个交叉点。那么,双方对局时,黑方落子的第一手棋放在棋盘的哪个位置,就必然会有361种选择,而白方的第二手棋就会有360种选择,而黑方的第三手棋必然会有359种选择。这样以此类推下去,以后每一手棋的选择都会依次递减,那么一局棋的全部变化总数将会达到361×360×359×…×2×1=361!种,这在数学上被称之为361的阶乘,计算出来的结果约为10的768次方,有的计算器显示出的结果为正无穷大!这个几乎让人无法想象的天文数字与沈括的计算值相比,显然是大得太多太多了!

我们再来说一说围棋布局中的变化。布局是围棋对弈的一个重要阶段。各种奇妙的布局总是能体现棋手宏大的战略意图和精心的构思。那么与布局密切相关的围棋定式数量又会有多少种呢?定式是对弈双方在角部合理地应对着法,其着子的范围通常是在棋盘的四分之一以内,棋子所占的点数大约为9×9=81。经过计算就会得知,在棋盘这81个交叉点上的变化总数为5.97×10的120次方。

由于定式的合理性原因,也就是说定式的实际变化数只可能是角部变化总数中的极少一部分。据有关资料统计,从古到今创造的定式总数已达数万种之多了,但是与81!相比,还只不过是沧海之一粟。由此看来,围棋定式的创新也是远远没有止境的。百年以前,日本棋界率先废除了古代沿袭下来的座子制。用数学的观点来看 此举使得围棋全局的变化扩展了1.67×10的10次方之多。也就是说,仅仅去掉了事先摆在棋盘角部的四颗棋子 竟会使棋局增加了一百六十七亿种变化。可见座子制的废除实乃围棋历史上的一大飞跃。再来看废除了座子后的布局变化。我们假设一局棋的前五十步棋为布局阶段,那么布局变化的总数将达到6.63×10的128次方之多。

当然,如果考虑到各种布局的合理性,其实际变化总数一定是大大少于这个数字的。即便如此,在过去的对角星、二连星、三连星、错小目、星小目、中国流等布局类型的基础上,继续创造出新布局的前景还是非常广阔的。近些年出现的“迷你中国流”就是一种新布局。特别是在围棋人工智能出现以后,新定式不断涌现,定式的变化也显现得更加复杂了。

以上所分析的这些纯理论性的数学计算虽然与实际状况相差甚远,但却是足以证明小小的棋盘所能容纳的棋局变化确实是深不可测的。难怪唐朝冯贽在其《云仙杂记》中感叹到:“人能尽数天星,则遍知棋势。”而北宋学士张拟在其《棋经十三篇》中也作出了“自古及今,弈者无同局。”的结论。

● 对局中的计算

围棋不但具有变化的复杂性,而且也具有计算的复杂性。在围棋对弈过程中,黑白双方要运用数学思想和方法来进行各种形式的计算。这些计算不仅包括步数和目数这些带有数字意义的同步精确计算,还包括富有战略意图的概略计算。由于围棋的量化性计算始终贯穿于对局的全部过程之中,所以有的学者就把围棋称作“计算的科学”。早在东汉时期的《孙子算经》中,就有了关于围棋计算的记载。

对局双方在棋盘上的较量,从一定意义上讲,就是计算能力和计算准确度的较量。围棋的双方在对弈过程中,从布局开始至终盘结束,对于大场的价值、形势的判断、气数的长短、棋子的死活、地势的平衡、劫材的多少、官子的得损,都离不开数学的推理和计算。对此,古人早就有了“多算胜,少算不胜,而况于无算乎?”的定论。

一个棋手的实力水平往往体现在计算能力上。而水平相当的棋手,其胜负之分,往往就在于计算的正误之上。而对局中的计算,最重要的就是多算和算准,差之毫厘,便会功败垂成。具体说来,对局中采用什么样的战略战术,必须建立在复杂的计算基础之上。围棋计算的复杂性还在于各种计算并不是静态的,而是在动态之中进行的。这就说双方都要根据棋局的变化,在充满各种选择的动态之中进行不断地计算,要在自己的心里来解答对手给你出的这些“流动算术题”。而对于某一局部的计算,就是要把自己和对方的下法在脑海中摆出来,反复分析比较哪种走法最佳。

通常情况,每下一着棋,都会面临几种选择,而每种选择又要至少计算出十几步棋的走法。而一流棋手就可以轻松地计算出50手以上的变化。聂卫平在一次比赛的复盘过程中,接连摆出了几个大型参考图,而每一个参考图都有四五十步之多,其超强的计算能力让人叹为观止、大开眼界。

在对局过程中,双方不但要进行局部的精确计算,更要始终把握好对全局形势的判断。能够数清楚双方占有实地的目数,是围棋计算的一个基本功。假如你在对局中破了对方5目的空,那这一进一出他就损失了十目棋。对局中出现诸如:“对杀白方多一气”、“盘面黑方领先八目”、“官子双方先手六目”、“这一手棋有十目棋的价值”等等,都是对局者经过计算而得出来的结论。高手对弈时,往往棋盘上还有许多地域的归属尚未确定,就已经计算出对局的最终结果了。一局棋的胜负,常常会精确到用四分之一子的数字来体现。

围棋中的计算,除了加减乘除等一般计算方法外,还与运筹学、模糊数学等有关,同时也包含着形象思维和逻辑思维的创作。从这个意义来讲,一个棋手的棋力可以理解为实现己方战略意图的能力。由于对手的存在,你的战略意图要时时被对手破坏,所以仅仅构思一种战略意图是不行的,而是要有多种随机应变的战略意图。例如在己方一块孤棋受攻时,除了逃跑联络外,还可以考虑就地做活,或是顽强反击,也可以考虑弃子转换。同样,攻击一方也有种种的战略意图。

至于如何在各种战略意图的比较中寻求对胜负结果最有影响力的着法,那就看你善于比较、善于计算的基本功了。如果你对棋局中经常出现的棋形规律有了较深的认识,就会熟中生巧,一眼就能看出应对的着法来,使复杂的计算变得简单化了。有人将其形容为“计算的快捷方式”。由于省略了计算的原始步骤,从而成倍地提高了计算的效率。

在开局或中盘阶段,棋手往往会凭棋理、凭感觉、凭对棋盘上棋的形状来着子。而着子的根据并不能计算得十分清楚、准确,只能是一种模糊的计算,一种“神奇”的感觉。子落棋盘,往往就产生了玄妙的一手,那种似乎即使再仔细计算也不可能发现的绝招。这就意味着,当局面使得棋手无法计算清楚的时候,这时做出的最佳选择往往是将局面导向更为复杂的局面,而把进一步判断、思考和采取何种措施应对的负担转嫁给对手,这也可以说是战略上的一种正确选择。正因为这时的着法不是完全通过计算而得出的着法,因而带有相当强的不确定性,所以会被称为“感觉好”的一手,或是“朦胧的妙手”。

此外,对于行棋的计算,还往往表现在行棋的次序上,而行棋先后次序的正确与否,往往会关系到某一局部的得失,甚至会关系到一局棋的胜败。围棋中的所谓“妙手”和“恶手”的区分,有时仅仅只是因为行棋次序的不同而已。若及时地抢占局中的某一点,有时可称之为上乘“妙手”,但如果不到时机或错过时机,在同一处投子就可能变成了“恶手”。所以在下棋时,精确地计算和把握行棋的次序,做到落子井然有序也是至关重要的。

在围棋的对局中,从布局的第一手棋开始一直到收官结束,没有任何因素是可以脱离计算之外的。当然,我们这里说的围棋中的计算是广义上的计算,而且这个概念是比较抽象的。也可以说,围棋中的计算和单纯的数学计算是不同的,并非像小学生作数学“四则运算”那样简单。

围棋对局中的计算并不只是一些单纯数字的加减乘除,它既不能依靠数学公式来进行,也不能手写笔书,而这是一种完全存乎于一心的特殊计算。这种计算的本质就是为了取得全局的主动,在对棋局形势的正确判断和正确理解基础之上,所进行的一系列战略设想、行棋次序、着法步骤、变化结果的心中预算。如果我们站在这一角度来看,在世界的著名棋手中,无论是吴清源的神速、陈祖德的凌厉,还是聂卫平的厚重、李昌镐的精妙;无论是马晓春的飘逸、武宫正树的奔放,还是90后、00后的后来者居上,这都是他们棋力水平超强的特征,也更是他们具有卓越计算能力的体现。

2015年10月,计算机软件阿尔法围棋战胜了欧洲冠军、职业围棋二段樊麾,这是人工智能第一次战胜职业棋手。2016年3月,阿尔法围棋与世界冠军李世石的人机大战,最终结果是人工智能再次获胜!当时,关于人机大战的报道充斥于各国的各种媒体,风头盖过了足球、篮球等风靡世界的运动。在后来的人机大战中,围棋人工智能竟然以全胜的成绩战胜了60位人类围棋顶尖高手,这成为了围棋发展史上一件具有里程碑意义的大事。

综上所述,在一定意义上说,围棋就是一个深奥莫测的数学王国。如果离开了数学,离开了计算,围棋也就不能称其为围棋了。有人因此建立了数学模型,对围棋进行定量分析研究。有人把围棋称作是“数学的艺术,智慧的化身”,可以说是恰到好处,十分贴切。纵观历史,围棋之所以千百年来为世人所喜爱,也正是由于在“千古无同局”的局棋中,充满了无穷无尽的数学变化和内容丰富的内涵。只要你置身于这个充满数学变化的黑白世界,深入到智慧的角逐和精心的计算之中,就一定能够体会到无穷的乐趣和意想不到的收获。

围棋中的数学原理(漫话围棋深奥莫测的数学王国)(5)

作者:刘建国

猜您喜欢: