Systèmes de substitution
SubstitutionSystem génère une liste représentant l'évolution d'un état initial donné suite aux demandes itératives d'un ensemble de règles.
Considérez l'état initial suivant et un ensemble de règles.
In[1]:=
init = "\[Wolf]";
rules = {"\[HappySmiley]" -> "\[Wolf]\[HappySmiley]",
"\[Wolf]" -> "\[HappySmiley]"};
Utilisez SubstitutionSystem pour obtenir son évolution sur 8 itérations.
In[2]:=
SubstitutionSystem[{"\[HappySmiley]" -> "\[Wolf]\[HappySmiley]",
"\[Wolf]" -> "\[HappySmiley]"}, "\[Wolf]", 8] // Column
Out[2]=
Utilisez un ensemble bidimensionnel de règles pour construire le tapis de Sierpiński.
In[3]:=
rules2D = {1 -> {{1, 1, 1}, {1, 0, 1}, {1, 1, 1}},
0 -> ConstantArray[0, {3, 3}]};
Visualisez ce système de substitution à l'aide de RulePlot.
In[4]:=
RulePlot@SubstitutionSystem[rules2D]
Out[4]=
Générez le tapis de Sierpiński.
In[5]:=
ArrayPlot /@ SubstitutionSystem[rules2D, {{1}}, 5]
Out[5]=