我正在研究一个涉及 3D(立方)无限细胞自动机的挑战,其定义为:
初始状态:我们从位于立方体顶点的 8 个单元开始,每个单元处于 4 种状态之一 {0:粉色、1:红色、2:绿色、3:蓝色}。
增长:在每一步中,立方体都会通过在每对现有单元之间插入新单元来扩展。新单元的状态由其最近邻居的状态总和模 4 确定。请注意,根据其位置,新单元有 2、4 或 8 个最近邻居(这是 3D Moore 邻域)。
为了说明这一点,下面是第一步的说明:
初始状态
步骤 1
例如,中心节点为绿色,因为它有 8 个邻居,它们的类型总和为 2(绿色)+ 1(红色)+ 1(红色)+ 0(粉色)+ 2(绿色)+ 0(粉色)+ 3(蓝色)+ 1(红色)= 10 % 4 = 2(绿色)
第 2 步
我们感兴趣的是追踪每个状态 [0, 1, 2, 3] 的细胞数量的演变。以下是第一步的计数:
- 初始:2、3、2、1
- 步骤 1:6、10、7、4
- 第 2 步:30、36、31、28
- 步骤 3:196、192、155、186
- 步骤 4:1'162、1'276、1'207、1'268
我们的目标是确定第 19 步中每个细胞状态的数量。鉴于指数增长,蛮力是不可行的。有人告诉我可以在不到一秒的时间内解决它。有人知道如何解决这个问题吗?
提前感谢您的帮助!