|
For every 0 in h-column we are reading its preceding row and
associating it to h, where h is a variable standing as a head
of a column (h=x,y,z). Because we are working with cyclic order,
the last column is the preceding for the first. In the x-column
0 appears in the first and fourth row, so the fifth and third row
will be associated to x, i.e., x=(1 1 1)(1 0 1). In the
y-column 0 appears in the third row, so we associate the second
row to y and obtain y=(1 1 0). In the z-column 0 appears
in the first and second row, so we associate the last and first
row to z and obtain z=(1 1 1)(0 1 0). By replacing every 1
by h, and every 0 by
This algorithm enables us to derive all sequences with a given
period p. However, it will be useful to identify essentially
different ones among them: non-isomorphic, not mutually reverse,
and not mutually dual sequences. It is clear that two sequences
given by a cyclic permutation of rows in the array will be equal.
Also, sequences that are the same up to a permutation of variables
can be identified. Two dual sequences, where one can be obtained
from the other by replacing 0 by 1 and vice versa can be
treated as equivalent as well. Cyclically equivalent sequences
will have the same fixed points; sequences with permuted variables
will have fixed points permuted in the same way; dual sequences
will have dual fixed points from the interval [0,1]. Sequences
not derivable from previous sequences by the mentioned ways are
basic sequences. For p=2 and n=1 we have one basic
sequence 0,1,0,1¼ defined by the operator
For p=3, the minimal n is n=2. From the complete set (0,0),
(0,1), (1,0), (1,1) we can produce 24 different sequences of
period 3. Each of them satisfies the necessary condition that no
variable is constant. Taking one representative from each
equivalence class, we obtain three basic sequences of period 3:
(0,0),(0,1),(1,0)¼, (0,0),(0,1),(1,1)¼, and
(0,0),(1,1),(0,1)¼ The first is defined by the operator
For p=4, the minimal n is n=2, we obtain three basic
sequences: (0,0),(0,1),(1,0),(1,1)... with
An infinite self-referential form
The LinKnot function fBoolean (webMathematica fBoolean) calculates the corresponding square-free polynomial from a given logic formula. The function fKauffAlg (webMathematica fKauffAlg) according to Kauffman algorithm produces all different periodic sequences of the period p with n variables. The function fDiffSeq (webMathematica fDiffSeq) produces all different periodic sequences of the period p with n variables, giving as the output their complete list, where every periodic sequence is given by one period, Kauffman code, and the corresponding square-free polynomials. The function fBalanced (webMathematica fBalanced) calculates stable (balanced) states for a given periodic sequence.
|