元胞自动机

元胞自动机(cellular automata,CA) 

元胞自动机(cellular automata,CA) 是一种时间、空间、状态都离散,空间相互作用和时间因果关系为局部的网格动力学模型,具有模拟复杂系统时空演化过程的能力。

元胞自动机是一类模型的总称,或者说是一个方法框架。其特点是时间、空间、状态都离散,每个变量只取有限多个状态,且其状态改变的规则在时间和空间上都是局部的。

有限自动机

有限自动机是一种控制状态有限、符号集有限的自动机,是一种离散输入输出系统的数学模型。

从数学上来定义,有限自动机是一个五元组:

FA=(Q,S,δ,q0,F)

其中,Q是控制器的有限状态集、S是输入符号约有限集、δ是控制状态转移规律的Q×S到Q的映射 (可用状态转移图或状态转移表表示),q0是初始状态、F是终止状态集。若δ是单值映射,则称M为确定性有限自动机;若δ是多值映射,则称M为非确定性 有限自动机。

初等元胞自动机

初等元胞自动机( Elementary Cellular Automata, ECA)的基本要素如下空间:

一维直线上等间距的点。可为某区间上的整数点的集合。

状态集:S={s1,s2} 即只有两种不同的状态。这两种不同的状态可将其分别编码为0 与 1;若用图形表示,则可对应“黑”与“白” 或者其他两种不同的颜色。

邻居:取邻居半径r=1,即每个元胞最多只有“左邻右舍”两个邻居。

演化规则:任意设定, 最多2^8=256种不同的设定方式。

一维初等元胞自动机 (Elementary Cellular Automata),它的最大的一个特征在于容易实现元胞自动机动态演化的可视化:

二维显示中,一维显示其空间构形,空间维;另外一维显示其发展演化过程,时间维。

分类

数学家斯蒂芬·沃尔夫勒姆(Stephen Wolfram)将多年来对元胞自动机的研究整理为a new kind of science一书,书中用大量图形详细记录了所有的256组规则和它们可能造成的结果。可以将结果大致分成:

不动点(fixed points):变化终结于恒定图像

交替态(alternation):图像出现周期性变化

随机态(randomness):图像变化近乎随机

复杂态(complexity):图像存在某种复杂规律。

二维元胞自动机:

元胞分布在二维欧几里德平面上规则划分的网格点上,通常为方格划分。以J. H. Conway的"生命游戏"为代表,应用最为广泛。

元胞自动机与马尔科夫(链)过程

马尔科夫过程(MarKov Process)是一个典型的随机过程。设X(t)是一随机过程,当过程在时刻t0所处的状态为已知时,时刻t(t>t0)所处的状态与过程在t0时刻之前的状态无关,这个特性成为无后效性。无后效的随机过程称为马尔科夫过程。马尔科夫过程中的时同和状态既可以是连续的,又可以是离散的。我们称时间离散、状态离散的马尔科夫过程为马尔科夫链。马尔科夫链中,各个时刻的状态的转变由一个状态转移的概率矩阵控制。
   马尔科夫链与元胞自动机都是时间离散、状态离散的动力学模型,二者在概念上有一定的相通性。尤其是对于随机型的元胞自动机来讲,每个元胞的行为可以视为一个不仅时间上无后效,而且在空间上无外效的马尔科夫链。
    但是,即使是随机型的元胞自动机也与马尔科夫链存在相当大的差别。首先,马尔科夫链没有空间概念,只有一个状态变量;而元胞自动机的状态量则是与空间位置概念紧密相关的;其次,马尔科夫链中的状态转移概率往往是预先设定好的,而随机型元胞自动机中的元胞状态转移概率则是由当前元胞的邻居构型所决定的。

在广义上,凝聚扩散模型可以归为元胞自动机的一个特例。

原文地址:https://www.cnblogs.com/wander-clouds/p/8449323.html

时间: 2024-10-09 18:21:51

元胞自动机的相关文章

编程模拟自然(九):元胞自动机

序 旧书有云:发鸠之山,其上多柘木.有鸟焉,其状如乌,文首.白喙.赤足,名曰精卫,其鸣自詨. 一日,精卫游于码海,溺而不返,后常衔西山之木石,以堙于海.有诗为证: 万事有不平,尔何空自苦: 长将一寸身,衔木到终古? 我愿平码海,身沉心不改: 码海无平期,我心无绝时. 呜呼!君不见,西山衔木众鸟多,鹊来燕去自成窠! (前情提要:主角元乘坐返回舱降落到了码海上,随后遇到了个鸟人...) “咳咳,远道的客人,我名精卫XIV,乃是先祖精卫鸟的第十四代后裔...”鸟人作自我介绍 “...你是谁,从哪里来又

