I was thinking about how a fruit machine simulation would work and one question that has always puzzled me is how they adjust the odds for winning (or perhaps I should say losing). I.e. the person that owns or is renting the fruit machine can adjust the odds to a particular percentage payout. E.g. 70% payout would equate to the punter gets back 70p (on average) out of each pound that is inserted. It's a well know factoid in the UK that certain fruit machines, e.g. where there is a high volume of passing trade, like a fast food place, have very low payouts - which is to say that the payout percentage has been set low.
One way that I could simulate this would be to set up three arrays that would represent the three (just three for now) reels and populate the arrays, e.g. array1 = { "melon", "pear", "apple", etc }, and likewise for array2 and array3, then have a payoff array. We pick an index at random in each of the three arrays (reels) and then compare this value to the payoff array, so we might get "pear", "pear", "pear" and check in the payoff array where three pears pays 2.00. In this case the frequency of the fruit symbols and their combinations will determine the average payout over time.
Rather than just apply a percentage factor to the winning amount, imagine that there is a payout list on the front of the machine that says "Three pears pays 2.00", "Three apples pays 3.00", so we can't just say 2.00 / 70%. One way that I could change the payout percentage would be to have say 50 fruit symbols in each reel array and change the frequencies of the different fruit items. A bit of tweaking and this should do.
But bearing in mind that reels in a real fruit machine are fixed, how do they change the payout percentage? If I know this then perhaps I could think how this would work in an analogous way in a simulation.
Anyone have any ideas how this works in RL?