I'm starting to wonder if it is even possible to analytically calculate the odds of beating multiple opponents in a Texas Hold'em Poker game.
Let's start with an example to explain the complexity of the problem. Assume N+1 players, myself included, are all-in at a one-deck Texas Hold'em Poker game. The 5 cards on the table are as follow: 3-spades / 3-diamonds / 4-hearts / 5-hearts / 9-hearts
My hole cards are: 2-hearts / 6-spades
Therefore, I have a 6-high straight. There are N other players with unknown hole cards. What are the odds that I will win the pot?
I started by counting all the hole cards that could beat mine:
- four-of-a-kind [(3,3), 1 possible hand]
- full-house [(3,4), (3,5), (3,9), 2*3 = 6 possible hands each for a total of 18]
- flush [(heart, heart), choose(9,2) = 36 possible hands]
- 7-high straight [(6,7), 3*4 = 12 possible hands including 1 that was counted in the (heart, heart)]
Therefore, out of the choose(45,2) = 990 possible hole cards (since there's only 45 cards remaining in the deck), 66 would beat my hand. This would give me a 924/990 = 93.3% chance of winning against a single opponent.
The problem is, what are the odds that I'm beating every one of the N players around the table? The probabilities depend on each other in very complex ways: for example, if Player 1 has one of the 924 losing hands, the probability of the others players of having a losing hands depend on the Player 1's hand (if he has a (2,3) as hole cards, then the other players' odds of having a full-house and four-of-a-kind diminishes, or if he has a single heart, then the other players' odds of having a flush diminishes, etc.).
I tried many things for a while, but I can't seem to find a solution to find an analytical answer without resorting to Monte Carlo simulations. We'd either need to brute force all possible sequences of hole cards pairs (which is 543 billion possibilities for only N=4 players), or keep track of all past hole cards pairs (which would require about 10*300 bytes of memory).
The closest thing I've found online was this post that states "no one can compute the exact probabilities of beating 8 random opponents' hands (a full game is usually 9 players)."
This seems like a very simple problem: You're drawing cards from a deck in pairs. What are the odds that after N draws, at least one of the pairs was in an arbitrary list of pairs? Is this computation truly impossible?