象棋邏輯問題
05-28
一、矛與盾
棋手的對弈,較量的是對盤面的理解、對子力的調度、對結果的預期,因此,邏輯推理在較量的過程中就顯得非常重要。 下面是兩個關於棋手邏輯推理能力高低的問題: 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分)。從這種分析的不合理,我們可以毫不猶豫地判斷,每一個棋子的作用和能力並非是一成不變的,棋手要想最後取得最理想的盤面,就要求在初始盤面發生變化的第一步開始,選擇能夠使棋子的價值逐步加大的著法。
既然如此,還能通過是否「均勻」來推斷是否「公平」嗎? 我想不能了,因為如果用「在初始盤面發生變化的第一步開始,選擇能夠使棋子的價值逐步加大的著法」的思路來推斷,則最公平的初始盤面應該是使每個棋子的第一步作用力最小的盤面,也就是說,初始盤面必須儘可能地限制所有子力。這與棋理相悖。 這個二難邏輯最後說明了一個問題,我們目前棋規下的初始盤面必然是「儘可能地限制所有子力」和「儘可能地開放所有子力」之間的一個任意的點、線對稱盤面。既然是任意的,而且這種盤面是足夠多的,那麼,我們試圖用任何一種方法去證明它是否公平都不現實,從而,「先手便宜」、「後手便宜」以及「和棋結果」等命題也將都無法通過邏輯去證明。 所以我決定,「戲說象棋邏輯問題」到此暫告一段落,不知大家看得高興嗎?而我本人,則通過寫這篇「戲說」,更加感受到象棋的變化無窮、感受到象棋的魅力無窮、感受到象棋的奧妙無窮。 於是,我更加喜歡象棋了。推薦閱讀:
※在哪裡可以找到臭棋簍子?
※戰國時期有象棋嗎?
※許銀川和胡榮華巔峰誰厲害?個人傾向許。?
※古代的圍棋、象棋等競技遊戲與現代的電競有什麼區別?
※為什麼中國象棋走點 而國際象棋和將棋走格子?