问题标签 [cellular-automata]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
376 浏览

function - 需要wireworld haskell帮助

我需要移动wireworld,我想将一个函数放在另一个函数中(“help1”)但我无法让它工作,这里有多个文件是我所拥有的

local_element 是另一个文件上的一个函数,如果您需要查看他的任何其他文件,我也想使用它,请问谢谢,非常感谢任何帮助

0 投票
2 回答
1269 浏览

finite-automata - 字母表和集合的元素有什么区别?

字母表和集合的元素有什么区别?

Alphabet 是集合的元素还是集合本身?

0 投票
1 回答
1107 浏览

scilab - Scilab 代码给出子矩阵错误定义的错误

我正在尝试为每个条目在 2 个标量和一个矩阵之间绘制一个 3D 图。在编译时,第 11 行出现“子矩阵定义错误”错误。代码:

完整的错误信息:

请帮忙。

0 投票
1 回答
2717 浏览

c++ - 用模环绕网格

我正在尝试编写一个在 20x60 单元格的网格上实现康威生命游戏的程序。网格应该环绕,以便左侧连接到右侧,顶部连接到底部。

因此,任何位置为 的单元格(0, col)都会在 处有一个邻居(maxRow, col)。任何具有位置的单元格(row, 0)将在 处有一个邻居(row, maxCol)

以下函数应该计算相邻单元格的数量。它适用于不在边缘的坐标,但不适用于边缘的坐标。例如,如果在(0, 10), (0, 11), , 处有点(0, 12),并且(0, 10)传递给函数,它将返回一个高数作为邻居计数而不是1。我知道 mod 运算符%会有所帮助,但我不明白如何使用它。

0 投票
1 回答
447 浏览

c - 使用一维数组实现规则 110 元胞自动机

我正在尝试编写代码以使用一维数组来显示规则 110,对于 30 个整数的数组,对于 20 行。

它创建一个大小为 30 的数组,其中大部分填充 0 和几个 1,然后在规则函数中创建一个新数组并根据前一个数组包含的内容填充它,然后将其复制到初始数组中,然后将其传递回主要的。但是我的似乎只打印了很多 0。

它应该看起来像:在此处输入图像描述

其中0为空白,1为填充。

0 投票
2 回答
236 浏览

arrays - 通过制作数组数组在 UnityScript 中制作 2D 数组

所以我在 Unity 3D 中使用 UnityScript 尝试使用元胞自动机制作洞穴生成器。这是我的问题,我创建了两个变量,宽度和高度,它们需要是我的二维数组的大小。我还创建了一个函数来在启动时生成地图,因此需要在启动时初始化数组。我知道我需要某种for循环使用.length和其中一个变量,但我不完全确定如何做到这一点。任何帮助都会很棒!

0 投票
2 回答
607 浏览

swift - 在 Swift 中使用元胞自动机生成程序关卡

有没有一种简单的方法可以在 swift/SpriteKit(库?)中使用元胞自动机创建程序关卡?我想创建一个高度为 11 个字段,宽度为 22 个字段的“洞穴”。这些应该是随机创建的,并且应该到达每个没有墙的领域。我刚刚找到了一个使用 Objective-C 的文档,我不熟悉。我花了很多时间试图理解代码并按照示例进行操作,但没有成功。

PS:如果有更简单的方法,我会欣赏一些算法

0 投票
1 回答
144 浏览

objective-c - 将元胞自动机状态简化为一组向量路径

我正在开发 iOS 版本的 Game Of Life。该应用程序的核心在于它是一个工作细胞自动机,具有所有生活游戏规则。它可以制造滑翔机、宇宙飞船并完美地发挥作用。如果您不知道 Game of Life,请在 youtube 上观看。

所以,我试图用这个版本做的是“平滑”每个单元格。因此,不是每个单元格都是一个孤立的网格,而是所有活着的单元格将被绘制在一起作为一个连续的斑点。

我已经让它以离散的形式工作。我的意思是我为每个单元格设置了一组规则,其中单元格绘制选定的曲线/矩形形状,以便所有单元格组合在一起。

看起来像:

例如,右侧 blob 的顶部单元格下方有一个活动单元格,并且知道其他单元格,因此它有 3 个直边和一个弯曲的顶部。确定单元格形状的规则是“单元格”类中的逻辑。这会产生我想要的几何效果。但是,因为每个单元格都有不同的 CGPath,所以它是不可动画的。理想情况下,在这张图片中会有两个 CGPath。

问题就在于此。我现在正在研究一种基于细胞在给定一代中的存活情况来组成矢量路径的方法。我相信,这个过程将涉及到单元格的输出坐标点,然后这些坐标点会被某些过程接收以创建路径。然而,这些点的顺序很重要。

例如:

创建向量的步骤

在此,1) 表示一组“活”“细胞”。2) 是我如何生成积分的方法。基本上使用我用来从第一种技术创建弯曲路径的相同逻辑。它可能需要稍作更改,因为某些点与单元格重叠,因此不需要它们。3)将是理想的矢量形状。它们是两条向量路径,因为在单元格上没有邻居。

所以我试图考虑的算法是如何迭代这些点来为所有相互相邻的单元集创建离散路径。我正在研究从左到右与从上到下扫描。或者总是选​​择最接近当前点的点,同时仍然是一组活细胞的一部分。当它到达第一个点时,它将跳转到不在该组活细胞中的最近点。只是在这一点上理论。

0 投票
1 回答
405 浏览

java - 元胞自动机 - 在边界单元上做什么?

我正在尝试实现一个模拟波浪行为的元胞自动机。我在r=2 这里使用冯诺依曼社区

我的问题是:我应该如何计算边界上单元格的状态?

例如:我有一个数组a,我想计算a[0][0].

细胞状态是 (-1,1) 范围内的浮点数,其中 0 是陆地。在“常规”单元格上,我可以获取邻居的状态,但是当邻居较少(<12)时,结果就是错误的,并“产生”了新的浪潮。

0 投票
1 回答
992 浏览

python - 绘制交通流的基本图

我有一个交通模拟,但我不明白如何绘制基本图(流量与密度)。我模拟流量如下:

我有一个矩阵,其列数与道路长度一样多,行数与时间步长一样多。每辆车在矩阵中用 1 表示。我有列表来跟踪汽车的索引和速度。我循环了 N 个时间步长,以便流量根据一些规则随着时间的推移而演变。

我查看了维基百科并试图在网上找到一些东西来帮助我,但到目前为止理解它还没有运气。如何导出数据以绘制基本图?

我的嵌套列表,其中第一个索引是汽车的位置,第二个是它的速度:

carIS[[0, 2], [1, 0], [2, 0], [3, 0], [4, 0], [6, 1], [7, 0], [9, 1], [10, 0], [11, 0], [12, 0], [13, 0], [16, 2], [19, 0], [20, 0], [22, 1], [24 , 0], [26, 1], [28, 0], [30, 1], [31, 0], [32, 0], [33, 0], [34, 0], [35, 0 ], [36, 0], [39, 2], [40, 0], [41, 0], [42, 0], [43, 0], [44, 0], [45, 0], [46, 0], [47, 0]]

该列表随每个时间步长生成。为了生成基本图,我应该怎么做?