十二種陣形,兩種兵

兵的走法就是整個設計空間;兵有多少、從哪裡起步、兵陣是什麼形狀、用哪一種無吃子步數限制,都只是旋鈕。我們把它們全都轉過了:18 到 45 個兵,兵陣靠後、前移一行、或者一開始就在河對岸,原版的輪廓,象棋原有的五個兵位。兩種兵的走法:象棋自己的兵,向前一步、過河後才能橫走;老兵,從第一步起就有過河兵的走法。每種陣形都由 Fairy-Stockfish 自戰,四種搜尋量各一局,由一個事先已與引擎在每一步合法著法上達成一致的規則內核擔任裁判。

36 個標準兵,第 1-4 行楚 河 漢 界36 個老兵,第 2-5 行楚 河 漢 界
原版陣形配標準兵,以及我們找到的最接近一盤棋的設計:36 個老兵前移一行,用過河兵的棋子圖案畫出,因為那正是它們的走法。

標準兵:車從背後吃光兵團

標準兵只控制正前方一個點,所以兵團是九根縱列,而不是一堵牆。哪一列一空,車就順著它落到底線,從背後每著吃一個兵,而兵團裡沒有任何子能向後攻擊。40 兵及以下、從己方半場開始的每一種陣形都是這樣輸的,四局全輸。只有五行厚的 45 兵陣,或者一開始就在河對岸的陣形,有時能在車吃完之前把足夠多的兵送過河,那幾格的結果才分化。

第 25 回合:f 線已空楚 河 漢 界15 回合後:11 個兵沒了楚 河 漢 界
原版陣形的 100 萬節點對局。黑車順著兵團推進時空出來的 f 線落到底線;十五回合後十一個兵沒了,全軍毫無損失。

老兵:兵團守得住,圍城是和棋

讓兵團的每個兵從開局起就有過河兵的走法,路就堵上了:一列老兵攻擊身邊的點,車不能白白停在它旁邊。兵團成了一方棋。勢均力敵之間,棋局成了圍城:兵團推進到九宮前,發現一個將帶著雙車在等,然後停住,因為兵陣站在原地時能互相保護,卻只能整行一起推進,而全軍在一旁等著。四十八局:37 和,兵團 6 勝,全軍 5 勝,五勝全是對 18 兵。

第 435 步:無子可動,未被將軍,紅方勝楚 河 漢 界
兵團在它最好的陣形(第 2 到 5 行的 36 個老兵,五局四勝)裡的收官。雙車在後期先後被吃,將已成光將,它能走到的每個點都被一個並未將軍的兵控制著。象棋判無子可動的一方負。

兵團佔優的唯一陣形是同一場圍城加一個更好的比分,不是另一盤棋:四百到一千步裡,全軍的最佳計劃是待在九宮裡等,兵團的最佳計劃是把兵陣一格一格地挪。

換一種兵需要什麼

國際象棋的兵斜著吃子,所以後面的兵保護著鄰兵要走到的點,兵成鏈推進;部落棋在國際象棋裡成立就是這個原因。象棋的兵怎麼走就怎麼吃,直著向前,所以兵要走到的點沒有任何子保護,河就是一道懸崖:路上毫無掩護,到了那邊掩護全面。兵數、起始行、陣形、無吃子限制都改變不了這一點。能改變它的是一種在路上有掩護的兵,候選從斜向前吃子,到第一步走兩格、每回合走兩個兵,直到乾脆用國際象棋的兵。我們止步於老兵,因為它是唯一象棋本來就有的;其餘每一種都是新棋子,也就是另一盤棋。

我們發佈的是什麼,而不是一個對局頁面

含兩種兵的走法和全部十二種陣形的規則內核、Fairy-Stockfish 的變體配置、全部 387 盤引擎對局、它們背後的各項檢驗,以及一個不需要引擎、半分鐘內就能對照規則重放每一盤並重新計算統計的校驗器。如果你有一種能給兵陣路上掩護的兵的走法,下一次嘗試就從那裡開始;去那裡提一個 issue,文章會如實寫明。

閱讀完整分析親自檢驗這些對局學習象棋