I see you state on your webpages how your software is able to generate "true random numbers".
From the speed of your programs, I'm nearly certain you're not using Windows API's CryptGenRandom which is a capable cryptographically secure pseudo random number generator and absolutely certain you're not using true entropy sources. We all know PRNGs suck load when it comes to entropy, and with the exception of cryptographically secure ones, they don't pass well (or at all) statistical analysis tests. As John von Neumann puts it:
"Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin."
So the question would be, uhm… where does this true entropy come from, since it can't come from a PRNG (pseudorandom number generator) — they are unable to give true random numbers.
The second puzzle pertains to your BellCurveGenerator. Since the FFG MEDIAN for a given probability computes that in 50% of the cases, the numbers drawn come from the past N draws, isn't a history file necessary for any meaningful lotto draw generation?
The random in generation is determined by the randomization seed. The pseudo-random euphemism is caused by the usage of the computer Timer as the ransom... I mean, random seed. Read more here:
Just look at the two images of generating random roulette numbers. My ActiveX control replaces Timer with a special randomization function. You or I or any axiomatic Homo sapiens will NOT see the same random seed in a lifetime or two. Or, see the same sequence of numbers in a lifetime or two.
The results are indubitably compliant with any statistical test. In a vast majority of cases, the number of successes falls within 1 (just one) standard deviation from the norm (expected number of successes). That is, the random generator satisfies, by a wide margin, the normal probability rule or the test of Chi squared distribution.
The random generators also pass with flying colors the test of Ion Saliu's Paradox. If the probability of the event is p = 1/N and we generate N outcomes randomly, the ratio between unique elements and repeats will tend to (1 — 1/e) / (1/e) or 63% / 37%. In the case of double-zero roulette, p = 1/38. If we generate 38 random roulette numbers, around 65% will be unique and 35% will be repeats. (1 — 1/e or 63.2% is only a limit.) You can check as many 38-number groups as you want. You'll see that the amount of unique roulette numbers will average 25 (the closest integer to 65% of 38).
Oh, poor souls, self-proclaimed humble servants of gambling mathematics! How hurt they feel and how mouth-foamingly they curse me for advancing the concept of reversed gambler's fallacy — and thusly obliterating the cult of gambler's fallacy!
If the casino has, say, a 5% house advantage, then the winning probability is 52.5% for the casino and 47.5% for the player. The mind-corrupt gambler's fallacy claims that the casino will win this hand/spin, and the next one, and the next one… ad infinitum! Well, then, the probability is no longer equal to 52.5% — it is now the absurd 100%! The same is true about the mirror phenomenon: The player will win this spin, and the next one, and the next one… ad infinitum! Well, then, the probability is no longer equal to 47.5% — it is now an absurd 100%!
The Fundamental Formula of Gambling (FFG) proves undeniably that absolute certainty (degree of certainty equal to 100%) is absolute absurdity mathematically.
Even the idiotic pirates at Wikipedia bought now into the new gambling concept of reversed gambler's fallacy:
Cryptography is a totally different beast. It randomizes a value and creates a key to convert the shuffled value to its original state. My random generators do not serve cryptographic purposes.
”The Universe is all about Luck — luckily, no Super Nova is close enough to Terra … but it'll randomly happen … when Mnezau (Gawd) falls unpredictably asleep...”