547.14—What are the minimum technical standards for electronic random number generation?

This section provides minimum standards for electronic RNGs in Class II gaming systems.
(a) Properties. All RNGs shall produce output having the following properties:
(1) Statistical randomness;
(2) Unpredictability; and
(3) Non-repeatability.
(b) Statistical Randomness. (1) Numbers produced by an RNG shall be statistically random individually and in the permutations and combinations used in the application under the rules of the game. For example, if a bingo game with 75 objects with numbers or other designations has a progressive winning pattern of the five numbers or other designations on the bottom of the card and the winning of this prize is defined to be the five numbers or other designations are matched in the first five objects drawn, the likelihood of each of the 75C5 combinations are to be verified to be statistically equal.
(2) Numbers produced by an RNG shall pass the statistical tests for randomness to a 99% confidence level, which may include:
(i) Chi-square test;
(ii) Equi-distribution (frequency) test;
(iii) Gap test;
(iv) Poker test;
(v) Coupon collector's test;
(vi) Permutation test;
(vii) Run test (patterns of occurrences shall not be recurrent);
(viii) Spectral test;
(ix) Serial correlation test potency and degree of serial correlation (outcomes shall be independent from the previous game); and
(x) Test on subsequences.
(c) Unpredictability. (1) It shall not be feasible to predict future outputs of an RNG, even if the algorithm and the past sequence of outputs are known.
(2) Unpredictability shall be ensured by reseeding or by continuously cycling the RNG, and by providing a sufficient number of RNG states for the applications supported.
(3) Re-seeding may be used where the re-seeding input is at least as statistically random as, and independent of, the output of the RNG being re-seeded.
(d) Non-repeatability. The RNG shall not be initialized to reproduce the same output stream that it has produced before, nor shall any two instances of an RNG produce the same stream as each other. This property shall be ensured by initial seeding that comes from:
(1) A source of “true” randomness, such as a hardware random noise generator; or
(2) A combination of timestamps, parameters unique to a Class II gaming system, previous RNG outputs, or other, similar method.
(e) General requirements. (1) Software that calls an RNG to derive game outcome events shall immediately use the output returned in accordance with the game rules.
(2) The use of multiple RNGs is permitted as long as they operate in accordance with this section.
(3) RNG outputs shall not be arbitrarily discarded or selected.
(4) Where a sequence of outputs is required, the whole of the sequence in the order generated shall be used in accordance with the game rules.
(5) The Class II gaming system shall neither adjust the RNG process or game outcomes based on the history of prizes obtained in previous games nor make any reflexive or secondary decision that affects the results shown to the player or game outcome. Nothing in this paragraph shall prohibit the use of entertaining displays.
(f) Scaling algorithms and scaled numbers. An RNG that provides output scaled to given ranges shall:
(1) Be independent and uniform over the range;
(2) Provide numbers scaled to the ranges required by game rules, and notwithstanding the requirements of paragraph (e)(3) of this section, may discard numbers that do not map uniformly onto the required range but shall use the first number in sequence that does map correctly to the range;
(3) Be capable of producing every possible outcome of a game according to its rules; and
(4) Use an unbiased algorithm. A scaling algorithm is considered to be unbiased if the measured bias is no greater than 1 in 100 million.