当前位置飞扬围棋网-->棋人棋事-->有限和无穷
                              有限和无穷

    数学和下棋有什么关系?

    很多人都认为是有关系的,在一些小学中,听说是要挑选会下棋的孩子,
老师就会挑选那些在算术考试中得了 100分的孩子,以为那样的孩子是能下棋
的。这些孩子中的一些成了有名的棋手,大家就会误解,数学和下棋是有必然
联系的。

    在1997年 8月末,世界棋王卡尔波夫来到中国,中央电视台的《体育漫谈
》节目,还让这位国际象棋的超级大师谈谈下棋和数学的关系。

    问:你小时候是不是数学特别好?下棋和数学有什么关系没有?
    答:数学和象棋,在逻辑上是有联系的,但是要从具体上来说又是很难的。
棋手中很多是毕业于高等学校,但是学数学很高深的还不多。我本人在学习上,
是经过了一个过程的。我是从数学进入到机械,又从机械进入到经济,最后,
我是从圣彼得堡大学获得了经济学博士的学位。

    类似卡尔波夫这样的回答,我已在围棋手中间听到过多次。特别是对电脑
有研究的俞斌九段,就一直被问到这样的问题。中国围棋手的回答,和这位国
际象棋超一流棋手的回答不会有什么两样。俞斌的说法是,“围棋的计算和数
学的计算是不同的。”想要在一局围棋比赛中,下出什么“勾股定理”或者“
三元两次方程”或者“歌德巴赫猜想”,这都是很可笑的事情。一个小学生的
数学成绩好,其综合素质,可能要比成绩不好的孩子要好一些,这是素质中的
一部分,就可能是适宜下棋的。但是,我们不能说,数学不好的孩子,是下不
好棋的。至少,在中国古代,还没有数学这样的一门学科,科学技术在中国,
是士大夫们看不起的。那些棋手在少年时代,是不能从数学上去发现才能的。

    围棋的“计算”这一个概念是比较抽象的。就和象棋的计算一样,大多数
是在看我走什么,对手会应什么。无论是卡尔波夫还是胡荣华,在下棋的时候
的一个习惯的动作,都是有一个不断微微的点头动作,这个动作是很有节奏的,
这是大师在计算他们的一步步的棋。然后,他们有一个较长时间的停顿,他们
依然在思考。在思考这样走了之后,会形成什么样的局面,对谁有利。然后,
又开始了一个微微点头的动作,这是又开始了一种新的思路。

    围棋或者只需要最简单的数学的计算,那就是加减乘除。这是为了点“目
”的,但是在更多的前半盘的比赛中,计算是有一点抽象的,虽然是仍然用目
来做单位,但是,这种计算,是有很多的不确定的因素的。一手棋的价值有多
少,这还是一个没有定论的事,这也是电脑围棋还没有获得很大进展的原因。

    要说清这个问题,是要有数学家来发言的。好在从古到今,有不少数学家
或科学家是棋迷。


    第一位数学家的话,让我们大吃一惊。
	
    他是唐朝的一行和尚,他也是一位天文学家。在中国的历史上,有“畴人
”这一个名称,可以统称天文学家和数学家。一行就是最有成就的“畴人”之
一。他精通历法,重新测定了 150多颗恒星的位置,发起在全国12个地点进行
天文观测;并且归算出相当子午纬线的长度。这是现代人对他的评价。中国以
前的数学总是和天文联系在一起的,迎合封建制度,数学是不需要的,而天文
是需要的。中国是以农业立国的,天文就非常重要。而数学只不过是为了天文
而存在的副产品。天文在过去的年代,又经常和迷信在一起,每一颗星都有象
征的意义。数学就有一点神秘了。数学家也会成为无所不知的能人了。
	
    他对围棋的评论是有一点贬义的:

    一行本不解弈,因会燕公宅,观王积薪一局,遂与之敌。笑谓燕公曰:此
但争先耳,若念贫道四句乘除语,则人人可为国手。

    看来,一行确实是个不简单的人。他就看了一局棋,就能学会下棋,而且,
立刻就能够和当时棋下的最好的王积薪成为敌手。但是,这样的描写是站不住
脚的。破绽就在后面,一行在评论围棋的时候,出现了一点问题。他的话前一
句非常正确,围棋就是争先。就是在比赛中永远不失去主动。这是常识性的判
断,知道的人太多了,也就会成为一句没有意义的话。在后半句中,围棋就变
成一种太简单的游戏了。一种游戏能用四句口诀就能解决,那么,比赛就会像
解一道代数式,棋局就不会有很多的变化,这是和围棋的实情不同的。和历史
上知识分子推崇围棋的潮流不同,一行是在贬低围棋。

    一行在自己的专业上无疑是有权威的,但是,他不会在任何的地方都是权
