Run-Length Encoding
Run-Length Encoding
In[]:=
Flatten[Riffle[IntegerDigits[{3,1,2,8,1,3,3,5,1,1,1,7,1,2,1,1,5,2,1,9,1,1},2],2]]
Out[]=
{1,1,2,1,2,1,0,2,1,0,0,0,2,1,2,1,1,2,1,1,2,1,0,1,2,1,2,1,2,1,2,1,1,1,2,1,2,1,0,2,1,2,1,2,1,0,1,2,1,0,2,1,2,1,0,0,1,2,1,2,1}
In[]:=
Flatten[Partition[{2,8,3,10,6,4,11,5,8},2]/.{x_,y_}:>{Table[0,x],Table[1,y]}]
Out[]=
{0,0,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}
In[]:=
{x_,y_}:>{Table[0,x],Table[0,y]}
Out[]=
{x_,y_}{Table[0,x],Table[0,y]}
In[]:=
Flatten[Riffle[IntegerDigits[Length/@Split[{0,0,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0}],2],2]]
Out[]=
{1,0,2,1,0,0,0,2,1,1,2,1,0,1,0,2,1,1,0,2,1,0,0,2,1,0,1,1,2,1,1,0,2,1,1,0}
In[]:=
RLECompress[list_]:=Flatten[Riffle[IntegerDigits[Length/@Split[list],2],2]]
In[]:=
ArrayPlot[RLECompress[Sign[#]]&/@ResourceFunction["BlockCellularAutomaton"][{{2,2}{1,1},{1,1}{2,2},{1,2}{1,2},{2,1}{2,1},{2,0}{0,2},{1,0}{1,0},{0,2}{2,0},{0,1}{0,1},{0,0}{0,0}},CenterArray[Table[2,20],60],300],ColorRules->{0->LightGray,1->Black,2->Red}]
Out[]=
In[]:=
ArrayPlot[RLECompress[Sign[#]]&/@ResourceFunction["BlockCellularAutomaton"][{{2,2}{1,1},{1,1}{2,2},{1,2}{1,2},{2,1}{2,1},{2,0}{0,2},{1,0}{1,0},{0,2}{2,0},{0,1}{0,1},{0,0}{0,0}},CenterArray[Table[2,8],20],50],ColorRules->{0->LightGray,1->Black,2->Red}]
Out[]=
In[]:=
ArrayPlot[#,ColorRules->{0->White,1->Lighter[Orange],2->Darker[Orange]}]&@ResourceFunction["BlockCellularAutomaton"][{{2,2}{1,1},{1,1}{2,2},{1,2}{1,2},{2,1}{2,1},{2,0}{0,2},{1,0}{1,0},{0,2}{2,0},{0,1}{0,1},{0,0}{0,0}},CenterArray[Table[2,8],20],50]
Out[]=
In[]:=
RLECompress[Sign[#]]&/@ResourceFunction["BlockCellularAutomaton"][{{2,2}{1,1},{1,1}{2,2},{1,2}{1,2},{2,1}{2,1},{2,0}{0,2},{1,0}{1,0},{0,2}{2,0},{0,1}{0,1},{0,0}{0,0}},CenterArray[Table[2,8],20],50]
Block Encoding
Block Encoding
In[]:=
ListLinePlot[MapThread[Labeled,{Transpose[(u|->Count[Partition[Sign@u,2,1],#]&/@Tuples[{1,0},2])/@ResourceFunction["BlockCellularAutomaton"][{{2,2}{1,1},{1,1}{2,2},{1,2}{1,2},{2,1}{2,1},{2,0}{0,2},{1,0}{1,0},{0,2}{2,0},{0,1}{0,1},{0,0}{0,0}},CenterArray[Table[2,20],60],400]],Tuples[{1,0},2]}],Frame->True]
Out[]=
In[]:=
ListLinePlot[MapThread[Labeled,{Transpose[(u|->Count[Partition[Sign@u,2,1],#]&/@Tuples[{1,0},2])/@ResourceFunction["BlockCellularAutomaton"][{{2,2}{1,1},{1,1}{2,2},{1,2}{1,2},{2,1}{2,1},{2,0}{0,2},{1,0}{1,0},{0,2}{2,0},{0,1}{0,1},{0,0}{0,0}},CenterArray[Table[2,30],100],400]],Tuples[{1,0},2]}],Frame->True]
Out[]=
In[]:=
ListLinePlot[Transpose[(u|->Count[Partition[Sign@u,3,1],#]&/@Tuples[{1,0},3])/@ResourceFunction["BlockCellularAutomaton"][{{2,2}{1,1},{1,1}{2,2},{1,2}{1,2},{2,1}{2,1},{2,0}{0,2},{1,0}{1,0},{0,2}{2,0},{0,1}{0,1},{0,0}{0,0}},CenterArray[Table[2,80],460],5000]]]
Out[]=
Entropy
Entropy