第 38 課〈4-bet、5-bet 與冷 4-bet 的處理框架〉把加注鏈上每一層的門檻算了一遍,但那些數字全是手算加假設;真正在學習的人,手邊多半有一個求解器(solver),它會一次丟給你幾十萬個頻率。今天要解決的問題是:求解器的輸出到底是什麼、為什麼把它背下來幾乎一定失敗,以及怎樣把一個解壓縮成「人腦帶得走、換個牌面還能用」的原則,並且用數字檢查你抽出來的原則有沒有過度擬合。結論先講:該帶走的是頻率的結構(比例、門檻、尺度與範圍形狀的關係),不是某一格的小數點。這裡的數字全部是紙上推演,台灣沒有合法的現金撲克賭場,內容定位是機率與決策訓練;文中的「求解器節點」是為了算術而自擬的示意資料,不是任何軟體的真實輸出。

📖 學

一、求解器輸出什麼:頻率向量、EV,以及一個精度

給定一個節點(誰先行動、底池、籌碼深度、雙方輸入的範圍、允許的下注尺度),求解器對行動方範圍裡的每一手牌輸出三組東西:各動作的頻率(例如 AKo 下注 1/3 池 62%、過牌 38%)、每個動作的 EV、以及整個範圍的總 EV 與權益。它用的是 CFR(Counterfactual Regret Minimization)這類迭代演算法:每輪計算「某動作比目前策略好多少」(後悔值),把頻率往正後悔值的動作移,重複到收斂。GTO Wizard 的公開說明把收斂程度用 Nash distance 衡量,也就是「一方若對另一方當前策略做最佳反應,最多能多贏多少」,以底池百分比計;文中提到低於 1% 底池才算策略開始收斂,0.5% 是專業使用的最低標準,他們自己的標準大約落在 0.1% 到 0.3%(依解的類型而定)。

這個精度數字直接告訴你頻率能信到哪裡。以單挑底池 5.5bb 粗估,0.3% 就是 0.3% × 5.5bb = 0.0165bb。任何兩個動作的 EV 差只要落在這個量級,頻率就可以在不同的收斂狀態下大幅浮動而不改變解的品質。所以讀解時有一條硬規則:判斷用 EV 差,不用頻率差。假設兩個相鄰牌面,同一手牌的下注頻率分別是 62% 與 58%、EV 差都小於 0.02bb,那 4 個百分點不是訊號,是雜訊;反過來,如果一手牌下注 EV 比過牌高 0.3bb,即使頻率顯示 100% 下注,它也是個值得記的「結構」。

二、為什麼背解會失敗:算一下規模與適用範圍

規模:本質不同的翻牌有 1,755 種(22,100 種翻牌經花色同構合併後的數目,我用程式枚舉驗過),起手牌 169 類,光是「某一組位置、某一個底池類型、某一個籌碼深度」的第一個翻牌節點,就有 169 × 1,755 = 296,595 格頻率。換成另一組位置或 3-bet 底池,整張表重來;再加上多個下注尺度、轉牌與河牌,數量以百萬計。人腦不是資料庫,而且這些格子大多只是同一個結構的不同取樣。

適用範圍:解只在它的輸入條件下成立,輸入包括範圍、尺度集合、深度與有沒有抽水。把輸入改一點(例如對手 3-bet 範圍窄了 10%),某些牌的頻率會整段移動,背下來的格子就錯了,而你不知道錯在哪裡,因為你背的是輸出不是原因。

第三個原因最容易被忽略:混合頻率本來就是無差異的產物。第 24 課的原理是,在均衡裡兩個動作被混合使用,代表它們對這手牌 EV 相等(或差距在精度內)。所以「這手牌 40% 下注」這種資訊,多半只是在說這手牌是兩個動作的邊界牌,而不是 40% 這個數字有魔力。真正有資訊量的是:哪些牌類在邊界(門檻),以及整個範圍的總頻率與尺度為什麼長這樣。

三、該抽什麼:四種原則,每種都能用公式驗算

把輸出壓縮成原則時,有四類東西值得抽,每一類都能回到前面課程的算式去驗算:

  1. 範圍層級的總頻率:例如「這個牌面 BTN 整體下注 85%」。它對應範圍優勢與堅果優勢(第 22 課)。
  2. 尺度與範圍形狀的對應:小尺度配高頻線性範圍、大尺度配極化範圍(第 28 課)。
  3. 價值對詐唬的比例:下注尺度 s(以底池倍數計)時,詐唬佔整個下注範圍的比例是 s/(1+2s)(第 23 課)。
  4. 門檻牌類:哪一類牌是最弱的價值、哪一類牌開始混合棄牌、哪一類牌是最佳詐唬候選(阻斷牌,第 25 課)。

