using Pi as a pseudorandom number generator
The digits of transcendental numbers such as $\pi = 3.14159 \dots$ pass many tests for randomness. So, take the first 1000 digits and use it to simulate 500 tosses of a coin, taking even digits to represent Heads and odd digits to represent Tails. Is this simulation consistent with 500 independent tosses of a fair coin?
First, get the digits here:, download the file and read it into
R and call it PI
PI <- read.table("\your_path\PI.txt",quote="\"")
pi_digits <- unlist(strsplit(as.character(PI[1,]),""))[2:1000]
The proportion of even numbers in the first 1000 digits of pi is found as follows:
is_even <- function(x) x %% 2 == 0
is_odd <- function(x) x %% 2 != 0
pi_digits <- as.numeric(pi_digits)
indices_for_evens <- pi_digits[is_even(pi_digits)]
indices_for_odds <- pi_digits[is_odd(pi_digits)]
length(indices_for_evens) / 1000
Now we will do a t-test to see if there is a significant difference between the probability of getting a heads on a coin flip, and getting an even digit of pi, by seeing if there is any significant differene between the mean for a coin flip (0.50) and the mean of getting an even (0.516). We should expect that these aren't significantly different since they are so close:
flips <- c(rep(1, 500), rep(0, 500))
evens_for_t_test <- c(rep(1, each=length(indices_for_evens)), rep(0, each=length(indices_for_odds)) )
t.test(flips, evens_for_t_test, alternative="two.sided")
The p-value is 0.4881. At a 0.05 significance level, we fail to reject the null hypothesis.Thus, we infer that the digits of pi have passed a test for randomness.
So why aren't the digits of $\pi$ used to generate random numbers? One problem may be the choice of a seed -- in one sense, each time you re-run your simulation based on the digits of $\pi$, you will have to pick up where you left off last time. This invariably will lead to the requirement of having to calculated $\pi$ to a huge number of decimal places. In the end, that computational requirement is the major bottleneck and that bottleneck can probably can be arrived at in a number of novel and unfortunate ways.