oeis.org

A070887 - OEIS

1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1

COMMENTS

New state of cell is 1 in every case except when the previous states of the cell and its two neighbors were all the same, or when the left neighbor was 1 and the cell and its right neighbor were both 0.

A cellular automaton using Rule 110 with arbitrary inputs is a universal Turing machine.

Row n has length n.

REFERENCES

S. Wolfram, A New Kind of Science, Wolfram Media, 2002; p. 31ff..

LINKS

Eric Weisstein's World of Mathematics, Rule 110

EXAMPLE

1;

1,1;

1,1,1;

1,1,0,1;

1,1,1,1,1; ...

MAPLE

option remember;

local lef, mid, rig ;

if k < 1 or k > n then

0;

elif n = 1 then

1;

else

lef := procname(n-1, k-2) ;

mid := procname(n-1, k-1) ;

rig := procname(n-1, k) ;

if lef = mid and mid = rig then

0 ;

elif lef = 1 and mid =0 and rig =0 then

0;

else

1 ;

end if;

end if;

end proc:

for n from 1 to 12 do

for k from 1 to n do

printf("%d ", A070887(n, k)) ;

end do:

printf("\n")

MATHEMATICA

rows = 14; ca = CellularAutomaton[110, {{1}, 0}, rows-1]; Flatten[ Table[ca[[k, rows-k+1 ;; -1]], {k, 1, rows}]] (* Jean-François Alcover, May 24 2012 *)

PROG

(Haskell)

a070887 n k = a070887_tabl !! (n-1) !! (k-1)

a070887_row n = a070887_tabl !! (n-1)

a070887_tabl = zipWith take [1..] a075437_tabf

CROSSREFS

A071049 gives number of ON cells at n-th generation.