Let's start by summarising everything we know about his strategy:
Disclaimer: the following technical analysis is only speculation on where Aristocrat engineers may have gone wrong, and how Alex may have exploited it.
- Alex required results from about 24 spins in order to predict future outcomes.
- Agents would wait for the right moment to press the spin button.
- Brendan Koerner was able to trace the origins of the PRNG algorithm - pseudo random number generator (from the mathematical proofs provided by Alex) to the book The Art of Computer Programming.
The simplest PRNG algorithm described in The Art of Computer Programming which gives satisfactory results is actually quite simple:
- The PRNG that might have been used in Aristocrat cabinets
RNG = (a * PreviousRNG + c) mod m
This algorithm, known as Linear Congruential Generator (LCG), is still used as a default PRNG algorithm in many programming languages (e.g. Java).
Could Aristocrat slot machine developers simply have used the default PRNG algorithm provided by the programming language they used? Or could they have used the simplest PRNG which meets the requirement of uniformity?
I think that it’s possible scenario. This default algorithm works and meets the criteria of uniformity of generated random numbers. It might have met all the criteria programmers were working in the requirements specification.