中國象棋、圍棋、國際象棋存在必定不敗的下法嗎?

國際象棋 中國象棋 算法 北京國際象棋 2019-04-07

無論是中國象棋,還是圍棋和國際象棋,很多棋手經常會存在某個疑慮,例如:中國象棋、圍棋、國際象棋存在必定不敗的下法嗎?


中國象棋、圍棋、國際象棋存在必定不敗的下法嗎?


今天小編就和大家來聊聊這個問題!

從現代數學的理論上講:

我們把常接觸的棋類,比方說只討論圍棋,中國象棋和國際象棋。把它們的規則和行為都抽象出來,並且假設:他們的規則都是完善、正確的,沒有漏洞,也沒有衝突。

漏洞既是存在未定義的區間,一旦運算進行到這個區間程序就會跑飛。

衝突既是存在重複定義的區間,一旦運算進行到這個區間就會矛盾,程序會崩潰。

注意!!這是非常理想化的情況,也是到現在都沒有“能思考”的電腦AI的根本原因!!!

建立一個空間,在這個空間中存在一個定義域,一個值域以及從定義域到值域的對應規則。

這些棋類都受到棋盤和棋子在物理上的約束,這個空間一定是整型的,一定是有限的。

這些棋類都受到單次行為的約束,一次行為對應唯一的一個結果。所以空間中的定義域與值域的對應函數是一一對應的。

到這裡能理解嗎?

(如果有人提出:有可能10回合前白棋領先黑棋10目,10回合後白棋又領先黑棋10目了,就不是一一對應了,我在這裡解釋一下,

如果是我來定義圍棋的值域,我會定義值域中的一個值V=(回合數,白棋數,棋子數,棋子位置,白棋領先目數),10回合前的V1=(13,20,13,{(x1,y1);(x2,y2);…(x33,y33)},10),10回合後的V2=(23,25,17,{(x1,y1);(x2,y2);…(x42,y42)},10)。這樣就是一一對應了)

好的接下來才是重頭戲:

國際象棋、中國象棋和圍棋都有兩個玩家,雖然棋盤上的行為不斷累加,空間中的總值是不斷增加的,但是為了判定輸贏,兩個玩家的值域必須被分開,或者以一回合(2次行為)為單位計算值域。

這樣會有一個問題,比方說圍棋,黑棋先手在19X19的棋盤上落子了,白棋的選擇就不再是19X19了,少了一個!這是非常明顯的不公平。這個問題也存在於國際象棋和中國象棋中,先攻的一方先佔據資源。


中國象棋、圍棋、國際象棋存在必定不敗的下法嗎?


我們把圍棋的棋盤極端化:兩個人在一個1X1的棋盤上下圍棋,其餘規則不變,誰勝誰負顯而易見:誰先誰勝。

1X1太極端了,我們改成1X19,答案如何呢?答案是:佔據了最中間點的一方勝利。那先手只需要佔據最中間的點就勝利了。

我們把這種現象抽象出來,給予棋盤上的每個點位不同的勝負值即可。

(當然19X19的圍棋並沒有那麼簡單,因為圍棋是有“形狀”的概念的,我舉1X1和1X19的例子其實限制了圍棋的規則,用點線遊戲偷換了點面遊戲的勝負概念,規避了這個問題)

我想說的是,先手玩家的確存在優勢,所以圍棋是要讓子的,在一定程度上可以說解決了這個問題。

那國際象棋和中國象棋呢?目前在比賽中對先後手的公平問題只能用行棋時間來緩解。在規則本身上是沒有作出讓步的。

從某個角度上講,對這兩種棋來說棋子的多寡不如棋子的功能和位置對勝負關係的影響大。棋手們的單次行為要考慮:是否滿足行棋條件F(棋子名,棋子功能,棋子初位置,條件布爾值),行為T(棋子名,棋子初位置,棋子末位置,棋子功能)造成的局面Y(棋子狀態集合,將軍布爾值),有經驗的棋手要考慮對手下一回合的活棋數,可動棋的行棋可能性Y+的集合,再考慮自己應對各種Y+所造成的Y++,乃至於1、2...N回合之後的局面Yn。直至某一個回合,可動棋存在並滿足行棋條件Fx的條件布爾值=1,經過Tx行為造成的Yx的將軍布爾值=1。

把規則分解成函數,把動作和局面用特殊的數據結構存儲起來。我們假設以上的設計都是成立的,我們已經成功地設計出了一個完整的算法來模擬行棋的思考。只要有一臺計算能力足夠強的計算機,通過把算法和數據結構整合起來,輸入到計算機中。會出現什麼狀況呢?

圍棋會百分之百存在“最優發展”,計算機能夠通過計算分析每個未落子的點位根據已有的棋形所具有的價值,來判斷哪個點位落子能夠收益最大化。通過向計算機輸入棋譜,計算機甚至能判斷目前局面上的棋形是否是陷阱,點位上的收益值是可以不斷通過修改公式來完善賦值的。


中國象棋、圍棋、國際象棋存在必定不敗的下法嗎?


