Язык Wolfram Language

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

Системы перезаписи по правилам

SubstitutionSystem генерирует список, представляющий развитие заданного начального состояния, следуя итеративным приложениям набора правил.

Рассмотрите данное начальное состояние и набор правил.

In[1]:=
Click for copyable input
init = "\[Wolf]"; rules = {"\[HappySmiley]" -> "\[Wolf]\[HappySmiley]", "\[Wolf]" -> "\[HappySmiley]"};

Используйте SubstitutionSystem для получения развития 8 итераций.

In[2]:=
Click for copyable input
SubstitutionSystem[{"\[HappySmiley]" -> "\[Wolf]\[HappySmiley]", "\[Wolf]" -> "\[HappySmiley]"}, "\[Wolf]", 8] // Column
Out[2]=

Используйте двухмерный набор правил для создания ковра Серпинского.

In[3]:=
Click for copyable input
rules2D = {1 -> {{1, 1, 1}, {1, 0, 1}, {1, 1, 1}}, 0 -> ConstantArray[0, {3, 3}]};

Визуализируйте систему перезаписи по правилам, используя RulePlot.

In[4]:=
Click for copyable input
RulePlot@SubstitutionSystem[rules2D]
Out[4]=

Сгенерируйте ковёр Серпинского.

In[5]:=
Click for copyable input
ArrayPlot /@ SubstitutionSystem[rules2D, {{1}}, 5]
Out[5]=

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

de en es fr ja ko pt-br zh