03-09-06 [poker]In my poker simulator, I have to consider drawing the next card. I currently just draw all possible next cards, which is 45 cards when drawing the turn heads up. That doesn't really seem necessary, since a lot of cards don't change our relative hand values. I think it's mostly easy to tell when a card matters, though there are funny cases, like when a high board card comes out that counterfeits my kicker. For example say I have A8 and he has A3 and the board is 55K2 , any draw of a 9 or higher changes the hand but isn't obvious since neither of our hand ranks change. Ideally what I'd like is to merge all draws cards that have the same affect on the hand, but it seems non-trivial to tell what draw cards really are the same.
The first obvious thing is that if there are no flush draws, then the suits are irrelevant, so drawing a 3c or a 3s is the same. If there's one flush draw then you only have to consider if the flush suit comes or doesn't, so it's like there are 2 suits instead of 4. Then the other big group are all the blanks. There are a lot of blanks though that can change the "situation" even though it didn't affect the actual hands. For example an ace that comes out looks scary and will change behavior even if it didn't affect the hand values. Some blanks may make straights possible even if they didn't complete any actual straights.
It seems possible to me to cut it from like 45 draws to maybe 10 on average, which is a pretty nice speed up, but it's not at all trivial.