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]:=
![Click for copyable input](assets.fr/substitution-systems/In_54.png)
init = "\[Wolf]";
rules = {"\[HappySmiley]" -> "\[Wolf]\[HappySmiley]",
"\[Wolf]" -> "\[HappySmiley]"};
Utilisez SubstitutionSystem pour obtenir son évolution sur 8 itérations.
In[2]:=
![Click for copyable input](assets.fr/substitution-systems/In_55.png)
SubstitutionSystem[{"\[HappySmiley]" -> "\[Wolf]\[HappySmiley]",
"\[Wolf]" -> "\[HappySmiley]"}, "\[Wolf]", 8] // Column
Out[2]=
![](assets.fr/substitution-systems/O_60.png)
Utilisez un ensemble bidimensionnel de règles pour construire le tapis de Sierpiński.
In[3]:=
![Click for copyable input](assets.fr/substitution-systems/In_56.png)
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]:=
![Click for copyable input](assets.fr/substitution-systems/In_57.png)
RulePlot@SubstitutionSystem[rules2D]
Out[4]=
![](assets.fr/substitution-systems/O_61.png)
Générez le tapis de Sierpiński.
In[5]:=
![Click for copyable input](assets.fr/substitution-systems/In_58.png)
ArrayPlot /@ SubstitutionSystem[rules2D, {{1}}, 5]
Out[5]=
![](assets.fr/substitution-systems/O_62.png)