下面用第 3 類做一次完整驗算,這是「用 MDF 與 α 檢查求解器某個頻率是否自洽」的做法。假設有一個河牌節點(自擬資料):底池 100,下注 2/3 池(約 66.7),下注範圍共 105 組,其中價值 75 組、詐唬 30 組。

均衡詐唬佔比 b* = s/(1+2s) = (2/3) ÷ (1 + 4/3) = 0.6667 ÷ 2.3333 = 28.57%
節點實際詐唬佔比 = 30 ÷ 105 = 28.57%      → 自洽
對手跟注 bluff-catcher 的 EV = b × P(1+2s) − s × P
                             = 0.2857 × 233.33 − 66.67 = 0 (誤差在進位範圍內)

自洽之後,可以把這個節點壓成一個人腦好記的比例:詐唬組合數 = 價值組合數 × s/(1+s) = 75 × 0.4 = 30,也就是每 5 組價值配 2 組詐唬。這個「5 配 2」才是該帶走的東西,因為它對任何一個河牌、任何數量的價值牌都成立:價值有 60 組就配 24 組,價值有 90 組就配 36 組。

如果節點不自洽呢?假設你讀到的是詐唬只有 24 組(24 ÷ 99 = 24.24%),比 28.57% 低 4.33 個百分點。每差 1 個百分點對手跟注 EV 的單位代價是 P(1+2s) ÷ 100 = 2.33 籌碼(底池 100),所以對手跟注 EV = 0.2424 × 233.33 − 66.67 = −10.1,等於 4.33 × 2.33。這 −10.1 的意思是:這樣的範圍對手可以放心棄牌,你的價值牌收不到錢。遇到這種差距,要先問三件事:是不是漏看了加注分支(河牌可能有 check-raise,簡單公式不含加注)、是不是有多個下注尺度(各尺度各有各的比例,不能混在一起算)、還是你只數了「看得到的」組合而漏掉混合頻率裡的零頭。差 0.5 個百分點以內多半是進位,差 4 個以上就要回頭檢查節點。

四、兩個抽原則的方法:相鄰牌面比較與同類牌面聚合

相鄰牌面比較的原則是控制變數:一次只動牌面的一個特徵,其他全部不動,觀察頻率與尺度往哪個方向走、走多少。可動的特徵有四個:最高牌(K72 換成 A72)、連接度(K72 換成 K76)、花色(彩虹換成兩張同花)、配對與否(K72 換成 K77)。每次比較只記一行:「動了什麼、頻率與尺度往哪走、EV 差有多大」。若 EV 差在精度雜訊內,那個特徵就先不要寫進原則。這就是第一節那條「判斷用 EV 差」的實際用法。

同類牌面聚合則是把 1,755 個牌面歸成少數幾類,各類內部的策略近似相同。我用程式枚舉 22,100 種翻牌:單一花色(monotone)1,144 種佔 5.18%、兩張同花 12,168 種佔 55.06%、彩虹 8,788 種佔 39.76%;另外有對子的翻牌 3,744 種佔 16.94%、三條 52 種佔 0.24%。這些數字的用途是:兩張同花加上有對子或沒對子、高牌高或低,幾個維度交叉後只剩十幾類,每類各自讀 5 到 8 個代表性牌面,就比逐個背 1,755 個有效得多。聚合的判準是類內的 EV 差與頻率差都小,類間的差距大;若類內頻率就已經從 30% 跳到 90%,代表你切的維度錯了,要再加一個維度(例如把「A 高」與「K 高」分開)。

五、簡化:三檔制,以及簡化的代價怎麼估

要在桌上用,頻率必須壓成人腦能執行的檔位。一個常用的壓法是三檔:頻率低於約 15% 當作「不做」,高於約 85% 當作「總是做」,中間的混合牌挑一個固定做法(對這個對手較有利的那個,見第 37 課)。注意代價不在單一手牌:在混合節點上,兩個動作對該手牌 EV 相等,把它改成純策略單手不虧;虧的是範圍層級的比例被你改歪了。第三節的 24 組詐唬就是這種例子,每 1 個百分點的偏差有固定單價(s = 2/3 時每百分點 2.33 籌碼)。所以簡化時要守的是比例,而不是每一手牌的頻率:砍掉的詐唬要用別的詐唬補回(例如改選阻斷牌較好的組合湊回 30 組),不能只砍不補。

