Quote:
Originally Posted by tombos21
REALphysical I think it's more complicated than this. My math might be off here, but hear me out.
You're calculating a multiplier based on how many ways hero can reveal their current exact hole cards x how many ways the villain can reveal. But that's not how CFR works.
Solvers calculate entire ranges vs entire ranges. If revealed on the turn, there are 47 x 46 ways to reveal one of each player's cards, giving us a multiplier of 2162.
Secondly, you forgot about future streets. CFR doesn't calculate turn strats in a vacuum, it has to go through the entire game tree every iteration. Each one of those 2162 combinations creates a new river branch. So we need to multiply by 45, giving us an upper-bound multiplier of 47 x 46 x 45 = 97290. Granted the revealed ranges are much tighter, but this is still far too big to solve.
This is incorrect. The problem is you're not differentiating what actually changes between the normal game and the reveal game, and not differentiating between the size of a player's strategy and the size of the game tree that needs to be walked to compute the EV of the two player's strategies.
The size of a player's strategy increases by about the numbers given in my previous posts, specifically see the worst case scenario in a heads-up game with a preflop reveal is 100 times increase for each player's strategy size.
For calculating the EV of each player's strategy, what you refer to as walking the entire game tree, you have to consider every possible situation that can occur. This is exactly every hand combination for each player, every board combination, every betting line combination, and every reveal decision. You don't have to consider e.g. what Player A COULD have done in response to Player B showing different cards, you only consider what he actually does do. Think of it like actually playing poker except instead of randomly playing you play every single situation once and just weight the probability of that situation by multiplying the probabilities in the player strategies that lead to that game state. You're thinking that the algorithm has to consider every combination of each player showing every possible card against each other, but actually the algorithm already pairs every possible 2 cards against every possible 2 cards in the normal game, so the only extra part for the game tree is which card they show; player A and player B don't suddenly change their hole cards because of the card the other player showed. Another way to think about it, as I mentioned in my second post in this thread, is that while showing a card adds 46 sub-games, the size of those sub-games is reduced by 46 because the size of the player's remaining hole card combinations is only 45 instead of 46*45, and to get to a leaf node you have to consider every combination of hole card he can have.
Yet another way to think about it is, the aspect of poker that causes an exponential increase is the depth of the game, adding more betting rounds, whereas the reveal only changes the breadth of the game on a specific round.
Now, it's my understanding of these GTO algorithms that they are in the worst case exponential in the size of the combination of player strategies and game tree (maybe the product of them since it's repeatedly iterating; call it the total-game-tree), but with intelligent adjustments practically they are typically polynomial or even linear. So a sub-exponential increase in the total-game-tree, which we have here for the heads-up game, results in a sub-exponential increase in running time. And this is still relevant to the multi-player game because what people actually do is run solvers on heads-up postflop situations with pre-determined ranges and try to generalize intuitively to multi-way and other ranges.
Last edited by REALphysical; 01-17-2024 at 09:45 PM.