戏说象棋逻辑问题
一、矛与盾
棋手的对弈,较量的是对盘面的理解、对子力的调度、对结果的预期,因此,逻辑推理在较量的过程中就显得非常重要。
下面是两个关于棋手逻辑推理能力高低的问题:
1、一个棋手逻辑推理能力高,是否就可以代表他的棋力高?
答“是”的人多,他们说,下棋就是要讲道理,只要推算准确就立于不败之地,套路是永远打不过散手的。
2、一个棋手逻辑推理能力低,是否就可以代表他的棋力低?
答“否”的人多,他们说,笨些没关系,只要勤背书、把所有变化背熟,就是碰到特大也不怕!
两个问题的回答看来都不错,都没有逻辑谬误。
因为,“推算准确”和“把所有变化背熟”分别是以上两个回答的先决条件,而由这两个先决条件所引起的推论是一致的,那就是“不败”和“不怕”。
但是,当我们把两个问题和两个回答联系起来的时候,就出现了矛盾:
既然第一个问题回答“是”是正确的,那么第二个问题的回答应该也是“是”才对!既然第二个问题可以答“否”,那么第一个问题的回答应该也可以答“否”。难道说,棋手的棋力高低与逻辑推理能力高低无关?
原来,是他们的先决条件有问题。
当今棋坛,试问有谁能够“推算准确”或者“把所有变化背熟”呢?如果真能这样的话,就变成了“以子之矛攻子之盾”。而象棋的魅力,恰恰就在于永远没有人能够“推算准确”或者“把所有变化背熟”!
象棋的所有问题,都存在于变化之中。
二、极限推理
象棋到底有多少变化?
为了表达得更直观一些,先说说围棋。
理论上,围棋盘有361个落子点,那么第一步就该有361种选择;落子后,盘面上只剩360个落子点,亦即第二步有360种选择;依次类推,下满361个落子点就有361的阶乘的数量的选择,总共有700多位数!大家想想,1后面跟着700多个0将会是一个多么恐怖的天文数字啊!注意,这是不顾棋理的极限算法。
那么,如果考虑提子、填子、打劫是否能在700多位数的基础上再增加些变化呢?回答是否定的,因为如果考虑这个问题,就要照顾棋理,围棋的变化将会更加少(当然,少也是天文数字), 另外,无限循环的“提子、再填子、填了子再提掉”也是不符合棋理的。用一个简单的数学模型来说明这个问题: 提一个子至少需要3到4个子力的投入,如果不能无限循环,那么盘面的子仍然是会增加的,最多是增加到满盘361个点为止。
这样看来,象棋的棋盘上只有64个格,则不管怎样计算,象棋的变化不会比围棋多吧?
但在实际上,象棋的变化不能用这种方法去计算。
例如与围棋相比:围棋子是越下越多的,最多是下满棋盘就结束,因此围棋的变化存在着不顾棋理的极限算法;而象棋则不同,象棋子是越下越少的,但又无法知道怎样减少、何时减少、何时结束,而且在象棋子减少的时候,可以利用的空间点数却反而增加。所以,象棋的变化不能用不顾棋理的极限算法,也就无法找到其最大值。
原来,要想计算象棋变化的最大值,首先在逻辑上就存在矛盾:
1、要体现象棋变化的最大值,足够多的棋子就要通过调度走动,使得每个棋子的自由度最大;
2、既然足够多的棋子都有最大的自由度,这盘棋就永远也下不完。
所以,象棋的变化没有其最大值,是无限的。
三、凭感觉
说象棋的变化比围棋还多,感觉上总有点不相信。
于是去拜访了一位棋界前辈,这位前辈参与着两个协会的工作,一个是围棋协会、另一个是象棋协会。我希望他回答,到底是围棋的变化多抑或是象棋的变化多。
他回答道:“我虽然没有算过,但我知道象棋的变化应该是比围棋多!”
我又惊又喜。
他接着说:“围棋每个子都是一样的。围棋手就象个普通军官,小心地使用他每一个能力相同的士兵,这些士兵派下去之后,不是被吃掉就是永远呆在那里一动不动;象棋就不一样了,象棋手就是元帅,他可以使用每一个能力不一样的手下,他的手下有车可纵横四方、马能腾跃河溪、炮会隔山打牛,车马炮下面还有兵士相也都各司其职,子力是比围棋少,但每个子都各有变化、更各具思想性格!”
我叹服了,一个凭感觉就能解释出“象棋的变化应该是比围棋多”的前辈高人,他所举的例子和比喻都相当精彩。最重要的是,他的感性的结果与实际的理性的结论是一致的。
所以,尽管逻辑推理要求的是严谨和详尽,但我们有时也是应该相信感觉的。
关于象棋的感觉,有人说,棋感决定着一个人的棋力,象胡司令说过,有时他往往只需推算三四步,就能与推算八九步的高手去对抗;也有人说,象棋无招胜有招......这些说法都很有意思,也给象棋的逻辑思考带来了很大的空间。
四、无招
在说象棋是否“无招胜有招”之前,也不妨先说说其它棋类。
当围棋盘一片空白的时候,后手方多少是有压力的。因为他不知道先手会将第一颗棋子放在哪里,而第一颗棋子放在不同的位置,就意味着将演绎不同的布局体系。俗话说“知已知彼,百战不殆”,战斗往往就在第一颗棋子没有落下之前就已经打响。这就是“无招”。
围棋着法是有限的(很大的天文数字),加上“围住的地盘”又是有限的,这就使得我们在逻辑上是可以支持先手方获胜的,也就是说,在双方都不出错的情况下,先手方获胜。反推亦然,当围棋盘是空白的时候,先手虽“无招”,但已占据着将要在棋盘上多一子的优势。这就是围棋的“无招胜有招”。
所以,为显公平,千百年来围棋逐步总结出先手方必须贴目(即让子)的规则。再举个例子,五子棋是对先手限制得比较多的流行棋类之一,先手必须走成四三绝杀才能获胜,而后手则怎么走都不犯规。
那么,目前对围棋、五子棋的先手的限制方式是否已经达到最合理?以后还会不会去修改?这就不在本文讨论的范围内了。
现在回过头来看看,到底象棋有没有“无招”呢?
象棋没有“无招”。
尽管双方各十六个棋子都点、线对称的摆在棋盘上,理论上却还没有找到任何依据可以证明,棋子的这种摆法是不是对双方的最公平的摆法。既然不知道是不是最公平的,那么先手是“有招”还是“无招”就说不清楚,“无招胜有招”于是就更加无从谈起了。
但是,象棋的先手就真的不用去限制吗?
五、公平
我们先来欣赏一个朋友的“高论”:
1、对历年来同级别比赛5000盘的统计表明:先胜占42.1%、后胜占26.7%、和棋占31.2%,简单表示为(42.1、26.7、31.2);
2、而每个级别之间还出现一种现象:胜率与级别等级成反比,也就是说,级别越低的比赛,胜率越高,和棋机会减少(47.7、32.6、19.7);级别越高的比赛,胜率越低,和棋机会增加(36.4、25.1、38.5);
3、由此可见,当象棋水平提高到终极级别的时候,也就是当先后手方均难出错的时候,胜率将趋向于零,和棋就是结果(0、0、100)!
我们先不要指出这个“高论”错误的推理过程,先假定它是正确的。
既然是“不出错就和棋”,那么,双方对弈实际就是在等对方出错,看谁先出错,而实际上每方出错的机会是均等的,因此,理论上先手会因为先行一步而增加先出错的机会。所以,后手占便宜。
大家看看,本来是考虑要不要限制先手的,现在却居然有了“后手便宜”的结论!
奇怪吗?一点也不奇怪!
如果你无法证明“和棋结果”是真命题的话,也就无法证明“后手便宜”是个伪命题。回头再看看那个“高论”的证明过程,犯的是“穷举法”初学者的经典错误。
实际上,“先手必胜”与“和棋结果”一样,目前也未被证明。
而正是由于“先手必胜”与“和棋结果”未被证明,使得“后手便宜”成为可能,只是大家大多数都不愿意往这个方向思考而已。习惯的思维方式是,在先手没有限制的情况下,后手是处于劣势的,那又何来的“后手便宜”?但是我要问,既然你无法提出限制先手的依据,也无法证明和棋,又怎能说后手不能占便宜呢?
我忽然有一个想法,也许问题的根源就在于:
当双方各十六个棋子都点、线对称的摆在棋盘上的时候,我们并不知道这种摆法是不是对双方最公平,因此,由这个不知道是不是公平的棋盘所引出的相关推论将不成立。
真的是这样吗?
六、点、线对称
我们知道,任何一个点、线对称的象棋初始盘面,其对弈的结果必然是唯一的,不可能同时出现“必胜”、“必和”和“必负”的三种结果。
既然,当我们因为初始盘面太复杂而无法通过演变去寻找答案时,那为什么不去将它逐步简化呢?
我先假设第一个命题:“初始盘面点、线对称的特点,表明对先后手都是公平的。”
这个命题的表述意味着,只要盘面“点、线对称”就可以满足“初始”的要求,而非一定要双方十六个棋子全部存在。
我们采用逆推法,即是假设棋子很少的时候这个命题也成立。
请看下面两个“点、线对称”的图例。
这两个图例表明:当棋子很少的时候,点、线对称的盘面并不能表明对先后手都是公平的。从而,第一个命题被证伪。
现在,我把第一个命题修改一下,来假设第二个命题:“有足够多的棋子的初始盘面,其点、线对称的特点表明对先后手都是公平的。”
注意,“足够多的棋子”是少于或者等于双方都有十六个棋子的。
要证明第二个命题的真伪,就不用再逆推了,我们可以直接看看,当双方十六个棋子全部存在而且满足“点、线对称”的条件时,有没有反例。下图:
很明显,当红方炮二进七时,即可获胜。也就是说,第二个命题“有足够多的棋子的初始盘面,其点、线对称的特点表明对先后手都是公平的。”必然又是一个伪命题,而我们的现行棋规下的初始盘面则正好属于这个伪命题的集合。
由此可见,“点、线对称”并不是先后手公平的充分必要条件。我想,初始盘面除了要求“点、线对称”之外,应该还要求“均匀”。
象棋初始盘面的发明者最聪明之处,就在于使得所有棋子在初始阶段都可以选择使用,并使得必须通过足够步数才能发挥每个棋子最大功能。他这样做的目的,就是增加对抗的步数,增加选择的可能性。
但是我认为,由于存在着开局的无理棋,初始盘面就不能算是“均匀”的,对每个棋子的选择使用就不能算是公平的,也就是说,尽管象棋的每个棋子的功能和作用不一样,能力也有大小,而对于初始盘面来说,它变化的最大值应该是限制所有的棋子第一步的必然作用,使得每个棋子都可能选择使用,这才是“均匀”。
七、均匀
在想到“均匀”这个词的一瞬间,我似乎是找到了判断象棋初始棋盘是否“公平”的办法,但当思考继续纵深时,一切却都变得更加复杂。
我想,要想证明象棋初始盘面“均匀”,有必要先假定每个棋子的作用和能力都是一成不变的。记得有位棋界前辈曾经评价过象棋每个兵种的价值,他甚至把每个兵种的攻防能力进行过综合评分:
车:9分;马:4.5分;炮:4.5分;兵:2分;象:2分;士:2分;帅:1分。
据此,我们来做两个有趣的分析:
1、为什么单车难胜士象全?分析:车是9分,而士象帅加起来正好也是9分。
2、为什么单车难胜炮双士?分析:车是9分,而炮双士帅加起来是9.5分了。
以上两个有趣的分析在表面上都看似合理,并且通过分析而得来的结果也正确,但只可惜这种例子却都是特定的,它不能说明任何问题。因为在事实上,更多的例子可以证明这种分析不合理,例如:
1、炮马必胜士象全(攻守方都是9分);
2、单车必胜马双士(攻方9分,守方9.5分);
3、三高兵必胜士象全(更厉害,攻方6分,守方9分);
从这种分析的不合理,我们可以毫不犹豫地判断,每一个棋子的作用和能力并非是一成不变的,棋手要想最后取得最理想的盘面,就要求在初始盘面发生变化的第一步开始,选择能够使棋子的价值逐步加大的着法。
既然如此,还能通过是否“均匀”来推断是否“公平”吗?
我想不能了,因为如果用“在初始盘面发生变化的第一步开始,选择能够使棋子的价值逐步加大的着法”的思路来推断,则最公平的初始盘面应该是使每个棋子的第一步作用力最小的盘面,也就是说,初始盘面必须尽可能地限制所有子力。这与棋理相悖。
这个二难逻辑最后说明了一个问题,我们目前棋规下的初始盘面必然是“尽可能地限制所有子力”和“尽可能地开放所有子力”之间的一个任意的点、线对称盘面。既然是任意的,而且这种盘面是足够多的,那么,我们试图用任何一种方法去证明它是否公平都不现实,从而,“先手便宜”、“后手便宜”以及“和棋结果”等命题也将都无法通过逻辑去证明。
所以我决定,“戏说象棋逻辑问题”到此暂告一段落,不知大家看得高兴吗?而我本人,则通过写这篇“戏说”,更加感受到象棋的变化无穷、感受到象棋的魅力无穷、感受到象棋的奥妙无穷。
于是,我更加喜欢象棋了。
看了楼主的文章,对楼主严密的逻辑推理深感佩服。但对极限推理一节有两个疑问,想跟楼主探讨一下:
1、"另外,无限循环的“提子、再填子、填了子再提掉”也是不符合棋理的。用一个简单的数学模型来说明这个问题: 提一个子至少需要3到4个子力的投入,如果不能无限循环,那么盘面的子仍然是会增加的,最多是增加到满盘361个点为止。"
==================
围棋有三劫互打的可能,是可以无限循环的。如有 1、2、3三个劫,你提劫1,我提劫2,你提劫3,我又提劫1,你又提劫2.....如此无限循环。理论上围棋和象棋都是无穷大,两个无穷大不存在谁大谁小问题(这个问题我想是楼主没下过围棋的原因吧)。
2、“那么,如果考虑提子、填子、打劫是否能在700多位数的基础上再增加些变化呢?回答是否定的,因为如果考虑这个问题,就要照顾棋理,围棋的变化将会更加少(当然,少也是天文数字)”
=================
棋理我想应该是棋规之类的吧。如这样,象棋也应该考虑棋规,如60回合双方没吃子可以提和,可以这样理解,60回合没吃子后面的变化作用不大,因为结果都只有一个,和棋(如输方明知要输棋了,还不提和那我无话可说,^_^)。所以现在是只能60回合就至少要吃一个子,象棋有32(由于将帅应该不能给掉吃的,后面的计算换成30也可以)个子,最多的有效回合数应该是32×60=1920回合,那应该也是有限的。
以上只是个人的一点看法,也许有考虑不周的地方,欢迎指出。
象棋从开局第一步用穷举法计算出以后所有子力变化;单炮二平五变化让棋软跑,也得跑3~5年也无法计算出结果出来.
如果用倒推法,也许很快就能得出一个变化.何谓"倒推法"? 从最后一步网前面拆棋,像纯人拆棋也是"倒推法"一样.
回6楼小棋7楼5970:
第二节“极限推理”的确实争议很多。因为一开始我就试图以“不顾棋理”的方式去计算象棋和围棋的原始盘面变化的最大值,所以很容易得到“象棋变化无穷” 和“围棋变化有限”的结论 ,如果不顾棋理,这就是毫无疑问的。
然而有更多的朋友会提出“顾棋理”的变化,指出“顾棋理”后的围棋变化比象棋变化多,这让我很为难。“顾”又不是,不“顾”又不是。
欢迎大家继续提出宝贵意见,旁观继续进步。