Создать новое правило Сотовых автоматов в Mathematica

Мне нужно создать новое правило CA в Mathematica. Как я могу сделать? Я имею в виду, мне нужно создать CA с 3 цветами (черный, белый и серый). Вы можете мне помочь?

1 ответ

Один из способов указать пользовательское правило - определить функцию, которая с учетом списка соседей и временного шага выведет обновленное значение. Например

fun[lst_, t_] := Mod[Total[lst], 3]

который просто вычислит сумму всех соседей элемента по модулю 3. Затем эту функцию можно использовать в CellularAutomaton следующее

With[{init = {0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0}, nsteps = 10, r = 1},
   res = CellularAutomaton[{fun, {}, r}, init, nsteps]]

ArrayPlot[res]

Mathematica графика

Другие вопросы по тегам