用Mathematica玩转一维元胞自动机

2025-10-24 06:23:01

1、元胞自动机的函数是CellularAutomaton:

a = CellularAutomaton[30, {0, 0, 0, 1, 1, 0, 0, 0}, 6];

这是用规则30构造的元胞自动机;

初始状态是{0, 0, 0, 1, 1, 0, 0, 0};

迭代了6次,得到了{0, 0, 1, 0, 0, 0, 1, 0}。

你能看出规则30的具体规则吗?

用Mathematica玩转一维元胞自动机

2、CellularAutomaton[30, {{1}, 0}, 6]

仍旧是规则30;

初始状态只有一个元胞,其余的全是0;

这个元胞在一维方向上分裂演化;

演化六次,得到{1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1}。

用Mathematica玩转一维元胞自动机

3、步骤1和步骤2都是一维的元胞自动机,却不相同:

前者的范围受到限制,只有8个位置供元胞自动机进行演化,触边即消;

后者在一维方向上,可以无限延伸。

用Mathematica玩转一维元胞自动机

用Mathematica玩转一维元胞自动机

4、把元胞自动机的演化过程,画成彩色的像素图:

ColorRules -> {1 -> Blue, 0 -> Lighter@Lighter@Lighter@Orange}

用Mathematica玩转一维元胞自动机

5、使用规则26,和一个一维元胞。

用Mathematica玩转一维元胞自动机

6、使用规则13,和一个一维元胞。

用Mathematica玩转一维元胞自动机

7、下图包括了规则2到规则31的像素图。

用Mathematica玩转一维元胞自动机

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