March 4th, 2017 at 6:05:00 AM
permalink

Hi there,

I am practicing a math calculation on free game. When 5 scatters occur in base game, award 30 free games; when 4 scatters occur, award 20 free games; when 3 scatters occur, award 10 free games. And it is given that the probability of getting 5 scatters is P5, the probability of getting 4 scatters is P4 and the probability of getting 3 scatters is P3. The base game and free game uses the same reel strips. Free game could be triggered again with same rules. I compute the average pay for free game to be PF so the contribution of free game to overall payback is (P5+P4+P3)*PF. I verify this with simulation and they match up pretty good.

In my simulation, I simulate the free game part as

we assume the conditional probability to get 30, 20 and 10 free games is: PC5 = P5/(P5+P4+P3), PC4 = P4/(P5+P4+P3), PC3 = P3/(P5+P4+P3)

This works well and I get very accurate pays comparing to the exact calculation. I am thinking if I could estimate the pay when the initial number free game is given and calculate the contribution later like:

And calculate the overall pay as PC5*free_pay_30 + PC4*free_pay_20 + PC3*free_pay_10, but this number is very much different from what's given in free_pay. So are those two method should give the same result?

I am practicing a math calculation on free game. When 5 scatters occur in base game, award 30 free games; when 4 scatters occur, award 20 free games; when 3 scatters occur, award 10 free games. And it is given that the probability of getting 5 scatters is P5, the probability of getting 4 scatters is P4 and the probability of getting 3 scatters is P3. The base game and free game uses the same reel strips. Free game could be triggered again with same rules. I compute the average pay for free game to be PF so the contribution of free game to overall payback is (P5+P4+P3)*PF. I verify this with simulation and they match up pretty good.

In my simulation, I simulate the free game part as

we assume the conditional probability to get 30, 20 and 10 free games is: PC5 = P5/(P5+P4+P3), PC4 = P4/(P5+P4+P3), PC3 = P3/(P5+P4+P3)

for (spin=0; spin<10000000; spin++)

{

num_of_free_game = randomly pick 30/20/10 at PC5, PC4 and PC3

total_bet++; // each bet of base game spin is 1 credit

while (num_of_free_game; count>0)

{

pay += check winning pay;

num_of_free_game += additional free game if any

num_of_free_game--;

}

}

free_pay = pay/total_bet;

This works well and I get very accurate pays comparing to the exact calculation. I am thinking if I could estimate the pay when the initial number free game is given and calculate the contribution later like:

for (spin=0; spin<10000000; spin++)

{

num_of_free_game = 30

total_bet++; // each bet of base game spin is 1 credit

while (num_of_free_game; count>0)

{

pay += check winning pay;

num_of_free_game += additional free game if any

num_of_free_game--;

}

}

free_pay_30 = pay/total_bet;

for (spin=0; spin<10000000; spin++)

{

num_of_free_game = 20

total_bet++; // each bet of base game spin is 1 credit

while (num_of_free_game; count>0)

{

pay += check winning pay;

num_of_free_game += additional free game if any

num_of_free_game--;

}

}

free_pay_20 = pay/total_bet;

for (spin=0; spin<10000000; spin++)

{

num_of_free_game = 10

total_bet++; // each bet of base game spin is 1 credit

while (num_of_free_game; count>0)

{

pay += check winning pay;

num_of_free_game += additional free game if any

num_of_free_game--;

}

}

free_pay_10 = pay/total_bet;

And calculate the overall pay as PC5*free_pay_30 + PC4*free_pay_20 + PC3*free_pay_10, but this number is very much different from what's given in free_pay. So are those two method should give the same result?

March 4th, 2017 at 6:16:45 AM
permalink

In the second one, make sure you set total_bet=0 and pay=0 between the for(spin=0... loops.

I heart Crystal Math.

March 4th, 2017 at 8:17:29 AM
permalink

Quote:CrystalMathIn the second one, make sure you set total_bet=0 and pay=0 between the for(spin=0... loops.

Thanks. My bad. Actually, the original does reset those two variable to zero in the code I run. I just forget to do that in my copy and paste code.

March 5th, 2017 at 4:47:28 AM
permalink

Sorry to bother again. What I mean is I got those two variables reset to zero in each code section. But it doesn't fix the problem, I still get a very different numbers given by two methods.

March 5th, 2017 at 5:22:46 AM
permalink

So this post is from someone who has done absolutely 0 slot math.. so I may be way off base here, but is the problem with your assumption that PF = P3 + P4 + P5?

Seems these probabilities are not independent and therefore this is incorrect. Again, I could be way off base here.

Seems these probabilities are not independent and therefore this is incorrect. Again, I could be way off base here.

March 5th, 2017 at 8:00:28 AM
permalink

It seems like these should give the same results.

I heart Crystal Math.

March 5th, 2017 at 8:08:57 AM
permalink

Quote:konglifySorry to bother again. What I mean is I got those two variables reset to zero in each code section. But it doesn't fix the problem, I still get a very different numbers given by two methods.

Are you sure the "randomly pick 30/20/10 at PC5, PC4 and PC3" is working the way you expect it to work?

Also, what numbers are you getting in both cases - and in the second case, what do you get for free_pay_30, free_pay_20, and free_pay_10?

For that matter, what are your P3, P4, and P5 values?