元胞自动机的维度对复杂性类别的影响


9

让我们以3d→2d缩减为例:用2d细胞自动机模拟3d细胞自动机的成本是多少?

这是一堆更具体的问题:

  1. 哪种算法的时间复杂度会改变多少?

  2. 编码的基本思想是什么?3d网格如何有效(或不高效……)映射到2d网格?(挑战似乎是实现两个单元之间的通信,该两个单元最初在3d网格上相邻,而在2d网格上不再相邻)。

  3. 特别是,我对指数复杂度算法的复杂度漂移很感兴趣(我猜它在任何维度上都保持指数级,是这样吗?)

注意:我对低复杂度类不感兴趣,对于这些类而言,所选的I / O方法会影响复杂性。(也许最好是假设I / O方法是无量纲的:在可变的时间步长内在一个特定的单元上本地完成。)


一些上下文:我对并行局部图重写感兴趣,但是这些图比3d(或ωd…)网格更接近2d网格,我想知道对二维二维硬件实现的期望硅片。

Answers:


5

我将解释本文的内容:用2D细胞自动机模拟3D细胞自动机

让我们从网格的编码开始函数。直觉上不能保留该距离,因为距原点小于的像元数将不相同。您将需要嵌入这些关于细胞进入一些相同数目的细胞,但它会以某种形式的,但是,你必须有。这些和有点像您在任何细胞自动机中发现的邻域概念的半径。 t R R 3 r 2 r > R r Rt:Z3Z2tRR3r2r>RrR

因此,本文的转换将使事情实质上变大至少的幂。如果点在第一个网格中的距离为,则它们在第二个网格中的距离至少为。不幸的是,给定的嵌入仅在。d Ô 3/2dOd3O(d3)O(d3)

但是,这是一个非常重要的说明,您不会获得与第一个自动机相同的邻域,这就是为什么我之前说过“有点像”。引用文章:

很明显,将存在在非常接近细胞,并且使得在[它们的编码将是]任意远Z 2Z3Z2

这同样适用于时间:一步的执行时间可以在任意长。请注意,编码更多是模拟:作者甚至使用2D CA来模拟函数。Z 2 t Z 3 Z 2Z3Z2t:Z3Z2

可以肯定地说,在将3D CA编码为2D CA时,在3D CA上运行的任何算法的复杂性(时间)都会激增。作者说,它在模拟中不受任何功能的约束。我说爆炸通常至少是指数级的,因为信息的传播时间取决于位置。

在元胞自动机上运行算法的想法在我看来已经有些奇怪,但这是个人的。但是,与将蜂窝自动机实现到硅芯片中的想法相比,这没什么,还是仅我一个人?


非常感谢您的链接。两个节点之间的任意距离使问题比我想的要严重得多。但是,算法的复杂度变化可能还不错,因为您无需在3d自动机上模拟实现即可在2d上运行。这意味着在我的用例中,我将不得不依靠特定的编码,因为通用解决方案具有这一可怕的限制!
斯特凡希门尼斯

哦,对可能的硬件实现,让我们 ;-)
斯特凡希门尼斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.