另一個簡化是離樹(off-tree)尺寸的內插。求解器的樹通常只有幾個尺度,對手卻可以下任意大小。假設解只有 1/3 池與 3/4 池兩個尺度,MDF = 1/(1+s) 分別是 75.00% 與 57.14%;對手下 1/2 池時,精確的 MDF 是 66.67%。如果你用尺度做線性內插,權重 (0.5 − 0.3333) ÷ (0.75 − 0.3333) = 0.4,得 75 − 0.4 × 17.86 = 67.86%,與精確值差 1.19 個百分點,換算成代價是對手每次詐唬多賺 1.19% × 150 = 1.79 籌碼(底池 100、s = 0.5 時詐唬一次贏 P(1+s) = 150)。而如果你已經把公式壓縮在腦袋裡,直接算 1/(1+0.5) = 66.67%,誤差是零。這是「背兩個解」與「記一個公式」的差別。

同理,對詐唬佔比做內插也很便宜:背了 s = 1/3 時 20%、s = 1/2 時 25%,要估 s = 0.4,線性內插得 22.00%,精確值 0.4 ÷ 1.8 = 22.22%,誤差 0.22 個百分點,代價 0.22 × 1.80 = 0.4 籌碼(底池 100)。結論:公式型的原則在尺度之間內插誤差很小,而查表型的記憶完全沒有內插能力。

六、怎麼檢查自己的原則有沒有過度擬合單一牌面

過度擬合的特徵是:原則是從一個牌面歸納出來的,換一個同類牌面就失靈。標準做法是留出驗證(hold-out):抽原則時只看 4 個牌面,另外留 6 個同類但沒看過的牌面,先用你的原則「預測」各牌面的下注頻率落在哪一檔(低於 35%、35% 到 65%、高於 65%),寫下來之後才打開求解器對答案。

門檻怎麼定?隨機亂猜每題命中機率 1/3。6 題中猜對至少 5 題的機率是 C(6,5) × (1/3)^5 × (2/3) + (1/3)^6 = 12/729 + 1/729 = 13/729 = 1.78%;至少猜對 4 題是 73/729 = 10.01%。所以規則是:6 題至少中 5 題,原則才算通過(靠運氣通過的機率不到 2%);只中 4 題代表有訊號但不穩,要修正;3 題以下代表那條原則還只是你對 4 個牌面的描述。通過的原則再用「反面測試」補強:刻意挑一個你覺得會失效的牌面(例如配對牌面、單張同花連張),看它在哪裡失效,把失效條件寫進原則裡。

七、常見誤解與資金管理

  • 「求解器給的是正解,照做就賺」:解是雙方都用均衡策略的結果,對手不是均衡時,最佳反應不同(第 37 課);而且解通常沒計入你的實現率與抽水。
  • 「頻率寫 33% 我就用骰子擲 33%」:混合是為了讓對手無法利用,不是為了讓你的每一手都精確;在原則層級守比例即可,單手頻率交給邊界判斷。
  • 「牌面一樣就可以直接搬解」:輸入範圍或深度不同,整張表都不同。只有結構(比例與門檻)可以搬。
  • 資金管理:用求解器學習不產生任何額外銀彈;把原則搬上桌的前幾百手只算驗證樣本,不加碼。樣本不足時 EV 的信心區間很寬,銀彈建議 30 到 50 個買入起跳,本課談的是學習方法,不是獲利保證。

🧠 為什麼是這樣

求解器的輸出是一個「均衡」,而均衡的定義裡,每個混合頻率都是為了讓對手在某處無差異。這件事有兩個後果:第一,頻率的絕對數字帶有大量冗餘(因為好幾個動作 EV 相等,頻率可以在相等的範圍內移動),真正不冗餘的是門檻與比例;第二,解對輸入極度敏感,但原則(比例、尺度與形狀的對應)的敏感度低得多,因為它們來自無差異條件本身,而不是來自某個範圍的具體內容。這就是為什麼「抽原則」會比「背解」更穩:你記的是方程式,不是方程式在某一點的值。

這套方法的前提與失效條件:一,解的輸入合理(範圍、尺度、深度與實戰相近),輸入偏掉時原則是對著錯的世界抽的;二,精度夠(0.5% 底池以內),沒收斂的解連結構都不可信;三,對手大致在均衡附近,若對手系統性偏離,抽出來的原則只能當預設,不能當最佳反應;四,模型簡化(第三節的公式不含加注分支、阻斷牌與多尺度),所以驗算只能當「大方向自洽」的檢查,不能當證明。還有一個常被低估的失效:求解器假設對手不會犯你人類會犯的錯,而人類實戰的權益實現率與解的實現率不同,同一個原則在你手上的 EV 通常比解報的低。

