In[]:=
CAWithMemory[init_,t_,opts___]:=CellularAutomaton[{(*Rule30*){1,1,1|2|3}->0,{1,1,0|2|3}->0,{1,0,1|2|3}->0,{1,0,0|2|3}->1,{0,1,1|2|3}->1,{0,1,0|2|3}->1,{0,0,1|2|3}->1,{0,0,0|2|3}->0,(*Walltoggle*){0,2,_}:>2,{1,2,_}:>3,{0,3,_}:>3,{1,3,_}:>2,(*Memorycopy*){2,_,_}:>4,{3,_,_}:>5,{x:2|3,y_,_}:>y,(*Eraser*){_,6,_}->6,{6,_,0}->0,(*Memorymovement*){x:4|5,_,_}:>x,(*Eraserboundary*){_,x_,6}:>x},init,t]//ArrayPlot[#,opts,ColorRules->{(*Rule30'gas'*)0->White,1->Black,(*Wallstates*)2->Darker[Purple],3->Lighter[Purple],(*Memorystates*)4->Darker[Green],5->Lighter[Green],(*Eraser*)6->Red}]&
In[]:=
CAWithMemory[{{1,0,0,1,0,0,0,1,0,0,0,2,4,4,4,4,4,4,4,4,4,4,4,6},0},50]
Out[]=
In[]:=
CAWithMemory[{{1,0,0,1,0,0,0,1,0,0,0,2,4,4,4,4,4,4,4,4,4,4,4,6},0},13,Mesh->True]
Out[]=
In[]:=
CAWithMemory[{{0,0,0,1,0,0,0,3,5,5,5,5,5,5,5,5,5,6},0},13,Mesh->True]
Out[]=
In[]:=
CAWithMemory[{{0,0,0,0,0,0,0,3,5,5,5,5,5,5,5,5,5,6},0},13,Mesh->True]
Out[]=
In[]:=
CAWithMemory[{{0,0,0,0,0,0,0,3,5,5,5,5,5,5,5,5,5,6},0},20,Mesh->True]
Out[]=
In[]:=
CAWithMemory[{{0,0,0,0,0,0,0,3,5,5,5,5,5,5,5,5,5,5,5,5,5,6},0},20,Mesh->True]
Out[]=
Objective: having the RHS end up having runs of “black winning, white winning”
Objective: having the RHS end up having runs of “black winning, white winning”
If the observer only senses a limited number of DOFs on the right, the rest will be “lost to radiation”
If the observer only senses a limited number of DOFs on the right, the rest will be “lost to radiation”
E.g. observer is sampling only a limited region of cells
Causal Graphs
Causal Graphs
E.g. R110 has an emergent causal graph structure
Neural Nets
Neural Nets
[ Map out the attractor basins from all possible inputs to a simple neural net ]
Train through multiple layers for “nearest point” ... e.g. in 1D
i.e. Classify[ ,x] outputs the point nearest to x from some fixed set....