生态仿真平台的开发与研究.docx
- 文档编号:10547866
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:38
- 大小:499.11KB
生态仿真平台的开发与研究.docx
《生态仿真平台的开发与研究.docx》由会员分享,可在线阅读,更多相关《生态仿真平台的开发与研究.docx(38页珍藏版)》请在冰豆网上搜索。
生态仿真平台的开发与研究
宁波理工学院
毕业论文(设计)
题目生态仿真平台的开发与研究
姓名
学号
分院(系)信息科学与工程分院
专业班级02计算机科学与技术(5)
指导教师
完成时间
毕业论文(设计)任务书
一、题目:
生态仿真平台的开发与研究
二、分院:
信息科学与工程分院
学生姓名专业班级计算机科学与技术5学号
发放日期
三、指导教师对毕业论文(设计)的进度安排及任务要求:
1、主要任务与目标:
按照要求,自主开发一个生态仿真系统,并研究物种在该系统下的生长繁殖情况。
对结果进行分析。
2、主要内容与基本要求:
主要内容:
建立一个生态模型,将两种不同的植物放入系统平台,制定合理的生长规则,进行繁殖竞争的模拟,然后结果分析。
基本要求:
独立开发系统,科学建立模型,合理制定规则,正确分析结果。
3、计划进度:
时间阶段
毕业设计任务
成果提交
2005/12/28-2006/02/17
明确毕业设计任务及其要求,查询相关资料,做好前期工作。
2006/02/18-2006/03/09
查找外文资料,并进行外文翻译。
外文翻译(初稿)
2006/03/10-2006/03/31
查找相关资料,进行开题报告的撰写。
开题报告(初稿)
2006/04/01-2006/04/31
查找相关资料,并对文献进行单篇总结,为毕业论文的撰写做准备。
同时对外文翻译及其开题报告作相应修饰。
外文翻译(终稿)
开题报告(终稿)
2006/05/01-2006/05/24
毕业论文撰写
毕业论文(初稿)
2006/05/25-2006/05/31
毕业论文修改
毕业论文(终稿)
2006/06/01-2006/06/09
总结工作,论文装订,毕业答辩
4、主要参考文献:
[1]ChongHuang(InstituteofGeographicSciencesandNaturalResourcesResearch,CAS)《AcellularautomatamodelfortheabandonedYellowRiverEstuaryDeltaerosionsimulation》[M]ElsevierScienceDirectOnSite(ACM)0-7803-9050-4/05/2000
[2]MeiYu,QingGao,YinghuiLiu,HongMeiXu《ResponsesofvegetationstructureandprimaryproductionofaforesttransectineasternChinatoglobalchange》[M]LaboratoryofEnvironmentalChangeandNaturalDisaster,InstituteofResourcesScience,BeijingNormalUniversity,Beijing100875,China2002-11
[3]撒力,熊范纶《一个基于Swarm的人工生态系统模型》[M]系统仿真学报VOL17No3may2005P-714。
[4]丁浩,杨小平(中国人民大学信息学院北京)《SWARM—一个支持人工生命建模的面向对象模拟平台》[M]系统仿真学报2002年第5月VOL14No.5P-570。
[5]甘涛,《元胞自动机与现代科学中的计算主义》[D]硕士论文中国人民大学北京2004
[6]黄樨(南京林业大学计算中心)《数学与计算机仿真在生态学研究中的应用》[M]南京林业大学学报,Vol.25,No.5,2001,63-66
起讫日期:
指导教师(签名)职称
年月日
四、分院审核意见
负责人(签名)
年月日
摘要:
仿真建模技术在多领域得到应用,这种建模技术利用人工智能和计算机科学领域的最新研究成果,在微观层次上构造主体行为,进而由微观主体行为推导出宏观效应。
本文根据元胞自动机的理论,并利用Swarm技术,实现了一个生态仿真平台系统。
该系统模拟两种不同植物A和B,一种植物的死亡年龄大,另一种植物的死亡年龄小,即设置相同或者不同的数量,让植物在区域空间中的自由生长繁殖和竞争,并通过图表把模拟的结果表示出来,并分析所的结果。
最后得出结论:
在一定的空间中,物种的竞争能力由物种的死亡年龄决定,植物的死亡年龄越大,竞争能力就越强。
关键词:
生态仿真;元胞自动机;Swarm;仿真建模
Abstract
ecologysimulationtechniquehavebeenappliedinmanyfields,suchmodelusingartificialintelligencetechnologyandthelatestresearchachievementsinthefieldofcomputerscience,atthemicrolevelConstructionbehaviors,andbehaviorsextrapolatedfromthemicro-macroeffects.
Accordingtothistheorycellularautomate,anduseSwarmtechnology,andachieveanecologicalsystemsimulationplatform.ThesystemsimulatedtwodifferentplantsAandB,thedeathofaplantolder,anotherplantdeathyoung,thesameoradifferentnumberofplantsintheregionforthefreespacetogrowandcompetition,aswellasthroughthesimulationchartshownbytheresults,andanalysisresults.
Finalconclusion:
inacertainspace,deathagedecidedspeciescompetitiveness.Plantdeathageisgreater,strongercompetitiveness.
Keywords
ecologysimulation;cellularautomata;Swarm;CAmodel
第一章绪论
1.1研究背景
1.1.1研究背景
20世纪90年代以来,基于Agent的仿真建模技术被广泛应用于社会、经济和生态等领域的研究。
这种建模技术利用人工智能和计算机科学领域的最新研究成果,在微观层次上构造Agent行为,进而由微观Agent行为推导出宏观效应。
它是一种面向对象的仿真方法,可直接模拟组成系统的Agent,以及Agent与Agent之间的相互作用,从而研究系统的整体行为。
生态学理论体系认为,生态学应当借鉴生物进化理论,把生态系统作为由智能个体组成的复杂系统进行研究。
在这种研究方法中组成生态系统的个体被称为生态主体,它具有认知与适应学习能力,简单的个体行为组成了复杂多变的生态景象。
在基于Agent的仿真中,个体的生命由其行为来表现,而行为是基于规则产生的。
Agent和面向Agent系统技术已成为人工智能和计算机科学领域发展最快的课题之一。
1.1.2国内外现状
当今社会,计算机技术已经获得了非常大的进步与发展。
计算机仿真的技术已经得到了一定的开发和应用。
计算机上进行系统模型试验的过程称为计算机系统仿真,日臻完善的计算机仿真技术为解决数学模型应用提供了可能性,且广泛地应用于科学研究、工程设计、技术训练等课题中,成功地为工业设备的设计、经济管理方案的验证、飞行员和驾驶员的训练、军事演习的实施、航天技术等各种技术难题指标的确定节约了资金、缩短了周期、提高了效率,甚至使诸如原子反应堆、飞机发动机的运行过程和地震发生机制等人不可及的危险场合的研究成为可能。
计算机在一些研究中弥补人们在智力、能力和效率上的不足。
运用计算机仿真来探索生命活动的过程和行为不仅是有益和可行的,也是势在必行的。
通过对生命活动过程计算机仿真方法的初步研究,探索利用计算机资源实现生物数学模型在其实践中的有救应用方法和生命科学与数理科学有机结合的途径,并将这些基本方法推广到各种生命活动过程的计算机仿真中,能更好地起到衔接生命科学数学模型及与之相关的生命科学实践的作用。
1.2研究方向
在当今社会,生态仿真系统的研究主要采用元胞自动机和swarm平台相结合的方式。
元胞自动机:
每一个元胞的状态变化都是一种计算。
我们可以把每一个元胞都看作一台计算机,这样元胞自动机就是一种计算模型。
元胞自动机每个元胞的变化是同步进行的,也就是对信息的处理是同步进行的,特别适合于并行计算。
元胞自动机可能是下一代并行计算机的雏形。
元胞计算是目前的研究热点。
其特点是大量和并行,跟传统的冯·诺伊曼计算机结构不同。
Swarm是由美国SantaFe研究所基于CAS理论开发的多Agent软件工具集。
它采用多Agent模拟的方法,对复杂适应系统进行模拟仿真。
Swarm的核心是一个面向对象的框架,用以定义在仿真中互相作用的Agent和其它对象的行为。
大多数Swarm的模拟程序包括四类对象:
ModelSwarm,ObserverSwarm,模拟Agent和环境。
其中,ModelSwarm和ObserverSwarm是swarm类的子类,swarm类是Swarm模拟的基本构造块,一个swarm是一系列对象以及这些对象的行为时间表的组合。
不同的模拟系统具有不同的环境,例如,生态系统通是一个二维的平面环境,即Swarm中提供的Grid2D。
在生态领域的仿真实验中,Swarm的建模思想是建立一系列独立的Agent,并通过独立事件之间进行交互作用,考察和研究系统的行为和演化规律。
Swarm是一个人工世界,其中Agent与对象起着十分重要的作用。
Agent是一个在其状态和行为规则的基础上能够与其他代表相互作用的自主实体,而对象是一个包含变量的数据结构,这些变量能够记录对象的状态与功能。
第2章元胞自动机和Swarm技术
2.1元胞自动机
2.1.1元胞自动机
上世纪50年代,图灵提出人的大脑是一台离散态的计算机的思想。
几乎同一时期,计算机科学的另一个开创者冯·诺伊曼即开始从计算的视角思考生命的本质问题,他认为自我复制乃是有生命的物体的独一无二的特征。
为了构造一个能够自我复制的机器,冯·诺伊曼提出了元胞自动机的概念。
每一个元胞的状态变化都是一种计算。
我们可以把每一个元胞都看作一台计算机,这样元胞自动机就是一种计算模型。
元胞自动机每个元胞的变化是同步进行的,也就是对信息的处理是同步进行的,特别适合于并行计算。
冯·诺依曼在逝世前证明了起码有一种确实能够自我繁衍的元胞自动机模型的存在。
这个模型极其复杂,要求大量的细胞格,而且每一个细胞有二十九种不同的状态,这是任何现有计算机的模仿功能都无法胜任的。
但这种模型确实存在的事实回答了根本的原则问题。
图-元胞自动机(CellularAutomata,简称CA)的组成
是一个时间和空间都离散的动力系统。
散布在规则格网(LatticeGrid)中的每一元胞(cell)取某个有限状态集中的一个离散状态。
一个元胞在某时刻的状态取决于而且仅仅取决于上一时刻该元胞的状态以及该元胞的所有邻居元胞的状态。
元胞空间内的元胞依照局部规则进行同步的状态更新,整个元胞空间则表现为在离散的时间维上的变化。
大量元胞通过简单的规则相互作用而构成动态的系统演化。
与一般的动力学模型不同的是,元胞自动机不是由严格定义的物理方程或函数确定,而是用一系列模型构造的规则构成。
凡是满足这些规则的模型都可以算作是元胞自动机模型。
因此,元胞自动机是一类模型的总称,或者说是一个方法框架。
其特点是时间、空间、状态都离散,每个变量只取有限多个状态,且其状态改变的规则在时间和空间上都是局部的。
元胞自动机由元胞、元胞的状态空间、邻居及局部规则四部分组成,可用一个四元组表示:
说明:
其中A为一个元胞自动机;
为元胞空间,
为元胞空间的维数;
为元胞的有限状态集;
表示一个所有邻域内元胞的组合,为包含
个不同元胞的空间矢量,表示为
,
是邻居元胞个数,
(整数集),
;
表示将
映射到
上的一个状态转换函数。
1)元胞和元胞空间
元胞又可称为基元,是元胞自动机的最基本的组成部分,分布在离散的一维、二维或多维欧几里德空间的格点上。
而元胞所分布在的空间网格集合就是元胞空间,它可以是任意维数欧几里德空间的规则划分。
由于计算机显示的原因,目前研究集中在一维和二维,对于一维元胞自动机,元胞空间的划分只有一种,而二维元胞自动机,二维元胞空间通常可以按三角、正方形或六边形三种网格排列。
三种元胞空间划分在模拟时各有优缺点,三角网格和六边形网格在计算机的表达和显示不方便,通常都要都借助影射转换正方形网格处理。
另一个需要考虑的问题是,理论上的元胞空间通常是在各维上是无限的,但却无法在计算机上实现,因此,我们需要定义不同的边界条件。
归纳起来,边界条件主要有三种类型:
周期型、反射型和定值型,这三种边界类型在实际应用中,尤其是二维或更高维数的构模时,可以相互结合。
2)状态(State)
取值于一个有限的离散集。
严格意义上,元胞自动机的元胞只能有一个状态变量,但在实际应用中,往往将其进行了扩展。
3)邻居(Neighbor)
在给出规则之前,必须定义一定的邻居规则,明确哪些元胞属于该元胞的邻居。
在一维元胞自动机中,通常以半径r来确定邻居,距离一个元胞r内的所有元胞均被认为是该元胞的邻居。
二维元胞自动机的邻居定义较为复杂,但通常有Von.Neumann型、Moore型及扩展Moore型等(图)。
■
■
□
■
■
■
■
■
■
■
■
■
■
■
■
■
■
□
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
■
□
■
■
■
■
(a)Von.Neumann型(b)Moore型(c)扩展Moore型
(图中,黑色的元胞为中心元胞,灰色元胞为其邻居)
4)局部规则(LocalRule)
根据元胞当前状态以及邻居状况确定下一时刻该元胞状态的函数,也称为状态转移函数。
这个函数构造了一种简单的、离散的空间/时间的局部物理成分。
2.1.2元胞自动机的应用
元胞自动机自产生以来,被广泛地应用于各个领域的研究。
在社会学中,元胞自动机用于研究个人行为的社会性,流行现象。
在经济学中,是实验经济学的一个很好的工具,可以研究个体行为造成的整体性现象,更可以加入博弈论来考察均衡状态形成。
而由于元胞自动机的设计思想本身就有很大部分来源于生物学的自繁殖思想,因而它在生物学上的应用更为自然而广泛。
例如元胞自动机用于肿瘤细胞的增长机理和过程模拟、人类大脑的机理探索(VictorJonathan.D.,1990)、爱滋病病毒HIV的感染过程(Sieburg,H.B.,1990)、自组织、自繁殖等生命现象的研究以及最新流行的克隆技术的研究等(ErmentroutG..B.,1993)。
在信息学中,元胞自动机被用于研究信息的保存、传递、扩散的过程。
Deutsch(1972)、Sternberg(1980)和Rosenfeld(1979)等人还将二维元胞自动机应用到图像处理和模式识别中(WoIfram.S.,1983)。
在计算机科学中。
元胞自动机可以被看作是并行计算机而用于并行计算的研究(Wolfram.S.1983;Bandini,S.,2001),还被用于计算机图形学的研究。
在算法研究中我们已经知道著名的遗传算法、神经网络算法等,并且元胞自动机的规则进化性甚至可以自我产生出优化算法,而机器学习中的一些算法已被运用于人工智能的研究。
在数学中,元胞自动机可用来研究数论和并行计算。
例如Fischer(1965)设计的素数过滤器(PrimeNumberSieves)(Wolfram,S.1983)。
而元胞自动机通过降低复杂性,来解决一些复杂性问题,如研究Langton的蚂蚁所表现的无法判定的复杂性问题(Gajardo,A.,etal,2002)。
在物理学中。
除了格子气元胞自动机在流体力学上的成功应用,它还被应用于磁场、电场等场的模拟,以及热扩散、热传导和机械波的模拟。
在化学中,元胞自动机可用来通过模拟原子、分子等各种微观粒子在化学反应中的相互作用,从而研究化学反应的过程。
在环境科学上,应用元胞自动机来模拟海上石油泄露后的油污扩散、工厂周围废水、废气的扩散等过程的模拟。
在城市学上,元胞自动机也常被用来模拟城市变迁(ElenaBesussietal,1998)。
在生态学中,元胞自动机成功地应用于蚂蚁、大雁、鱼类洄游等动物的群体行为的模拟,而基于元胞自动机模型的生物群落的扩散模拟也是当前的一个应用热点。
2.2Swarm介绍
2.2.1Swarm的背景
Swarm是复杂适应系统建立模型而设计的软件平台。
1995年SFI发布了Swarm的beta版,此后,大约30个用户团体已经安装了Swarm并用它积极地开展建模工作,并完成了一定的论文。
Swarm已经帮助提供了讨论模拟技术和方法论的焦点,还提供在特定的研究团体中模型组件和库的共享,这是智力交换的一个重要形式。
最终,建立一个用于模型定义的形式化框架建立一个特定的用于实验科学工具的计算机程序的必要标准。
开发Swarm的目的就是通过科学家和软件工程师的合作制造一个高效率的可信的可重用的软件实验仪器,它能给予科学家们一个标准的软件工具集,就象提供了一个设备精良的软件实验室帮助人们集中精力于研究工作而非制造工具。
Swarm实际上是一组用Objective-C语言写成的类库,这是一种面向对象的C语言。
一部分图形界面,如图表、按钮和窗口,是用TCL/TK描述的。
Swarm最初只能在Unix操作系统和XWindows界面下运行,1998年四月伴随着1.1版的发布,Swarm推出了可以在Windows95/98/NT上运行的版本。
1999年Swarm又提供了对Java的支持,从而使Swarm越来越有利于非计算机专业的人士使用。
现在使用的版本有Swarm1.1,Swarm2.2等.本次设计使用版本为Swarm2.2。
Swarm的建模思想就是让一系列独立的Agent通过独立事件进行交互,帮助研究由多个体组成的复杂适应系统的行为。
通过这些类库包括许多可重用的类以支持模拟实验的分析、显示和控制,即用户可以使用Swarm提供的类库构建模拟系统使系统中的Agent和元素通过离散事件进行交互。
由于Swarm没有对模型和模型要素之间的交互作任何约束,所以Swarm可以模拟任何物理系统、经济系统或社会系统。
事实上在各个广泛的研究领域都有人在用Swarm编写程序,这些领域包括生物学经济学物理学化学和生态学等。
2.3Swarm的逻辑结构
Swarm中最主要的四个部分,往往也是一个Swarm模拟程序经常包括的四个部分是:
模型swarm(ModelSwarm)、观察员swarm(ObserverSwarm)、模拟主体和环境。
下面几小节具体介绍模型组成。
2.3.1模型“Swarm”
Swarm就是许多个体(对象)组成的一个群体,这些个体共享一个行为时间表和内存池。
显然“Swarm”有两个主要的组成部分:
(1)是一系列对象(Object);
(2)这些对象的行为时间表(Action)。
时间表就像一个索引引导对象动作的顺序执行。
-对象
模型“Swarm”中的每一项对应模型世界中的每一个对象(个体)。
“Swarm”中的个体就象系统中的演员,是能够产生动作并影响自身和其他个体的一个实体。
模拟包括几组交互的个体。
例如,在一个经济学模拟中,个体可能是公司、证券代理人、分红利者和中央银行。
-时间表
除了对象的集合,模型“Swarm”还包括模型中行为的时间表。
时间表是一个数据结构,定义了各个对象的独立事件发生的流程,即各事件的执行顺序。
通过确定合理的时间调度机制,可以使用户在没有并行环境的状况下也能进行研究工作,也就是说,在并行系统下Agent之间复杂的消息传送机制在该Swarm中通过行为表的方式可以在单机环境下实现。
例如,在狼/兔子这个模拟系统中可能有三种行为:
“兔子吃胡萝卜”,“兔子躲避狼的追踪”和“狼吃兔子”。
每种行为是一个独立的动作。
在时间表中,对这三种行为按照以下顺序排序:
“每天,兔子先吃胡萝卜,然后它们躲避狼的追踪,最后狼试图吃兔子”。
模型按照这种安排好的事件的执行顺序向前发展,并尽量使这些事件看起来像同步发生的。
-输入输出
模型“Swarm”还包括一系列输入和输出。
输入是模型参数:
如世界的大小,主体的个数等环境参数。
输出是可观察的模型的运行结果:
如个体的行为等等。
2.3.2观察员“Swarm”
模型“Swarm”只是定义了被模拟的世界。
但是一个实验不应只包括实验对象,应包括用来观察和测量的实验仪器。
在Swarm计算机模拟中,这些观察对象放在一个叫观察员“Swarm”的“Swarm”中。
观察员“swarm”中最重要的组件是模型“Swarm”。
它就像实验室中一个培养皿中的世界,是被观测的对象。
观察员对象可以向模型“Swarm”输入数据(通过设置模拟参数),也可以从模型“Swarm”中读取数据(通过收集个体行为的统计数据)。
与模型“Swarm”的设置相同,一个观察员“Swarm”也由对象(即实验仪器),行为的时间表和一系列输入输出组成。
观察员行为的时间表主要是为了驱动数据收集,即从模型中将数据读出,并画出图表。
观察员“Swarm”的输入是对观察工具的配置,例如生成哪类图表,输出是观察结果。
在图形模式下运行时,观察员“Swarm”中的大部分对象被用来调节用户界面。
这些对象可能是平面网格图,折线图或探测器,它们一方面与模型“Swarm”相连以读取数据,同时把数据输出到图形界面,为用户提供了很好的实验观察方式。
实验结果的图形化有助于直觉地判断,但重要的实验都需要收集统计结果。
这意味着要做更多地工作并存储用于分析的数据。
作为图形观察员“Swarm”的另一种选择,你可以建立批处理“Swarm”(batchSwarms)。
它和用户之间没有交互操作。
它从文件中读取控制模型的数据并将生成的写入另一个文件中用于分析。
2.3.3模拟主体
Swarm不仅是一个包含其它对象的容器,还可以是一个不包含其它对象的主体本身。
这是最简单的“Swarm”情形,它包括一系列规则、刺激和反应。
而一个主体自身也可以作为一个“Swarm”:
一个对象的集合和动作的时间表。
在这种情况下,一个主体“Swarm”的行为可以由它包含的其它个体的表现来定义。
层次模型就是这样由多个“Swarm”嵌套构成。
例如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 生态 仿真 平台 开发 研究