元胞自动机程序_第1页
元胞自动机程序_第2页
元胞自动机程序_第3页
元胞自动机程序_第4页
元胞自动机程序_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、!元胞自动机程序(生命永不停止)USE MSFLIBPARAMETER IR=400,JR=400,NMAX=10000 !NMAX-随机产生的 生命种子INTEGER IS(0:1001,0:1001),IS1(0:1001,0:1001),ISN(1:8), TMAX, NUM!IS-基体的二维数组write (*,*) PLEASE INPUT LOOP(TMAX)READ (*,*) TMAXISEED=RTC()IS=15死的状态,基体为白色!赋予生命的种子,活的状态1DO I=1, NMAXIX0=IR*RAN(ISEED)+1JY0=JR*RAN(ISEED)+1IS(IX0,J

2、Y0)=1END DOIS1=IS!EXECUTE THE RULEDO T=1,TMAX !边界条件IS(0,0:JR+1)=IS(R, 0:JR+1)IS(IMAX+1, 0:JR+1)=IS(1, 0:JR+1)IS(0:IR+1,0)=IS(0:IR+1,JMAX)IS(0:IR+1,JR+1)=IS(0:IR+1,1)!搜索生命存在的位置DO IX=1,IRDO JY=1,JR!判断邻居状态ISN=(/IS(IX-1,JY-1),IS(IX-1,JY),IS(IX-1,JY+1),IS(IX,JY-1)&,IS(IX,JY+1),IS(IX+1,JY-1),IS(IX+1,JY),I

3、S(IX+1,JY+1)/)NUM=COUNT(ISN.EQ.1)!赋予生存的条件IF(IS(IX,JY)=15.AND.NUM=3).OR.(IS(IX,JY)=1.AND&.(NUM=3.OR.NUM=2)THENIS1(IX,JY)=1ELSEIS1(IX,JY)=15END IF!画图ISRE=SETCOLOR(IS1(IX,JY)ISRE=SETPIXEL(IX,JY)END DOEND DOIS=IS1END DOEND元胞自动机一产生和发展.四个阶段:1940s诞生:Von Neumann自我复制机.1960-70S 起步:JH.Conway 生命游戏.1980s理论研究:S.W

4、olfram CA分类.1980-90S应用:HPP-FHP格子气自动机.C.Langton N.Packard 人工生命元胞自动机(Cellular Automata,简称CA,也有人称其为细胞自 动机、点格自动机、分子自动机或单元自动机)是一种建立在离散的 时间和空间上的动力学系统。散布在规则格网(Lattice Grid)中的每 一元胞(Cell)取有限的离散状态,遵循同样的作用规则,依据确定 的局部规则作同步更新。大量元胞通过简单的相互作用而构成动态系 统的演化。与一般的动力学模型不同,元胞自动机不是由严格定义的物理方 程或函数确定,而是由一系列模型构造的规则构成,凡是满足这些规 则的

5、模型都可以算做是元胞自动机模型。因此,元胞自动机是一类模 型的总称,或者是一个方法框架。其特点是时间、空间、状态都是离 散的,每个变量只取有限多个状态,且其状态改变的规则在时间和空 间上都是局部的。元胞自动机是一种对具有局域连通性的格点,应用局部(有时 为中等范围)确定性或概率性的转换规则来描述在离散空间和时间上 复杂系统演化规律的同步算法。元胞自动机可以采取任意的维数,自动机的格点描述被认为与所 选模型密切相关的基本的系统实体。独立的格点可以表示连续的体积 单元,原子颗粒大原子团、汽车、人口、品格缺陷等。通过作用于每个格点的确定性或概率性转换规则,自动机的演化 得以实施。这些规则决定了每个元

6、胞的状态,并将其描述为其前一状 态和邻近元胞的函数。在计算状态转变过程中所考虑的邻近位置的数 日确定了相互作用的范围和自动机的局部演化。元胞自动机特点:时间、空间、状态都离散的动力学模型,利用确定性或概论性的转换规则来描述在离散空间和时间上复杂系统演化2_4.2兰顿的蚂蚁婿蚁规则无咆自动机是由Chris Ungum.和Greg Turk发现的叫 该自划和 过极简单的两条规则来模拟蛆蚁的行为规律,蛆蚊在方形网格二运动,网格分; 里色和白色,演化规则为1)如果蛆蚁当前处于黑色网格,则向左转90七并将网格涂成白色.2)如果蛆蚁当前处于白色网格,则向右挂9CT,井将阿格涂成黑色.结昊发现,底只小蚂蚁表

