A110240 Decimal form of binary integer produced by the ON cells at n-th generation following Wolfram's Rule 30 cellular automaton starting from a single ON-cell represented as 1.
1, 7, 25, 111, 401, 1783, 6409, 28479, 102849, 456263, 1641433, 7287855, 26332369, 116815671, 420186569, 1865727615, 6741246849, 29904391303, 107568396185, 477630335215, 1725755276049, 7655529137527, 27537575631497
Offset: 0
Examples
a(1)=1 because the automaton begins at first "generation" with one black cell: 1; a(2)=5 because one black cell, through Rule 30 at 2nd generation, produces three contiguous black cells: 111 (binary), so 7 (decimal); a(3)=25 because the third generation is "black black white white black" cells: 11001, so 25 (decimal).
Links
- Reinhard Zumkeller, Table of n, a(n) for n = 0..1000
- Erica Jen, Global properties of cellular automata, Journal of Statistical Physics 43 (1986), pp. 219-242.
- Antti Karttunen, Terms up to a(255) drawn as binary strings, with 1 bit = 3x3 pixels resolution
- Antti Karttunen, Terms up to a(1023) drawn as binary strings, with 1 bit = 1 pixel resolution
- N. J. A. Sloane, Illustration of first 20 generations
- Eric Weisstein's World of Mathematics, Rule 30.
- Stephen Wolfram, Announcing the Rule 30 Prizes, 2019
- Index entries for sequences related to cellular automata
Crossrefs
Cf. A030101, A070950, A051023, A092539, A092540, A070952 (number of ON cells, the binary weight of terms), A100053, A100054, A100055, A094603, A094604, A000225, A074890, A010702, A245549, A269160, A269162.
Cf. A269165 (indices of ones in this sequence).
Cf. A269166 (a left inverse).
Left edge of A269168.
Programs
-
Haskell
a110240 = foldl (\v d -> 2 * v + d) 0 . map toInteger . a070950_row -- Reinhard Zumkeller, Jun 08 2013
-
Mathematica
rows = 23; ca = CellularAutomaton[30, {{1}, 0}, rows-1]; Table[ FromDigits[ ca[[k, rows-k+1 ;; rows+k-1]], 2], {k, 1, rows}] (* Jean-François Alcover, Jun 07 2012 *)
-
PARI
A269160(n) = bitxor(n, bitor(2*n, 4*n)); A110240(n) = if(!n,1,A269160(A110240(n-1))); \\ Antti Karttunen, Oct 05 2019
-
Python
def A269160(n): return(n^((n<<1)|(n<<2))) def genA110240(): '''Yield successive terms of A110240 (Rule 30) starting from A110240(0)=1.''' s = 1 while True: yield s s = A269160(s) def take(n, g): '''Returns a list composed of the next n elements returned by generator g.''' z = [] if 0 == n: return(z) for x in g: z.append(x) if n > 1: n = n-1 else: return(z) take(30, genA110240()) # Antti Karttunen, Oct 05 2019
-
Scheme
;; With memoization-macro definec. (definec (A110240 n) (if (zero? n) 1 (A269160 (A110240 (- n 1))))) ;; Antti Karttunen, Feb 20 2016
Formula
From Antti Karttunen, Feb 20 2016: (Start)
a(0) = 1, for n >= 1, a(n) = A269160(a(n-1)).
A269166(a(n)) = n for all n >= 0. (End)
From Antti Karttunen, Oct 05 2019: (Start)
For n >= 1, a(n) = a(n-1) XOR 2*A328104(n-1).
For n >= 1, a(n) = 2*a(n-1) XOR A327973(n). (End)
Extensions
More terms from Eric W. Weisstein, Apr 08 2006
Offset corrected by Reinhard Zumkeller, Jun 08 2013
Comments