威。在夜空中找到一颗星星,并且确定它的位置,对一行并不很难。而在棋盘
上和王积薪对抗,对一行来说,却不会是一件容易的事。如果要拿出怀疑的证
据,那么,除了《酋阳杂记》之外,没有对此事的记载。另外,这样有效的棋
诀,只短短的四句,竟然没有流传下来。因而在世界上直到今天,“国手”还
是凤毛麟角。

    无独有偶,南宋的哲学家陆九渊躺在床上,将一个棋盘挂在墙上,一连看
了两天,突然跳起来说,这不是河图吗?于是他的下棋水平,立刻可以让林安
的高手一先。“河图”实际上是一种数字的排列方式,在现代,是没有一个专
业棋手会认为河图中会有围棋的秘密的。

    或许,这都不是真的,而是有人用围棋和一行和陆九渊开了个玩笑。这样
发表出来的观点,是有一点离谱,很难叫人感到有研究的价值。

    顺便说一句,古代的人们可能以为棋下得好,不是长期努力的结果。就连
唐朝的第一高手王积薪的高超棋艺,也是在很短的时候获得的。

    《云仙杂记》:王积薪梦青龙吐棋经九卷授己,其艺顿精。

    《集异记》:王积薪从明皇幸蜀,夜宿深山,闻妇姑对谈。天明,积薪具
礼以问,妇姑教以攻守、杀夺、救应、防守之法,从此天下无敌。

    这是对围棋的拔高,以为围棋手之上,还有神,世上最好的棋手,是不能
战胜神仙中的妇女的。这从科学的角度,也是很难有研究的价值的。在另一种
传说中,还有她们在晚上用“口谈”的方法下棋的描写。有人将当夜这婆媳俩
的对局头几手,放到了棋盘上,一看大吃一惊。这样的布局,是当代的高手也
难理解的,看来确实是“仙人”所为。

    贬低和拔高都是离开了生活的真实,离开了围棋的真实。

    明朝才子王世贞写了一篇《弈问》,专门回答关于围棋的种种疑而未决的
问题。上面的问题恰巧都在他的“研究范围”之中。

    在回答一行和尚的这几句话时,王说,这种情况是有的,一行是“神于数
”的人,神于数,是可以触类旁通的。但是“四语乘除人人国手”,是不可能
的。对于陆九渊的事,只不过是他的门徒借类似一行和尚的情节,来抬高老师
罢了。况且,陆九渊的棋实在是不够上品的。

    在回答王积薪是否在山中学得了棋时,王说,可能是有的,但是,这不是
王积薪自己编出来抬高自己,而是别人在借神而贬低王积薪。你看,对王积薪
就教给攻守劫杀这样简单的东西,还说这人可以教给他“平常的形势”。这样
的说法,贬低王积薪是可以看出来的。

    王世贞的观点,有一点客观性,可以参考。至少,对一行和尚和陆九渊的
评价中,对数学和围棋之间的“硬性的”联系做了否定。

	
    北宋科学家沈括对围棋做了一番研究。沈括是科学上的一个杂家,他的建
树很多。他在数学上的成就,是创立了“隙积术”(二阶等差级数求和法)、
“会圆术”(已知圆的直径和弓形的高,求弓形的弦和弧长的方法)。
	
    他在《梦溪笔谈》中,对围棋做了数学式表述。这在宋朝这一围棋十分兴
盛的时代,在众多的围棋评论中是独树一帜的。钱宝琮在《宋元数学史论文集
》中,认为沈括讨论围棋棋局的计算方法,是在古代的数学史上不可多得的宝
贵文献。钱先生看到了原文中的错误,一一加以校订。沈括的计算方法,用现
代的语言和算式说出来,就是:
	
    每一个棋局,到终局时,每一个交叉点总是不外乎三种情况。黑、白、空。
所以,在计算全局的可能的变化时,是很容易的。不过,由于数字特别大,在
当时是没有办法将它说出来。
	
    如果是方2路用4子,那么:
    3^4=81
    如果是方3路用9子,那么:
    3^9=19683
    方4路,那么:
    3^16=43046721
    方5路,那么:
    3^25=847288609443
    方6路,那么:
    3^36=150094635296999121
	
    下完一盘正常的棋,其可能的变化,是3^361,结果是“连书万字52个”。
