Preamble
The idea of generating randomness via computers goes back to von Neumann's and his team of colleagues work in Princeton and Los Alamos. Even though, he was sceptical about the idea of generating randomness via computer programs, this practice is now almost a de-facto standard, so the name pseudo-random-number-generator (PRNG). Is there a way to generate better PRNGs? This is a continuous research. A practical matter of seeding is often ignored because a good PRNG should be reliable regardless of seeding, however, in repeated calls to a random sequence may degrade this view.
PRNGs bird's eye view : Simulating Randomness
![]() |
| Wigner's Cat (Leymosun Package) |
Concept of a seed
An other concept is a seed, it can be the first number to start recurrence but it can also be some other form of something related to random generation, if $x_{0}$ is fixed or has some complicated formula. We usually put seed like 42 or 4242 or some other integer. There are actually used code with seeds 12345.
Anytime we call a randomisation functions, such as sampling
How eliminating seeding improves things? High-Entropy Randomness
We use new seeds at each new call, this would generate a different sequence and yields us to sample it. This practice would improve the non-predictability as we sample different sequences. But then the question is, where to get the seeds at each call? The answer lies on the "entropy pool" provided by the operating systems, such us Unix's "/dev/random". Essentially they are kind of random devices we tap into. By using hybrid approach of pseudorandom generation via algorithms and seeding from random devices yields to an increased, High-Entropy randomness.
Leymosun: Tested implementation
Leymosun Python package provides this facility, using its random module functionality operates as described above and one doesn't need to provide any seeding, it uses non-deterministic seeding. Using NIST's test, we have shown that high-entropy approach gives higher pass scores in randomness tests compare to baseline seeding, such as 42. To install, just use:
pip install leymosun
Conclusion
Using high-quality randomness for research is quite critical. We have shortly discussed this covering the new approach of using RNGs.
Further reading and links
- Leymosun Package
- Leymosun NIST tests Lecture notes notebook:
Please cite as follows:
@article{suzen21,
title={Empirical deviations of semicircle law in mixed-matrix ensembles},
author={S{\"u}zen, Mehmet},
year={2021},
journal={HAL-Science},
url={https://hal.science/hal-03464130/}
}
