Pioneering research in genetics was conducted in the early 1900s by Thomas Hunt Morgan using fruit flies as an experimental subject. Fruit flies have many characteristic that make them excellent experimental subjects. To study aperiodicity I also needed a good experimental subject. Hand-crafted aperiodic sequences are usually too simple and aperiodic sequences associated with famous constants such as the square root of 2, pi, and e are usually too complex. I made some simplifications to an algorithm for generating the square root of 2 that resulted in a family of aperiodic sequences that proved to be excellent experimental subjects. I call this family of sequences Sequence 806 (SEQ 806). In this post I describe how to generate these sequences.
The general framework for generating sequences within the SEQ 806 family is called Combined Delayed Periodic Sequence (CDPS), shown in Figure 1. A CDPS of infinite length is created by combining an infinite number of periodic component sequences. Each component sequence consists of a repeating block that appears after some delay and then repeats an infinite number of times.
To specify a CDPS, an analyst must identify:
(1) An algorithm for creating an infinite sequence of repeating blocks (one for each component sequence);
(2) An algorithm for creating an infinite sequence of delays (one for each component sequence);
(3) A method for combining the component sequences to generate the CDPS.
SEQ 806 is a family of CDPS that are generated in the following manner:
(1) repeating block algorithm:
RB0 = 1 0 0
RB1 = 1 0 0 0
RB2 = 1 0 0 0 0
RB3 = 1 0 0 0 0 0
etc.
(2) delay algorithm:
define the ‘delay velocity’ as dv
Delay 1 = dv
Delay 2 = 2 * dv
Delay 3 = 3 * dv
etc.
(3) combination method:
The value of each element in the resultant CPDS is the parity of the corresponding values of the elements in the component sequences; even parity results in 0 and odd parity results in 1.
Sequence 806.dv is generated using a delay velocity of dv. For example, Sequence 806.4 (SEQ 806.4) is generated using a delay value of 4 and SEQ 806.5 uses a delay value of 5.
Figure 2 shows how SEQ 806.4 is generated. The repeating blocks are introduced within each component sequence after a delay that increases by 4 for each successive sequence. Each element of SEQ 806.4 is the parity of the bits in the corresponding elements of the component sequences (the parity of the entire column of element values). To calculate the first 128 elements of SEQ 806.4 only 32 component sequences are required (numbered 0 through 31 in the figure). Due to steadily increasing delays component sequences 32 and beyond will be all zero for the first 128 elements and thus will have no effect on the resultant 128-element CDPS.
Figure 3 shows how SEQ 806.5 is generated. The process is similar to SEQ 806.4 except the delay increases by 5 for each successive component sequence rather than 4. Increasing the delay velocity by one creates an entirely different pattern of ones among the component sequences and thus an entirely different resultant CDPS.