Wolfram Language

Langage de base

Périodicité dans les automates cellulaires

La nouvelle fonction FindTransientRepeat identifie les parties transitoires et répétées d'une liste. Utilisons-la pour examiner les automates cellulaires.

Regardez la règle 30 de l'automate cellulaire. La fonction RulePlot de la version 11 est un outil utile pour trouver les règles de transformation associées.

In[1]:=
Click for copyable input
RulePlot[CellularAutomaton[30]]
Out[1]=

Définissez les conditions initiales de l'automate cellulaire en utilisant la nouvelle fonction CenterArray.

In[2]:=
Click for copyable input
initc = CenterArray[7]
Out[2]=

Calculez la règle 30 de l'automate cellulaire avec les conditions initiales ci-dessus, et tracez-la dans un réseau discret de carrés.

In[3]:=
Click for copyable input
ca30 = CellularAutomaton[30, initc, 20]; ArrayPlot[ca30, Mesh -> True]
Out[3]=

FindTransientRepeat fournit la partie répétée de cet automate cellulaire.

In[4]:=
Click for copyable input
tr30 = FindTransientRepeat[ca30, 2]; ArrayPlot[Last[tr30], Mesh -> True]
Out[4]=

Répétez les mêmes étapes pour la règle 90 de l'automate cellulaire.

In[5]:=
Click for copyable input
RulePlot[CellularAutomaton[90]]
Out[5]=
In[6]:=
Click for copyable input
ca90 = CellularAutomaton[90, initc, 20]; ArrayPlot[ca90, Mesh -> True]
Out[6]=
In[7]:=
Click for copyable input
tr90 = FindTransientRepeat[ca90, 2]; ArrayPlot[Last[tr90], Mesh -> True]
Out[7]=

Exemples connexes

de en es ja ko pt-br ru zh