您使用的是用于基本 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,第四个和第二个(从右起),这里是规则 30对于 radius-1 三态 CA:
000000000000000000000001010
此 CA 的行为与规则 30 radius-1 2-states CA 的行为非常不同。
这是 radius-1 3-states (33 = 1*3^3 + 2*3^1) 的规则 33:
000000000000000000000001020
因此,对于 n,r,按降序枚举基数 n 中的所有 2r+1 位数字,并为它们中的每一个关联一个 [0,n[ 中的值。