三态元胞自动机规则是如何生成的?

How are 3-state cellular automata rules generated?

让我们将邻域限制为 n=1(这意味着我们总是需要 3 个单元来评估下一代单元)。

这是 2 个州规则的示例。请注意,规则的上一行是按特定顺序生成的,而下一行是数字 30 的位表示。

我找不到一个可视化的 3 状态 CA 等效项。按照 2 状态 CA 的逻辑,它应该包含 27 种可能的结果,但我不知道它们应该以什么顺序生成。下排应该是三进制的30(前导零共占27个位置)。

是否有一种通用算法可以按照 CA 的常规顺序(不考虑状态数)生成这些排列?

非常感谢您,如果问题很愚蠢,我们深表歉意。 :(

您使用的是用于基本 CA 的 Wolfram 代码(来自 Stephen Wolfram)。 如果您使用更多州或更大的社区,那么自然扩展它就足够了。

你的问题不傻

对于三个州,这将为您提供三元数。先把三位数字全部写成三进制(降序):

222, 221, 220, 212, 211, 210, 202, 201, 200, 122, 121, 120, 112, 111, 110, 102, 101, 100, 022, 021, 020, 012, 011, 010, 002, 001, 000

有27个3^3,并且222_3=26,221_3=25,001_3=1,000_3=0

现在把30分解成3进制的27位数:30 = 1*3^3+ 1*3^1 所以只有两位数等于1,第四位和第二位(右起) ,这里是 radius-1 三态 CA 的规则 30:

000000000000000000000001010

此 CA 的行为与规则 30 radius-1 2-states CA 的行为截然不同。

这里是 radius-1 三态的规则 33 (33 = 1*3^3 + 2*3^1):

000000000000000000000001020

因此,对于 n,r,以降序枚举以 n 为底的所有 2r+1 位数字,并为每个数字关联一个 [0,n[.

中的值