|
|
A180001
|
|
Eventual period of a single cell in rule 110 cellular automaton in a cyclic universe of width n.
|
|
24
|
|
|
1, 1, 1, 2, 1, 9, 14, 16, 7, 25, 110, 9, 351, 91, 295, 32, 7, 27, 285, 30, 630, 44, 1058, 36, 250, 7, 405, 1652, 1044, 60, 7, 64, 495, 51, 1050, 72, 4403, 76, 390, 60, 7, 630, 1548, 88, 7, 7, 705, 96, 1470, 100, 765, 195, 8109, 7, 825, 7, 2052, 116, 7, 19560, 915
(list;
graph;
refs;
listen;
history;
text;
internal format)
|
|
|
OFFSET
|
1,4
|
|
COMMENTS
|
The first 21 terms match the most frequent possible outcome (see comment in A332717) with the exception of a(14) which is the second-most frequent. - Hans Havermann, Jun 11 2020
|
|
LINKS
|
Eric Weisstein's World of Mathematics, Rule 110
|
|
EXAMPLE
|
For n=4, the evolution of a single cell is:
0001
0011
0111 <--= period starts
1101
0111 <--= again start of period
etc, so a(4)=2.
|
|
MATHEMATICA
|
a[n_] := -Subtract @@
Flatten[Map[Position[#, #[[-1]]] &,
NestWhileList[CellularAutomaton[110],
Prepend[Table[0, {n - 1}], 1], Unequal, All], {0}]]
|
|
PROG
|
(Sage)
def bit(x, i): return (x >> i) & 1
rulemap = dict((tuple(bit(i, k) for k in reversed(range(3))), bit(110, i)) for i in range(8))
def neighbours(d, i): return tuple(d[k % n] for k in [i-1..i+1])
v = [0]*n; v[-1] = 1;
history = [v]
while True:
v2 = [rulemap[neighbours(history[-1], i)] for i in range(n)]
if v2 in history: return len(history)-history.index(v2)
|
|
CROSSREFS
|
|
|
KEYWORD
|
nonn
|
|
AUTHOR
|
|
|
EXTENSIONS
|
|
|
STATUS
|
approved
|
|
|
|