7、现出了相易复杂的行为.从白色的元胞牛同广始,经过K约500步左右,它就绕回原位,之后又迅入-种温沌状态,这种无规则i动的状态-百持续到大约mmo步后,蚂蚁突然又出现非常短则的遂功形式,会尺辟一条笔E的路线并迂回前避-W2.6中恤0)、(b)分别因现了处于程沌状. 和规则运动状态的蛆蚁自动机.(b)图中蚂蚁开辟的箸直的路线被称为公路印估 同格方向成45。角,公路在不遇到障碍物的情况下会一直延伸下去.图4笫7000步,一个蚂蚁 图5图3第391步,一个蚂蚁JVBU1/:: WfA-寸#如.Mr.:*,第10500步,一个蚂蚁3.2多个蚂蚁的情况这里对在网格中加入多个蚂蚁的情况进行了模拟。图6是在网

8、格中加入9个蚂蚁的初始 情况。图7是这9个蚂蚁运行到250个时步时的情况,表现出一种混沌状态。图8是这9 个蚂蚁运行到1250个时步时的情况,从图中可以看到,左边J经有两个蚂蚁开辟出了自己 的公路,并不断远离初始位置。多个蚂蚁相互作用,使开辟公路的时间明显减少。图6第。步,9个蚂蚁图7第250步,9个蚂蚁图8第1250步,9个蚂蚁Langton蛆蚁规则的一般结果是,在蚂蚁的运动过程中,无论初始空间结构怎样(灰或白色元胞的构形),蚂蚁访问的是无边界的空间区域。Bummovitch和Truobeikoy发现243概率元胞自动机上述元胞自动机都属于确定型元胞自动机,元胞自动机的规则即元胞状: 转化函

9、数也是确定的,称为确定型演化规则,局部映射也是单值映射,然而】 节所提出的概率元胞自动机的局部演化规则为加入随机性的规则,局部映射; 值映射.概率元胞自动机也称为随机元胞自动机.概率元胞自动机可以描写粒子的随机运动,多应用于随机扩散,多粒子运 分形生长等粒子运动模型,如下例即为使用概率元胞自动机建立的森林火灾* 元胞空间采用二维正方形网格自动机,元胞节点包括三种状态:正在生、 树,正在燃烧的树和空自状态,在最初时刻所有网格用树和正在燃烧的树或: 这三种状态填充,在每个时间步,元胞按以下规则进行状态更新;1)正在燃烧的树变成空格位;2)如果生长中的树格位的最近的邻居中有一棵树处于燃烧状态,则将,

10、 为燃烧状态;3)在空白格位的节点,树木以概率p生长;4)考虑到闪电的作用,在最近的邻居中没有正在燧烧的树的情况下,; 每个时间步以概率/变成燃烧中的树4模型演化情况如图2.7所示,取参数村饥 发现当At。时,此模型具有日 蛆织的监界状态.这也说明,若要维持稳定状态,表征系统的凡个物理量将具有 乘方律行为.图品基于概率元胞自励机的莪林火灾模型际=U500)Fig. 27 Foresi fke model based on 声讷wbilitj cellular automau mndd在现实生活中,许许多多自然现象都和概率有关,诸如扩散,传捅、流行等 等很多物理现象都可以使用概率元胞自动机进行模

11、故概率元施自动机也是比较 蕙要的元施自动机模型之-二!元胞自动机模拟单品长大USE MSFLIBPARAMETER IR=400,JR=400INTEGERIS(0:IR+1,0:JR+1),TMAX,ISN(1:8),NSTATE,T,NR,IX0,IY0,IX,JY!根据过去状态IS,定义现在状态为IS1;为了突出边界,特别定义 ISN1INTEGER IS1(0:IR+1,0:JR+1),ISN1(1:8)WRITE(*,*)PLEASE INPUT THE TIME STEP READ(*,*)TMAXISEED=RTC()IRC=IR/2JRC=JR/2!定义基体体积能为10,品粒体

