冯诺依曼元胞自动机

冯诺依曼元胞自动机
冯诺依曼元胞自动机

冯诺依曼元胞自动机(John V on Neumann’s Cellular Automaton)

冯诺依曼元胞自动机是由计算机科学家约翰冯诺依曼发明的一种图灵完备的元胞自动机。目前它还有三种不同的规则,分别名叫:JvN29,Nobili32,Hutton32.可以模拟许多“机器”,比如自我复制机(Replicator)就是其中最重要的一种。

目前几乎没有介绍冯诺依曼元胞自动机的中文网站,所以我在此给大家比较详细地介绍一下它。

一、JvN29

这是由John Von Neumann在1940年发明的自动机。由于其上的活细胞共有29种状态,故名JvN29,29种状态分别为:

前8种和后3种是激发态(不稳定),不用记。

其中4个蓝箭头和4个红箭头相当于“导线”,4个绿箭头和4个紫箭头分别是两种电线中的“电流”。

紫箭头可以eat(即将其变为死细胞,下同)蓝箭头,绿箭头可以eat 红箭头。不过紫箭头权限更高,它还可以eat掉4种菱形。

当一串绿箭头或紫箭头到达“导线”最前端时,前端前的死细胞就会根据绿箭头或紫箭头的不同序列而变成不同的稳定活细胞,这个过程叫做翻译,需要用到前8种激发态作为桥梁。8种激发态间有一个转化关系,如图:

我们一般采用所谓“密码子”的箭头序列。在JvN29中,每种稳定细胞都对应一个密码子,即一个可以产生此种细胞的箭头序列。从上图可以总结出JvN29的密码子如下:

这个表同样适用于红箭头和紫箭头。

菱形是种重要的状态,根据“导线”的不同接法它可以发挥不同的作用。

1)当接为一入多出时,菱形充当信号分路器:

当单独信号输入时:

当两个信号输入时:

可见,在分路时信号会延迟,菱形的三种激发态充当了桥梁的作用,

2)接入为三入一出或二入二出时,菱形充当“与门”,当且仅当发输入端全都有信号来时,菱形才进入激发态

3)特殊地,若接入一入一出,就构成信号延迟器:

JvN29有一个缺点:它不允许直接信号交叉,若要实现,要用到一种信号交叉器:

这种交叉器有缺陷,第一是竖直导线只能向上,水平导线只能向右,第二是水平信号和竖直信号不能同时进入,否则会出错。

二、Nobili32

为了弥补JvN29不允许信号交叉的缺陷,Renato Nobili于1994年在JvN29的基础上增加了三种菱形的状态:,

从而发明了Nobili32,要实现交叉,只需在交叉处放上一个菱形即可,如:

当横方向信号穿过时,菱形变为

当竖方向来时,菱形变为

两个方向同时来时,变为

Nobili32还给菱形的三个非交叉激发态增加了一个衰变条件:当且仅当有接出的导线时才衰变。

在JvN29和Nobili32中还有几个比较重要的东西:

1)编码器(coder)

为了使密码子的产生更加简单,在大型机器中一般使用coder。每种密码子可对应一个coder,当输入一个绿箭头时,就会输出其密码子。如向下的蓝箭头的coder就是:

2)译码器(decoder)

有些时候,为了识别某种信号序列,我们会用到decoder。Decoder有两种,一种是完全的,一种是不完全的。完全decoder是要求输入信号满足它是decoder需要识别的充要条件,不完全decoder则满足必要不充分条件。如一个序列满足它是向下蓝箭头密码子的充要条件是“第一位是1,第二位是0,第三位是1,第四位是0”,必要不充分条件是“第一位和第三位都是1”。

3)C-Arm

在JvN29和Nobili32中为了能用机器产生一些单独存在的细胞,就是用到C-Arm,JvN29中的和Nobili32中的有所不同:

JvN29:

Nobili32:

现以Nobili32为例描述一下工作过程:

前进:

建造:把密码子通入红箭头,再后退。

4)R-Arm

有了C-Arm,就还需要有控制器来控制。控制器是受控于ROM中存储的信息。在ROM中,需要有信息的读取装置,就是R-Arm。

信息以类似于二进制的方式储存在水平直线(纸带)上,“0”是死细胞,“1”是向下蓝箭头:

读取时,向蓝箭头输入

如果是0,则会消耗一个密码子而返回一个绿箭头;

如果是1,则返回三个绿箭头,最后使返回信号进入decoder来判断箭头个数,让C-Arm 和R-Arm去完成相应的操作。

思考:R-Arm具体是怎样工作的?

有了以上4种材料,就可以制作Replicator了。主要有两条思路:一是用一个循环带()储存信息,通过完全decoder来控制C-Arm复制自己,如JvN-Loop-Replicator,二是用R-Arm 和纸带控制,如NP-Replicator,N-Compressed-Replicator等。但复制方法基本固定,前者是先

复制机器,再复制遗传信息,后者则相反。但用JvN29和Nobili32制作的Replicator不是长,就是纸带长,完全复制需要1010以上代,而且一次只能复制个,有一定局限性。

三、Hutton32

为了使Replicator更小,复制得更快,Tim Hutton于2008年将Nobili32作了一个大的修改(看来还是最新产品),发明了另一种规则,名叫Hutton32

在Hutton32中,一根蓝导线就可当作C-Arm。

和上面两种自动机相似,Hutton32也有9种基本密码子,但这些密码子最终形成的细胞还和导线前端蓝箭头的方向有关。其中4种称为C-Arm控制密码子:

和之前两种自动机不同,这些密码子在Hutton32中不适用红导线。之后会进一步介绍。

为了使蓝导线能当作C-Arm,Tim Hutton又增加了9种Construct扩展密码子:

这些密码子规定起来容易,实现起来难。为此Tim Hutton增加了几条规则:

1)在Hutton32中,紫箭头可以eat蓝箭头和菱形,绿箭头虽可以eat红箭头,但如果一个指向红箭头的蓝箭头下一代将变成绿箭头,那它下一代就会被eat,如:

