I was able to estimate the contribution of the progressive to the EV, but I could not get the exact EV with my current VP analyzer. I have not been gambling much due to the pandemic. Out of boredom, I decided to add Sequential Royal Flushes (SRF) to my video poker analyzer. At first, I thought this might slow the analysis considerably. There are 120 different ways the cards can be dealt, so any dealt hand containing royal cards in one or more suits will have different expectation values (EVs) for holding the same cards, depending on the order of the dealt cards. I quickly realized that only holds that qualify as ordinary royal draws need to be handled specially. This is only four of 32 possible holds for the most complicated case of a dealt hand containing royal cards of four different suits.

My program takes 1.2 seconds to analyze the EV for a standard VP game using a single thread, and another 0.3 seconds to create a very accurate strategy for the game. I can analyze games with SRFs in 3.6 seconds. Therefore, games including SRFs only take three times longer than non-SRF games.

I use C++ to code my analyzer and emscripten to connect the C++ code to my html GUI. I suppose every VP analyzer has a loop like this:

for (dt = 0; dt < 32; dt++) {

pay = 0.0;

nh = numHeld[dt];

for (t = 0; t < maxType; t++) {

n = tCount(dt, t);

if (n > 0) {

pay += pays[t] * n;

}

}

holdEV[dt] = pay / divNumHeld[numJoker][nh];

}

This fills an array, double holdEV[32], with the EV resulting from each of the 32 possible draws. The variable, dt, is the draw-type index. The index, t, is the type of paying hand, and pay[t] holds the pay-table for this particular game. The array numHeld[dt] holds the number of cards held for each draw type. The store instance holds the precomputed number of ways of drawing each type of paying hand. The divNumHeld array tells me how many ways I can draw to a hand for a particular draw type and number of jokers (in this case, zero jokers).

To handle SRFs, I add a bit of code inside this loop that only triggers if it is possible to draw an ordinary RF (t == isRF):

for (dt = 0; dt < 32; dt++) {

pay = 0.0;

nh = numHeld[dt];

for (t = 0; t < maxType; t++) {

n = tCount(dt, t);

if (n > 0) {

pay += pays[t] * n;

if (t == isRF) {

for (int ord = 0; ord < 120; ord++) {

if Seq(ord, dt)) {

nSeqRF[ord][dt] += n;

rSeqRF[119 - ord][dt] += n;

}

}

}

}

}

holdEV[dt] = pay / divNumHeld[numJoker][nh];

}

This added code considers the 120 possible ways the hand can be dealt, checks if the order makes this draw type a SRF draw, and then stores the number of normal SRFs (nSeqRF) and reverse-order SRFs (rSeqRF) that are possible for each ordering and draw type. I had carefully defined the 120 hand orders such that the 120th ordering is the opposite of the first ordering, the same for the 119th and 2nd orderings, etc. Therefore, I don't need to have a separate function that decides whether a reverse SRF is possible. If the Nth ordering makes a SRF possible, the the (120 - N)th ordering makes a reverse SRF possible.

Note that out of 32 draw types, only between one and four draws can yield any royals. So, the ord-loop code rarely executes, and the isSeq(ord, dt) function usually returns false, so the inner code rarely executes. This preliminary calculation doesn't take as much time as I expected.

The part of the analysis that takes extra time is finding the right hold for each order. For normal video poker, I search the holdEV[dt] to find the draw type that gives the highest EV. With SRFs, I simply do this 120 times for the different orders after adjusting the holdEV[dt] for the numbers of SRFS (nSRF = nSeqRF +rSeqRF). This adjustment is only a function of the number of cards held and nSRF, so I use a precomputed array to adjust the holdEV array and avoid some floating point operations:

holdEV[dt] += extraSeqEV[nh][nSRF];

I then determine the hold with the highest EV for all 120 orderings of the dealt cards, and use the average of all these 120 EVs for the EV of the hand.

I could speed the code up more by only doing the best-EV recalculation for orderings of the dealt hands where any SRFS are possible. For example, if a dealt hand has only one RF card, then only 24 of the 120 orderings have a SRF draw and another 24 have a reverse SRF draw. (If the RF card is a queen, the same 24 orderings pertain to both.) When there are four or five cards to the RF, only two of the 120 orderings have SRF draws. All of the other orderings have the same strategy and EV. I prefer to keep the code simple, and I just burn the CPU cycles to loop over all 120 orderings.

As a sanity check, I set the SRF payoff to 1,000,000 for one. This means all SRF draws holding 3 to 5 cards are the best hold, even holding three to a RF versus holding trips. It is easy to calculate the cycles for SRFs when you always draw for them. I calculated the cycle for drawing a SRF holding 3, 4, or 5 cards and put these in the last column. These exactly match the cycles that came out of my VP analyzer:

# Held | Probability | % of SRF | SRF Cycle | Calc Cycle |
---|---|---|---|---|

0 | 0.00000000093 | 0.13% | 1073294773 | = |

1 | 0.00000005405 | 7.50% | 18500741 | = |

2 | 0.00000025547 | 35.44% | 3914397 | = |

3 | 0.00000025651 | 35.58% | 3898440 | 3898440 |

4 | 0.00000012826 | 17.79% | 7796880 | 7796880 |

5 | 0.00000002565 | 3.56% | 38984400 | 38984400 |

For a SRF paying 10,000 for one, the cycle for getting a SRF holding three cards is slightly longer than the example above. For holding 4 or 5 cards, the cycles are still the same, as I would expect:

# Held | Probability | % of SRF | SRF Cycle | Calc Cycle |
---|---|---|---|---|

0 | 0.00000000119 | 0.22% | 838235093 | = |

1 | 0.00000001414 | 2.66% | 70710440 | = |

2 | 0.00000011205 | 21.10% | 8924322 | = |

3 | 0.00000024987 | 47.04% | 4002102 | 3898440 |

4 | 0.00000012826 | 24.15% | 7796880 | 7830200 |

5 | 0.00000002565 | 4.83% | 38984400 | 38984400 |

If I run the program for a range of SRF payoff values, I can see how the EV increases with the value of the SRF,

SRF Pays | SRF EV | Game EV | SRF Cycle |
---|---|---|---|

800 | 0.03% | 96.87% | 2414162 |

5000 | 0.26% | 97.07% | 1935832 |

10000 | 0.54% | 97.34% | 1863686 |

15000 | 0.81% | 97.61% | 1851058 |

20000 | 1.08% | 97.88% | 1846229 |

40000 | 2.35% | 99.00% | 1701320 |

60000 | 3.65% | 100.19% | 1645224 |

80000 | 4.90% | 101.42% | 1633834 |

100000 | 6.48% | 102.65% | 1543558 |

120000 | 8.11% | 103.97% | 1479061 |

The frequency of SRFs is one in 2,414,162 when they pay the same as a normal royal. This drops to one in 1,479,061 when the SRF pays 120,000 for one and the player makes all the right strategy changes.

Quote:WizardWhat is the full pay table for the game?

The first two tables were computed for 9/6 JoB.

The article I read said the big SRF was hit while playing 6/5 Bonus Poker. Below is the pay table for the third table in the original post.

Hand Name | Payout | Probability | Cycle | % of Return |
---|---|---|---|---|

SeqRF | 120680 | 0.00000067616 | 1478930.96 | 8.159948% |

Royal | 800 | 0.00002557266 | 39104.2679 | 2.045812% |

Str_Flush | 50 | 0.00010474637 | 9546.87064 | 0.523732% |

Quads | 25 | 0.00162391036 | 615.797537 | 4.059776% |

QuadA | 80 | 0.00020138345 | 4965.65125 | 1.611068% |

Quad234 | 40 | 0.00052530403 | 1903.65948 | 2.101216% |

Full_House | 6 | 0.01134779636 | 88.1228361 | 6.808678% |

Flush | 5 | 0.01075497391 | 92.9802348 | 5.377487% |

Straight | 4 | 0.01105209506 | 90.4805826 | 4.420838% |

Trips | 3 | 0.07393991086 | 13.5244956 | 22.181973% |

Two_Pair | 2 | 0.12854140450 | 7.77959447 | 25.708281% |

JOB | 1 | 0.21019485503 | 4.75749038 | 21.019486% |

Nada | 0 | 0.55168737125 | 1.81262079 | 0.000000% |

Assuming no strategy changes from 6-5 bonus poker, I get an average royal win of 2,798 and a return of 101.83%.

What denom is this game?

I may personally check it out tomorrow.

Quote:WizardMy eyebrows are raised.

Assuming no strategy changes from 6-5 bonus poker, I get an average royal win of 2,798 and a return of 101.83%.

What denom is this game?

I may personally check it out tomorrow.

I believe he is referring to the one that hit at Red Rock that is 0.25 denom.

Quote:DRichI believe he is referring to the one that hit at Red Rock that is 0.25 denom.

Right. I am sorry that I could not figure out how to link the article here. /news/local-news/gambler-hits-150k-jackpot-at-red-rock-casino-resort/ I am only inferring from the picture in the article that this is a reversible royal game, but maybe it is one-way with AKQJT order or even wrap-around.

The return for a one-way sequential royal is 100.43374301%

# Held | Probability | % of SRF | SRF Cycle | Calc Cycle |
---|---|---|---|---|

0 | 0.00000000060 | 0.19% | 1676470186 | = |

1 | 0.00000001282 | 4.06% | 78032126 | = |

2 | 0.00000009671 | 30.67% | 10339768 | = |

3 | 0.00000012824 | 40.67% | 7797601 | 7796880 |

4 | 0.00000006413 | 20.34% | 15593760 | 15593760 |

5 | 0.00000001283 | 4.07% | 77968800 | 77968800 |

It is not true for the 10,000 SRF. For a 10,000 SRF, only the SRF cycle numbers for a five card hold are the same. You don't break up a dealt straight flush, 9TJQK, so the cycle is longer for hitting 4-card SRF draws, than for a strategy where you always draw for SRFs.

Quote:AxelWolfBack in June I got a call regarding this Progressive with veg details, other than some super inflated percentage. Since there were lots of unknown details to me, I thought there could be more to this, perhaps a progressive dump or something. I do appropriate the effort but after more information I tried to explain why this was not something I was interested in. the person seemed annoyed that I wasn't interested. I tried to explain why but they seem to be focused on the large number and small bet.

I also know few of the details. Was this a two-way SRF game? Single machine or linked bank? What is the meter rate? If I assume 2% meter. 10K bet meter reset level, and 1.8M RSRF cycle, then this only went a bit over three cycles before hitting. If the meter is much slower, then it is less likely that the progressive got to 120K bets by ordinary accumulation.

The variance is 9869 * $1.25

^{2}=15,420 $

^{2}. That is slightly lower variance than playing FPDW at $25 per hand (16,147 $

^{2}). I would have played some if I was in the neighborhood. Many folks don't have the bankroll for it, but the hourly EV is okay.