top of page

撲克子集與抽象化

無限注德州撲克(No Limit Hold’Em)是一款極其複雜的遊戲:對遊戲的真正精確表示包含的節點數量比宇宙中的原子還多。因此,全世界的玩家都試圖創建更簡單的遊戲模型,以減少解決撲克的計算需求。這些遊戲空間簡化被稱為“抽象化”(abstractions)。


什麼是抽象化?


“抽象化”(abstraction)是一種簡化撲克遊戲的方法。這款遊戲如此複雜,我們必須縮減遊戲空間(gamespace)來解決它。實現這一目標的方法有多種:

  • 使用翻牌子集(subsets of flops)來代表完整的翻牌集合(preflop solvers)

  • 將相似的手牌類別分組(bucketing similar hand classes together)(preflop solvers)

  • 限制可用的下注大小(bet sizes)(pre and postflop solvers)

  • 應用下注上限(betting caps)(pre and postflop solvers)



什麼是子集?


德州撲克有22100種可能的翻牌(flops),其中1755種在策略上是不同的。這是一個巨大的數字,因此程序員和撲克專業人士致力於減少這個數字,使撲克更容易解決。“子集”(subset)是一組策略性選擇的翻牌,用來代表所有可能翻牌的完整集合。


翻牌前(preflop)無法獨立解決;它與翻牌後(postflop)撲克密不可分。翻牌前策略是試圖優化翻牌後期望值(postflop EVs)的結果。翻牌前範圍(ranges)是為了在後續街(streets)為每手牌創造最具正期望值(+EV)的場景而構建的。


由於有1755種策略上不同的翻牌,翻牌前遊戲樹(game tree)比翻牌後遊戲樹呈指數級增長。翻牌子集(flop subsets)被創建來簡化翻牌前的解決。這些子集設計為通過代表多種不同的翻牌來精確計算翻牌後期望值。每個翻牌被分配一個權重(weight)。您可以取每個組合在子集中每個翻牌的加權平均期望值(weighted average EV)來近似翻牌前期望值。


換句話說,如果您知道子集中每個翻牌上每組組合的期望值(EV),您就能制定出良好的翻牌前策略。


首次嘗試由Will Tipton進行,他使用人類邏輯和基於頻率限制的數學。下一重大嘗試由Piosolver完成。他們實際解決了所有1755種翻牌,將子集與完整解決進行比較。我們感謝Piosolver為GTO Wizard使用的子集。


如何在GTO Wizard中使用子集?


ree

GTO Wizard擁有所有1755種翻牌的解決方案。然而,由於廣大需求,我們添加了子集。我們提供四個子集:25、49、85和184種翻牌。


使用子集的主要方式有兩種:

使用子集使對抗解決方案的訓練更容易

在GTO Wizard訓練器(Trainer)中,我們提供了應用牌面過濾器(Settings>Board)的選項。用戶可以選擇一組翻牌子集(subset of flops),這意味著他們只會被發到該子集內的翻牌。較少的情況使學習和記憶模式(patterns)變得更容易。


使用子集使報告可視化更容易

GTO Wizard擁有顯示所有可能翻牌(flops)數據的聚合翻牌報告(aggregate flop reports)。這些報告是發現啟發式方法(heuristics)和下注大小趨勢(bet sizing trends)的絕佳工具。然而,一些用戶希望簡化這些內容。現在您可以應用子集作為過濾器,以查看較少的翻牌。這對於快速概覽不同場景(spots)非常有用。只是請記住,應用子集時,根據牌面結構(texture)的下注大小趨勢會較不準確。


ree

ree

子集的設計目的是使解決翻牌前期望值(preflop EVs)更有效率。它們並非設計來提供學習的最佳翻牌組合。儘管如此,它們可用於簡化事情,且通常提供一個不錯的翻牌組合。


限制下注大小


無限注德州撲克的複雜性來自於在任何時候都可以使用任意下注大小(bet size)的能力。


單挑限注德州撲克(Heads Up Limit Hold’Em)已被解決。也就是說,已計算出一個“完美”(無可擊敗)的策略。不幸的是,由於移除下注限制創造了大量額外節點(nodes),以當今技術無法解決無限注德州撲克。


求解器(solvers)通過人為重新實施下注限制來運作。人類輸入一組下注大小選擇,旨在模擬遊戲,然後算法計算出對這個模型的合理精確解決方案。


在GTO Wizard的100BB深度單挑現金遊戲模型中,小盲(SB)可以續注(c-bet)33%、67%、100%、150%或全下(move all-in)。


ree

在真正的100BB深度單挑現金遊戲中,小盲可以續注25%、40%、41%、41.1%或任何大於1BB的其他下注大小。


下注上限


玩家每街最多被限制為五次下注或加注(bets or raises),以進一步簡化下注樹(betting trees)。例如,GTO Wizard模擬使用五次下注或加注的上限,最後一次被轉為全下。


ree

這在小盲對大盲(SB vs BB)200BB深度的單人底池(single raised pot)中得到展示。面對翻牌上50%的四倍下注(4-bet),小盲被限制為棄牌(fold)、跟注(call)或全下(shove)。他們無法以非全下的規模進行五倍下注(5-bet)


這看似微小,但顯著減少了遊戲樹的規模。


分桶


分桶(Bucketing)是將相似的手牌類別(hand classes)聚集成組的過程。例如,A♠K♥在A♦3♣9♣牌面上可能成為“頂對好踢腳無後門同花聽牌(top pair good kicker with no BDFD draw)”。所有歸入這個類別的手牌將被視為單一手牌並以相同方式遊戲。這極大地減少了遊戲空間!測試顯示,有效的分桶能產生幾乎完美的翻牌前結果。


所有多人翻牌前求解器(preflop solvers)使用分桶來縮減遊戲空間(翻牌後求解器不使用分桶)。分桶的數量可以從幾十到數萬不等。


分群算法(Clustering algorithms)被開發出來以使分桶更有效率。閱讀HRC的這篇文章了解更多關於分桶的內容,他們的分桶基於阿爾伯塔大學的這篇論文。


子遊戲


子遊戲(Subgame)是撲克真實遊戲的較小表示。該子遊戲包括用於縮減遊戲空間複雜度的幾種抽象化。求解器並非解決撲克——它們解決的是一個子遊戲,撲克的迷你版本。


當人們在撲克中使用“子遊戲”一詞時,他們是在區分完整的遊戲空間與我們在求解器中使用的抽象化遊戲空間。


結論


本文最重要的啟示是無限注德州撲克遠未被解決。我們成功計算了對這個遊戲模型的非常精確的解決方案,這就是GTO Wizard學習模式(Study mode)呈現給您的內容。解決方案是研究趨勢和學習概念的絕佳工具,但永遠不會是您應在比賽中嘗試複製的完美策略。


下次您在比賽中遇到意外的路線(line)或下注大小時,您會明白他們可能只是玩著與您不同的這個美妙遊戲的模型。

留言


bottom of page