對手的反制是順著你原則的規律走:你把原則壓成固定比例(例如 5 配 2),對手只要觀察到你每次都剛好是這個比例,就能用 Beta 收縮法(第 37 課)估出你的詐唬佔比,再往最佳反應那邊偏一點;你把某個牌面類別固定打成一種尺度,他就在那類牌面上固定反擊。所以預設值是:原則決定骨架,實際頻率在骨架內隨機化(用牌面上的無關資訊,例如花色或第二張牌的點數決定混合),並且定期回到求解器重驗,而不是背完就停。

✍️ 今日練習

紙筆 15 到 20 分鐘,有求解器軟體當然更好,沒有也能做。道具:計算機、紙。若有任何求解器(包含免費方案),最後一步用它對答案;沒有就用卡 1 到卡 3 的算式自我驗證。

  1. 卡 1(驗算自洽):河牌底池 100,下注 100(s = 1),下注範圍價值 84 組、詐唬 36 組。算均衡詐唬佔比 b*、節點實際佔比、兩者的差;再算對手跟注 bluff-catcher 的 EV(用 b × P(1+2s) − s × P);最後寫出「每 5 組價值配幾組詐唬」的壓縮比例。
  2. 卡 2(離樹內插):解只有 1/3 池與 1 倍池兩個尺度,對手下 2/3 池。算兩端的 MDF = 1/(1+s)、用尺度做線性內插的結果、精確 MDF、兩者差距;再算這個差距換成「對手每次詐唬多賺幾個籌碼」(底池 100、詐唬一次贏 P(1+s))。
  3. 卡 3(過度擬合門檻):你預留 6 個驗證牌面,每題三檔猜頻率。算「6 題至少中 5 題」靠隨機猜中的機率,並說明你把通過門檻定在幾題、為什麼。
  4. 卡 4(抽原則):若有求解器,選一個 3-bet 底池或單挑底池,取 3 個相鄰牌面(只動一個特徵),各記下注頻率、尺度與 EV 差,判斷哪些差距低於雜訊、哪些是訊號,寫成一行原則;沒有求解器就把前 38 課任選一課的一張表,寫成「一句比例或門檻」。
  5. 回頭挑一次自己複盤過的手牌,寫下「我當時用的是哪一條原則」「這條原則來自幾個牌面」「最可能在哪個牌面失效」。

自我檢查

  • 卡 1:b* = 1 ÷ 3 = 33.33%,實際 36 ÷ 120 = 30%,差 3.33 個百分點;對手跟注 EV = 0.30 × 300 − 100 = −10;壓縮比例 B = V × s/(1+s) = 84 × 0.5 = 42 組,即每 2 組價值配 1 組詐唬。我能說出為什麼 36 組比均衡的 42 組少,對手的最佳反應是棄牌。
  • 卡 2:MDF 兩端 75.00% 與 50.00%;內插權重 (0.6667 − 0.3333) ÷ (1 − 0.3333) = 0.5,內插得 62.50%;精確 1 ÷ 1.6667 = 60.00%,差 2.50 個百分點;對手每次詐唬多賺 2.5% × (100 × 1.6667) = 4.17 籌碼。我能說出為什麼尺度跨度越大、內插越不可靠,公式比兩點查表更準。
  • 卡 3:13 ÷ 729 = 1.78%;我能說出「至少中 5 題」把靠運氣通過的機率壓到不到 2%,而「至少中 4 題」是 10.01%,太鬆。

🔗 延伸

💬 問 AI

我在練「玩牌技術」第 39 課:求解器的正確用法,抓原則、不背解。
 
請用下面的資料幫我檢查我的算法:
- 河牌底池 [P],下注 [B],所以 s = B/P。
- 我讀到的求解器節點:下注範圍價值 [V] 組、詐唬 [Z] 組。
- 我自己抽出的原則:[例如「每 5 組價值配 2 組詐唬」]。
 
請依序回答:
1. 均衡詐唬佔比 s/(1+2s) 是多少?節點實際佔比與它差幾個百分點?對手跟注 bluff-catcher 的 EV(b × P(1+2s) − s × P)是多少,請給計算過程。
2. 若差距超過 2 個百分點,請列出我最可能漏看的三件事(加注分支、多尺度混合、混合頻率的零頭、阻斷牌)。
3. 我的原則是從哪些牌面歸納出來的?請設計 6 個「留出驗證」牌面讓我先預測再對答案,並告訴我通過門檻(用二項分布算靠隨機通過的機率)。
4. 這條原則在哪些輸入(範圍、深度、尺度、抽水)改變時會失效?請標明「你算出來的」「你的假設」「你不確定的」。
 
請不要建議我用真錢冒險,這只是機率與決策訓練。