这也就是说,你不能直接用绿箭头eat红箭头,而应先把蓝箭头所指的红箭头变成紫箭头,再让绿箭头去eat;

2)当一个绿箭头的前面是死细胞,后面是蓝箭头时,它的下一代就变成紫箭头;

3)如果一个紫箭头前面是前7种衰变态,后面是蓝箭头,那么下一代它就会不变;

4)如果一个菱形紫箭头前面是蓝箭头或红箭头或菱形,后面是绿箭头,它的下一代就变成死细胞;

5)一个前面是前七种衰变态后面是蓝箭头的紫箭头,下一代会变成与后面蓝箭头同向的蓝箭头。

这样,这些密码子就巧妙地实现了。

红导线不能翻译密码子,当紫箭头到达最前端时,会在一代内产生一个和红导线方向一致的蓝箭头:

重要机器:计数器(Counter)

来分析一下他们:

1)二进制Counter

信号从左边进入,在缺处形成一个蓝箭头:

当又有信号来时,会在下一个缺口处形成一个蓝箭头,而刚才形成的蓝箭头会被红箭头eat,这个过程叫进位:

就好像二进制加法一样。当所有的缺口都被蓝箭头填满后,下一个信号就会从右边输出,并把Counter归零。

2)十进制Counter:

原理一样,只是每10个一进位。

Hutton32中,从◇接出的蓝箭头至少需有两个,如果只有一个,那么当有信号来时,蓝箭头就会变成紫箭头,继而变成红箭头,而红箭头无法进行密码子翻译。这就是Hutton32的一个漏洞。

Hutton32中的Replicator 也有两种不同的类型。两种类型都是用tape 储存遗传信息,利用tape 制造出一个辅助复制机,辅助复制机再制造出一个tape ,再进行遗传信息。两种类型的tape 不同,其一是一维的tape ,其二是二维tape 。由于Hutton32的密码子具有旋转对称性,所以可以在tape 的出口处用◇分岔,实现一次同时复制出两个。

Hutton32中的Replicator 复制速度普遍很快(相比于JvN29和Nobili 而言),基本上可以在5

210 代以内完成一个子代的复制。目前最快的是Tim Hutton 设计的Hutton_Replicator ,在50054代以内复制完一个子代。

最后,推荐一款软件:Golly(最新版本为2.4),可以模拟包括冯诺依曼元胞自动机在内的多种元胞自动机,速度很快,还自带有上面提到的NP-Replicator,N-Compressed-Replicator 等Replicator 的rle 文件。想下载的朋友请到英文维基百科上搜索“Cellular Automaton ”,在External links 里面就有下载,进入后点Download 。

或者直接下载地址:

谢谢大家!

元胞自动机(CA)代码及应用

