Emmy Blumenthal is a recent high school graduate from Rowland Hall High School in Salt Lake City. In fall 2019, they will matriculate to Boston University where they will be pursuing a degree in physics. Emmy’s underlying motivation to study physics comes from the intuitive and simultaneously abstract nature of the field. In addition to studying physics, Emmy enjoys drinking tea, running, climbing, and dancing.
Computational Essay: Space Curves and Sentiments about the Human Experience
Project: Systematic Randomness Testing
This project aims to implement systematic randomness testing into the Wolfram Language through both theoretically designed tests and Monte Carlo–designed tests. The tests use a sequence of either zeros and ones or reals between zero and one as input and return a p-value evaluating the null hypothesis that the sequence is indeed random. The general design of the tests is to create a statistic of some property of random sequences and derive a sampling distribution theoretically or using a Monte Carlo method. The project implements equidistribution and diehard tests—the applications of which include evaluating random-number generators like cellular automata rules or evaluating a statistical sampling technique.
Summary of Results
In this project, I have successfully implemented eight unique tests that evaluate both sequences of zeros and ones and sequences of reals between zero and one. The implemented tests are serial, run length, run count, chi square, spectral, Kolmogorov–Smirnov, cumulative sum and arcsine law tests. Some tests are generated using a Monte Carlo method while others are theoretically derived. Some tests are implemented directly from methods published by NIST. The tests have additionally been applied to test the randomness of rule 30 and linear feedback shift registers; the randomness of rule 30 was not rejected while the randomness of a maximal linear feedback shift register was rejected using a spectral test.
The scope of this project can be extended by implementing more tests including those that assess the entropy/information within a sequence. Some sequences fail particular tests, so a unified conclusion describing the nature of the non–randomness of a sequence is another direction. Randomness, complexity and information/entropy are all concepts that are deeply intertwined, so creating measures that reflect these concepts within a sequence could be clarifying. Additionally, computational research into what an ideal α-value may be useful. Finally, one could also investigate the applications of randomness testing in more detail to assess systems like nonlinear feedback shift registers.