電腦圍棋/Tromp-Taylor規則
- 圍棋在19x19的方形網格上進行,由兩個玩家,黑方和白方,進行。
- 網格上的每個點可以是黑色、白色或空。
- 一個點P,不是顏色C,被稱為到達C,如果存在從P到C顏色點的(垂直或水平)相鄰點路徑。
- 清除顏色是指清空所有未到達空點的該顏色點。
- 從空網格開始,玩家輪流下子,黑方先行。
- 回合可以是棄權;或是不重複先前網格著色的行動。
- 行動包括將一個空點著色為自己的顏色;然後清除對手的顏色,再清除自己的顏色。
- 遊戲在連續兩次棄權後結束。
- 玩家的得分是其顏色點的數量,加上只到達其顏色的空點數量。
- 遊戲結束時得分更高的玩家獲勝。得分相等則為平局。
來源: 約翰的圍棋頁面
Tromp-Taylor規則最常見的批評是它們沒有描述從棋盤上移除“死子”的方法。如果要求兩位玩家都必須下到棋盤上所有棋子都活為止2,
- 遊戲玩起來或看起來會非常乏味
- 一旦兩位玩家都知道遊戲最終的結果,繼續玩下去就成了浪費時間
- 按照日本規則設計的電腦程式,甚至可能無法在沒有重大重新設計的情況下玩到那個地步
注意:根據Tromp-Taylor規則,在連續兩次棄權後,不會移除任何棋子!
在連續兩次棄權後,如果雙方都同意某些棋子最終會被吃掉,則將這些棋子從棋盤上移除。但是如果棋盤上存在一方認為最終會被吃掉,而另一方不同意的棋子怎麼辦?
注意:在實踐中,人類之間產生分歧的情況極其罕見。新手玩家經常在判斷哪些棋子最終會被吃掉方面犯錯,但他們通常不會產生分歧。在電腦圍棋中,這是一個更為嚴重的問題,因為新手程式的水平低於任何人類。對於大多數人類玩家來說,那些棄權後卻在哪些棋子是活棋方面意見不一致的程式,會讓電腦圍棋顯得荒謬。
最簡單的解決方案是在出現分歧的情況下使用第三方。第三方可以是人類裁判,也可以是能夠自動判斷哪些棋子最終會被吃掉的電腦程式。
潛在問題
- 第三方可能會出錯或有偏見,尤其是第三方是電腦程式的情況下
- 讓第三方裁判可能會過於耗時或需要過多資源(例如,在大規模錦標賽中,或在每分鐘結束數百場遊戲的自動化伺服器上)
- 甚至可能沒有可用的第三方
在連續兩次棄權後,如果出現分歧,則必須透過實際對弈來解決分歧。在程式環境中,這可能看起來像這樣
- 兩位玩家都提供一個他們認為最終會被吃掉的棋子列表。
- 如果列表不同,則繼續對弈,由首先棄權的玩家先行。
- 如果兩位玩家都立即再次棄權(從而形成連續四次棄權),則遊戲結束,棋盤上所有棋子都被視為活棋。
- 如果在遊戲後期,兩位玩家再次棄權,則重複此過程。
注意,這永遠不會導致無限迴圈,因為每次透過此過程,都必須在棋盤上新增一個棋子,否則遊戲結束。
潛在問題
- 在限時比賽中,一方玩家可能在試圖吃掉明顯是死子的棋子時超時而輸掉。在某些情況下,“清理”行動可能涉及生死問題,尤其對電腦程式來說,需要相當長的時間才能正確地進行。
在連續兩次棄權後,分歧必須透過繼續對弈來解決,這與中國規則類似。但是,由於這可能會改變地盤計分下的遊戲得分,因此必須將兩次棄權結束時的棋盤位置複製到另一個棋盤上,並在該棋盤上解決有爭議的位置。然後,將任何有爭議的棋組(活棋或死棋)的最終狀態應用到原始棋盤上的該棋組,並丟棄第二個棋盤。
潛在問題
- 除了中國規則解決方案中存在的問題之外,複製棋盤位置以進行有爭議的位置對弈也是不方便的。大多數電腦程式並沒有為這類爭議解決設計,大多數協議也並沒有為其設計。
KGS電腦圍棋錦標賽規則本質上與中國規則相同,只是在第一次出現分歧後,建議玩家手動吃掉他們認為是死子的所有棋子。在接下來的連續兩次棄權後,而不是重複此過程,遊戲立即被視為結束,棋盤上所有棋子都被計為活棋,並以此進行評分。請參閱:http://www.weddslist.com/kgs/rules.html#gep
注意:該協議已被提出,但目前並未在KGS電腦圍棋錦標賽中使用;目前,爭議透過第三方調解來解決。
在試圖開發一種合理的死子分歧解決方法時,記住以下幾點可能會有所幫助
- 一些圍棋引擎非常簡單,無法或不能生成準確的死子列表。任何解決方案都不應該懲罰這些程式;它應該優雅地回退到預設的Tromp-Taylor方法,即將棋盤上所有棋子都計為活棋。
- 在兩位玩家無法就哪些棋子最終會被吃掉達成一致的情況下,該方法不應允許出現無限迴圈,也不應該阻止一方玩家吃掉確實可以被吃掉的棋子。
- 一種解決方案應該能夠解決棋盤上所有棋組都處於未定狀態的情況(例如,如果棋盤上只有兩三顆棋子)
- 一種解決方案應該考慮到以下情況
- 一方玩家將對方的一組棋子標記為死棋,而對方玩家不這樣認為
- 一方玩家將自己的一組棋子標記為死棋,而對方玩家不這樣認為
- 上述情況的任何組合
電腦程式(或玩家)有可能
- 故意不提供準確的死子列表,從而迫使對手繼續遊戲,希望對手犯錯誤或超時
- 在對手的大眼內放置沒有存活機會的棋子,希望遊戲結束時,這些本該是死子的棋子仍然留在棋盤上
這些型別的辱罵行為在許多規則集中“有道理”,但它們通常會讓大多數人類玩家感到厭煩。這些策略應該被視為粗魯,但應該主要透過社會方式而不是透過程式設計方式來反對。然而,確保提出的解決方案不會過度獎勵這種行為是值得的。
- 約翰的圍棋頁面。 http://tromp.github.io/go.html
- 在本頁中,“活棋”是指在遊戲結束時計為得分點的棋子,“死棋”是指如果繼續對弈,最終會被吃掉的棋子。