元胞自动机(CA)代码及应用 引言 元胞自动机(CA)是一种用来仿真局部规则和局部联系的方法。典型的元胞自动机是定义在网格上的,每一个点上的网格代表一个元胞与一种有限的状态。变化规则适用于每一个元胞并且同时进行。典型的变化规则,决定于元胞的状态,以及其(4或8 )邻居的状态。元胞自动机已被应用于物理模拟,生物模拟等领域。本文就一些有趣的规则,考虑如何编写有效的MATLAB的程序来实现这些元胞自动机。 MATLAB的编程考虑 元胞自动机需要考虑到下列因素,下面分别说明如何用MATLAB实现这些部分。并以Conway的生命游戏机的程序为例,说明怎样实现一个元胞自动机。 ●矩阵和图像可以相互转化,所以矩阵的显示是可以真接实现的。如果矩阵 cells的所有元素只包含两种状态且矩阵Z含有零,那么用image函数来显示cat命令建的RGB图像,并且能够返回句柄。 imh = image(cat(3,cells,z,z)); set(imh, 'erasemode', 'none') axis equal axis tight ●矩阵和图像可以相互转化,所以初始条件可以是矩阵,也可以是图形。以下 代码生成一个零矩阵,初始化元胞状态为零,然后使得中心十字形的元胞状态= 1。 z = zeros(n,n); cells = z; cells(n/2,.25*n:.75*n) = 1; cells(.25*n:.75*n,n/2) = 1; ●Matlab的代码应尽量简洁以减小运算量。以下程序计算了最近邻居总和,并 按照CA规则进行了计算。本段Matlab代码非常灵活的表示了相邻邻居。 x = 2:n-1; y = 2:n-1; sum(x,y) = cells(x,y-1) + cells(x,y+1) + ... cells(x-1, y) + cells(x+1,y) + ... cells(x-1,y-1) + cells(x-1,y+1) + ... cells(x+1,y-1) + cells(x+1,y+1); cells = (sum==3) | (sum==2 & cells); ●加入一个简单的图形用户界面是很容易的。在下面这个例子中,应用了三个 按钮和一个文本框。三个按钮,作用分别是运行,停止,程序退出按钮。文框是用来显示的仿真运算的次数。 %build the GUI %define the plot button plotbutton=uicontrol('style','pushbutton',...

元胞自动机简史

元胞自动机简史 元胞自动机的诞生是人类探索人的认识本质的结果,也是计算技术巨大进步推动的结果。自古以来,人类认识一般问题的根本方法就是,建模和计算(推演)。模型是人类智力能理解自然世界的唯一方式。而元胞自动机正是一种可以用来建模也非常容易进行计算的理论框架和模型工具。最早从计算的视角审视问题的是关心人的认识本质的哲学家。笛卡尔认为, 人的理解就是形成和操作恰当的表述方式。洛克认为, 我们对世界的认识都要经过观念这个中介, 思维事实上不过是人类大脑对这些观念进行组合或分解的过程。霍布斯更是明确提出, 推理的本质就是计算。莱布尼兹也认为, 一切思维都可以看作是符号的形式操作的过程。进入20 世纪, 弗雷格, 怀特海、罗素等人通过数理逻辑把人类的思维进一步形式化, 形成了所谓的命题逻辑及一阶和高阶逻辑。在他们看来, 逻辑和数学, 都是根据特定的纯句法规则运作的。在这里, 所有的意义都被清除出去而不予考虑。在弗雷格和罗素的基础上, 维特根斯坦在他的早期哲学中把哲学史上自笛卡尔以来的原子论的理性主义传统发展到了一个新的高度。在维特根斯坦看来, 世界是逻辑上独立的原子事实的总和, 而不是事物的总和; 原子事实是一些客体的结合, 这些事实和它们的逻辑关系都在心灵中得到表达: 我们在心灵中为自己建造了事实的形象。人工智能事实上就是试图在机器中实现这种理性主义理想的一门学科。 在计算理论发展过程中, 阿兰·图灵(A. Turing) 的思想可以说是最关键的。在1936 年发表的论文中, 图灵提出了著名的图灵机概念。图灵机的核心部分有三: 一条带子、一个读写头、一个控制装置。带子分成许多小格, 每小格存一位数; 读写头受制于控制装置, 以一小格为移动量相对于带子左右移动, 或读小格内的数, 或写符号于其上。可以把程序和数据都以数码的形式存储在带子上。这就是“通用图灵机”原理。图灵在不考虑硬件的前提下, 严格描述了计算机的逻辑构造。这个理论不仅解决了纯数学基础理论问题, 而且从理论上证明了研制通用数字计算机的可行性。 图灵认为, 人的大脑应当被看作是一台离散态机器。尽管大脑的物质组成与计算机的物质组成完全不同, 但它们的本质则是相同。。离散态机器的行为原则上能够被写在一张行为表上, 因此与思想有关的大脑的每个特征也可以被写在一张行为表上, 从而能被一台计算机所仿效。1950 年, 图灵发表了《计算机器和智能》的论文, 对智能问题从行为主义的角度给出了定义, 设计出著名的“图灵测验,论证了心灵的计算本质, 并反驳了反对机器能够思维的9 种可能的意见。 与图灵提出人的大脑是一台离散态的计算机的思想几乎同一时期, 计算机科学的另一个 开创者冯·诺伊曼(J . von Neumann) 则开始从计算的视角思考生命的本质问题。一个人工的机器能够繁殖它自己吗? 当年笛卡尔在声称动物是机器的时候, 就曾被这个问题所难住。但冯·诺伊曼要回答这个问题, 他要找到自动机产生后代的条件, 他要证明机器可以繁殖! 为此, 冯·诺伊曼作了一个思想实验。他想象一台机器漂浮在一个池塘的上面, 这个池塘里有许多机器的零部件。这台机器是一台通用的建造器: 只要给出任何一台机器的描述,这台机器就会在池塘中寻找合适的部件, 然后再制造出这台机器。如果能够给出它自身的描述, 它就可以创造出它本身。不过, 这还不是完全的自我繁殖, 因为后代机器还没有对自身的描述, 它们因此不能复制自己。所以, 冯·诺伊曼继续假定最初的机器还必须包含一个描述复制器, 一旦后代机器产生出来, 它也从亲代那里复制一份关于自身的描述, 这样, 后代机器就可以无穷无尽地繁殖下去。 冯·诺伊曼的试验揭示了一个深刻的问题:任何自我繁殖的系统的基因材料, 无论是自然的还是人工的, 都必须具有两个不同的基本功能: 一方面它必须起到计算机程序的作用, 是一种在繁殖下一代时能够运行的算法, 另一方面它必须起到被动数据的作用, 是一个能够复制和传给下一代的描述。1953 年沃森和克里克揭示的DNA 结构和自我复制的机理。DNA 的特性正好具备冯·诺伊曼所指出的两个要求。 然而, 冯·诺伊曼对他自己的动力学模型并不十分满意。他不能充分地获得最小的逻辑前提, 因为该模型仍然以具体的原材料的吸收为前提。冯·诺伊曼感到, 该模型没有很好地把过程的

CA元胞自动机优化模型原代码

CA优化模型原代码: M=load(‘d:\ca\jlwm’) N=load(‘d:\ca\jlwn.asc’) lindishy=load(‘d:\ca\ldfj3.asc’) caodishy=load(‘d:\ca\cdfj3.asc’) gengdishy=load(‘d:\ca\htfj3.asc’) [m,n]=size(M); Xr=[1 1 -1 1 1 1 -1 -1 1 1;1 1 1 1 -1 -1 1 1 1 -1;-1 1 1 1 -1 -1 -1 1 -1 -1;1 1 1 1 1 1 -1 1 1 I; l -1 -1 1 1 -1 -1 -1 1 1;1 -1 -1 1 -1 1 -1 1 -1 -1;-1 1 -1 -1 -1 -1 1 -1 -1 -1;-1 1 1 1 -1 1 -1 1 -1 -1;1 1 -1 1 1 -1 -1 -1 1 1;1 -1 -1 1 1 -1 -1 -1 1 1]; caodi=0;lindi=0;gengdi=0; for i=1:m forj=l:n if M(i,j)==4 caodi=caodi+1; elseif M(i,j)==3 lindi=lindi+1; elseif M(i,j)==2 gengdi=gengdi+1; end end end for i=1:m for j=1:n if M(i,j)==4 if lindishy(i,j)>gengdishy(i,j) if lindishy(i,j)>caodishy(i,j) z=0; for P=max(1,i-1):min(i+1,m) for q=max(j-1,1):min(j+1,n) if (M(p,q)~=0)&&xr(M(p,q),3)==-1 z=1; end end end if z== 0 caodi=eaodi-1; M(i,j)=3; lindi=lindi+1; end elseif lindishy(i,j)==caodishy(i,j) caoditemp=0; linditemp=0; gengditemp=0;

元胞自动机简史

元胞自动机简史元胞自动机的诞生是人类探索人的认识本质的结果,也是计算技术巨大进步推动的结果。自古以来,人类认识一般问题的根本方法就是,建模和计算(推演)。模型是人类智力能理解自然世界的唯一方式。而元胞自动机正是一种可以用来建模也非常容易进行计算的理论框架和模型工具。最早从计算的视角审视问题的是关心人的认识本质的哲学家。笛卡尔认为, 人的理解就是形成 和操作恰当的表述方式。洛克认为, 我们对世界的认识都要经过观念这个中介, 思维事实上不过是 人类大脑对这些观念进行组合或分解的过程。霍布斯更是明确提出, 推理的本质就是计算。莱布尼兹也认为, 一切思维都可以看作是符号的形式操作的过程。进入20 世纪, 弗雷格, 怀特海、罗素等人通过数理逻辑把人类的思维进一步形式化, 形成了所谓的命题逻辑及一阶和高阶逻辑。在他们看来, 逻辑和数学, 都是根据特定的纯句法规则运作的。在这里, 所有的意义都被清除出去而不 予考虑。在弗雷格和罗素的基础上, 维特根斯坦在他的早期哲学中把哲学史上自笛卡尔以来的原 子论的理性主义传统发展到了一个新的高度。在维特根斯坦看来, 世界是逻辑上独立的原子事实 的总和, 而不是事物的总和; 原子事实是一些客体的结合, 这些事实和它们的逻辑关系都在心灵中得到表达: 我们在心灵中为自己建造了事实的形象。人工智能事实上就是试图在机器中实现这种理性主义理想的一门学科。 在计算理论发展过程中,阿兰图灵(A. Turing)的思想可以说是最关键的。在1936年发表的论 文中, 图灵提出了著名的图灵机概念。图灵机的核心部分有三: 一条带子、一个读写头、一个控制装置。带子分成许多小格, 每小格存一位数; 读写头受制于控制装置, 以一小格为移动量相对于带子左右移动, 或读小格内的数, 或写符号于其上。可以把程序和数据都以数码的形式存储在带子上。这就是“通用图灵机”原理。图灵在不考虑硬件的前提下, 严格描述了计算机的逻辑构造。这个理论不仅解决了纯数学基础理论问题, 而且从理论上证明了研制通用数字计算机的可行性。 图灵认为, 人的大脑应当被看作是一台离散态机器。尽管大脑的物质组成与计算机的物质组成完全不同, 但它们的本质则是相同。。离散态机器的行为原则上能够被写在一张行为表上, 因此与思想有关的大脑的每个特征也可以被写在一张行为表上, 从而能被一台计算机所仿效。1950 年, 图灵发表了《计算机器和智能》的论文, 对智能问题从行为主义的角度给出了定义, 设计出著名的“图灵测验,论证了心灵的计算本质, 并反驳了反对机器能够思维的9 种可能的意见。 与图灵提出人的大脑是一台离散态的计算机的思想几乎同一时期, 计算机科学的另一个 开创者冯诺伊曼J . von Neumann)则开始从计算的视角思考生命的本质问题。一个人工的机器能 够繁殖它自己吗?当年笛卡尔在声称动物是机器的时候,就曾被这个问题所难住。但冯诺伊曼要回答这个问题, 他要找到自动机产生后代的条件, 他要证明机器可以繁殖! 为此,冯诺伊曼作了一个思想实验。他想象一台机器漂浮在一个池塘的上面,这个池塘里有许多机器的零部件。这台机器是一台通用的建造器: 只要给出任何一台机器的描述,这台机器就会在 池塘中寻找合适的部件, 然后再制造出这台机器。如果能够给出它自身的描述, 它就可以创造出它本身。不过, 这还不是完全的自我繁殖, 因为后代机器还没有对自身的描述, 它们因此不能复制自己。所以,冯诺伊曼继续假定最初的机器还必须包含一个描述复制器,一旦后代机器产生岀来,它也从亲代那里复制一份关于自身的描述, 这样, 后代机器就可以无穷无尽地繁殖下去。 冯诺伊曼的试验揭示了一个深刻的问题:任何自我繁殖的系统的基因材料,无论是自然的还是人工的, 都必须具有两个不同的基本功能: 一方面它必须起到计算机程序的作用, 是一种在繁殖下一代时能够运行的算法, 另一方面它必须起到被动数据的作用, 是一个能够复制和传给下一代的描述。1953 年沃森和克里克揭示的DNA 结构和自我复制的机理。DNA 的特性正好具备冯诺伊曼所指岀的两个要求。 然而, 冯诺伊曼对他自己的动力学模型并不十分满意。他不能充分地获得最小的逻辑前提, 因为该模型仍然以具体的原材料的吸收为前提。冯诺伊曼感到, 该模型没有很好地把过程的 逻辑形式和过程的物质结构区分开。作为一个数学家,冯诺伊曼需要的是完全形式化的抽象理

