bocch 獲勝攻略
把AI「最強」最看重的要點,以及從3萬局AI對局中統計出的「容易獲勝的形狀」,用棋盤圖整理在這裡。棋子上的數字就是它能移動的距離。
YouTube「bocch 定式研究」也用影片講解戰法與定式(日語)
先親手試試規則機制
能移動的距離是「周圍8格裡的棋子數(不分顏色)」。放下一顆棋子,旁邊棋子的數字也會跟著變。這是這個遊戲最重要的地方。
「放棋子」:每點一次格子,就按 黑 → 白 → 空 變化。
「查看去處」:點一顆棋子,它能去的格子會顯示為綠色。最上一行是黑方的終點,最下一行是白方的終點。
強勢形狀
在AI對局中,「該形狀比對方多的一方」最終獲勝的比例。中間的線是50%,越往右越容易獲勝。
黑方第1手(定式)
這是讓變強後的「最強」(v1.7)對14種第1手各讀15秒(15〜18手深)得出的評價(左右對稱的手合併取平均)。只有用邊上棋子的依偎、守角這兩手是均勢,把中間棋子走出兩格的手都略虧。白方第2手不管黑方怎麼走,「並肩」(把邊上的棋子斜著靠攏)都是最佳。這些計算作為遊戲的定式內建在「最強」裡。
到第3手為止的定式
對前2手的全部196種組合,用最新的「最強」把黑方第3手讀到15〜18手深。另外又把第3手所有能走的手全部(3,006種)各讀4秒(11〜14手深),分成強手和弱手。評價是從黑方看的分數,0是均勢,+是黑方有利(100分約等於勝率78%)。
- 黑方第3手的基本是「另一側的邊也靠攏」:196種中有159種(81%)的最佳手,是把邊上的棋子往內靠一行。第1手靠攏了一側的邊,第3手就把另一側的邊也靠攏,讓兩邊的棋子都發揮作用。
- 白方第2手走並肩以外的手會大虧:對黑方的依偎,白方只要走並肩以外的手,黑方就能領先+77〜+148分。白方第2手只有並肩一個選擇。
- 第3手「陣地的棋子只走一行」最安全:比較3,006種手,陣地棋子只走一行的手與最佳手平均只差43分,幾乎沒有壞棋。陣地棋子一口氣走兩行平均虧77分,走三行平均虧90分,壞棋比例也跳到8%、18%。開局就跳遠的手,往往只是給對方送上跳板和時間。
- 最佳級的手很少:3,006種中,最佳和好手(差距20分以內)只佔16%。將近一半是疑問手(差60〜120分)。到第3手就已經開始拉開差距。
- 主線是均勢:黑方依偎 → 白方並肩(與黑方相反的一側)→ 黑方把另一側的邊也靠攏,評價為0分。真正的勝負從這裡開始。
在棋盤上看(含變化)
點候補手,棋盤就會走到那一手。每手右邊的數字,是走完那一手後黑方勝率的估計(最新AI的評價)。左邊的標記表示與最佳手的差距:最佳、好手、普通、疑問手、壞棋。第3手列出了所有能走的手。
棋盤最上一行是白方陣地(黑方的終點),最下一行是黑方陣地。碰到候補手時,那一手的走法會顯示在棋盤上。從第4手起沒有定式,「最強」也是當場計算後再走。
戰法(開局作戰)
讓最新的「最強」自己對弈26,000局,把雙方第8手時的形狀按相似程度歸類,結果分成了5種類型。圖是該類型第8手時最常見的己方棋子排列,用6顆棋子畫出的典型形(省略對方棋子;己方陣地在下,進攻一側統一放在左邊)。
相剋關係
行的戰法戰勝列的戰法的比例。
變強後的AI怎麼下
每次把AI變強,下法的流行都會改變。以下是最新26,000局中的變化。
- 總攻消失,雙層陣出現:把陣地棋子幾乎全部推出、橫向鋪開的「總攻」,強AI幾乎不再下了。取而代之的是在陣地留2〜3顆、其餘在中段豎著排開的「雙層陣」,現在約佔全部的2成。
- 中央櫓與邊攻的差距拉大:中央櫓對邊攻勝率74%(以前是67%)。AI越強,越能發揮中間棋塊的力量,也越會抓住邊路的弱點。
- 半櫓成為主流:強AI會在陣地留下2〜3顆,同時在中間組櫓。把陣地棋子幾乎全用掉的全櫓變少了,半櫓的勝率高出4個百分點。
- 邊攻和守城變少:在學習到的價值裡,己方陣地邊上的棋子是大大的減分,己方陣地中間的棋子是加分。強AI會儘早把邊上的棋子往內靠,把中間的棋子留在陣地。
- 留在陣地的棋子就是防守:留下的棋子會堵住對方的落點(手筋「陣地之牆」),同時也讓你有餘裕把櫓建在離對方一格的位置。
每種類型約6,000〜12,000人次(一局中雙方都計入)。第8手的形狀也受對方下法影響,所以並不代表「選了這種類型就一定有這個勝率」。
從最新AI之間的26,000局看對局
讓變強後的最新「最強」(v1.7)互相對弈26,000局統計的結果(開頭2〜6手為了讓形狀分散而隨機)。最新AI對變強前的AI約勝6成。
- 越強對局越長:雙方都會儘早擋住聽牌,所以不容易抵達。一半的對局在31〜48手之間結束。
- 第1顆非常重要:先有1顆抵達的一方約勝3分之2(66.5%)。從防守嚴密的對手那裡搶下1顆,就是這麼大的事。
- 和棋也有6.5%:計算深的話,雙方都避開危險的手,容易反覆出現同一局面。
一局的長度
按雙方合計手數統計的對局數(60手以上合併)。
先有1顆抵達的一方的勝率(按抵達時期)
無論何時抵達都能勝6成以上,但越到終盤價值越高,第24手以後先抵達的一方勝率近8成(77.6%)。守方棋子變少的終盤,這1顆幾乎就是決定勝負的一手。
要害格
第12手時該格上有己方棋子的一方的勝率(己方陣地在下,左右合併取平均)。越綠越容易贏,越紅越容易輸。
- 抵達對方陣地正中最強:在3a、4a的一方勝率63%。在邊上(1a、6a)也有55%。
- 中路是要害:3d、4d是55%,3c、4c是53%。從中間通過的棋子會帶來勝利。
- 邊路是輸棋的路:在1c、1d、6c、6d的一方勝率40〜41%。靠在邊上的棋子發揮不了作用。
- 留在陣地角落的棋子也弱:1f、6f是40%。往往一動不動地留到最後。
- 終點前一行(b行)是輸棋的位置:在2b〜5b的一方勝率34〜42%,是棋盤上最差的一行(26,000局中新發現的事實)。b行的棋子離終點只有1行,所以只有數字正好是1時才能抵達。旁邊棋子一多就會跳過頭,也容易被對方擋住,成了「看似能到卻到不了」的棋子。只有在下一手能確定抵達時才上到b行。
擋住對方聽牌的方法
黑方的棋子(數字2)能抵達往上2格的終點。往上、右上、左上3個方向都能到,所以落點最多有3處。
進階:手筋體系
強者看的不是自己棋子的數字,而是雙方棋子的「偏差」。所有手筋都是從這個思路建構的。
偏差為0的棋子能抵達終點(聽牌)。因為不論往上還是斜上,一次上升的行數都等於數字。數字太大會跳出棋盤,同樣到不了。
走一步時,落下的格子旁邊的棋子偏差減1,離開的格子旁邊的棋子偏差加1。
圖為整個棋盤(最上一行是黑方終點,最下一行是白方終點)。棋子數字、聽牌、能到的格子,全部按規則自動計算。
不能走的手
在最新AI之間的26,000局(約89萬手)中,統計了走某種手的一方最後獲勝的比例。整體平均約50%。即使是強AI,走了這些手勝率也會明顯下降。
- 自己替對方造出致命一擊(勝率0%):對方已有1顆抵達時,自己的手改變了對方棋子的數字,讓它能抵達第2顆的手(引爆)。26,000局中出現2,047次,走出這手的一方一局也沒贏。對方有1顆抵達後,移動前一定要看「落點旁和出發點旁有沒有對方的棋子」。
- 留著對方的致命一擊去走別的手(勝率0%):對方已有1顆抵達,下一手又有能抵達第2顆的棋子,卻不去擋的手。其中也包括無法阻擋的局面,但在變成那樣之前,先掐掉對方第2個聽牌的苗頭才是要務。
- 走完後棋子成了孤子(勝率37%):旁邊沒有棋子的「0」棋子動不了。走出讓移動的棋子成為孤子的手的一方,勝率比平均低13個百分點。讓留下的棋子成為孤子的手也只有41%。一次造出2顆以上孤子會掉到27%。
- 停在終點前一行(勝率46%):走上b行(從自己看是終點前一行)的手,勝率偏低。b行的棋子只有數字正好是1時才能抵達,旁邊棋子一多就會跳過頭。除非下一手能確定抵達,不進b行、在c行等待更划算。
- 開局把陣地的棋子跳得很遠:在第3手全部候補的計算中,陣地棋子一口氣走出2〜3行的手,比只走1行的手平均差34〜47分,容易成為壞棋(詳見「形狀·定式」的到第3手為止的定式)。
思路:被迫防守時已經快輸了
- 走擋棋的一方勝率34%:擋住對方聽牌是必要的手,但被迫去擋的時候,主動權已經在對方手裡。對方抵達1顆後去擋致命一擊的一方勝率是27%。
- 所以要「邊擋邊造」:只擋的手,等於把思考下一波進攻的時間交給對方。選擇擋法時,要先找能不能在那個落點同時造出自己的聽牌(手筋「攻防一體」)。
- 自己也有聽牌時,有時可以放著對方的聽牌不管:留著對方的聽牌、但自己也有聽牌的一方勝率60%。被對方抵達1顆也不會立刻輸。比較「對方抵達1顆」和「自己抵達1顆」,選更划算的那邊。
對方聽牌,擋還是放?
當對方下一手就能抵達時,最強AI怎麼判斷,我們在26,000局中做了統計。
- 對方的第2顆一定要擋:對方已有1顆抵達時,能擋卻放過的手一次也沒有。第2顆就是當場輸。
- 對方的第1顆,有時可以放過:能擋卻故意放過的一方勝率69.8%。特別是自己已經有1顆抵達時是95.9%,自己也有聽牌時是72.3%。如果自己會先湊齊2顆,就把擋的那一手用在進攻上。
- 兩者都不是時,「邊擋邊造」:自己0顆也沒有聽牌時,擋的同時造出自己聽牌的一方勝率51.7%。只擋是39.6%,不擋只造聽牌是46.9%,兩者都不做是34.1%。
擋法也有優先順序
- 1. 頂起(勝率49.7%):在對方聽牌棋子旁放上自己的棋子,讓數字變大。能到的行改變,就會跳過終點。
- 2. 抽走(43.7%):把對方聽牌棋子旁邊的棋子抽走,讓數字變小。
- 3. 堵住落點(33.8%):看起來最直接,卻是最差的擋法。對方棋子的數字不變,會去找別的落點。
把已抵達的棋子移出來
- 把抵達對方陣地的自己的棋子移出來,是最後的防守:走出這手的一方勝率4.6%(7,969次)。其中62%是為了擋住對方的致命一擊而放棄自己第1顆的手。AI走出這一手時,形勢已經很苦了。
- 在終點行內橫向移動是普通的手:不減少已抵達的數量,改變旁邊的數字來擋住對方,或讓自己的下一顆通過(勝率50.4%)。
每一手都按這個順序確認
- 對方有沒有偏差0(聽牌)?有就擋。用頂起或抽走,讓偏差離開0。
- 這一手會不會引爆?看落點旁邊有沒有對方偏差+1的棋子,出發點旁邊有沒有對方偏差−1的棋子。
- 能不能邊擋邊造出自己的聽牌?在落點旁邊找自己偏差+1的棋子(攻防一體)。
- 能不能在相隔的2處造出聽牌?擠在同一處的雙聽牌一手就會被破解。真正的雙聽牌是相隔的2處。
- 自己的棋子會不會變成孤子?旁邊只有0〜1顆的棋子多的一方,勝率會掉到45%左右。
統計來源:形狀的勝率來自讓AI對弈2,000局,在約4.8萬個局面中比較雙方的結果。定式的評價是最新「最強」讀到15〜18手深的結果,並非徹底解開。5%左右的差距可能因計算時間而互換。