login
A268754
The period of an n X 1 rectangular oscillator in the B1/S Life-like cellular automaton.
4
1, 2, 1, 6, 4, 14, 1, 14, 12, 62, 8, 126, 28, 30, 1, 30, 28, 1022, 24, 126, 124, 4094, 16, 2046, 252, 1022, 56, 32766, 60, 62, 1, 62, 60, 8190, 56, 174762, 2044, 8190, 48, 2046, 252, 254, 248, 8190, 8188, 16777214, 32, 4194302, 4092, 510, 504, 134217726, 2044, 2097150
OFFSET
1,2
COMMENTS
The seed in each case is a single live cell at the left end.
Terms of the form 2^k-1 have a period of 1 since all cells die.
In binary, all terms (except the 1's) have at least one 1 followed by at least one 0. The exceptions are the 36th and 94th terms and their derivatives, which have alternating 1's and 0's in their binary expansion.
LINKS
Adam P. Goucher, Table of n, a(n) for n = 1..200 (terms for n = 1..99 from E-Hern Lee)
Lee Burnette, Variations of Life. [dead link]
Lee Burnette, Oscillator for n=10. [dead link]
Stack Exchange Network chat, Initial message.
Stack Exchange Network chat, Electrons in a wire.
FORMULA
No general formula for even-indexed terms is known. For odd-indexed terms, a(2n+1) = 2*a(n), except when n is of the form (2^k - 1), in which case a(n) = 1.
EXAMPLE
a(10) = 62 because a strip of 10 cells has period 62 in this rule.
MATHEMATICA
g = Function[{sq, p}, Module[{l = Length[sq]},
Do[If[sq[[i]] == sq[[j]], Return[p^(j - 1) - p^(i - 1)]],
{j, 2, l}, {i, 1, j - 1}]]];
MPM = Algebra`MatrixPowerMod;
EventualPeriod = Function[{m, v, p},
Module[{n = Length[m], w, sq, k, primes},
sq = NestList[(MPM[#, p, p]) &, m, n];
w = Mod[Last[sq].v, p];
sq = Map[(Mod[#.w, p]) &, sq];
k = g[sq, p];
If[k == Null, k = p^n Apply[LCM, Table[p^r - 1, {r, 1, n}]]];
primes = Map[First, FactorInteger[k]];
primes = Select[primes, (# > 1) &];
While[Length[primes] > 0,
primes = Select[primes, (Mod[k, #] == 0) &];
primes = Select[primes, (Mod[MPM[m, k/#, p].w, p] == w) &];
k = k/Fold[Times, 1, primes];
]; k ]];
mat = Function[{n}, Table[Boole[Abs[i - j] == 1], {i, 1, n}, {j, 1, n}]];
vec = Function[{n}, Table[Boole[i == 1], {i, 1, n}]];
Table[EventualPeriod[mat[n], vec[n], 2], {n, 1, 100}]
(* Adam P. Goucher, Jan 13 2019 *)
PROG
(Python)
def electron_period(n):
wire_mask = (1 << n) - 1
power = lam = 1
tortoise, hare = 1, 2
while tortoise != hare:
if power == lam:
tortoise = hare
power *= 2
lam = 0
hare = ((hare << 1) ^ (hare >> 1)) & wire_mask
lam += 1
return lam
CROSSREFS
Even-indexed terms are exactly A160657. [corrected by Adam P. Goucher, Jan 13 2019]
Seems to be a shifted bisection of A334504 and A334507.
Sequence in context: A121403 A155550 A355642 * A357639 A005299 A185586
KEYWORD
nonn
AUTHOR
Lee Burnette, Feb 12 2016
STATUS
approved