Язык Wolfram Language

Основной язык программирования

Периодичность в клеточных автоматах

Новая функция FindTransientRepeat определяет временные и повторяющиеся части списка. Она может быть использована для анализа клеточных автоматов.

Посмотрите на правило 30 клеточного автомата (КА). Функция версии 11 RulePlot является полезным инструментом для поиска соответствующих правил трансформации.

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

Задайте начальные условия для КА, используя новую функцию CenterArray.

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

Рассчитайте правило 30 КА с указанными ранее начальными условиями и графически изобразите его на дискретном массиве клеток.

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

FindTransientRepeat выдаёт повторяющуюся часть данного КА.

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

Повторите данные шаги для правила 90 клеточного автомата.

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]=

Родственные примеры

de en es fr ja ko pt-br zh