12、积能为1IS=10IS(IRC,JRC)=1!在循环前定义现在状态数组IS1的初始值IS1=ISOPEN(1,FILE=E:LUKE.DAT)DO T=1,TMAX!每次循环前重新定义过去状态数组ISIS=IS1!边界条件IS(0,0:JR+1)=IS(R, 0:JR+1)IS(IMAX+1, 0:JR+1)=IS(1, 0:JR+1)IS(0:IR+1,0)=IS(0:IR+1,JR)IS(0:IR+1,JR+1)=IS(0:IR+1,1)!整个基体上,各个点上的状态都要根据规则改变,而非随机取点改变DO IX=1,IRDO JY=1,JRISN=(/IS(IX-1,JY-1),IS(IX-

13、1,JY),IS(IX-1,JY+1),IS(IX,JY-1)&,IS(IX,JY+1),IS(IX+1,JY-1),IS(IX+1,JY),IS(IX+1,JY+1)/)E0=COUNT(ISN.NE.IS(IX,JY)!如果不是晶粒边界,则跳出,重新循环IF(E0.EQ.0)CYCLE!随机寻找一个相邻点NR=8*RAN(ISEED)+1 NSTATE=ISN(NR)!判断与相邻点的能量差,并决定是否改变状态E=COUNT(ISN.NE.NSTATE)RD=RAN(ISEED)IG=NSTATE-IS(IX,JY)DE=E-E0+IG+2.5*RD-1.25!用现在状态数组IS1记录边界状

14、态的改变IF(DE.LT.0.0)IS1(IX,JY)=NSTATEEND DOEND DO!每循环20次在显示屏幕上刷新状态(颜色)DO IX=1,IRDO JY=1,JRIF(MOD(T,20).EQ.0)THENISN1=(/IS1(IX-1,JY-1),IS1(IX-1,JY),IS1(IX-1,JY+1),IS1(IX,JY-1)& ,IS1(IX,JY+1),IS1(IX+1,JY-1),IS1(IX+1,JY),IS1(IX+1,JY+1)/)ISRE=SETCOLOR(IS(IX,JY)! 如果是边界,定义特别颜色15,加以区分IF(COUNT(ISN1.NE.IS1(IX,J

15、Y).GT.0)ISRE=SETCOLOR(15)ISRE=SETPIXEL(IX,JY)END IFENDDOENDDO!记录循环次数和对应的品粒面积WRITE(1,*)T, SQRT(1.0*COUNT(IS.EQ.1)ENDDOCLOSE(1)END32基于CA的品粒长大模拟原理和方法i3.2.1元胞选择及其状态确定本文模拟采用四边形元胞,所研究空间为二维匹边形网格平面,元胞邻居为图3-1所示的Mnore型邻居.,图31 Moore型邻居定义每一个元胞在时刻的状态白其相邻元胞在t时刻的状态所决定,即;e(r+1)一 F 皿以 NdWW ,的)JQ),g(0.雄),M)(3-1)式中301

16、)为元.胞C在什1时刻的状志,如)心)分州为元胞及其朋邻元胞 在时刻的状态,F为元跑状态转变规则,322元胞状态的转换规则在本文每一模拟时间步C1CAS)内,网格内每个元胞状态都按以下规则判断其是否转换;(1)如元胞e周围的八个元胞弘b, c、d、f、g、h、i的状态均与其相同,则在下一个CAE时,元胞e的状态澡持不变(司如兀胞b、d. f; h中任意三个同为4状态,则在下一个CAS时,无 跑e的状态转变为岳(b)如元胞a, 5取i中任意三个同为4状态,则在下一个CAS时,元胞e 的状态转变为(3)假设晶界能均质分布,旦一个元胞必/克服能量壁墅以达到其新状态,USE MSFLIBPARAMET

17、ER IR=400,JR=400,NMAX=100INTEGERIS(0:IR+1,0:JR+1),TMAX,ISN(1:8),NSTATE,T,NR,IX0,IY0,IX,JYINTEGER IGV(0:NMAX)! 根据过去状态IS,定义现在状态为IS1;为了突出边界,特别定义 ISN1INTEGER IS1(0:IR+1,0:JR+1),ISN1(1:8)WRITE(*,*)PLEASE INPUT THE TIME STEP READ(*,*)TMAXISEED=RTC()IRC=IR/2JRC=JR/2!定义基体体积能为10,品粒体积能为1IS=10IS(IRC,JRC)=1!在循环

18、前定义现在状态数组IS1的初始值IS1=IS !OPEN(1,FILE=E:LUKE.DAT)DO T=1,TMAX!每次循环前重新定义过去状态数组ISIS=IS1 !边界条件IS(0,1:JR)=IS(IR,1:JR)IS(IR,1:JR)=IS(iR+1,1:JR)IS(0:IR+1,0)=IS(0:IR+1,JR)IS(0:IR+1,JR+1)=IS(0:IR+1,1)!整个基体上,各个点上的状态都要根据规则改变,而非随机取点改变DO IX=1,IRDO JY=1,JR !ISN=(/IS(IX-1,JY-1),IS(IX-1,JY),IS(IX-1,JY+1),IS(IX,JY-1)& ,IS(IX,JY+1),IS(IX+1,JY-1),IS(IX+1,JY),IS(IX+1,JY+1)/)E0=COUNT(ISN.NE.IS(IX,JY)!如果不是晶粒边界,则跳出,重新循环IF(E0.EQ.0)CYCLE!随机寻找一个相邻点sss

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论