Original Post
Hi, I've found some very interesting code for evaluating poker hands fast (http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup). I tried it (=The Two Plus Two Evaluator) and it can do millions of hands per second. That allows doing simulations of poker cards, which allows statistically calculating the chances of your poker hand compared with other players with unknown hands. BUT... That's not what this post is about. I was wondering, if it's possible to calculate the chances of winning with your hand, without using simulations, but instead purely symbolic, and faster due to not doing millions of evaluations? For Texas Hold'em. Given: Your hand cards: 2 cards The cards on the table: 3, 4 or 5 cards One other player has two unknown cards in his hand, and there are a few unknown cards left on the table (2, 1 or 0). What is the chance that you win? To perfectly simulate this, you need to calculate every possible combination of the two cards of the other player and values for the not-yet-flipped cards on the table. With the fast simulation of millions of games per second, this might get calculated in a reasonable time for some cases, but still pretty slow. So could this be done without the simulations but purely based on statistics? Or, alternatively, does there exist an algorithm that can give a rough estimate? I didn't find any when searching with Google, I only found those fast evaluators. Thanks!