Quote:
Originally Posted by statmanhal
I developed a simple formula for being outsetted on the flop. It is:
Pr(your set of rank R is out-setted on the flop if N opponents see the flop) = N*(14-R)*0.0415%.
Using this and combining it with the chance N opponents see the flop (if a flop, there is at least 1 opponent), I came up with odds of 110,000 to 1 for you losing to oversets two consecutive hands given you had a set each time on the flop. If you want to include the chance of you getting a set for each of the hands, the odds zoom to several billion to 1 against.
It's only 44.32 million to 1, not several billion. I calculated it exactly 2 different ways and also by simulation. Even using your formula I only get 49.6 million, but I found yesterday that the factor of 0.0415% in your formula needs to be 0.0458% in order to match my exact calculation for the flop since we are requiring the flop to be unpaired. Your 0.0415% corresponds to what you would get if you allowed the flop to be paired with fh or quads. Using 0.0458% gives 1 in 40.7 million for just the flop which doesn't consider the possibility of getting quads by the river. If I take the quads into account, I get 44.47 million, and if I use my exact value instead of 0.0458%, I get the 44.32 million, basically dead nuts in agreement with the other calculation and the sim. The 0.0458% gives a combined probability over all pairs 2-K of 0.02679 and 1/0.02679^2 = 1 in 1393. Using 0.0415% gives 1 in 1697, so I don't know where your 110,000 to 1 came from.
P(underset on flop and lose) =
P(XYZ flop) *
P(dealt XX, YY, or ZZ) *
[ P(exactly 1 other set out) * P(lose to higher set) *
(1-P(quads and no quads for opponent)) +
P(2 other sets out) * P(lose to higher set) *
(1-P(quads and no quads for opponents) ]
Note that the probability on each line is conditional on the previous lines.
52/52 *48/51 * 44/50 *
9/C(49,2) *
[ (9*6/C(47,2) - 2*C(9,2)*6*3/C(47,2)/C(45,2)) * 1/2 *
(1-1*43/C(45,2)) +
C(9,2)*6*3/C(47,2)/C(45,2) * 2/3 *
(1-1*41/C(43,2)) ]
=~ 0.00015 or 1 in 6657
Squaring for 2 in a row gives about 1 in 44.32 million
Simulation:
Code:
PLAYERS = 10
deck =rep(2:14,4)
count = 0
sims = 0
while(1) {
cards = sample(deck,2*PLAYERS+5,F)
board = cards[(2*PLAYERS+1):(2*PLAYERS+5)]
first = cards[1:PLAYERS]
second = cards[(PLAYERS+1):(2*PLAYERS)]
if ( first[1]==second[1] & (first[1] %in% board[1:3]) & length(unique(board[1:3]))==3 ) {
ovsets = first[which((first==second) & (first %in% board[1:3]) & (first > first[1]))] # Over sets
if ( any(ovsets) & sum(board %in% first[1])<2 ) count = count + 1
}
sims = sims + 1
}
p = count/sims
error = 3.29*sqrt(p*(1-p)/sims)
p
p-error
p+error
Output:
> p
[1] 0.000152
> p-error
[1] 0.000124
> p+error
[1] 0.00018
Exact table P(oversetted) for 222-KKK on flop (compare to your formula - this is what you want to match):
Code:
>exact_table
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
[1,] NA NA NA NA NA NA NA NA NA
[2,] 0.005496 0.010992 0.01649 0.02198 0.02748 0.03298 0.03847 0.04397 0.04946
[3,] 0.005038 0.010076 0.01511 0.02015 0.02519 0.03023 0.03527 0.04030 0.04534
[4,] 0.004580 0.009160 0.01374 0.01832 0.02290 0.02748 0.03206 0.03664 0.04122
[5,] 0.004122 0.008244 0.01237 0.01649 0.02061 0.02473 0.02885 0.03298 0.03710
[6,] 0.003664 0.007328 0.01099 0.01466 0.01832 0.02198 0.02565 0.02931 0.03298
[7,] 0.003206 0.006412 0.00962 0.01282 0.01603 0.01924 0.02244 0.02565 0.02885
[8,] 0.002748 0.005496 0.00824 0.01099 0.01374 0.01649 0.01924 0.02198 0.02473
[9,] 0.002290 0.004580 0.00687 0.00916 0.01145 0.01374 0.01603 0.01832 0.02061
[10,] 0.001832 0.003664 0.00550 0.00733 0.00916 0.01099 0.01282 0.01466 0.01649
[11,] 0.001374 0.002748 0.00412 0.00550 0.00687 0.00824 0.00962 0.01099 0.01237
[12,] 0.000916 0.001832 0.00275 0.00366 0.00458 0.00550 0.00641 0.00733 0.00824
[13,] 0.000458 0.000916 0.00137 0.00183 0.00229 0.00275 0.00321 0.00366 0.00412
Average over all pairs:
Code:
>exact_prob
[1] 0.00278 0.00554 0.00831 0.01107 0.01382 0.01657 0.01931 0.02204 0.02478
Code for flop exact table and exact_probs:
Code:
### Exact for outsetted on flop
exact = matrix(rep(0,13*9),nrow=13)
n = col(exact)
R = 14 - row(exact)
r = row(exact) - 2
C = function(n,k) choose(n,k)
exact = R*r/C(12,2) * n*3/C(47,2) +
C(R,2)/C(12,2) * ( n*6/C(47,2) - C(n,2)*6*3/C(47,2)/C(45,2) )
exact[1,1:9] = NA
exact_prob = colSums(exact[2:13,])/13
exact
exact_prob
I also have a very involved exact calculation for yesterday's problem that I spent a lot of time on. It matches the sim perfectly with particular assumptions, but I bagged it when I found that the other OP had filter issues and probably didn't even care whether we exclude paired flops.
Last edited by BruceZ; 03-12-2013 at 12:55 PM.