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?