交通流元胞自动机模型综述

第23卷 第1期2006年1月 公 路 交 通 科 技 Journal of Highway and Transportation Research and Development Vol .23 No .1 Jan .2006 文章编号:1002-0268(2006)01-0110-05 收稿日期:2004-09-27 作者简介:郑英力(1971-),女,福建宁德人,讲师,研究方向为交通控制与仿真.(z hengyl71@s ina .com ) 交通流元胞自动机模型综述 郑英力,翟润平,马社强 (中国人民公安大学 交通管理工程系,北京 102623) 摘要:随着交通流模拟的需要及智能交通系统的发展,出现了基于元胞自动机理论的交通流模型。交通流元胞自动机模型由一系列车辆运动应遵守的运动规则和交通规则组成,并且包含驾驶行为、外界干扰等随机变化规则。文章介绍了交通流元胞自动机模型的产生与发展,总结和评述了国内外各种元胞自动机模型,并对元胞自动机模型的发展提出展望。 关键词:元胞自动机;交通流;微观模拟;模型中图分类号:U491.1+23 文献标识码:A Survey of Cellular Automata Model of Traffic Flow ZH ENG Ying -li ,ZH AI Run -p ing ,MA She -q iang (Department of Traffic Management Engineering ,Chinese People 's Public Security University ,Beijing 102623,China )Abstract :With the increas ing demand of traffic flow si mulation and the development of ITS research ,the traffic flow model based on cellular automata has been developed .Cellular automata model of traffic flow incorporates a series of vehicle movement rules and traffic regulations .Meanwhile ,the model works under some stochastic rules takin g into consideration of drivers 'behaviors and ambient interfer -ences .This paper introduces the establishment and development of cellular automata model of traffic flow ,su mmarizes and comments on different kinds of typical cellular automata models of traffic flow ,and furthermore ,presents a new perspective for further stud y of the model . Key words :Cellular automata ;Traffic flow ;Microscopic simulation ;Model 0 引言 交通流理论是运用物理学和数学定律来描述交通特性的理论。经典的交通流模型主要有概率统计模 型、车辆跟驰模型、流体动力学模型、车辆排队模型等 [1] 。20世纪90年代,随着交通流模拟的需要及智 能交通系统的发展,人们开始尝试将物理学中的元胞自动机(Cellular Automata ,简称CA )理论应用到交通领域,出现了交通流元胞自动机模型。 交通流C A 模型的主要优点是:(1)模型简单,特别易于在计算机上实现。在建立模型时,将路段分 为若干个长度为L 的元胞,一个元胞对应一辆或几辆汽车,或是几个元胞对应一辆汽车,每个元胞的状态或空或是其容纳车辆的速度,每辆车都同时按照所建立的规则运动。这些规则由车辆运动应遵守的运动规则和交通规则组成,并且包含驾驶行为、外界干扰等随机变化规则。(2)能够再现各种复杂的交通现象,反映交通流特性。在模拟过程中人们通过考察元胞状态的变化,不仅可以得到每一辆车在任意时刻的速度、位移以及车头时距等参数,描述交通流的微观特性,还可以得到平均速度、密度、流量等参数,呈现交通流的宏观特性。

元胞自动机的定义与构成及其特征

元胞自动机的定义与构成及其特征 https://www.360docs.net/doc/323272354.html, 2005-4-17 15:05:00 来源:生命经纬 尽管元胞自动机有着较为宽松,甚至近乎模糊的构成条件。但作为一个数理模型,元胞自动机有着严格的科学定义。同时,元胞自动机是一个地地道道的"混血儿"。是物理学家、数学家,计算机科学家和生物学家共同工作的结晶。因此。对元胞自动机的含义也存在不同的解释,物理学家将其视为离散的、无穷维的动力学系统;数学家将其视为描述连续现象的偏微分方程的对立体,是一个时空离散的数学模型;计算机科学家将其视为新兴的人工智能、人工生命的分支;而生物学家则将其视为生命现象的一种抽象。下面给出几种常见的定义: 1.元胞自动机的物理学定义 元胞自动机是定义在一个由具有离散、有限状态的元胞组成的元胞空间上,并按照一定局部规则,在离散的时间维上演化的动力学系统。 具体讲,构成元胞自动机的部件被称为"元胞",每个元胞具有一个状态。这个状态只琵取某个有限状态集中的一个,例如或"生"或"死",或者是256中颜色中的一种,等等;这些元胞规则地排列在被你为"元胞空间"的空间格网上;它们各自的状态随着时间变化。而根据一个局部规则来进行更新,也就是说,一个元胞在某时刻的状态取决于、而且仅仅家决于上一时刻该元胞的状态以及该元胞的所有邻居元胞的状态;元胞空间内的元胞依照这样的局部规则进行同步的状态更新,整个元胞空间则表现为在离散的时间维上的变化。 2.元胞自动机的数学定义 美国数学家L.P.Hurd和K·Culik等人在90年代初,对元胞自动机分别从集合论和拓扑学等角度进行了严格地描述和定义 (谢惠民,1994; Culik,II K,1990;李才伟,1997) 1)基于集合论的定义 设d代表空间维数,k代表元胞的状态,并在一个有限集合S中取值,r表元胞的邻居半径。Z是整数集,表示一维空间,t代表时间。 为叙述和理解上简单起见,在一维空间上考虑元胞自动机,即假定d=1。那么整个元胞空间就是在一维空间,将整数集Z上的状态集S的分布,记为S Z。元胞自动机的动

元胞自动机NaSch模型及其MATLAB代码

元胞自动机N a S c h模型 及其M A T L A B代码 This manuscript was revised by the office on December 22, 2012

元胞自动机N a S c h模型及其M A T L A B代码 作业要求 根据前面的介绍,对NaSch模型编程并进行数值模拟: 模型参数取值:Lroad=1000,p=0.3,Vmax=5。 边界条件:周期性边界。 数据统计:扔掉前50000个时间步,对后50000个时间步进行统计,需给出的结果。 基本图(流量-密度关系):需整个密度范围内的。 时空图(横坐标为空间,纵坐标为时间,密度和文献中时空图保持一致,画500个时间步即可)。 指出NaSch模型的创新之处,找出NaSch模型的不足,并给出自己的改进思路。 流量计算方法: 密度=车辆数/路长; 流量flux=density×V_ave。 在道路的某处设置虚拟探测计算统计时间T内通过的车辆数N; 流量flux=N/T。 在计算过程中可都使用无量纲的变量。 1、NaSch模型的介绍 作为对184号规则的推广,Nagel和Schreckberg在1992年提出了一个模拟车辆交通的元胞自动机模型,即NaSch模型(也有人称它为NaSch模型)。 时间、空间和车辆速度都被整数离散化。道路被划分为等距离的离散的格子,即元胞。 每个元胞或者是空的,或者被一辆车所占据。 车辆的速度可以在(0~Vmax)之间取值。 2、NaSch模型运行规则 在时刻t到时刻t+1的过程中按照下面的规则进行更新: (1)加速:vnmin(vn1,vmax) 规则(1)反映了司机倾向于以尽可能大的速度行驶的特点。 (2)减速:vnmin(vn,dn) 规则(2)确保车辆不会与前车发生碰撞。 (3)随机慢化:以随机概率p进行慢化,令:vnmin(vn-1,0) 规则(3)引入随机慢化来体现驾驶员的行为差异,这样既可以反映随机加速行为,又可以反映减速过程中的过度反应行为。这一规则也是堵塞自发产生的至关重要因素。 (4)位置更新:vnxnvn,车辆按照更新后的速度向前运动。其中vn,xn分别表示第n辆车位置和速度;l(l≥1)为车辆长度; p表示随机慢化概率;dnxn1xn1表示n车和前车n+1之间空的元胞数; vmax为最大速度。 3、NaSch模型实例

元胞自动机参考文献

[1] Zhou W H, Lee J, Li G L, et al. Embedding Game of Life into a Simple Asynchronous Cellular Automaton[C]. Computing and Networking (CANDAR), 2014 Second International Symposium on IEEE, 2014: 503-506. [2]Tian J, Treiber M, Zhu C, et al. Cellular Automaton Model with Non-hypothetical Congested Steady State Reproducing the Three-Phase Traffic Flow Theory[M]. Cellular Automata. Springer International Publishing, 2014: 610-619. [3]Delivorias S, Hatzikirou H, Penaloza R, et al. Detecting Emergent Phenomena in Cellular Automata Using Temporal Description Logics[M]. Cellular Automata. Springer International Publishing, 2014: 357-366. [4] D'Ariano G M, Mosco N, Perinotti P, et al. Path-integral solution of the one-dimensional Dirac quantum cellular automaton[J]. Physics Letters A, 2014, 378(43): 3165-3168. [5] Bisio A, D’Ariano G M, Tosini A. Quantum field as a quantum cellular automaton: The Dirac free evolution in one dimension[J]. Annals of Physics, 2015, 354: 244-264. [6] Masuda T, Nishinari K, Schadschneider A. Cellular Automaton Approach to Arching in Two-Dimensional Granular Media[M]. Cellular Automata. Springer International Publishing, 2014: 310-319. [7] Takada K, Namiki T. on Limit Set of Two-Dimensional Two-State Linear Cellular Automaton Rules[C]. Computing and Networking (CANDAR), 2014 Second International Symposium on. IEEE, 2014: 470-475. [8] Al-Mamun M A, Srisukkham W, Fall C, et al. A cellular automaton model for hypoxia effects on tumour growth dynamics[C].Software, Knowledge, Information Management and Applications (SKIMA), 2014 8th International Conference on. IEEE, 2014: 1-8. [9] Hu M L, Sun J. Sudden change of geometric quantum discord in finite temperature reservoirs[J]. Annals of Physics, 2015, 354: 265-273. [10] Bure? M, Siegl P. Hydrogen atom in space with a compactified extra dimension and potential defined by Gauss’ law [J]. Annals of Physics, 2015, 354: 316-327. [11] Terrier V. Recognition of linear-slender context-free languages by real time one-way cellular automata[C]. AUTOMATA 2015. 2015, 9099: 251-262. [12] Fuentes M L, Klimchuk J A. Two-dimensional cellular automaton model for the evolution of active region coronal plasmas[J]. The Astrophysical Journal, 2015, 799(2): 128. [13] Tucker G E, Hobley D E J, Hutton E, et al. CellLab-CTS 2015: a Python library for continuous-time stochastic cellular automaton modeling using Landlab[J]. Geoscientific Model Development Discussions, 2015, 8: 9507-9552.

元胞自动机理论基础

元胞自动机理论基础 Chapter1 元胞自动机(Cellular Automata,简称CA,也有人译为细胞自动机、点格自动机、分子自动机或单元自动机)。是一时间和空间都离散的动力系统。散布在规则格网 (Lattice Grid)中的每一元胞(Cell)取有限的离散状态,遵循同样的作用规则,依据确定的局部规则作同步更新。大量元胞通过简单的相互作用而构成动态系统的演化。不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成。凡是满足这些规则的模型都可以算作是元胞自动机模型。因此,元胞自动机是一类模型的总称,或者说是一个方法框架。其特点是时间、空间、状态都离散,每个变量只取有限多个状态,且其状态改变的规则在时间和空间上都是局部的。 1. 自动机 自动机(Automaton)通常指不需要人们逐步进行操作指导的设备(夏培肃,1984)。例如,全自动洗衣机可按照预先安排好的操作步骤作自动地运行;现代计算机能自动地响应人工编制的各种编码指令。完成各种复杂的分析与计算;机器人则将自动控制系统和人工智能结合,实现类人的一系列活动。另一方面,自动机也可被看作为一种离散数字动态系统的数学模型。例如,英国数学家A.M.Turing于1936年提出的图灵机就是一个描述计算过程的数学模型(TuringA M.,1936)。它是由一个有限控制器、一条无限长存储带和一个读写头构成的抽象的机器,并可执行如下操作: ·读写头在存储带上向左移动一格; ·读写头在存储带上向右移动一格; ·在存储的某一格内写下或清除一符号; ·条件转移。 图灵机在理论上能模拟现代数字计算机的一切运算,可视为现代数字计算机的数学模型。实际上,一切"可计算"函数都等价于图灵机可计算函数,而图灵机可计算函数类又等价于一般递归函数类。 根据存储带是否有限,可将自动机划分为有限带自动机(Finite Automaton)和无限带自动机(Infinite Automaton)。由于图灵机有无限长的存储带,所以为一种无限带自动机。有限带自动机常用作数字电路的数学模型,也用来描述神经系统和算法;而无限带自动机主要用来描述算法,也用来描述繁殖过程 (如细胞型自动机和网络型自动机)。 有限自动机是一种控制状态有限、符号集有限的自动机,是一种离散输入输出系统的数学模型。可将有限自动机设想成由一条划分为许多方格的输入带和一个控制器组成的机器:在输入带的每一个小格中可以容 纳一个符号,这些符号取自一个有限符号集S-控制器具有有限个可能状态(构成集合Q)。并在每一时刻仅处于其中的一个状态q;控制器有一个读入头,可以从输入带中读入符号;时间是离散的,初始时控制器处在状态;控制器的功能是根据其当前状态g和读入头从输入带上得到的符号a,来确定控制器的下一时刻的状态实现从状态q到状态q',实现从状态q到状态铲q'的转移,并将读入头右移一格。控制器另一功能是识别终止状态(它们构成Q的一个子集F),也可将该识别功能视为有限自动机的输出。 从数学上来定义,有限自动机是一个五元组: FA=(Q,S,δ,q0,F) 其中,Q是控制器的有限状态集、S是输入符号约有限集、δ是控制状态转移规律的Q×S到Q的映射(可用状态转移图或状态转移表表示),q0是初始状态、F是终止状态集。若δ是单值映射,则称M为确定性有限自动机;若δ是多值映射,则称M为非确定性有限自动机。

数学建模常用算法模型

按模型的数学方法分: 几何模型、图论模型、微分方程模型、概率模型、最优控制模型、规划论模型、马氏链模型等 按模型的特征分: 静态模型和动态模型,确定性模型和随机模型,离散模型和连续性模型,线性模型和非线性模型等 按模型的应用领域分: 人口模型、交通模型、经济模型、生态模型、资源模型、环境模型等。 按建模的目的分: 预测模型、优化模型、决策模型、控制模型等 一般研究数学建模论文的时候,是按照建模的目的去分类的,并且是算法往往也和建模的目的对应 按对模型结构的了解程度分: 有白箱模型、灰箱模型、黑箱模型等 比赛尽量避免使用,黑箱模型、灰箱模型,以及一些主观性模型。 按比赛命题方向分: 国赛一般是离散模型和连续模型各一个,2016美赛六个题目(离散、连续、运筹学/复杂网络、大数据、环境科学、政策) 数学建模十大算法 1、蒙特卡罗算法 (该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,比较好用的算法) 2、数据拟合、参数估计、插值等数据处理算法 (比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用Matlab作为工具)

3、线性规划、整数规划、多元规划、二次规划等规划类问题 (建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用Lindo、Lingo软件实现) 4、图论算法 (这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备) 5、动态规划、回溯搜索、分治算法、分支定界等计算机算法 (这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中) 6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法 (这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用) 7、网格算法和穷举法 (当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具) 8、一些连续离散化方法 (很多问题都是从实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的) 9、数值分析算法 (如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用)10、图象处理算法 (赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的这些图形如何展示,以及如何处理就是需要解决的问题,通常使用Matlab进行处理) 算法简介 1、灰色预测模型(必掌握)

元胞自动机方法及其在材料介观模拟中的应用

https://www.360docs.net/doc/323272354.html, 1 元胞自动机方法及其在材料介观模拟中的应用 何燕,张立文,牛静 大连理工大学材料系(116023)  E-mail : commat @https://www.360docs.net/doc/323272354.html,   摘 要:元胞自动机(CA)是复杂体系的一种理想化模型,适合于处理难以用数学公式定量描 述的复杂动态物理体系问题,如材料的组织演变等。本文概述了元胞自动机方法的基本思想 及原理,介绍了CA的基本组成及特征,综述了CA方法在材料介观模拟研究中的应用。研究表 明CA法在对金属凝固结晶、再结晶、及相变现象等材料介观尺度的组织模拟中表现出特有的 优越性。  关键词:元胞自动机,组织演变,介观模拟,动态再结晶 1. 引 言  自20世纪计算机问世以来,用计算机建立模型来模拟材料行为的方法在材料设计中的 应用越来越广泛,此方法既可节省大量的人力物力和实验资金,又能为实验提供巨大的灵活 性和方便性,因而已经引起了各界科学家的高度重视和极大兴趣。计算机对材料行为的模拟 主要有三个方面:材料微观行为、介观行为和宏观行为的模拟。材料的微观行为是指在电子、原子尺度上的材料行为,如模拟离子实(原子)体系行为,在这方面主要应用分子动力学、分子力学等理论方法;材料的介观行为是指材料显微组织结构的转变,包括金属凝固结晶、再结晶及相变过程,在这方面的模拟主要应用Monte Carlo(MC)方法和Cellular Automata(CA)方法;材料的宏观行为主要指材料加工方面,如材料加工中的塑性变形,应力 应变场及温度场的变化等,在这方面的模拟工作主要应用大型有限元软件Marc, Ansys等。大量实验研究表明,材料的微观组织结构决定了其宏观行为及特征。因此,对材料介观行为 的模拟显得尤为重要。传统的数学建模方法是建立描述体系行为的偏微分方程,它依赖于对 体系的成熟定量理论,而对大多数体系来说这种理论是缺乏的;从微观入手的Monte Carlo 方法主要依赖于体系内部自由能的计算,由于其运算量大,需要大量的数据,运算速度慢,为模拟工作带来了诸多不便;而CA方法则另辟蹊径,通过直接考察体系的局部相互作用, 再借助计算机模拟这种作用导致的总体行为,从而得到其组态变化,并体现出宏观上的金属 性能。由于CA的结构简单,便于计算,允许考虑数量极大的元胞,并且在空间和时间的尺 度上都不受限制,出于以上特点,元胞自动机方法已经受到越来越多研究工作者的青睐。本 文概述了元胞自动机方法的基本思想及原理,介绍了CA的基本组成及特征,对CA法在模拟 介观组织行为方面的应用进行了综述。

基于元胞自动机原理的微观交通仿真模型

2005年5月重庆大学学报(自然科学版)May2005第28卷第5期Journal of Chongqing University(Natural Science Editi on)Vol.28 No.5 文章编号:1000-582X(2005)05-0086-04 基于元胞自动机原理的微观交通仿真模型3 孙 跃,余 嘉,胡友强,莫智锋 (重庆大学自动化学院,重庆 400030) 摘 要:描述了一种对高速路上的交通流仿真和预测的模型。该模型应用了元胞自动机原理对复杂的交通行为进行建模。这种基于元胞自动机的方法是将模拟的道路量离散为均匀的格子,时间也采用离散量,并采用有限的数字集。同时,在每个时间步长,每个格子通过车辆跟新算法来变换状态,车辆根据自定义的规则确定移动格子的数量。该方法使得在计算机上进行仿真运算更为可行。同时建立了跟车模型、车道变换的超车模型,并根据流程对新建的VP算法绘出时空图。提出了一个设想:将具备自学习的神经网络和仿真系统相结合,再根据安装在高速路上的传感器所获得的统计数据,系统能对几分钟以后的交通状态进行预测。 关键词:元胞自动机;交通仿真;数学模型 中图分类号:TP15;TP391.9文献标识码:A 1 元胞自动机 生物体的发育过程本质上是单细胞的自我复制过程,50年代初,计算机创始人著名数学家冯?诺依曼(Von Neu mann)曾希望通过特定的程序在计算机上实现类似于生物体发育中细胞的自我复制[1],为了避免当时电子管计算机技术的限制,提出了一个简单的模式。把一个长方形平面分成若干个网格,每一个格点表示一个细胞或系统的基元,它们的状态赋值为0或1,在网格中用空格或实格表示,在事先设定的规则下,细胞或基元的演化就用网格中的空格与实格的变动来描述。这样的模型就是元胞自动机(cellular aut omata)。 80年代,元胞自动机以其简单的模型方便地复制出复杂的现象或动态演化过程中的吸引子、自组织和混沌现象而引起了物理学家、计算机科学家对元胞自动机模型的极大兴趣[1]。一般来说,复杂系统由许多基本单元组成,当这些子系统或基元相互作用时,主要是邻近基元之间的相互作用,一个基元的状态演化受周围少数几个基元状态的影响。在相应的空间尺度上,基元间的相互作用往往是比较简单的确定性过程。用元胞自动机来模拟一个复杂系统时,时间被分成一系列离散的瞬间,空间被分成一种规则的格子,每个格子在简单情况下可取0或1状态,复杂一些的情况可以取多值。在每一个时间间隔,网格中的格点按照一定的规则同步地更新它的状态,这个规则由所模拟的实际系统的真实物理机制来确定。格点状态的更新由其自身和四周邻近格点在前一时刻的状态共同决定。不同的格子形状、不同的状态集和不同的操作规则将构成不同的元胞自动机。由于格子之间在空间关系不同,元胞自动机模型分为一维、二维、多维模型。在一维模型中,是把直线分成相等的许多等分,分别代表元胞或基元;二维模型是把平面分成许多正方形或六边形网格;三维是把空间划分出许多立体网格。一维模型是最简单的,也是最适合描述交通流在公路上的状态。 2 基于元胞自动机的交通仿真模型的优点目前,交通模型主要分为3类: 1)流体模型(Hydr odyna m ic Model),在宏观上,以流体的方式来描述交通状态; 2)跟车模型(Car-f oll owing Model),在微观上,描述单一车辆运动行为而建立的运动模型; 3)元胞自动机模型(Cellular Aut omat on),在微观 3收稿日期:2005-01-04 基金项目:重庆市自然科学基金项目(6972) 作者简介:孙跃(1960-),浙江温州人,重庆大学教授,博士,研究方向:微观交通仿真、电力电子技术、运动控制技术及系统。

