围棋有多少变化?

标签:
唐僧围棋《梦溪笔谈》科普数学 |
分类: 少儿科普 |
骑白马的未必是王子
也可能是唐僧
叫唐僧的未必是玄奘
也可能是一行
一行法师(683年-727年),本名张遂,唐代著名的数学家、科学家、天文学家。他天赋聪敏、潜心窥测,717年他来到京城长安,给唐玄宗作顾问。他把数学和天文学结合起来,创造了世界上最早的不等间距二次内插法公式;他组织并领导的在全国的12个点对北极高度和日影长短的测量,是世界上第一次对地球子午线的实测;他对历法科学作出了重要的贡献,推算出“开元大衍历”,后世有人称赞它“历千古而无误差”,可惜他的著作后来大部分失散了。
据说,一行法师的围棋悟性很高,发表过一些独特见解。沈括在《梦溪笔谈》中记载一行法师思考过的一个问题:大家都说围棋千变万化,千古无重局,那围棋到底有多少种变化呢?
http://s11/middle/6029f033ta0df53b6f3aa&690
围棋是中华民族传统文化中的瑰宝,体现了中华民族对智慧的追求。古人常以“琴棋书画”来评价一个人的才华和修养,其中的“棋”指的就是围棋。
围棋自古以来就有“纵横十九道,迷煞多少人”之说。所谓“纵横十九道”,就是指正方形棋盘上横竖都是19路格子,共有19×19=361个交叉点。一行法师认为:对于每一个交叉点,处于下黑子、下白子或空着三种情况之一。361个交叉点,就有3的361次方那么多可能的变化。
3^361=174089650659031927907188238070564367946602724950 ≈1.74*10^172。263541194828118706801051 676184649841162792889887 149386120969888163207806 137549871813550931295148 033696605728930754681805 97603
这是一个天文数字。即使每一秒钟下一局棋,要下完这样多的局数,也要5.52*10^164年,即3^361/(60*60*24*365)≈5.52*10^164。
一行法师所计算的是棋盘上可能出现的局面,但一局棋是由若干个局面组合而成。于是便有人提出了下面的计算方法。在第一步棋落下的时候,有361种选择,在第二步棋落下的时候,有360种选择,…… 按照乘法原理,共有361×360×359×358×……×2×1种可能,结果就是361的阶乘:361!。
361!=143792325888489065483236 251149986335475490753864 ≈1.43*10^768。475587612728276529922779 553438961885684190800314 119607141379443489058596 838396823330432160771380 883705655787966919248618 270978003589902110057945 010733305079262777172275 041226808677528136885057 526541812043502150623466 302643442673632627092764 643302557772269559534323 394220430182554814378511 222218683448796987126719 420560953330641393571063 519720072147337873382698 030853510431742036536737 798872175655134500412910 616505061544962655811028 242414284066270545855623 101563752892899924857388 316647687165212001536218 913733713768261861456295 440900774337589490771443 991729993713368072845900 003449642033706644085333 700128428641265439449505 077395456000000000000000 000000000000000000000000 000000000000000000000000 000000000000000000000000 0
两种计算结果361!和3^361,哪个更大呢?不用算就知道361!大。两者都是由361个数字相乘,3^361中的361个数字都是3,361!中除了3,2,1,其它的都比3大。
数学模型中所谓变化,没有考虑围棋规则,只是在围棋盘上,用围棋子能摆出来的变化而已。围棋允许打劫和回提,这使得变化还要做更深层次的考虑。
上述两模型有其思考角度,但都有不足。围棋软件开发,也需要考虑围棋变化数。它综合上述两种思考方式,将之作为两个维度,分别是状态空间和博弈树。
状态空间不区分形成的过程,只考虑当前的盘面,而博弈树既考虑当前盘面,也区分形成该盘面的过程。3^361 描述的是状态空间总量,而 361! 描述的是博弈数大小,然而这两个数字都有待进一步修正。状态空间应该指的是合法状态空间,有些局面是不可能出现的,所以3^361还要打个折扣。计算博弈树的361!,将比赛步数的上限定为 361 步,则是有所低估。
对于围棋来说,数学工作者到底是外行,下面来看看专业棋手怎么说。
韩国棋手刘昌赫认为实际上的棋局是有穷尽的。实际上的棋局,远远地少于数学方法计算的数字。因为围棋是两人在轮流对下,在一般的情况下,是一半黑棋,一半白棋,即使提子,也相差不多。又由于围棋要有气才能生存,黑棋、白棋都不能占尽空格。而一盘棋要能够分出胜负,一般来说,又要使黑白子各在100手以上,这使得全空格或大多数的空格是不可能的。从棋型的角度来看,有很多假设局面是根本不可能出现的。
而中国棋手马晓春认为,围棋可以打劫,提走对方的棋子后然后重新开始。一局棋中,同一局面多次出现也是可能的,所以说围棋是没有办法穷尽的。
不管怎么说,围棋的变化就算有限,也非人力所能掌控。世事如棋局局新,下棋的乐趣不就在于局面的变幻莫测么?就好比一个数学家面对一个含有多变量的难题,每次探究都有新意。
本文多年前所写。所采用的分析方法也是传统思路,尽可能穷举,并从中寻找最优解。
由于围棋的可能性如此之多,根本就没有什么套路可言。下赢围棋的唯一的办法就是让电脑也学会“学习”,而不是死记硬背。为了在围棋上战胜人类,硅谷的两家科技公司——Facebook和谷歌开始研究,希望有朝一日能让计算机战胜人类围棋冠军。
昨天谷歌AlphaGo战胜世界顶级围棋棋手李世石,是用了新思路。关于深度学习的介绍,果壳网等有深度解读的文章。大家可参阅。
我比较喜欢下中国象棋。但在中国象棋方面,人脑早已不是电脑的对手。一些高规格、高奖金的象棋比赛,和高考一样,都装了屏蔽器。之前就有选手走到为难处,不知道如何应对,跑去厕所,用软件的。只是中国象棋是中国一家独秀,不像围棋是三国争霸,所以电脑战胜人脑,关注的人不多。
更新博文请关注微信号。
http://s2/mw690/001LbuWTgy70073VTCpb1&690