Quote:
Very well put. I'm guessing that the KdTx hand or the 99 hand suffered from this exponential divergence between implicitly assumed SPR and actual SPR.
It seems that this lends itself to a nifty implementation idea. When faced with a decision to make the last call of the hand (either a river non-all-in, or a pre-river all-in), the bot should break out of its look-up table (which might suffer from an incorrect implicit SPR), and instead explicitly construct its opponent's range (which had been updated upon each opponent action during the hand, but only implicitly). Then it can do a simple pot-odds computation against that range to alter the decision prescribed by the look-up table.
I would guess that Claudico does exactly that - and probably even more. In fact, I assume that, besides calculating the implicit ranges from the previous action, the bot then directly solves the resulting river game with a finer grained abstraction and more betsizes. - Why else would it tank so long?
However, at that point the damage is already done, as the assumed ranges, which uses the tabled pre-river strat, also got distorted. So it may play the river near perfectly but this does the bot no good as the perfection is for the wrong game as the computed opponent starting range is not in line with the games strat it has been computed from.
Quote:
Very well put. I'm guessing that the [URL="http://forumserver.twoplustwo.com/showpost.php?p=46837257&postcount=1061"]
Furthermore, in this process, the bot can correct for loss resulting from the betting abstraction (which Sam describes here). For game tree look-up's, the bot needs to snap an opponent's bet-size into an appropriate bucket and proceed down the game tree accordingly. But when it break out for the call decision, it can retroactively "un-snap" those bucketizations for the purpose of opponent range deduction.
This wouldn't be too hard and can be done for an overhead of 2^n with n being the number of the opponent's odd bets, so I would assume that Claudico might in fact do so as it's reasonably cheap. It would however only mitigate the damage. The range-diversion would still be exponential in n, however the base would be somewhat smaller.
It also cannot make good for errors that happened on earlier streets - it can, at best, only avoid to lose more. A play which might make sense with a turn-SPR of 4 might be a considerable leak if the actual SPR is 8 - which can already happen if three opponent betsizes up to that point have been only about 20% lower than the internal standard sizes.
The bottom line is that the current methodology does not allow the bot to effectively manipulate the pot-size, which is one of the most important skills in a multi-street game like NLHE. A way to improve the situation would be to use betsizing abstractions with bucket for SPR (along with some action details), but real progress in NL would probably require a new paradigm which uses parameterized continuous probability distributions instead of distinct nodes and probability values. This would also be more useful for non-Poker uses and of high scientific value in its own right.
ignatius