这就是所有的变化了。
	
    用现代的算法,是这样的:

    logN = 361log3
         = 361X0.47712
         = 172.24075
    N ≈ 1.74 X 10172
	
    每 4位数可以写一个“万”,172÷4 = 43。
	
    沈括在这里计算有错误,应当是“连书万字43个”。
	
    后来,中科院的专家,用电脑算出总局数为:
	
    1740896506590319279071882380705643679466027249502635411948281187
06801051676184649841162792889887149386120969888163207806137549871813
55093129514803369660572893075468180597603

    这是一个天文数字。即使每一秒钟下一局棋,要下完这样多的局数,粗略的
计算,要5.52X10164年,这是一个 164位数,照沈括的写法,是要写41个万字。
能活这样长久的,大概只有太阳和地球了。

    数学的计算,总是将最规矩的条件来作为计算的前提。这样的计算,就还有
不够周全的地方。这样大的数字,是没有办法用实践来验证是否能够穷尽围棋的。

    一种意见是围棋是没有办法穷尽的。围棋还有打劫,还有大眼填满提空,整
盘棋黑白都摆满了之后,还可以用一枚棋将对方所有的棋全提起来,然后重新开
始。中国棋手马晓春比较倾向于这种意见。

    另一种意见是,实际上的棋局,远远地少于这些数字。理由不外乎是,围棋
是两人在轮流对下,所以,在一般的情况下,是一半黑棋,一半白棋,或者是由
于提子而相差不多。又由于围棋要有眼才能生存,黑棋、白棋都不能占尽空格。
而一盘棋要能够分出胜负,一般来说,又要使黑白子各在 100手以上,这有使全
空格或大多数的空格是不可能的。更从棋型的角度来看,有很多是根本不可能出
现的。韩国的棋手刘昌赫认为,实际上的棋局是有穷尽的。有人认为,这一数字
在3120左右。

    在这两种观点面前,静静想一想,是一点也不矛盾的。马晓春说的是一种数
学的模式,而刘昌赫说的是一种实战的情况。

    但是,这种计算是一种凝固的计算,没有先后的次序,而在比赛中,先后的
次序是不能不看的。所以,同样的结果,可能会有不同的过程。

    这样,另一种计算方式就会出来了。在第一步棋落下的时候,有 361种选择,
在第二步棋落下的时候,有 360种选择,……

    这样的算式是:
    361X360X359X358X357……X2X1

    这样的算式称作是361的阶乘,写为“361!”。

    说出来叫人惊讶,在头三步棋中,就有46655640种选择。

    在我女儿升入大学的那一年,有一点空闲,她为我用对数计算了这一个“361!”,
用了整整两天。她在这 361个数中,分解出 71个质数,大致算出“361!”是一个
756位的大数,比 3^361要大得多!(日本曾计算出结果为 768位数)

    不过,在专业棋手看来,这样的数字更是一个很虚的数。例如,开局的选择
是10多种,至多不会超过50种,没有一个人会将第一手放在“ 1.1”这样的位置
上的。而在对手和你的棋子纠缠在一起的时候,你能选择的点是不多的,你不会
离开这一战场,去空旷的地方下棋。

    但是,这也是一种数学的模式。正像国际象棋的电脑,在比赛中,选择每一
步棋的时候,总是要扫描一遍所有的棋子,来做一比较。“深蓝”每秒有两亿次
的计算,但是,卡斯帕罗夫认为,他虽然只有每秒三步的计算速度,但每一步都
是有意义的。他的选择,只有十来种。而电脑的大多数的计算是浪费在那些“臭
棋和昏着”中的,而电脑是不得不作这样的全覆盖性的扫描的。


    在采访《黑白之道》的时候,我曾到过中关村,见到了著名的数学家吴文俊。
记得那一天,北京正在下雪,就在这样的北方典型的环境中,听到了上海的本地
话。这使我这样一个常年在外奔波的人,感到一种特别的亲切。

    他是国际公认的数学大家,他的“拓扑学”的研究成果,被冠于他的姓氏。

    但是,他是一个棋迷。他说,在研究之余,是会去看围棋的电视的。他喜欢
听华以刚、程晓流和王元的讲棋。在家中,也有围棋和棋子。顺便说,在中国科
学院中,有不少的棋迷。当然,像吴先生这样的院士科学家兼棋迷,还是不多的。

    问吴文俊对数学和围棋的关系,是干脆的一句话回答:围棋和数学无关。

    他后来寄来了不少的资料,我已经将这些资料写入到上面的文章中去了。

    在采访中,在电话中,在书信中,这位数学大家对围棋的一往情深是能够感