【转载】【元胞自动机】生命游戏(时间简史)

原帖:http://www.cnblogs.com/lvpengms/archive/2010/02/08/1666095.html 晚上闲着没事干,鉴于前一段时间数学建模中看到了生命游戏 Game of Life,所以用C++实现一下,效果还不错. 本程序是用vs2005 C++编写,有意想要程序和源码的朋友可以给我发邮件. 更新:程序源码可以从这个地址下载:下载元胞自动机源码及程序 =======================================================

元胞自动机+生命游戏

元胞自动机 元胞自动机(Cellular Automaton,复数为Cellular Automata,简称CA,也有人译为细胞自动机.点格自动机.分子自动机或单元自动机).是一时间和空间都离散的动力系统.散布在规则格网 (Lattice Grid)中的每一元胞(Cell)取有限的离散状态,遵循同样的作用规则,依据确定的局部规则作同步更新.大量元胞通过简单的相互作用而构成动态系统的演化. 不同于一般的动力学模型,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成.凡是满

简要概述元胞自动机及其应用

谈一些自己的所学,有错误请指正. 元胞自动机( Cellular Automata) 是 20 世纪 50 年代初由计算机之父冯·诺依曼( J. von Neumann) 为了模拟生命系统所具有的自复制功能而提出来的.此后,史蒂芬·沃尔夫勒姆( Stephen Wolfram) 对元胞自动机理论进行了深入的研究,例如,他对一维初等元胞机全部 256 种规则所产生的模型进行了深入研究,并将元胞自动机分为平稳型.周期型.混沌型和复杂型 4 种类型. 元胞自动机采用离散的空间布局和离散的时间间隔,将元

用元胞自动机实现多数分类算法

元胞自动机(Cellular automaton) 元胞自动机是由元胞组成的网格,每个元胞都根据邻域的状态来选择开或关.所有的元胞都遵循同样的规则,也称为元胞的更新规则,规则根据各元胞邻域的当前状态决定元胞的下一步状态.同自然界的复杂系统一样,元胞自动机也是由大量简单个体(元胞)组成,不存在中央控制,每个个体都只与少量其他个体交互.而且元胞自动机也能表现出非常复杂的行为,它们的行为很难甚至不可能通过其更新规则来预测.元胞自动机有很多种类型,著名的"生命游戏"也是元胞自动机的一种. 初等

元胞自动机简介

摘要: 元胞自动机能利用简单的局部规则和离散方法描述复杂的全局的连续系统,已成为探索复杂系统的一种有效工具. 文章 阐述了元胞自动机的发展历程.结构.特征及基本理论与方珐: 介绍了元胞自动机在寡头垄断行为.交通管理及工程运输.城市发展.市场营销.股票投资.企业战略等管理领域中的应用: 指出元胞自动机理论的优势与不足, 并提出进一步的研究展望. 1引言 复杂科学 20世纪80年代,以美国圣塔菲(SantaFe)学派为首提出了复杂科学,一经提出,在世界范围内引起了广泛的关注.目前,关于复杂性和复杂系

基于元胞自动机NaSch模型的多车道手动-自动混合驾驶仿真模型的Matlab实现

模型的建立基本来自于:http://www.doc88.com/p-2078634086043.html 花了一天半的时间用新学会的matlab实现了一下. NaSch模型主函数: function [ret_Vave] = NaSch() rng('shuffle'); global CellsNum; CellsNum = 200; %The number of cells in each lane global LanesNum; LanesNum = 3; %The number of

几个设计元胞自动机式智能的挑战

知道我的理论的人不多,但是这个问题完全可以当成一个小游戏,规则如下: 有若干"神经元",每个处在激活态或未激活态(一共2个状态) 神经元有"能量"和"阈值",为方便理解,先假设每个神经元都一样 神经元间存在单向的联系,允许两个神经元间有多个联系(比如一正一反) 这若干个神经元可以进行"演化",每次演化,神经元同时行动,先把自己的能量平均分给联系到的神经元,然后如果接收到超过阈值的能量,就激活,否则不激活. 如果两个神经元同时激

Python案例(一):协程实现康威生命游戏,元胞自动机

from collections import namedtuple import os,time import random Query=namedtuple('Query',('y','x')) Transition=namedtuple('Transition',('y','x','state')) ALIVE="*" EMPTY="-" def count_neighbors(y,x): n_=yield Query(y+1,x+0) ne=yield Qu