Is the least-significant bit of $x_{i+1} = \lfloor 3(x_i+1)/2\rfloor$ uniformly distributed?

53 Views Asked by At

Consider the following simple recursion:

\begin{align*} x_0 &= 0\\ x_{i+1} &= \left\lfloor \frac{3(x_i+1)}{2}\right \rfloor \end{align*}

and form a string $s$ from the least-significant bits of $x_i$, i.e., $s_i = x_i \bmod 2$.

The first few bits of $s$ are $0110001101...$

If I look at $s$, I notice that there are roughly as many $0$s and there are $1$s. In fact, I asked Mathematica to generate the first million digits of $s$, and plot a histogram of how often each of the 32 binary strings of length 5 appears within the first million digits of $s$ (code below):

Histogram of length-5 substrings

and it certainly looks like each length-5 substring is equally likely to appear. There doesn't appear to be any bias when looking at other short substring lengths, either.

Is $s$ "random," in the sense that each substring of length $\ell$ has density $2^{-\ell}$ inside $s$? Is there general theory that explains this behavior?


Code for the experiment:

x0 = 0;
allbits = 
  Reap[For[i = 1, i < 1000000, i++, x0 = Floor[3*(x0 + 1)/2]; 
       Sow[Mod[x0, 2]]];][[2]][[1]];
BarChart[Table[
  SequenceCount[allbits, IntegerDigits[i, 2, 5], 
   Overlaps -> True], {i, 0, 31}], ImageSize -> Large]