最後決定是否保持優勢或者減少劣勢的唯一標準是:先手讓子的數目。(如果規定先手讓100目,別說電腦了,神仙執先也得輸)如果先手讓多了,電腦執後手的“最優發展”一定會贏;如果先手讓少了,電腦執先的“最優發展”一定贏。反之,則一定會以最少的目數輸掉。

我們假設最後這一條可變的標準也確定下來了並且完美地解決了先手優勢的問題:比如先手讓子100目,“最優發展”就不一定能贏了,這裡的理論極限是和棋。現代圍棋大賽中存在著各種各樣的避免和棋的規則,像貼目後目數一樣,誰下最後一子誰勝這種單純根據開始到最後奇偶數手來判斷勝負的因素是與棋局分值無關的,電腦也能接受這種勝負。

特別提出,在完全對等的遊戲中增加杜絕和棋的規則,是對遊戲的一種破壞:比如貼目X又3/4目。必然對先手或者後手有至少1/4目的不公平。

之前說的規則當中不可以有矛盾,就是當你規定:貼目X又3/4時先手對後手優勢為0。這條規則與本身數域是整形的遊戲性質是衝突的,電腦公平地進行“最優運算”到最後卻被判負了……它會接受不了崩潰死機的……

說完了圍棋……象棋還有必要說嗎?象棋連平衡先手優勢的規則都沒有……是存在漏洞的遊戲規則。所以象棋的“最優行棋”程序一定會存在兩種結果:

1,這個漏洞是穩定的,有限的,整型的,可以利用這個漏洞得到一個先手一定會贏的行棋法。這也就宣告了這個遊戲本身是一個失敗的遊戲。

2,這個漏洞是不穩定的,算法在這個漏洞中會跑飛到莫名其妙不明意義的數據中去,程序就死在這裡了。

從編程的角度上講,其實象棋的規則比圍棋複雜得多,因為參數比圍棋多。人們普遍覺得圍棋更精妙更復雜的原因1是圍棋的棋盤比象棋大得多,形成的形狀比象棋多;2是在象棋中是沒有加法的,棋子的數目只減不增,越是殘局行棋可能性越少計算量越少。如果把象棋改成19X19,棋子的數目應對棋盤,還能往上添子兒……那將是噩夢遊戲。

看完這些你是不是懵逼了呢?沒關係!

以目前人類的數學理論來講,

圍棋根據先手讓子的規則是存在最優下法的,是否贏取決於讓子的數目,總之能達到“輸得最少”。

象棋(中國象棋/國際象棋)都“有可能”存在最優下法,並且一旦存在,就一定會導致先手獲勝。


中國象棋、圍棋、國際象棋存在必定不敗的下法嗎?


以目前人類的數學能力來講,

人類只證明了五子棋是存在先手必勝的下法的,這份證明同時否認了五子棋這個遊戲本身,直到禁手規則出現才挽救了這個遊戲。

人類還沒有研發出能證明圍棋極限的儀器,樓上的哥們說的:宇宙級內存,只是可能遇到的一個阻礙。最麻煩的地方還在於點陣價值的即時計算,會受到“未形成的形狀”的影響。也就是說可想象的數學模型對點陣價值的計算公式是不正確的——很有可能正在形成一個陷阱。

目前的計算機的能力侷限於:判斷1/0—1,作出行動。遇到無法判斷1/0的情況——硬盤中沒有存儲過這個形狀,就只能依照已有的公式計算,一旦這是一個棋手新發明的陷阱,這次計算就是錯誤的,並將導致接下來的局勢無法挽回。

但是19X19大小的棋盤能形成的黑白棋形狀何止天文數字!還未出現過的棋形比起已經出現過的又何止天文數字的倍數!人類不僅需要宇宙級的內存,還需要宇宙級的硬盤和宇宙級的棋譜!

可是這些棋譜都還未誕生,也就宣佈了寫出完全正確的計算公式是:不可能的。

沒有正確的公式這個程序就不會誕生的。


中國象棋、圍棋、國際象棋存在必定不敗的下法嗎?


只是如今的計算機已經能接受“輸棋”這件事了,這是一件非常可怕的事,這意味著計算機開始有自我記憶能力了,並很有可能在將來誕生反省的能力:這陷阱我中過,這辦法我試過……人類啊……快醒醒……

人類正在研發解析象棋極限的儀器,難題在於徹底地分析象棋的參數,如果這些參數是有限的,穩定的,規則的漏洞只會成為證明遊戲極限的利器(就像五子棋)。如果這些參數在漏洞區間內是無限的,有多義性或多值性的……也會被證明:象棋不存在必勝行棋,從而否定先手優勢。用矛盾來解決漏洞……這是人類經常用來填補“無法解釋的神祕現象”的辦法。

你要相信進步的人類遲早有一天會證明:古人的遊戲不過如此,這些遊戲存在著他們的極限。

也要相信這些古人留下來的遊戲的意義:遊戲是給人玩的,不是給數學理論,也不是給計算機玩的,只有人類才能在輸贏中找到快樂,找到朋友,找到榮耀與自信。

(免責聲明——編輯:江蘇象棋網 來源:部分參考文獻 圖片來源於網絡,如有侵權,請聯繫本文作者刪除)