基于元胞自动机的土地资源节约利用模拟

第24卷 第5期 自 然 资 源 学 报V ol 24N o 5 2009年5月J OURNAL OF NATURAL RESOURCES M ay ,2009 收稿日期:2008-08-22;修订日期:2008-12-02。 基金项目:国家自然科学基金重点资助项目(40830532);国家自然科学基金资助项目(40801236);国家杰出青年基金资助项目(40525002);国家高技术研究发展计划资助项目(2006AA12Z206)。 作者简介:杨青生(1974-),男,青海乐都人,讲师,博士,主要研究遥感与地理信息模型及应用。E m ai :l qs y ang2002@https://www.360docs.net/doc/323272354.html, 基于元胞自动机的土地资源节约利用模拟 杨青生1,2 (1 广东商学院资源环境学院,广州510230;2 中山大学地理科学与规划学院,广州510275) 摘要:为模拟节约土地资源的城市可持续发展形态,以珠江三角洲城市快速发展的东莞市为 例,运用元胞自动机(C A )、地理信息系统(G IS)和遥感(RS)从历史数据中建立城市空间扩展的 C A,将土地资源节约利用程度与城市用地空间聚集程度相结合,在评价城市用地空间聚集程度 的基础上,通过不断增加离市中心距离权重和离公路距离权重,调整CA 的参数,模拟节约土地 资源,城市用地在空间上紧凑布局的城市形态,并以调整参数的模型(离市中心距离权重为 -0 006,离公路权重为-0 024)模拟结果为基础,分析了实现城市用地空间上紧凑发展,土地 资源节约利用的政策:到2010年,东莞市离市中心27k m 范围内的适宜地区可规定为鼓励城市 发展区,27~34k m 范围内的适宜地区可规定为限制性城市发展区,其它地区为非城市发展区。 关 键 词:土地资源;节约利用;紧凑;元胞自动机 中图分类号:F301 24;P208 文献标识码:A 文章编号:1000-3037(2009)05-0753-10 1 引言 元胞自动机(C ellular Auto m ata ,简称CA )具有强大的空间运算能力,可以有效地模拟复杂的动态系统。近年来,CA 已被越来越多地运用在城市模拟中,取得了许多有意义的研究成果[1~3]。CA 可以模拟虚拟城市,验证城市发展的相关理论,也可以模拟真实城市的发展, 如W u 等模拟了广州市的城市扩展 [4];黎夏和叶嘉安模拟了东莞市的城市扩张[5]。同时,用CA 可以模拟未来的城市规划景观,如黎夏等模拟了珠江三角洲地区城市不同发展条件下的规划景观[6,7]。这些研究表明,C A 能模拟出与实际城市非常接近的特征,可以由此预测未来城市的发展及土地利用变化,为城市和土地利用规划提供决策依据。 CA 的特点是通过一些简单的局部转换规则,模拟出全局的、复杂的空间模式。为了模拟城市,除了运用CA 的局部转换规则外,还要在转换规则中引入影响城市扩展的区域变量和全局变量。转换规则中的这些变量对应着很多参数,这些参数值反映了不同变量对模型的 贡献 程度。研究表明,这些参数值对模拟的结果影响很大。目前,C A 主要通过多准则判断(MCE ) [8]、层次分析法(AH P)[9]和主成分分析[10]、自适应模型[11]、人工神经网络模型 [5]、决策树[12]等方法确定模型的参数值。笔者也采用粗集[13]、支持向量机[14]、贝叶斯分类[15]、空间动态转换规则[16]等方法研究了非线性、动态转换规则模拟城市发展。目前,采用CA 模拟虚拟城市系统和真实城市系统已经非常成熟,模型的精度也越来越高,而模拟可

相关文档
最新文档