1-ply vs. 2-ply lotteries. Whether you consider a ply to refer to the game of chess or toilet paper…
On a 'news' thread, we were kicking around the idea of someone who found the RNG that matched a real lottery game. I commented that you could do well enough without knowing the exact system a game used. And might do even better. Here's how…
I = the Lottery, you = the player. I'll use single digit numbers for simplicity.
I have an RNG, Sys_A. Every day, I run Sys_A up to 10,000 times for 'testing' like some of the lotteries do before each draw. Over 5 days I pick out the 500th, 958th, 2000th, 7535th, and 8376th drawing for my official numbers. I get 1,7,3,9, & 4. Notice that the draws picked out for my official numbers are not equally spaced. The first 'ply' is the RNG. The second 'ply' is how many times (generated by another RNG?) the first function is run before the number is pulled. In this case, the numbers generated by the second 'ply' are 500, 958, 2000, 7535, and 8376. You could argue that this is the true draw order, not 1, 2, 3, 4, & 5.
You have a system, Sys_B. You run Sys_B five times and get 1,7,3,9, & 4.
Question. Could a third party, without looking at the code, tell that these systems were different?
Put another way; when we look at the drawings how do we know where we are looking along the string of outputs?
It seems to me that even if you had Sys_A, your first 5 draws (most likely) wouldn't match my drawn numbers, because you don't know how many times I will 'step' the function before I pull the trigger. This may be the answer to the question of how the writers of the RNG programs are prevented from capitalizing on their inside knowledge of the code. And playing the 6th number picked by Sys_B may do better for you than playing the 6th number picked by Sys_A. This goes to my straight path - winding road (coincident occurrence) comment made elsewhere.
You could even add a third RND (ply) to cycle the second RNG.
Finally, let's not turn this into a ball VS. computer thread. Too many of those already.