受到的。但是,他是现代的科学家,是崇尚科学的,他不愿意因为喜欢围棋而说
假话。在以下的“语录”中,你是能够了解他的观点的。恰巧,这就成为这一篇
文章的科学的总结。

    对于沈括,我十分佩服,尤其是他不仅提倡而且亲身实践作科学试验,如果
这一点早能为人认识而跟上,中国早就成为科技大国了。但对《梦溪笔谈》中的
数学部分,则我不敢恭维,棋局的总局数更不值一提,对棋局的过分简单化,固
然不值一笑,计算也有错误,宋时笔算尚未传入(唐时虽传入而未受重视),沈
括想来只能用筹算,因而对 3^361这样的大数就很难计算,并且出错。对现在的
计算机则是轻而易举的。

    关于棋理,有一个有趣的数学定理,计算机的创始人之一 Von Neumaun,也
是所谓博弈论或对策论的创立者,1994年的诺贝尔奖金得主,都是因应用博弈论
于经济学有贡献而得奖。Von Neumaun 的定理大意是说,两人博弈,胜负已定。
自然这要做数学上的说明,而且只是一个抽象的定理,与真正的棋局无关。

    桥牌有深奥的数学理论,且有法国科学院士的专著,围棋我相信没有,以后
也很难会有,我个人的意见是:数学家不要在这上面浪费时间和精力。

    但我对于计算机下棋还是有兴趣的,最近看报纸,计算机已有国际象棋的新
程序,打败了卡斯帕罗夫,还计划由计算机和卡斯帕罗夫作一系列比赛。但这主
要是程序编得好,计算机速度大大提高之故,与数学完全无关。

    我家里的计算机有一个围棋的程序,我与计算机下过一次,计算机下起来很
有架势,但还是输给了我这个臭棋手,但从国际象棋的情况来看,编出一个较好
的围棋程序,用超高速度的计算机,要打败一个中低段位的围棋手,在近期内还
是可能的,但这仍与数学无关。

    数学是要算的,围棋恰恰是不能算。数学的算和围棋的“算”是不一样的。
围棋要做到真正能够进行数学处理,首先要考虑建立数量的关系,说得简单一点,
就是要“定量”。没有这一步,就是难的。比如说围棋的子力,这枚子放在棋盘
上,位置高低,光说子的力量大或者小不成功,一定要讲子力的多少。

    这样的表达方式,从现在看还非常遥远。

    要实现围棋电脑与人的对弈,得等“定量”的问题解决。创造性的东西是无
法估计它的进程的。或许在几年中有人想出来,或许几百年也没有人想出来,这
东西很难说。但我相信,这东西十分难。

    已故老作家竹可羽先生写了一篇文章,将三线作为边角线,四线为中腹线,
三线围住边角 136个交叉点(目),用去48枚子。由此可计算出每枚子的价值。

    136目÷56=2.4286(边角线每个子的平均值)
    121目÷48=2.5208(中腹线每个子的平均值)

    中腹每一枚子的平均值大于边角线每个子的平均值0.09目,而棋盘的大小离
开19道,不论是往大还是往小,差数都会变大。这就是17道发展到19道的原因,
也正是19道不能发展到21道的原因。中腹与边角正好成为对抗的力量。

    这才是真的数学。这里有几个原则先定下来,既要取势又要取地。这篇文章
论证的是边角占地多还是中间占地多,这里就有定量的问题。

    今后谁在围棋上要突破,先得将问题简化,把不必要的东西删去,重要的保
留下来。简化之后再考虑。竹可羽先生就是把问题简化了,才使他的研究十分精
彩。

    围棋对我的工作没有帮助,而且我的数学对围棋也没有帮助。

    围棋和数学相像的是,数学经常假设一些什么,推测一些什么。如果假设很
多,结果很少,就没有什么意思。如果假设很少,推出的东西很多,这就有意思,
有价值了。围棋正是这样,它的规则十分简单,四面包围你就吃掉。而且有两个
眼就吃不掉,这在实际上是很深刻的,容易得到数学家的爱好。

    数学和围棋是在各自的轨道中运转着。

    数学和围棋都是对世界的理解和表述,不过用的不是相同的语言。

    围棋中的数学问题,和下棋本身无关,这和国际象棋一样,可以说是“物以
类聚”。

    难怪,数学家吴文俊,和国际象棋世界冠军卡尔波夫表述的,没有什么两样,
这真是“英雄所见略同”。

(全文完)

Copyright 2001版权所有, flygo.net 飞扬围棋网