查看完整版本: 戲說象棋邏輯問題
頁: [1]

高深莫測 發表於 2009-11-7 09:42 AM

戲說象棋邏輯問題

一、矛與盾棋手的對弈,較量的是對盤面的理解、對子力的調度、對結果的預期,因此,邏輯推理在較量的過程中就顯得非常重要。下面是兩個關於棋手邏輯推理能力高低的問題:1、一個棋手邏輯推理能力高,是否就可以代表他的棋力高?
答“是”的人多,他們說,下棋就是要講道理,只要推算準確就立於不敗之地,套路是永遠打不過散手的。2、一個棋手邏輯推理能力低,是否就可以代表他的棋力低?答“否”的人多,他們說,笨些沒關係,只要勤背書、把所有變化背熟,就是碰到特大也不怕!兩個問題的回答看來都不錯,都沒有邏輯謬誤。因為,“推算準確”和“把所有變化背熟”分別是以上兩個回答的先決條件,而由這兩個先決條件所引起的推論是一致的,那就是“不敗”和“不怕”。但是,當我們把兩個問題和兩個回答聯繫起來的時候,就出現了矛盾:既然第一個問題回答“是”是正確的,那麼第二個問題的回答應該也是“是”才對!既然第二個問題可以答“否”,那麼第一個問題的回答應該也可以答“否”。難道說,棋手的棋力高低與邏輯推理能力高低無關?原來,是他們的先決條件有問題。當今棋壇,試問有誰能夠“推算準確”或者“把所有變化背熟”呢?如果真能這樣的話,就變成了“以子之矛攻子之盾”。而象棋的魅力,恰恰就在於永遠沒有人能夠“推算準確”或者“把所有變化背熟”!象棋的所有問題,都存在於變化之中。二、極限推理象棋到底有多少變化?為了表達得更直觀一些,先說說圍棋。理論上,圍棋盤有361個落子點,那麼第一步就該有361種選擇;落子後,盤面上只剩360個落子點,亦即第二步有360種選擇;依次類推,下滿361個落子點就有361的階乘的數量的選擇,總共有700多位數!大家想想,1後面跟著700多個0將會是一個多麼恐怖的天文數字啊!注意,這是不顧棋理的極限演算法。那麼,如果考慮提子、填子、打劫是否能在700多位數的基礎上再增加些變化呢?回答是否定的,因為如果考慮這個問題,就要照顧棋理,圍棋的變化將會更加少(當然,少也是天文數字),另外,無限迴圈的“提子、再填子、填了子再提掉”也是不符合棋理的。用一個簡單的數學模型來說明這個問題:提一個子至少需要3到4個子力的投入,如果不能無限迴圈,那麼盤面的子仍然是會增加的,最多是增加到滿盤361個點為止。這樣看來,象棋的棋盤上只有64個格,則不管怎樣計算,象棋的變化不會比圍棋多吧?但在實際上,象棋的變化不能用這種方法去計算。例如與圍棋相比:圍棋子是越下越多的,最多是下滿棋盤就結束,因此圍棋的變化存在著不顧棋理的極限演算法;而象棋則不同,象棋子是越下越少的,但又無法知道怎樣減少、何時減少、何時結束,而且在象棋子減少的時候,可以利用的空間點數卻反而增加。所以,象棋的變化不能用不顧棋理的極限演算法,也就無法找到其最大值。原來,要想計算象棋變化的最大值,首先在邏輯上就存在矛盾:[*]要體現象棋變化的最大值,足夠多的棋子就要通過調度走動,使得每個棋子的自由度最大; [*]既然足夠多的棋子都有最大的自由度,這盤棋就永遠也下不完。 所以,象棋的變化沒有其最大值,是無限的。三、憑感覺說象棋的變化比圍棋還多,感覺上總有點不相信。於是去拜訪了一位棋界前輩,這位前輩參與著兩個協會的工作,一個是圍棋協會、另一個是象棋協會。我希望他回答,到底是圍棋的變化多抑或是象棋的變化多。他回答道:“我雖然沒有算過,但我知道象棋的變化應該是比圍棋多!”我又驚又喜。他接著說:“圍棋每個子都是一樣的。圍棋手就象個普通軍官,小心地使用他每一個能力相同的士兵,這些士兵派下去之後,不是被吃掉就是永遠呆在那裏一動不動;象棋就不一樣了,象棋手就是元帥,他可以使用每一個能力不一樣的手下,他的手下有車可縱橫四方、馬能騰躍河溪、炮會隔山打牛,車馬炮下面還有兵士相也都各司其職,子力是比圍棋少,但每個子都各有變化、更各具思想性格!”我嘆服了,一個憑感覺就能解釋出“象棋的變化應該是比圍棋多”的前輩高人,他所舉的例子和比喻都相當精彩。最重要的是,他的感性的結果與實際的理性的結論是一致的。所以,儘管邏輯推理要求的是嚴謹和詳盡,但我們有時也是應該相信感覺的。關於象棋的感覺,有人說,棋感決定著一個人的棋力,象胡司令說過,有時他往往只需推算三四步,就能與推算八九步的高手去對抗;也有人說,象棋無招勝有招……這些說法都很有意思,也給象棋的邏輯思考帶來了很大的空間。四、無招在說象棋是否“無招勝有招”之前,也不妨先說說其他棋類。當圍棋盤一片空白的時候,後手方多少是有壓力的。因為他不知道先手會將第一顆棋子放在哪里,而第一顆棋子放在不同的位置,就意味著將演繹不同的佈局體系。俗話說“知已知彼,百戰不殆”,戰鬥往往就在第一顆棋子沒有落下之前就已經打響。這就是“無招”。圍棋著法是有限的(很大的天文數字),加上“圍住的地盤”又是有限的,這就使得我們在邏輯上是可以支援先手方獲勝的,也就是說,在雙方都不出錯的情況下,先手方獲勝。反推亦然,當圍棋盤是空白的時候,先手雖“無招”,但已佔據著將要在棋盤上多一子的優勢。這就是圍棋的“無招勝有招”。所以,為顯公平,千百年來圍棋逐步總結出先手方必須貼目(即讓子)的規則。再舉個例子,五子棋是對先手限制得比較多的流行棋類之一,先手必須走成四三絕殺才能獲勝,而後手則怎麼走都不犯規。那麼,目前對圍棋、五子棋的先手的限制方式是否已經達到最合理?以後還會不會去修改?這就不在本文討論的範圍內了。現在回過頭來看看,到底象棋有沒有“無招”呢?象棋沒有“無招”。儘管雙方各十六個棋子都點、線對稱的擺在棋盤上,理論上卻還沒有找到任何依據可以證明,棋子的這種擺法是不是對雙方的最公平的擺法。既然不知道是不是最公平的,那麼先手是“有招”還是“無招”就說不清楚,“無招勝有招”於是就更加無從談起了。但是,象棋的先手就真的不用去限制嗎?五、公平我們先來欣賞一個朋友的“高論”:[*]對歷年來同級別比賽5000盤的統計表明:先勝占42.1%、後勝占26.7%、和棋占31.2%,簡單表示為(42.1、26.7、31.2); [*]而每個級別之間還出現一種現象:勝率與級別等級成反比,也就是說,級別越低的比賽,勝率越高,和棋機會減少(47.7、32.6、19.7);級別越高的比賽,勝率越低,和棋機會增加(36.4、25.1、38.5); [*]由此可見,當象棋水準提高到終極級別的時候,也就是當先後手方均難出錯的時候,勝率將趨向於零,和棋就是結果(0、0、100)! 我們先不要指出這個“高論”錯誤的推理過程,先假定它是正確的。既然是“不出錯就和棋”,那麼,雙方對弈實際就是在等對方出錯,看誰先出錯,而實際上每方出錯的機會是均等的,因此,理論上先手會因為先行一步而增加先出錯的機會。所以,後手佔便宜。大家看看,本來是考慮要不要限制先手的,現在卻居然有了“後手便宜”的結論! 奇怪嗎?一點也不奇怪!如果你無法證明“和棋結果”是真命題的話,也就無法證明“後手便宜”是個偽命題。回頭再看看那個“高論”的證明過程,犯的是“窮舉法”初學者的經典錯誤。實際上,“先手必勝”與“和棋結果”一樣,目前也未被證明。而正是由於“先手必勝”與“和棋結果”未被證明,使得“後手便宜”成為可能,只是大家大多數都不願意往這個方向思考而已。習慣的思維方式是,在先手沒有限制的情況下,後手是處于劣勢的,那又何來的“後手便宜”?但是我要問,既然你無法提出限制先手的依據,也無法證明和棋,又怎能說後手不能佔便宜呢?我忽然有一個想法,也許問題的根源就在於:當雙方各十六個棋子都點、線對稱的擺在棋盤上的時候,我們並不知道這種擺法是不是對雙方最公平,因此,由這個不知道是不是公平的棋盤所引出的相關推論將不成立。真的是這樣嗎?六、點、線對稱我們知道,任何一個點、線對稱的象棋初始盤面,其對弈的結果必然是唯一的,不可能同時出現“必勝”、“必和”和“必負”的三種結果。既然,當我們因為初始盤面太複雜而無法通過演變去尋找答案時,那為什麼不去將它逐步簡化呢?我先假設第一個命題:“初始盤面點、線對稱的特點,表明對先後手都是公平的。”這個命題的表述意味著,只要盤面“點、線對稱”就可以滿足“初始”的要求,而非一定要雙方十六個棋子全部存在。我們採用逆推法,即是假設棋子很少的時候這個命題也成立。請看下面兩個“點、線對稱”的圖例:http://www.chesstrip.org/chessblog/054 Ch1.jpg這兩個圖例表明:當棋子很少的時候,點、線對稱的盤面並不能表明對先後手都是公平的。
從而,第一個命題被證偽。現在,我把第一個命題修改一下,來假設第二個命題:“有足夠多的棋子的初始盤面,其點、線對稱的特點表明對先後手都是公平的。”注意,“足夠多的棋子”是少於或者等於雙方都有十六個棋子的。要證明第二個命題的真偽,就不用再逆推了,我們可以直接看看,當雙方十六個棋子全部存在而且滿足“點、線對稱”的條件時,有沒有反例。下圖:http://www.chesstrip.org/chessblog/054 Ch2.jpg很明顯,當紅方炮二進七時,即可獲勝。也就是說,第二個命題“有足夠多的棋子的初始盤面,其點、線對稱的特點表明對先後手都是公平的。”必然又是一個偽命題,而我們的現行棋規下的初始盤面則正好屬於這個偽命題的集合。由此可見,“點、線對稱”並不是先後手公平的充分必要條件。我想,初始盤面除了要求“點、線對稱”之外,應該還要求“均勻”。象棋初始盤面的發明者最聰明之處,就在於使得所有棋子在初始階段都可以選擇使用,並使得必須通過足夠步數才能發揮每個棋子最大功能。他這樣做的目的,就是增加對抗的步數,增加選擇的可能性。但是我認為,由於存在著開局的無理棋,初始盤面就不能算是“均勻”的,對每個棋子的選擇使用就不能算是公平的,也就是說,儘管象棋的每個棋子的功能和作用不一樣,能力也有大小,而對於初始盤面來說,它變化的最大值應該是限制所有的棋子第一步的必然作用,使得每個棋子都可能選擇使用,這才是“均勻”。七、均勻在想到“均勻”這個詞的一瞬間,我似乎是找到了判斷象棋初始棋盤是否“公平”的辦法,但當思考繼續縱深時,一切卻都變得更加複雜。我想,要想證明象棋初始盤面“均勻”,有必要先假定每個棋子的作用和能力都是一成不變的。記得有位棋界前輩曾經評價過象棋每個兵種的價值,他甚至把每個兵種的攻防能力進行過綜合評分:車:9分;馬:4.5分;炮:4.5分;兵:2分;象:2分;士:2分;帥:1分。據此,我們來做兩個有趣的分析:[*]為什麼單車難勝士象全?分析:車是9分,而士象帥加起來正好也是9分。 [*]為什麼單車難勝炮雙士?分析:車是9分,而炮雙士帥加起來是9.5分了。 以上兩個有趣的分析在表面上都看似合理,並且通過分析而得來的結果也正確,但只可惜這種例子卻都是特定的,它不能說明任何問題。因為在事實上,更多的例子可以證明這種分析不合理,例如:[*]炮馬必勝士象全(攻守方都是9分); [*]單車必勝馬雙士(攻方9分,守方9.5分); [*]三高兵必勝士象全(更厲害,攻方6分,守方9分)。 從這種分析的不合理,我們可以毫不猶豫地判斷,每一個棋子的作用和能力並非是一成不變的,棋手要想最後取得最理想的盤面,就要求在初始盤面發生變化的第一步開始,選擇能夠使棋子的價值逐步加大的著法。既然如此,還能通過是否“均勻”來推斷是否“公平”嗎?我想不能了,因為如果用“在初始盤面發生變化的第一步開始,選擇能夠使棋子的價值逐步加大的著法”的思路來推斷,則最公平的初始盤面應該是使每個棋子的第一步作用力最小的盤面,也就是說,初始盤面必須盡可能地限制所有子力。這與棋理相悖。這個二難邏輯最後說明了一個問題,我們目前棋規下的初始盤面必然是“盡可能地限制所有子力”和“盡可能地開放所有子力”之間的一個任意的點、線對稱盤面。既然是任意的,而且這種盤面是足夠多的,那麼,我們試圖用任何一種方法去證明它是否公平都不現實,從而,“先手便宜”、“後手便宜”以及“和棋結果”等命題也將都無法通過邏輯去證明。所以我決定,“戲說象棋邏輯問題”到此暫告一段落,不知大家看得高興嗎?而我本人,則通過寫這篇“戲說”,更加感受到象棋的變化無窮、感受到象棋的魅力無窮、感受到象棋的奧妙無窮。於是,我更加喜歡象棋了。(本文轉載自東萍象棋,作者為旁觀)...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div>

c953715 發表於 2010-11-19 12:41 AM

沒想到象棋還能有這麼多想法
感謝分享

5k4g45;4lc4 發表於 2010-11-19 07:39 PM

感謝分享
沒想到象棋還真的比圍棋變化多
感覺還艇高興的
通常大多數人都認為圍棋比象棋難.....

a10719eric 發表於 2010-12-1 08:20 PM

很不錯的想法 小弟我是都沒想到這些= =""""""

elf34416912 發表於 2011-3-4 11:02 PM

哇..聽到象棋變化比圍棋多真的蠻開心的
以前都被困在棋盤格數的迴圈裡= =<br><br><br><br><br><div></div>

ab12852 發表於 2011-3-15 10:05 PM

真是有趣啊...
用了很多方法來分析象棋
只可惜象棋遠超出人腦處理的極限

JOE30543 發表於 2011-3-17 10:30 PM

小象棋;大道理
謝謝大大的分享
^_^

autumn18068 發表於 2011-3-20 07:06 PM

我看的好頭痛
真是很強大的邏輯推理

popfish 發表於 2011-3-20 11:23 PM

這篇有的觀點不錯,但裡頭有些錯誤,不能全盤接受
頁: [1]