首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >3状态元胞自动机规则是如何产生的?

3状态元胞自动机规则是如何产生的?
EN

Stack Overflow用户
提问于 2016-05-19 14:41:11
回答 1查看 1.1K关注 0票数 1

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

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

我找不到一个相当于3状态CA的可视化。按照2状态CA的逻辑,它应该包含27种可能的结果,但我不知道它们的生成顺序。下一行应为30元(前导零占27个位置)。

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

如果这个问题很愚蠢的话,非常感谢。:(

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-19 16:31:08

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

你的问题不傻。

对于三种状态,这将给出三元数。首先,用三元(降序)写出所有三位数:

代码语言:javascript
复制
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,第四位和第二位(从右边),以下是半径-13-状态CA的规则30:

代码语言:javascript
复制
000000000000000000000001010

这个CA有一个非常不同的行为规则30半径-1.2-状态CA.

以下是radius-13-状态的规则33 (33 = 1*3^3 + 2*3^1):

代码语言:javascript
复制
000000000000000000000001020

因此,对于n,r,按降序枚举基n中的所有2r+1数字,并为每个数字关联一个[0,n]中的值。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37326611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档