预测细胞自动机

时间:2020-05-30 06:12:20

标签: cellular-automata

我正在尝试完成AI课程的作业,但是我无法理解一个问题。不幸的是,我在互联网上找不到任何能清楚解释如何预测CA下一代的信息。我在下面发布了指向我的问题的屏幕截图的链接。

Image

编辑:

这是我编辑过的答案;

Edited Answer

1 个答案:

答案 0 :(得分:0)

在Margolus社区中,网格分为2x2块。根据您所处的步骤,块的划分要么从左上角开始,要么向下偏移一个单元格,向右偏移一个单元格。 (请参阅Block cellular automata上的Wikipedia。)您的指示要求从左上角开始。

因此,您需要将网格划分为2x2块。然后,检查每个块中的模式如何与15 possible Margolus邻域配置相匹配:

Margolus neighborhoods

对于给定的网格,最终得到以下结果。 “邻居”以黄色突出显示的文本标记:

Divided grid

现在,您查看给出的规则:MS,D 0; 14; 11; 5; D后面的这些数字依次告诉您每种配置应如何更改。

    规则中的
  • 第0个数字(D ​​ 0 ):从0开始计数,第一个数字告诉您0(空)配置应如何更改。给定的数字为0,这意味着空白的2x2块在下一代不会更改。
  • 规则中的第一个数字(D ​​0; 14 ;):下一个数字告诉您1配置的方式(左上角有一个X)应该改变。该数字为14,这意味着如果我们有任何具有1配置的2x2块,则应变形为14块。我们没有任何1配置,因此我们转到规则中的下一个数字。
  • 规则中的第二个数字(D ​​0; 14; 11 ;):下一个数字告诉您2配置应如何更改,以及该数字是11。我们有2个具有2配置的块(右上角有一个X),该规则告诉我们需要将它们转换为配置11(2x2块,其中X填充,左下角除外)。

在评估了前三个规则后,您最终得到:

Next generation

继续执行规则中的其余数字,您将得到答案。至于规则是否可逆,请参见here