fedden / poker_ai

🤖 An Open Source Texas Hold'em AI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Real time search

CloneHub94 opened this issue · comments

Just a few questions. I read the paper on Pluribus and there is one thing I don't seem to understand. The blueprint strategy used I assume IR 169-200-200-200 KE-KO buckets for its abstraction according to the supplementary material for Pluribus. But only gets used in the first round if the bet size is less then 100$ removed from any action abstraction in the blueprint strategy. However realtime search uses 500 buckets for future rounds and lossless abstraction in the round it is in.

  1. Does this mean that the algorithm uses lossless abstraction first and then buckets information situations to 200 buckets if it's for example on the flop(round 2) and then uses 500 buckets for rounds 3 and 4 in the subgame it is in?

  2. Given the fact that the supplementary material states that the algorithm only uses lossless abstraction in the first betting round but real-time search uses lossless abstraction in the round it is in and always gets used in rounds 2-4 could you explain how and when exactly lossless abstraction gets used?

I can't seem to understand how info sets are bucketed in this algorithm, could you explain?

Search is either done to a depth limit or to the end of the game. In either case, the current round uses lossless abstraction. If you are solving to a depth limit, there is no need for abstraction on future streets, as only the current street is part of the subgame. Headsup pots on the flop are solved to the end of the game using 500 buckets for the turn and river (these buckets are created separately for each flop).

Lossless abstraction is used in the first betting round in the blueprint because there are only 169 unique preflop hands.

Thanks for your response.Just a small follow up question if you don't mind. How does the algorithm determine whether to use a depth-limit and how deep or to search to the end of the game?

Is there a metric that it uses to determine the depth of the depth-limit search?

From the paper -
"If search is being done on the first betting round, then the subgame extends to the end of
the round, with leaf nodes at the chance nodes at the start of the second round. If search is
being done on the second betting round and there were more than two players at the start of the
round, then leaf nodes occur either at the chance nodes at the stat of the third betting round or
immediately after the second raise action, whichever is earlier. In all other cases, the subgame
extends to the end of the game"

Search is done on the first round if an opponent chooses a raise size that is more than $100 off from any raise
size in the blueprint action abstraction and there are no more than four players remaining in the hand.

Search is always done on rounds 2-4.

The decision comes down to if they have enough computing power to solve to the end of the game. This was what they decided on.