rakesh Joined: Jun 29, 2021
• Posts: 6
July 11th, 2021 at 12:47:36 AM permalink
I have a slot machine with 5 reels are 3 rows
Each reel has 60 symbols(8 different symbols)
I have calculated complete math for line win from left to right win for 3, 4, 5 of a kind.
I want to simulate this math in excel. I do not have any experience in simulating slot math in excel.
Could some body give me some hint or some idea or any link to learn and complete the simulation please !
I am trying to learn Monte carlo method also to simulate .
sr71 Joined: Aug 30, 2021
• Posts: 13
August 30th, 2021 at 6:12:08 PM permalink
I could easily simulate it BUT.. I dont understand exactly what you mean by the reels and rows. I need clarity on what exactly is spinning. can you explain AND post a picture of such a machine?
ssho88 Joined: Oct 16, 2011
• Posts: 552
Thanks for this post from: August 30th, 2021 at 7:23:32 PM permalink
Quote: rakesh

I have a slot machine with 5 reels are 3 rows
Each reel has 60 symbols(8 different symbols)
I have calculated complete math for line win from left to right win for 3, 4, 5 of a kind.
I want to simulate this math in excel. I do not have any experience in simulating slot math in excel.
Could some body give me some hint or some idea or any link to learn and complete the simulation please !
I am trying to learn Monte carlo method also to simulate .

In each reel, how many numbers of each symbol ? 7,7,7,7,8,8,8,8 ?

I think it can be calculated manually without simulations,
BleedingChipsSlowly Joined: Jul 9, 2010
• Posts: 944
Thanks for this post from: August 30th, 2021 at 8:08:15 PM permalink
To expand on ssho88�s post, you need to specify exactly what symbols are on each reel and in what order. You can get started with Monte Carlo Excel simulations Here
Last edited by: unnamed administrator on Sep 8, 2021
�You don�t bring a bone saw to a negotiation.� - Robert Jordan, former U.S. ambassador to Saudi Arabia
charliepatrick Joined: Jun 17, 2011
• Posts: 2424
Thanks for this post from: August 31st, 2021 at 4:56:25 AM permalink
Sorry - I'd use excel (with perhaps some coding) to work out the mathematical values, but I always use coding for the simulations.

One way to check your calculations is to use brute force, however with 60 on each of the 5 reels, without factoring, this might be too big for excel! (Another method if it's a simple game is to look at ways symbols could line up and work out how often each combination can happen e.g. Bell,Bell,Bar,Bar,Bell might be 5*5*8*8*5.). Also, I don't know, but it's possible the builtin RAND() might not be good enough for rigorous testing as each of the 777.6m possibilities should have an equal chance.
rakesh Joined: Jun 29, 2021
• Posts: 6
August 31st, 2021 at 10:01:32 PM permalink
Quote: sr71

I could easily simulate it BUT.. I dont understand exactly what you mean by the reels and rows. I need clarity on what exactly is spinning. can you explain AND post a picture of such a machine?

abbcdbggfhacdbbhddacabbcdbggfhacdbbhddacabbcdbggfhacdbbhddac reel 1 (column 1)
abbcdbggfhacdbbhddacabbcdbggfhacdbbhddacabbcdbggfhacdbbhddac reel 2 (column 2)
abbcdbggfhacdbbhddacabbcdbggfhacdbbhddacabbcdbggfhacdbbhddac reel 3 (column 3)
abbcdbggfhacdbbhddacabbcdbggfhacdbbhddacabbcdbggfhacdbbhddac reel 4 (column 4)
abbcdbggfhacdbbhddacabbcdbggfhacdbbhddacabbcdbggfhacdbbhddac reel 5 (column 5)

select randomly one symbol from each column

col1 col2 col3 col4 col5

d d d a h

Here left to right 3 d consecutive symbols so its a win (suppose player bet was \$2 so prize is 2 times 5) multiplier for 3d to award prize.
In same way we calulate for all symbols present in columns (3a, 3b, 3c,.....)

Math calculation:
symbol d on each reel = 12
Total symbols on each reel = 60

So for 3d (d d d non-d non-d)
(12/60) x (12/60) x (12/60) x (60-12)/60 x (60-12)/60

This is the probability . This way we calculate winning probability and then calculate the expected prize.

Now we can simulate this by writting the code(program) for same thing using Python, JAVA,... any language.
Now we run this program suppose 1 million times and check the result winning %age . This should match with our
mathematical calculation done above in excel.

Now question is how to do the above simulation using excel ?
And how to implement here Monte Carlo simulation ?
rakesh Joined: Jun 29, 2021
• Posts: 6
August 31st, 2021 at 10:10:18 PM permalink
Quote: BleedingChipsSlowly

To expand on ssho88�s post, you need to specify exactly what symbols are on each reel and in what order. You can get started with Monte Carlo Excel simulations here: /en-us/office/introduction-to-monte-carlo-simulation-in-excel-64c0ba99-752a-4fa8-bbd3-4450d8db16f1

Its looking useful and helpful , thanks for providing the helpful . I will go through this and will come back with its details.
Last edited by: unnamed administrator on Sep 8, 2021
rakesh Joined: Jun 29, 2021
• Posts: 6
August 31st, 2021 at 10:14:17 PM permalink
Quote: ssho88

In each reel, how many numbers of each symbol ? 7,7,7,7,8,8,8,8 ?

I think it can be calculated manually without simulations,

Yes it can be calculated using probability theory . But that data will be mathematical data.
We simulate to check , what we have calculated mathematically is correct or not . And how much practical our mathematical calculation is. Joined: Jul 3, 2015
• Posts: 30
Thanks for this post from: September 7th, 2021 at 11:41:11 PM permalink
Quote: rakesh

So for 3d (d d d non-d non-d)
(12/60) x (12/60) x (12/60) x (60-12)/60 x (60-12)/60

But it can also be xdddx or xxddd, right? So multiply that by 3. And then you're still not done because it can also be dddxd or dxddd, each of which have probability (48/60)(12/60)^4

Another approach is inclusion-exclusion: 3(12/60)^3 - 2*2(12/60)^4 + (12/60)^5

In general, if a symbol's probability is p, then:
P(exactly 3) = 3p^2 - 4p^4 + p^5
P(exactly 4) = 2(1-p)p^4
P(5) = p^5

If you still want to run a sim, one step can be to generate a vector of 5 random numbers obeying the distribution of these symbols. For instance you can pick a random integer r from 1-60 and count it as an "f" if the r<4, else a "g" if r<10, and so on. Or you can have a vector of the 60 elements and pick a random element from it. (Edit - If there's no command for that, you can pick a random number r from 1-60 and reference the r'th element of the array.)

Next step, once you have a vector V of 5 random numbers, you can have a loop that increments a variable k and checks if V[k]==V[k+1]==V[k+2] ≠ V[k+3]

That's the basic idea, anyway.
Last edited by: AlmondBread on Sep 8, 2021