Hi guys,
I'm trying to write my first bucketizer.
I'm starting with something I think is simple, 10 buckets preflop, 10 flop, 10 turn and 10 river.
I'm using EHS^2 as described in Johanson's paper:
http://poker.cs.ualberta.ca/publication ... on.msc.pdfI'm planning to use the buckets in a CFR algorithm.
I have 2 questions:
1) It seems impossible to enumerate all the cards to exhaustively compute the transition probabilities. It would mean enumerating all my pocket hands (1326) and then enumerate all the flop, turn and river cards. And for each hand(private+board) I want to bucketize, I also need to compute its EHS^2 which I do using a simple sampling (MonteCarlo) approach.
Of course, I can change the number of samples in the MonteCarlo approach but even using a low value of 100, it seems to me that enumerating all these cards is not feasible. So I tried enumerating all my pocket cards, and then sample the rest of the board, let's say 1000 board samples per preflop hands. Is that a reasonable/correct way to do it ?
Also what's a faster/more accurate way to compute the EHS^2 ? Is there a good post about it maybe I missed it/which keywords should I look for ?
2) He says we need to know the probability of every bucket sequence winning a showdown against every opponent bucket sequence. That makes sense as I can see how this would fit in computing the utility for the CFR.
But this means that with my 10,10,10,10 buckets, I get 10x10x10x10=10000 different bucket sequences, so about 100million bucket sequence combinations. It's computable with my low bucket number, but it's very heavy already, am I missing something here ?
Or maybe we don't need to do this if buckets are strictly ordered and we just declare the same buckets on the river as a tie instead of considering the sequence leading there ? We'd loose some information there though ? What do you think ?
Thanks!