The normal exact formula for computing equity P after the flop with 2 cards to come given x outs and 47 unseen cards is:
Px = (93 - x)*x/21.62
I came up with a recursive formula that computes the next value if you know the previous 2 values i.e. P
z is computed given P
x and P
y:
Pz ≈ Py - Px + Py - .09
So if you know that P
8 ≈ 31.45 and P
9 ≈ 34.97, then:
P10 ≈ 34.97 - 31.45 + 34.97 - .09 ≈ 38.40
Which is off by less 0.01%
If you continue the recursion to compute successive values, the error accumulates and it becomes less and less accurate. Beginning with P
0 = 0 and P
1 ≈ 4.26, will produce the following results:
Code:
Outs Approx Equity Error
0 0.00 0.00 0.00
1 4.26 4.26 0.00
2 8.43 8.42 0.01
3 12.51 12.49 0.02
4 16.50 16.47 0.03
5 20.40 20.35 0.05
6 24.21 24.14 0.07
7 27.93 27.84 0.09
8 31.56 31.45 0.11
9 35.10 34.97 0.13
10 38.55 38.39 0.16
11 41.91 41.72 0.19
12 45.18 44.96 0.22
13 48.36 48.10 0.26
14 51.45 51.16 0.29
15 54.45 54.12 0.33
16 57.36 56.98 0.38
17 60.18 59.76 0.42
18 62.91 62.44 0.47
19 65.55 65.03 0.52
20 68.10 67.53 0.57
If you replace the approximate .09 constant with the more accurate approximate constant .0925, then you get the following:
Code:
Outs Approx Equity Error
0 0.00 0.00 0.00
1 4.26 4.26 0.00
2 8.43 8.42 0.01
3 12.50 12.49 0.01
4 16.48 16.47 0.02
5 20.37 20.35 0.02
6 24.17 24.14 0.03
7 27.88 27.84 0.03
8 31.49 31.45 0.04
9 35.01 34.97 0.04
10 38.44 38.39 0.05
11 41.77 41.72 0.05
12 45.01 44.96 0.06
13 48.16 48.10 0.06
14 51.22 51.16 0.07
15 54.19 54.12 0.07
16 57.06 56.98 0.08
17 59.84 59.76 0.08
18 62.53 62.44 0.09
19 65.12 65.03 0.09
20 67.62 67.53 0.09
Now we are accurate to within 0.1%. Not bad for just a couple of additions and a couple of subtractions for each iteration.
Another way of reducing the error is by memorizing just 2 or 3 key pairs of values, so that you are not extrapolating too far.
A nice property of the formula is that it can be used to go backward too. Just swap P
x with P
z as follows:
Px ≈ Py - Pz + Py - .09
For example, with P
8 ≈ 31.45 and P
9 ≈ 34.97, we can compute:
P7 ≈ 31.45 - 34.97 + 31.45 - .09 ≈ 27.84
The normal exact formula gives the same result when rounded to 2 decimal places. By going both forward and backward and not just forward, how far you need to extrapolate gets cut in half producing even more accuracy.
Using all the tricks, you can get quite good results using numbers accurate to a tenth of a percent instead of working with numbers accurate to a hundreth of a percent.
BTW, even though it is presented as an approximation, it can be made to be exact by starting with exact values and replacing the approximate constant .0925 with the exact 1/10.81. Exact in theory at least. In practice, YMMV.
This is something I came up with just today. I thought I'd post it in case anyone might interested in fiddling around with it. Despite my original intent, I don't think I'll be using this when I play poker. The more usual approximations are good enough and I'm used to using them.