The Universal Vision of Organismal Forms through NKS’s eyes

From Two-dimensional Cellular Automata to Three-dimensional Substitution Systems.

Luca Zammataro

University of Torino
IRCC Candiolo, Italy

code source

square[pos_,r_:.9]:=pos+#&/@({{-1,-1},{1,-1},{1,1},{-1,1}}r/2)
square[1,pos_,r_:.9]:=Polygon[square[pos,r]]
square[0,pos_,r_:.9]:=Line[Append[#,First[#]]&@square[pos,r]]
square[c_,pos_,r_:.9]:={{GrayLevel[1-c],square[1,pos,r]},square[0,pos,r]}

rectangle[pos_,r_:.9]:=pos+#&/@({{-3,-3},{3,-3},{3,3},{-3,3}}r/2)
rectangle[1,pos_,r_:.9]:=Polygon[rectangle[pos,r]]
rectangle[0,pos_,r_:.9]:=Line[Append[#,First[#]]&@rectangle[pos,r]]
rectangle[c_,pos_,r_:.9]:={{GrayLevel[1-c],rectangle[1,pos,r]},rectangle[0,pos,r]}

Panel2[l_,b_,pos_]:=Module[{sc=.8},{rectangle[l,sc{0,0}+{3pos,-1/2},.9sc],square[b,sc{0,-2}+{3 pos,-1/2},.9sc],Line[{3pos,-1/2sc}+#&/@({{-3,-5},{3,-5},{3,5},{-3,5},{-3,-5}}/2)],Text[ToString[2b],{3pos,-3.5}]}]

TotalisticCARulesLZ[l_]:=Module[{n,d=IntegerDigits[l,3,7]},
    Table[Panel2[(6-n)/6,d[[n+1]]/2,n],{n,0,6}]
    ]

NoRandomStartingCondition[]:=(
Manipulate[Show[Graphics[TotalisticCARulesLZ[rulenumber]]]
ArrayPlot[CellularAutomaton[{rulenumber, {3, 1}, {1, 1}},{{{1}},0},{{{steps}}}]]
ArrayPlot[Mean[CellularAutomaton[{rulenumber, {3, 1}, {1, 1}},{{{1}},0},steps]]],
{rulenumber,0,(3^19), 1},{steps,1,200,1}])

RandomStartingCondition[]:=(
Manipulate[SeedRandom[seed];
matrix =Table[RandomInteger[{2},50],{i,1,50}];
Show[Graphics[TotalisticCARulesLZ[rulenumber]]]
ArrayPlot[CellularAutomaton[{rulenumber, {3, 1}, {1, 1}},{matrix,0},{{{steps}}}]]
ArrayPlot[Mean[CellularAutomaton[{rulenumber, {3, 1}, {1, 1}},{matrix,0},steps]]],
{rulenumber,0,(3^19), 1},{steps,1,200,1},{{seed,1,"new initial conditions"},1,10000,1,Appearance->"Labeled"}])

movie = Range[1,100];
pattern = Range[1,200];

NumPattern = 0;

pattern[[0]]=Table[RandomInteger[{1},50],{i,1,50}];

pattern[[1]] ={{0}};

pattern[[2]] = ({{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}});

pattern[[3]] = ({{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 2, 2, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 2}, {2, 1, 2, 2, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 2}, {2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2}, {2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2}, {2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 2, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 2, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}});

pattern[[4]] = ({{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 1, 1, 1, 1, 2, 0, 0, 2, 1, 2}, {2, 1, 1, 1, 2, 0, 0, 0, 0, 1, 2}, {2, 1, 1, 2, 0, 0, 0, 0, 0, 1, 2}, {2, 1, 1, 0, 0, 0, 0, 0, 2, 1, 2}, {2, 1, 1, 0, 0, 0, 0, 0, 2, 1, 2}, {2, 1, 1, 2, 2, 0, 0, 0, 2, 1, 2}, {2, 1, 1, 1, 1, 2, 0, 0, 2, 1, 2}, {2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2}, {2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}});

pattern[[5]]= ({{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 2, 2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 1, 1, 1, 1, 1, 2, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 0, 2, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 1, 1, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}});

pattern[[6]] = ({{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 2, 2, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 2, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}});

pattern[[7]] = ({{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1}, {1, 1, 2, 0, 0, 0, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1}, {1, 1, 2, 0, 0, 0, 0, 1, 1, 1, 1}, {1, 1, 1, 2, 0, 0, 0, 1, 1, 1, 1}, {1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}});

pattern[[8]] =({{0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 2, 1, 2, 0, 0, 0, 0}, {0, 0, 0, 2, 1, 1, 1, 2, 0, 0, 0}, {0, 0, 0, 0, 2, 1, 2, 0, 0, 0, 0}, {0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0}});

pattern[[9]]= {{0,0,2,0,0,0,0,0,0,0,0,0,0},{2,2,1,2,0,0,0,0,0,0,0,0,0},{2,2,1,1,2,0,0,0,0,0,0,0,0},{0,2,2,2,0,0,0,0,0,0,0,0,0},{0,0,2,2,0,0,0,0,0,0,0,0,0}};

pattern[[10]]={{0,1,0,0,0,0,1,1,1,0,1,0,0,1,0,1,1,1,0,0,0,1,1,0,1,1,1,0,0,1,0,1,0,0,1,1,1,1,1,0},{1,0,1,1,0,0,1,0,1,1,1,0,0,0,0,1,0,0,0,0,1,0,1,1,0,1,0,1,0,1,1,0,0,1,1,1,0,1,1,0},{1,1,1,0,1,0,1,0,0,1,0,0,1,1,1,1,1,0,1,0,0,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,0,0,1},{1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,0,1,1,1,1,1,0,1,0,0,0,0,1,1,0,0,1,1},{0,1,0,0,1,1,1,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,1,1,0,1,1,0,0,0,1,0,1,1,1,0,1,0,1,0},{0,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1},{0,0,1,1,1,1,1,0,1,0,0,1,0,0,1,0,0,0,1,0,1,1,1,0,1,0,1,1,0,0,1,0,0,0,0,1,1,1,0,1},{1,1,1,1,0,1,0,0,1,1,1,1,1,0,1,1,1,0,1,1,0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,1,1,1,1,1},{0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,1,0,1,0,1,0,1,1,1,1,0,0,1,1,0,0,1,0,0,0,1},{0,0,0,1,1,1,1,0,0,0,1,1,1,0,0,1,0,0,0,1,0,0,1,1,0,1,0,1,0,1,0,0,0,1,1,1,1,0,1,0},{0,0,0,0,1,0,0,0,1,1,0,1,1,1,0,1,1,0,0,1,1,0,0,1,0,1,1,1,0,0,1,0,0,0,0,0,0,1,1,0},{1,1,1,1,0,1,0,0,1,1,1,1,1,0,0,1,0,1,0,0,0,1,1,0,1,1,0,1,0,0,0,1,1,1,1,1,1,1,1,0},{1,0,1,1,0,0,0,0,0,1,1,1,1,0,1,0,0,0,0,1,1,0,1,1,0,0,0,1,1,1,0,1,1,0,0,0,1,1,1,1},{1,1,1,1,1,0,1,0,0,0,0,1,1,1,0,1,0,1,0,0,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,0,1,0},{1,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,1,0,0,0,0,1,1,0,0,1,0,0,0,1,1,1,0,1,1,1,1,1,1,0},{1,0,1,1,0,1,0,1,0,0,1,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,0,1,1,1,1,1,0,1,0,0,1,0,0,0},{0,0,1,0,0,0,1,0,0,1,1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,1},{0,0,1,1,1,0,0,0,0,1,0,1,1,0,1,0,1,0,1,0,1,1,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,1},{0,0,1,1,0,0,1,1,1,0,0,1,0,1,0,1,1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,0,1,1,0,0,0,0,1,1},{0,0,0,1,0,1,0,1,1,1,1,0,1,0,1,0,1,1,1,1,1,1,0,1,0,1,0,1,0,1,1,0,1,1,1,0,0,0,0,0},{1,1,1,0,0,1,1,0,0,1,0,0,1,1,1,0,1,1,0,0,1,0,1,1,1,0,0,0,1,1,0,1,0,1,1,1,1,0,0,0},{1,1,0,0,0,1,1,0,1,0,1,1,0,1,1,0,0,0,1,0,0,1,1,1,0,0,0,1,0,1,0,0,1,0,1,0,0,1,0,0},{0,1,0,0,1,0,0,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,0,0,1,0,0,1,0,1,0,0,0,1,1,1,1,0,1,0},{0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,1,1,0,1,0,0,0,1,1,0,0,0,0,0,1,0,1},{0,0,0,1,0,0,0,1,1,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,0,1,1,1,1,1,0,0,0,1,0,1,0},{0,0,1,0,0,0,1,1,1,0,0,1,1,0,1,0,1,0,0,1,0,0,0,1,1,0,0,1,0,1,1,1,0,1,1,1,0,0,1,0},{0,1,1,1,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,0,0,1,1,0,0,1,1,1,0,1,0,0,0,1,1,1,0,1,0,0},{0,0,1,0,1,0,1,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,1,0,1,0,1,1,0,1,0},{1,1,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,1,0,1,0,0,1,1,0,0,1,1,1,1,0},{0,0,1,1,0,0,1,1,0,1,1,1,0,1,0,1,0,1,0,1,1,1,1,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,1,0}};

pattern[[11]] = ({{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 2, 0, 0, 2, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 0, 0, 0, 0, 2, 1, 1, 1, 1}, {1, 1, 1, 1, 2, 0, 0, 0, 0, 2, 1, 1, 1, 1}, {1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 2, 1, 1, 1}, {1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1}, {1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1}, {1, 1, 1, 2, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1}, {1, 1, 1, 1, 2, 0, 0, 0, 2, 2, 1, 1, 1, 1}, {1, 1, 1, 1, 2, 0, 0, 2, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}});

Tool[]:=(
x= False;
Manipulate[
SeedRandom[seed];
pattern[[0]]=Table[RandomInteger[{1},50],{i,1,50}];
Panel[
ArrayPlot[CellularAutomaton[{562,{3,1},{1,1}},{pattern[[NumPattern]],background},{{{steps}},All,All}],ImageSize->zoom,
ColorFunctionScaling->True,ColorRules->{0->White,1-> Orange,2->Blue}]],
(*Panel[Panel[Checkbox[Dynamic[x],{False,True}] 
If[x==True,Text[Style[Grid[#,Spacings->{0,0}],Editable->False,fontsize,FontFamily->"Courier"]]&@@CellularAutomaton[{562,{3,1},{1,1}},{pattern[[NumPattern]],background},{{steps}}]]]],*)
{{NumPattern,1,"Choose Patterns"},{0->  "Random",2->"Right Vesicle",3->"Down Vesicle",4-> "Golgi",5->  "Golgi (detail)",6->"Golgi(vesicle)",7->"Separation",8->"Self-Reproduction",9-> "Tangle",10-> "vesicle trafficking",11-> "Early Endosome"}},
{{background,0},0,1,1,ControlType->SetterBar},
{{steps,1},0,300,1,Appearance->"Labeled"},
{{zoom,200},100,720,1,Appearance->"Labeled"},{{fontsize,10},10,20,.1,Appearance->"Labeled"}, {{seed,1,"new initial conditions"},1,10000,1},AutorunSequencing->{1}, SaveDefinitions -> True])

Get["C://Documents and Settings//Luca//Documenti//Journal of Theor Biol//EmbryoDevelopment//Math6//Wolfram//NewModel.m"]
General::"obspkg": "\!\(\"Graphics`Shapes`\"\) is now obsolete. The legacy version being loaded may conflict with current Mathematica functionality. See the Compatibility Guide for updating information."
General::"obspkg": "\!\(\"Geometry`Rotations`\"\) is now obsolete. The legacy version being loaded may conflict with current Mathematica functionality. See the Compatibility Guide for updating information."


scenabil = Table[{ScenaBilateral[1] },{ScenaBilateral[2]},{ScenaBilateral[3] },{ScenaBilateral[4]}];
scenabil[[1]]= Table[{ScenaBilateral[1] }];
scenabil[[2]]= Table[{ScenaBilateral[1] ,ScenaBilateral[2]}];
scenabil[[3]]= Table[{ScenaBilateral[1] ,ScenaBilateral[2],ScenaBilateral[3] ,{ScenaBilateral[4]}}];

Table::"iterb": "Iterator \!\({\(ScenaBilateral[2]\)}\) does not have appropriate bounds. \!\(\*ButtonBox[\"»\", ButtonStyle->\"Link\", ButtonFrame->None, ButtonData:>\"paclet:ref/message/General/iterb\", ButtonNote -> \"Table::iterb\"]\)"
SUBSYS[phiB_, thetaB_, psiB_, phi1_, theta1_, psi1_,phi2_, theta2_, psi2_, cleavage_,bilaterality_]:=(
InitCells[7,4];
InitScene;
Do[SubSys[header,phi1,theta1,psi1,-1,1, 1,phi2,theta2,psi2,progeny, 0, 0, 0],{header,1,16},{progeny,1,MaxProg[[header]]}]
CreateScene;



BufferBilateral=Scena[[cleavage]];
ScenaBilateral[1] =  Table[{TranslateShape[RotateShape[BufferBilateral,phiB,thetaB,psiB],{0,0,0}]}];
ScenaBilateral[2] =  Table[{TranslateShape[RotateShape[BufferBilateral,phiB,thetaB,psiB],{1,0,0}]}];
ScenaBilateral[3] =  Table[{TranslateShape[RotateShape[BufferBilateral,phiB,thetaB,psiB],{0,1,0}]}];
ScenaBilateral[4] =  Table[{TranslateShape[RotateShape[BufferBilateral,phiB,thetaB,psiB],{1,1,0}]}];

scenabil = Table[{ScenaBilateral[1] ,ScenaBilateral[2],ScenaBilateral[3] ,ScenaBilateral[4]}];
scenabil[[1]]= Table[{ScenaBilateral[1] }];
scenabil[[2]]= Table[{ScenaBilateral[1] ,ScenaBilateral[2]}];
scenabil[[3]]=Table[{ScenaBilateral[1] ,ScenaBilateral[2],ScenaBilateral[3] ,{ScenaBilateral[4]}}];
 
Show[Graphics3D[scenabil[[bilaterality]]]]
)

"[...]Neither natural selectrion nor DNA directly explains how individual forms are made or how they evolved."-- Sean B.Carroll form "Endless forms most beautiful - The New Science of EVO DEVO"

Autopoiesis and cognition: Automata Theory in life simulations

"[...]Neither natural selection nor DNA directly explains how individual forms are made or how they evolved."-- Sean B.Carroll form "Endless forms most beautiful - The New Science of EVO DEVO"


Initially proposed by Francisco Varela and Humberto Maturana these autopoiesis and cognition were subsequently introduced by Randall Beer in cellular automata theory. An autopoietic (i.e., self-reproducing) system is a network of components constituting a distinct “entity"

Concepts around cell as body and organelles as organs.

Varela & Maturana's ideas:
1. An autopoietic entity is a cluster of elements able to define distinctions through its selective response to environment perturbations 
we can say the same for an automata cluster (Beer 2004)..
2. Each entity hosts its cognitive domain.

My personal idea:
3. “unity” =  “body”. 
4. A body is a compartmentalised structure.
5  A Cell is a compartmentalised structure
5. Cell organelles as vesicles, Golgi Apparatus, Endoplasmic Reticulum are compartments.

Questions
6. What measure instruments should we use, to distinguish a compartment from its environment? 
7. And what kind of biological ideas “as humans” could we share to consider this compartment as a whole cognitive process?
8. Connection to compartments and their movements inside cells
9. Is this phenomenon a "spontaneous" process, and if it depends on a simple rule, which evolves in a complex behaviour (in terms of NKS)?
10. Emergence of a “cognitive cellular body”: a cell could be considered an “entire synchronized and cognitive unit”, constituted from all its inner organelles.
11. Two or three dimensions? (Microscopal observations under a 2Dimensional vision could be contain the same information of 3D visions).

Membrane compartmentalisation

Cell membranes are fundamental to the life of the whole biological world.Through membranes, cells can establish relations between their cytoplasm and the environment.Key properties in membranes dynamics are represented by membrane compartmentalisations and fusion.Some examples are represented by Golgi apparatus, endoplasmic reticulum and several kinds of vesicles.

Compartmentalisation + vesicle trafficking -> streams of consciousness in vertebrates

A little bit of Biochemistry...

Plasma membrane: enrichment of saturated lipids as sphingolipids (SM) fluidized by cholesterol -> Liquid ordered (Lo) [Simon & Vaz, 2004]
Endoplasmic reticulum: enrichment of unsaturated phosphatidylcholine (PC)


Segregation of SM and cholesterol -> unsaturated PC -> Two Liquid phases (Lo, Ld) -> carrier vesicles inclusions [van Meer, 1989] 
Mixture of PC and cholesterol -> Liquid disordered (Ld) 

Lipid sorting requires the selective incorporation of one of two phases into a transport protein carrier with a specific destination [van Meer, 2005]

Compartment Dynamics

Vesicles Dynamics

Vesicles Dynamics

An NKS Model

Two-dimensional 9-neighbours totalistic cellular automata: a model for vesicles formation.

In a two-dimensional 9-neighbour totalistic cellular automaton, the rules depend only on the total (or equivalently, the average) of the values of the eight neighbour cells (Weisstein 2003). Possible rules are: 

colors((colors - 1) 9 + 1)

Using two-dimensional cellular automata with color=3 and neighbours=1, we obtain an universe of 1162261467 possible rules to test: it is a wide number. 

Patterns obtained with this automata always start from a single cellular automaton positioned at the centre of the two-dimensional grid. The major part of these automata evolutions forms symmetrical and beautiful landscapes, similar to a sort of “mandala”, extremely interesting from the computational point of view.

NoRandomStartingCondition[]

Starting from random initial conditions

Life “nourishes itself” of randomness but produces order

However, regarding membrane compartmentalisations, we are looking for different landscapes, more coherent to a biological context. In fact, unexpected morphologies that we will show here, are produced starting from random dispositions of cellular automata;

This model describes the connection between compartment and movement. 

Demonstrate, in what way, membrane compartmentalisation, should be to consider a “spontaneous” property of Nature, deriving from emergence, without any supervision and only depending on simple “rules” of the matter organisation.

RandomStartingCondition[]

The rule "562"

What this approach reveals?

Tool[]

Patterns

Emergence

The mesoscopic view of vesicle trafficking.

2 D totalistic cellular automata describes, in mesoscopic sense, the transition between Lo and Ld liquid phase of vesicles. The effect of this transition includes compartments and trafficking

Exploring more patterns: The Endoplasmic Reticulum?

Manipulate[ArrayPlot[CellularAutomaton[{747168086, {5, 1}, {1, 1}},{matrix,0},{{{steps}}}]],{steps, 1, 100, 1}]

Browsing through compartmentalised patterns:

code = {33, {3, 1}, {1, 1}} conway
code = {34, {3, 1}, {1, 1}} membranes
code = {38, {3, 1}, {1, 1}} chrystallisation
code = {46, {3, 1}, {1, 1}} membranes
code = {61, {3, 1}, {1, 1}} complex coalescence
code = {64, {3, 1}, {1, 1}} membranes
code = {70, {3, 1}, {1, 1}} coalescence
code = {79, {3, 1}, {1, 1}} coalescence
code = {100, {3, 1}, {1, 1}} complex coalescence
code = {113, {3, 1}, {1, 1}} coalescence
code = {127, {3, 1}, {1, 1}} coalescence
code = {172, {3, 1}, {1, 1}} minimasing membrane
code = {190, {3, 1}, {1, 1}} minimising membrane
code = {196, {3, 1}, {1, 1}} sprouting membrane
code = {275, {3, 1}, {1, 1}} membrane
code = {297, {3, 1}, {1, 1}} self - replication persistent pattern
code = {301, {3, 1}, {1, 1}} membranes
code = {303, {3, 1}, {1, 1}} self - replication persistent pattern
code = {304, {3, 1}, {1, 1}} cognitive membranes (fusion after specific conditions)
code = {313, {3, 1}, {1, 1}} cognitive membranes (fusion after specific conditions)
code = {314, {3, 1}, {1, 1}} memory membranes
code = {316, {3, 1}, {1, 1}} membranes
code = {329, {3, 1}, {1, 1}} cognitive membranes (fusion after gray environment and black sexual connection)
code = {331, {3, 1}, {1, 1}} cognitive membranes (fusion and repulsion)
code = {343, {3, 1}, {1, 1}} self - repl persistent pattern
code = {349, {3, 1}, {1, 1}} stable membranes
code = {350, {3, 1}, {1, 1}} stable membranes
code = {354, {3, 1}, {1, 1}} stable membranes
code = {355, {3, 1}, {1, 1}} stable membranes
code = {356, {3, 1}, {1, 1}} stable membranes
code = {358, {3, 1}, {1, 1}} stable membranes
code = {359, {3, 1}, {1, 1}} stable membranes
code = {361, {3, 1}, {1, 1}} stable membranes
code = {362, {3, 1}, {1, 1}} stable membranes
code = {365, {3, 1}, {1, 1}} stable membranes
code = {367, {3, 1}, {1, 1}} stable membranes
code = {368, {3, 1}, {1, 1}} stable membranes
code = {460, {3, 1}, {1, 1}} clustering and movement (patterns formation)
code = {463, {3, 1}, {1, 1}} clustering and movement (patterns formation)
code = {496, {3, 1}, {1, 1}} refractory membranes
code = {505, {3, 1}, {1, 1}} refractory membranes and patterns formation
code = {508, {3, 1}, {1, 1}} refractory membranes and patterns formation
code = {511, {3, 1}, {1, 1}} refractory membranes and patterns formation
code = {513, {3, 1}, {1, 1}} self - repl persistent pattern

vesicles
code = {523, {3, 1}, {1, 1}} refractory membranes and self - repl persistent pattern
code = {532, {3, 1}, {1, 1}} refractory membranes
code = {535, {3, 1}, {1, 1}} disrupting membranes vesicles exo/endocytos
code = {538, {3, 1}, {1, 1}} vesicles and tangles
code = {553, {3, 1}, {1, 1}} self replication
code = {556, {3, 1}, {1, 1}} rigid vesicles
code = {559, {3, 1}, {1, 1}}  Vesicle
code = {562, {3, 1}, {1, 1}}  Vesicle, more complex structures, because fusion of basical simple structure: trafficking 

code = {600, {3, 1}, {1, 1}} peripheral membranes chaos/order
code = {603, {3, 1}, {1, 1}} peripheral membranes chaos/order
code = {734, {3, 1}, {1, 1}} memory membranes
code = {736, {3, 1}, {1, 1}} memory membranes
code = {737, {3, 1}, {1, 1}} memory membranes
code = {743, {3, 1}, {1, 1}} memory membranes
code = {745, {3, 1}, {1, 1}} stable membranes stable vesc.
code = {746, {3, 1}, {1, 1}} stable membranes stable vesc.
code = {754, {3, 1}, {1, 1}} stable membranes stable vesc.
code = {761, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {763, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {764, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {767, {3, 1}, {1, 1}} filaments
code = {770, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {772, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {773, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {776, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {778, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {779, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {781, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {782, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {788, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {790, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {791, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {794, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {796, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {797, {3, 1}, {1, 1}} not stable membranes stable vesc.-memory
code = {799, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {800, {3, 1}, {1, 1}} not stable membranes stable vesc.-memory
code = {805, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {806, {3, 1}, {1, 1}} stable membranes stable vesc.-memory
code = {808, {3, 1}, {1, 1}} stable membranes and vescics.stable vesc.-memory
code = {809, {3, 1}, {1, 1}} stable membranes and vescics.stable vesc.-memory
code = {818, {3, 1}, {1, 1}} not stable membranes and vescics.stable vesc.-memory
code = {824, {3, 1}, {1, 1}} stable membranes and vescics.stable vesc.-memory
code = {826, {3, 1}, {1, 1}} not stable membranes and vescics.stable vesc.-memory
code = {827, {3, 1}, {1, 1}} not stable membranes and vescics.stable vesc.-memory
code = {832, {3, 1}, {1, 1}} not stable membranes and vescics.stable vesc.-memory
code = {833, {3, 1}, {1, 1}} not stable membranes and vescics.stable vesc.-memory
code = {835, {3, 1}, {1, 1}} not stable membranes and vescics.stable vesc.-memory
code = {836, {3, 1}, {1, 1}} not stable membranes and vescics.stable vesc.-memory
code = {842, {3, 1}, {1, 1}} not stable membranes and vescics.stable vesc.-memory
code = {851, {3, 1}, {1, 1}} not stable membranes and vescics.stable vesc.-memory
code = {870, {3, 1}, {1, 1}} peripheral membranes chaos/order (good)
code = {988, {3, 1}, {1, 1}} stable membranes and vescics.stable vesc.-memory
code = {989, {3, 1}, {1, 1}} stable membranes and vescics.stable vesc.-memory
code = {1113, {3, 1}, {1, 1}} peripheral membranes chaos/order (good)
code = {2041, {3, 1}, {1, 1}} elonging structures
code = {2106, {3, 1}, {1, 1}} membranes and crests
code = {2112, {3, 1}, {1, 1}} membranes and crests
code = {2139, {3, 1}, {1, 1}} membranes and crests
code = {2142, {3, 1}, {1, 1}} membranes
code = {2191, {3, 1}, {1, 1}} membranes
code = {2194, {3, 1}, {1, 1}} cognitive membranes
code = {2221, {3, 1}, {1, 1}} organisations out of membranes

soaps
code = {247354696, {5, 1}, {1, 1}}
code = {247354691, {5, 1}, {1, 1}}
code = {247354686, {5, 1}, {1, 1}}
code = {247354681, {5, 1}, {1, 1}}
code = {247354671, {5, 1}, {1, 1}}
code = {247354666, {5, 1}, {1, 1}}
code = {247354686, {5, 1}, {1, 1}}
code = {247354691, {5, 1}, {1, 1}}
code = {247354696, {5, 1}, {1, 1}}
code = {247354706, {5, 1}, {1, 1}}
code = {247354711, {5, 1}, {1, 1}}
code = {247354711, {5, 1}, {1, 1}}
code = {247354716, {5, 1}, {1, 1}}
code = {247354721, {5, 1}, {1, 1}}
code = {247354731, {5, 1}, {1, 1}}
code = {247354736, {5, 1}, {1, 1}}
code = {247354741, {5, 1}, {1, 1}}
code = {247354746, {5, 1}, {1, 1}}
code = {247354766, {5, 1}, {1, 1}}
code = {247354771, {5, 1}, {1, 1}}
code = {247354786, {5, 1}, {1, 1}}
code = {247354791, {5, 1}, {1, 1}}

Several kinds of compartmentalisation
.
code = {370153096, {5, 1}, {1, 1}}
code = {370153086, {5, 1}, {1, 1}}
code = {370153091, {5, 1}, {1, 1}}
code = {370153096, {5, 1}, {1, 1}}
code = {370153725, {5, 1}, {1, 1}}
code = {370154216, {5, 1}, {1, 1}}


concentric membranes

code = {654925112, {21, 1}, {1, 1}} i.m non fusion
code = {845560570, {21, 1}, {1, 1}} not inclapsulating membranes
code = {845560612, {21, 1}, {1, 1}} incapsulating membranes
code = {845560613, {21, 1}, {1, 1}} critical phase of i.m.code = {919354969, {21, 1}, {1, 1}} i.m
code = {796364338, {16, 1}, {1, 1}} i.m


memory

code = {507336355, {9, 1}, {1, 1}}
code = {464289634, {9, 1}, {1, 1}}
code = {249056029, {9, 1}, {2, 1}}

inclusions
code = {335149471, {5, 1}, {1, 1}}
code = {845560591, {5, 1}, {1, 1}}

Endoplasmic Reticulum
code = {747168086, {5, 1}, {1, 1}}
code = {747168086, {5, 1}, {1, 1}}
code = {747168091, {5, 1}, {1, 1}}
code = {747168096, {5, 1}, {1, 1}}

Conclusions.

1. NKS represents the "Ideal" tool to demonstrate the existence of entity in automata clusters. Entity able to define distinctions through its selective response to environment perturbations.

2. Trying to single-out various entities and connect them to real biological pattern is not an easy job. But by means of new Mathematica 6 instruments, exploring the 2D totalistic CA"Universe of Rules" is easy, and fast.

3. Biologically I would consider hardware and software an unique thing. Vesicle could be consider a special form of programs, which flow throw the cell.

4. Considering membrane compartmentalisations a spontaneous process deriving from emergence, without any supervision and only depending on simple “rules” of the matter organisation, represents a key point of my work; specifically, I retain that the concept of  “spontaneity” is not present in many computational models described in the past, in which, a supervision is generally required.
If we consider this phenomenon a "spontaneous" process, probably it depends on a simple rule, which evolves in a complex behaviour. In this sense is a complete NKS model.

5. I considered biochemical functions. I guess that PC, SM and colesterol alternance in Lo and Ld phase, are well represented by 3 colors automata. 
By means of NKS approach, based on cellular automata, we are able to describe phenomena not through a reductionistic vision (since we not always know the basic mechanisms of a subcellular process), but through an holistic vision, since we can describe macroscopic behaviours of an whole morphology as vesicle trafficking. This computational vision, is not placed on microscopic scale, (it do not explain a molecular mechanisms of vesicle transport), but remains on the macroscopic observation scale

6. This model represents a good connection to compartments and their movements inside cells. My feeling is that these rules, which represent Nature, are present in a "germinal status" in a computational space defined by 2DCA. 

7. Vesicles can compute? About the emergence of a “cognitive cellular body”, I wish  to demonstrate that vesicles formation, transport and destruction could be considered an unique process of an Universal Turing Machines.

References:
Beer, R.D.(2004)."Autopoiesis and cognition in the game of life." Artificial Life 10::309 - 326.

A 3D substitution system for embryonic cleavage modeling

Styela Partita

Zammataro L, Serini G, Rowland T, and Bussolino F (2007), "Embryonic cleavage modeling as a computational approach to sphere packing problem." J Theor Biol 245 (1) : 77 - 82

"Oldies but Goldies"

2D Substitution System

3D Substitution System

Euler angles

Cell Differentiation