版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 題 目 生態(tài)仿真平臺的開發(fā)與研究 </p><p> 畢業(yè)論文(設(shè)計(jì))任務(wù)書</p><p> 題目: 生態(tài)仿真平臺的開發(fā)與研究 </p><p> 分院: 信息科學(xué)與工程分院 <
2、/p><p> 指導(dǎo)教師對畢業(yè)論文(設(shè)計(jì))的進(jìn)度安排及任務(wù)要求:</p><p><b> 主要任務(wù)與目標(biāo):</b></p><p> 按照要求,自主開發(fā)一個(gè)生態(tài)仿真系統(tǒng),并研究物種在該系統(tǒng)下的生長繁殖情況。對結(jié)果進(jìn)行分析。</p><p> 主要內(nèi)容與基本要求:</p><p> 主要內(nèi)容
3、:建立一個(gè)生態(tài)模型,將兩種不同的植物放入系統(tǒng)平臺,制定合理的生長規(guī)則,進(jìn)行繁殖競爭的模擬,然后結(jié)果分析。</p><p> 基本要求:獨(dú)立開發(fā)系統(tǒng),科學(xué)建立模型,合理制定規(guī)則,正確分析結(jié)果。</p><p><b> 計(jì)劃進(jìn)度:</b></p><p><b> 主要參考文獻(xiàn):</b></p><
4、p> [1] Chong Huang (Institute of Geographic Sciences and Natural Resources Research, CAS) 《A cellular automata model for the abandoned Yellow River Estuary Delta erosion simulation》 [ M ] Elsevier Science Direct
5、On Site(ACM)0-7803-9050-4/05/2000</p><p> [2] Mei Yu, Qing Gao, Ying hui Liu, HongMei Xu 《Responses of vegetation structure and primary production of a forest transect in eastern China to global change》[M]
6、 Laboratory of Environmental Change and Natural Disaster, Institute of Resources Science, Beijing Normal University, Beijing 100875, China 2002-11</p><p> [3] 撒力,熊范綸 《一個(gè)基于Swarm的人工生態(tài)系統(tǒng)模型》[M] 系統(tǒng)仿真學(xué)報(bào) VOL 17
7、 No 3 may 2005 P-714。</p><p> [4] 丁 浩, 楊小平 (中國人民大學(xué)信息學(xué)院 北京)《SWARM—一個(gè)支持人工生命建模的面向?qū)ο竽M平臺》[M]系統(tǒng)仿真學(xué)報(bào) 2002年第5月 VOL14 No.5 P-570。</p><p> [5] 甘 濤, 《元胞自動機(jī)與現(xiàn)代科學(xué)中的計(jì)算主義》[D] 碩士論文 中國人民大學(xué) 北京 2004</p&
8、gt;<p> [6] 黃 樨 (南京林業(yè)大學(xué)計(jì)算中心) 《數(shù)學(xué)與計(jì)算機(jī)仿真在生態(tài)學(xué)研究中的應(yīng)用》[M]南京林業(yè)大學(xué)學(xué)報(bào), Vol.25, No.5, 2001 , 63-66 </p><p> 起訖日期: 2005年12月28日 至2006年6月9日 </p><p> 指導(dǎo)教師(簽名) 職稱 </p><
9、;p><b> 年 月 日</b></p><p><b> 分院審核意見</b></p><p> 負(fù)責(zé)人(簽名) </p><p><b> 年 月 日</b></p><p><b> 摘要:</b>
10、;</p><p> 仿真建模技術(shù)在多領(lǐng)域得到應(yīng)用,這種建模技術(shù)利用人工智能和計(jì)算機(jī)科學(xué)領(lǐng)域的最新研究成果,在微觀層次上構(gòu)造主體行為,進(jìn)而由微觀主體行為推導(dǎo)出宏觀效應(yīng)。</p><p> 本文根據(jù)元胞自動機(jī)的理論,并利用Swarm技術(shù),實(shí)現(xiàn)了一個(gè)生態(tài)仿真平臺系統(tǒng)。該系統(tǒng)模擬兩種不同植物A和B,一種植物的死亡年齡大,另一種植物的死亡年齡小,即設(shè)置相同或者不同的數(shù)量,讓植物在區(qū)域空間中的自
11、由生長繁殖和競爭,并通過圖表把模擬的結(jié)果表示出來,并分析所的結(jié)果。</p><p> 最后得出結(jié)論:在一定的空間中,物種的競爭能力由物種的死亡年齡決定,植物的死亡年齡越大,競爭能力就越強(qiáng)。</p><p><b> 關(guān)鍵詞:</b></p><p> 生態(tài)仿真 ;元胞自動機(jī) ;Swarm ;仿真建模 </p><p&
12、gt;<b> Abstract</b></p><p> ecology simulation technique have been applied in many fields, such model using artificial intelligence technology and the latest research achievements in the fiel
13、d of computer science, at the micro level Construction behaviors, and behaviors extrapolated from the micro - macro effects. </p><p> According to this theory cellular automate, and use Swarm technology, an
14、d achieve an ecological system simulation platform. The system simulated two different plants A and B, the death of a plant older, another plant death young, the same or a different number of plants in the region for the
15、 free space to grow and competition, as well as through the simulation chart shown by the results, and analysis results.</p><p> Final conclusion: in a certain space, death age decided species competitivene
16、ss. Plant death age is greater, stronger competitiveness.</p><p><b> Keywords</b></p><p> ecology simulation ; cellular automata ; Swarm ; CA model</p><p><b>
17、; 摘要:I</b></p><p> AbstractII</p><p><b> 第一章 緒論1</b></p><p><b> 1.1研究背景1</b></p><p> 1.1.1 研究背景1</p><p> 1.1.2 國內(nèi)外
18、現(xiàn)狀1</p><p><b> 1.2研究方向2</b></p><p> 第2章元胞自動機(jī)和Swarm技術(shù)3</p><p> 2.1 元胞自動機(jī)3</p><p> 2.1.1 元胞自動機(jī)3</p><p> 2.1.2 元胞自動機(jī)的應(yīng)用5</p>&l
19、t;p> 2.2 Swarm介紹6</p><p> 2.2.1 Swarm的背景6</p><p> 2.3 Swarm的邏輯結(jié)構(gòu)7</p><p> 2.3.1 模型“swarm”8</p><p> 2.3.2 觀察員“swarm”9</p><p> 2.3.3 模擬主體9<
20、/p><p> 2.3.4 環(huán)境10</p><p> 第3章 生態(tài)仿真系統(tǒng)的設(shè)計(jì)11</p><p> 3.1系統(tǒng)簡介11</p><p> 3.2 生態(tài)仿真系統(tǒng)的模塊構(gòu)成11</p><p> 3.3 系統(tǒng)模塊說明12</p><p> 3.4 Swarm模型實(shí)現(xiàn)15&
21、lt;/p><p> 第4章 生態(tài)仿真系統(tǒng)運(yùn)行和結(jié)果17</p><p> 4.1 仿真平臺系統(tǒng)17</p><p> 4.1.1 平臺及主要命令17</p><p> 4.1.2 系統(tǒng)面板說明18</p><p> 4.2 仿真系統(tǒng)的運(yùn)行19</p><p> 4.3實(shí)驗(yàn)結(jié)
22、論27</p><p> 4.4存在問題27</p><p> 第五章 總結(jié)與展望29</p><p> 5.1畢業(yè)設(shè)計(jì)回顧29</p><p> 5.2 下一步工作31</p><p><b> 參考文獻(xiàn)32</b></p><p><b&g
23、t; 致謝33</b></p><p><b> 第一章 緒論</b></p><p><b> 1.1研究背景</b></p><p> 1.1.1 研究背景</p><p> 20世紀(jì)90年代以來,基于Agent的仿真建模技術(shù)被廣泛應(yīng)用于社會、經(jīng)濟(jì)和生態(tài)等領(lǐng)域的研究。這種
24、建模技術(shù)利用人工智能和計(jì)算機(jī)科學(xué)領(lǐng)域的最新研究成果,在微觀層次上構(gòu)造Agent行為,進(jìn)而由微觀Agent行為推導(dǎo)出宏觀效應(yīng)。它是一種面向?qū)ο蟮姆抡娣椒ǎ芍苯幽M組成系統(tǒng)的Agent,以及Agent與Agent之間的相互作用,從而研究系統(tǒng)的整體行為。生態(tài)學(xué)理論體系認(rèn)為,生態(tài)學(xué)應(yīng)當(dāng)借鑒生物進(jìn)化理論,把生態(tài)系統(tǒng)作為由智能個(gè)體組成的復(fù)雜系統(tǒng)進(jìn)行研究。在這種研究方法中組成生態(tài)系統(tǒng)的個(gè)體被稱為生態(tài)主體,它具有認(rèn)知與適應(yīng)學(xué)習(xí)能力,簡單的個(gè)體行為組成
25、了復(fù)雜多變的生態(tài)景象。在基于Agent的仿真中,個(gè)體的生命由其行為來表現(xiàn),而行為是基于規(guī)則產(chǎn)生的。Agent和面向Agent系統(tǒng)技術(shù)已成為人工智能和計(jì)算機(jī)科學(xué)領(lǐng)域發(fā)展最快的課題之一。</p><p> 1.1.2 國內(nèi)外現(xiàn)狀</p><p> 當(dāng)今社會,計(jì)算機(jī)技術(shù)已經(jīng)獲得了非常大的進(jìn)步與發(fā)展。計(jì)算機(jī)仿真的技術(shù)已經(jīng)得到了一定的開發(fā)和應(yīng)用。</p><p> 計(jì)算
26、機(jī)上進(jìn)行系統(tǒng)模型試驗(yàn)的過程稱為計(jì)算機(jī)系統(tǒng)仿真,日臻完善的計(jì)算機(jī)仿真技術(shù)為解決數(shù)學(xué)模型應(yīng)用提供了可能性,且廣泛地應(yīng)用于科學(xué)研究、工程設(shè)計(jì)、技術(shù)訓(xùn)練等課題中,成功地為工業(yè)設(shè)備的設(shè)計(jì)、經(jīng)濟(jì)管理方案的驗(yàn)證、飛行員和駕駛員的訓(xùn)練、軍事演習(xí)的實(shí)施、航天技術(shù)等各種技術(shù)難題指標(biāo)的確定節(jié)約了資金、縮短了周期、提高了效率,甚至使諸如原子反應(yīng)堆、飛機(jī)發(fā)動機(jī)的運(yùn)行過程和地震發(fā)生機(jī)制等人不可及的危險(xiǎn)場合的研究成為可能。</p><p>
27、 計(jì)算機(jī)在一些研究中彌補(bǔ)人們在智力、能力和效率上的不足。運(yùn)用計(jì)算機(jī)仿真來探索生命活動的過程和行為不僅是有益和可行的,也是勢在必行的。通過對生命活動過程計(jì)算機(jī)仿真方法的初步研究,探索利用計(jì)算機(jī)資源實(shí)現(xiàn)生物數(shù)學(xué)模型在其實(shí)踐中的有救應(yīng)用方法和生命科學(xué)與數(shù)理科學(xué)有機(jī)結(jié)合的途徑,并將這些基本方法推廣到各種生命活動過程的計(jì)算機(jī)仿真中,能更好地起到銜接生命科學(xué)數(shù)學(xué)模型及與之相關(guān)的生命科學(xué)實(shí)踐的作用。</p><p><b
28、> 1.2研究方向</b></p><p> 在當(dāng)今社會,生態(tài)仿真系統(tǒng)的研究主要采用元胞自動機(jī)和swarm平臺相結(jié)合的方式。</p><p> 元胞自動機(jī):每一個(gè)元胞的狀態(tài)變化都是一種計(jì)算。我們可以把每一個(gè)元胞都看作一臺計(jì)算機(jī),這樣元胞自動機(jī)就是一種計(jì)算模型。元胞自動機(jī)每個(gè)元胞的變化是同步進(jìn)行的,也就是對信息的處理是同步進(jìn)行的,特別適合于并行計(jì)算。元胞自動機(jī)可能是下
29、一代并行計(jì)算機(jī)的雛形。</p><p> 元胞計(jì)算是目前的研究熱點(diǎn)。其特點(diǎn)是大量和并行,跟傳統(tǒng)的馮·諾伊曼計(jì)算機(jī)結(jié)構(gòu)不同。</p><p> Swarm是由美國Santa Fe研究所基于CAS理論開發(fā)的多Agent軟件工具集。它采用多Agent模擬的方法,對復(fù)雜適應(yīng)系統(tǒng)進(jìn)行模擬仿真。Swarm的核心是一個(gè)面向?qū)ο蟮目蚣?,用以定義在仿真中互相作用的Agent和其它對象的行為。大
30、多數(shù)Swarm 的模擬程序包括四類對象:Model Swarm,Observer Swarm,模擬Agent和環(huán)境。其中,Model Swarm 和Observer Swarm 是swarm 類的子類,swarm類是Swarm 模擬的基本構(gòu)造塊,一個(gè)swarm 是一系列對象以及這些對象的行為時(shí)間表的組合。不同的模擬系統(tǒng)具有不同的環(huán)境,例如,生態(tài)系統(tǒng)通是一個(gè)二維的平面環(huán)境,即Swarm 中提供的Grid2D。在生態(tài)領(lǐng)域的仿真實(shí)驗(yàn)中,Swa
31、rm的建模思想是建立一系列獨(dú)立的Agent,并通過獨(dú)立事件之間進(jìn)行交互作用,考察和研究系統(tǒng)的行為和演化規(guī)律。Swarm是一個(gè)人工世界,其中Agent與對象起著十分重要的作用。Agent是一個(gè)在其狀態(tài)和行為規(guī)則的基礎(chǔ)上能夠與其他代表相互作用的自主實(shí)體,而對象是一個(gè)包含變量的數(shù)據(jù)結(jié)構(gòu),這些變量能夠記錄對象的狀態(tài)與功能。</p><p> 元胞自動機(jī)和Swarm技術(shù)</p><p><b
32、> 2.1 元胞自動機(jī)</b></p><p> 2.1.1 元胞自動機(jī)</p><p> 上世紀(jì)50 年代,圖靈提出人的大腦是一臺離散態(tài)的計(jì)算機(jī)的思想。幾乎同一時(shí)期,計(jì)算機(jī)科學(xué)的另一個(gè)開創(chuàng)者馮·諾伊曼即開始從計(jì)算的視角思考生命的本質(zhì)問題,他認(rèn)為自我復(fù)制乃是有生命的物體的獨(dú)一無二的特征。為了構(gòu)造一個(gè)能夠自我復(fù)制的機(jī)器,馮·諾伊曼提出了元胞自動機(jī)的
33、概念。每一個(gè)元胞的狀態(tài)變化都是一種計(jì)算。我們可以把每一個(gè)元胞都看作一臺計(jì)算機(jī),這樣元胞自動機(jī)就是一種計(jì)算模型。元胞自動機(jī)每個(gè)元胞的變化是同步進(jìn)行的,也就是對信息的處理是同步進(jìn)行的,特別適合于并行計(jì)算。</p><p> 馮·諾依曼在逝世前證明了起碼有一種確實(shí)能夠自我繁衍的元胞自動機(jī)模型的存在。這個(gè)模型極其復(fù)雜,要求大量的細(xì)胞格,而且每一個(gè)細(xì)胞有二十九種不同的狀態(tài),這是任何現(xiàn)有計(jì)算機(jī)的模仿功能都無法勝任
34、的。但這種模型確實(shí)存在的事實(shí)回答了根本的原則問題。</p><p> 圖 - 元胞自動機(jī)(Cellular Automata,簡稱CA)的組成</p><p> 是一個(gè)時(shí)間和空間都離散的動力系統(tǒng)。散布在規(guī)則格網(wǎng) (Lattice Grid)中的每一元胞(cell)取某個(gè)有限狀態(tài)集中的一個(gè)離散狀態(tài)。一個(gè)元胞在某時(shí)刻的狀態(tài)取決于而且僅僅取決于上一時(shí)刻該元胞的狀態(tài)以及該元胞的所有鄰居元胞的狀
35、態(tài)。元胞空間內(nèi)的元胞依照局部規(guī)則進(jìn)行同步的狀態(tài)更新,整個(gè)元胞空間則表現(xiàn)為在離散的時(shí)間維上的變化。大量元胞通過簡單的規(guī)則相互作用而構(gòu)成動態(tài)的系統(tǒng)演化。</p><p> 與一般的動力學(xué)模型不同的是,元胞自動機(jī)不是由嚴(yán)格定義的物理方程或函數(shù)確定,而是用一系列模型構(gòu)造的規(guī)則構(gòu)成。凡是滿足這些規(guī)則的模型都可以算作是元胞自動機(jī)模型。因此,元胞自動機(jī)是一類模型的總稱,或者說是一個(gè)方法框架。其特點(diǎn)是時(shí)間、空間、狀態(tài)都離散,每
36、個(gè)變量只取有限多個(gè)狀態(tài),且其狀態(tài)改變的規(guī)則在時(shí)間和空間上都是局部的。</p><p> 元胞自動機(jī)由元胞、元胞的狀態(tài)空間、鄰居及局部規(guī)則四部分組成,可用一個(gè)四元組表示:</p><p> 說明:其中A為一個(gè)元胞自動機(jī);為元胞空間,為元胞空間的維數(shù);為元胞的有限狀態(tài)集;表示一個(gè)所有鄰域內(nèi)元胞的組合,為包含個(gè)不同元胞的空間矢量,表示為 ,是鄰居元胞個(gè)數(shù),(整數(shù)集),
37、;表示將映射到上的一個(gè)狀態(tài)轉(zhuǎn)換函數(shù)。</p><p> 1) 元胞和元胞空間</p><p> 元胞又可稱為基元,是元胞自動機(jī)的最基本的組成部分,分布在離散的一維、二維或多維歐幾里德空間的格點(diǎn)上。而元胞所分布在的空間網(wǎng)格集合就是元胞空間,它可以是任意維數(shù)歐幾里德空間的規(guī)則劃分。由于計(jì)算機(jī)顯示的原因,目前研究集中在一維和二維,對于一維元胞自動機(jī),元胞空間的劃分只有一種,而二維元胞自動機(jī),
38、二維元胞空間通常可以按三角、正方形或六邊形三種網(wǎng)格排列。三種元胞空間劃分在模擬時(shí)各有優(yōu)缺點(diǎn),三角網(wǎng)格和六邊形網(wǎng)格在計(jì)算機(jī)的表達(dá)和顯示不方便,通常都要都借助影射轉(zhuǎn)換正方形網(wǎng)格處理。另一個(gè)需要考慮的問題是,理論上的元胞空間通常是在各維上是無限的,但卻無法在計(jì)算機(jī)上實(shí)現(xiàn),因此,我們需要定義不同的邊界條件。歸納起來,邊界條件主要有三種類型:周期型、反射型和定值型,這三種邊界類型在實(shí)際應(yīng)用中,尤其是二維或更高維數(shù)的構(gòu)模時(shí),可以相互結(jié)合。</
39、p><p> 2) 狀態(tài)(State)</p><p> 取值于一個(gè)有限的離散集。嚴(yán)格意義上,元胞自動機(jī)的元胞只能有一個(gè)狀態(tài)變量,但在實(shí)際應(yīng)用中,往往將其進(jìn)行了擴(kuò)展。</p><p> 3) 鄰居(Neighbor)</p><p> 在給出規(guī)則之前,必須定義一定的鄰居規(guī)則,明確哪些元胞屬于該元胞的鄰居。在一維元胞自動機(jī)中,通常以半徑r來
40、確定鄰居,距離一個(gè)元胞r內(nèi)的所有元胞均被認(rèn)為是該元胞的鄰居。二維元胞自動機(jī)的鄰居定義較為復(fù)雜,但通常有Von.Neumann型、Moore型及擴(kuò)展Moore型等(圖)。</p><p> (a)Von.Neumann型 (b) Moore型 (c) 擴(kuò)展Moore 型</p><p> ?。▓D中,黑色的元胞為中心元胞,灰色元胞為其鄰居)</
41、p><p> 4) 局部規(guī)則(Local Rule)</p><p> 根據(jù)元胞當(dāng)前狀態(tài)以及鄰居狀況確定下一時(shí)刻該元胞狀態(tài)的函數(shù),也稱為狀態(tài)轉(zhuǎn)移函數(shù)。這個(gè)函數(shù)構(gòu)造了一種簡單的、離散的空間/時(shí)間的局部物理成分。</p><p> 2.1.2 元胞自動機(jī)的應(yīng)用</p><p> 元胞自動機(jī)自產(chǎn)生以來,被廣泛地應(yīng)用于各個(gè)領(lǐng)域的研究。在社會學(xué)中,
42、元胞自動機(jī)用于研究個(gè)人行為的社會性,流行現(xiàn)象。在經(jīng)濟(jì)學(xué)中,是實(shí)驗(yàn)經(jīng)濟(jì)學(xué)的一個(gè)很好的工具,可以研究個(gè)體行為造成的整體性現(xiàn)象,更可以加入博弈論來考察均衡狀態(tài)形成。而由于元胞自動機(jī)的設(shè)計(jì)思想本身就有很大部分來源于生物學(xué)的自繁殖思想,因而它在生物學(xué)上的應(yīng)用更為自然而廣泛。例如元胞自動機(jī)用于腫瘤細(xì)胞的增長機(jī)理和過程模擬、人類大腦的機(jī)理探索(Victor Jonathan.D., 1990)、愛滋病病毒HIV的感染過程(Sieburg, H.B.,
43、 1990)、自組織、自繁殖等生命現(xiàn)象的研究以及最新流行的克隆技術(shù)的研究等 (Ermentrout G..B., 1993)。 在信息學(xué)中,元胞自動機(jī)被用于研究信息的保存、傳遞、擴(kuò)散的過程。Deutsch(1972)、Sternberg(1980)和Rosenfeld(1979)等人還將二維元胞自動機(jī)應(yīng)用到圖像處理和模式識別中 (WoIfram.S.,1983)。在計(jì)算機(jī)科學(xué)中。元胞自動機(jī)可以被看作是并行計(jì)算機(jī)而用于并行計(jì)算
44、的研究(Wolfram.S.1983;Bandini,S.,200</p><p> 2.2 Swarm介紹</p><p> 2.2.1 Swarm的背景</p><p> Swarm是復(fù)雜適應(yīng)系統(tǒng)建立模型而設(shè)計(jì)的軟件平臺。1995 年SFI 發(fā)布了Swarm 的beta 版,此后,大約30個(gè)用戶團(tuán)體已經(jīng)安裝了Swarm并用它積極地開展建模工作,并完成了一定
45、的論文。Swarm已經(jīng)幫助提供了討論模擬技術(shù)和方法論的焦點(diǎn),還提供在特定的研究團(tuán)體中模型組件和庫的共享,這是智力交換的一個(gè)重要形式。最終,建立一個(gè)用于模型定義的形式化框架建立一個(gè)特定的用于實(shí)驗(yàn)科學(xué)工具的計(jì)算機(jī)程序的必要標(biāo)準(zhǔn)。 開發(fā)Swarm 的目的就是通過科學(xué)家和軟件工程師的合作制造一個(gè)高效率的可信的可重用的軟件實(shí)驗(yàn)儀器,它能給予科學(xué)家們一個(gè)標(biāo)準(zhǔn)的軟件工具集,就象提供了一個(gè)設(shè)備精良的軟件實(shí)驗(yàn)室?guī)椭藗兗芯τ谘芯抗ぷ鞫侵圃旃ぞ摺?&
46、lt;/p><p> Swarm 實(shí)際上是一組用Objective-C 語言寫成的類庫,這是一種面向?qū)ο蟮腃 語言。一部分圖形界面,如圖表、按鈕和窗口,是用TCL/TK 描述的。Swarm 最初只能在Unix 操作系統(tǒng)和X Windows 界面下運(yùn)行,1998 年四月伴隨著 1 .1版的發(fā)布,Swarm 推出了可以在Windows 95/98/NT 上運(yùn)行的版本。1999 年Swarm又提供了對Java 的支持,從
47、而使Swarm 越來越有利于非計(jì)算機(jī)專業(yè)的人士使用。 現(xiàn)在使用的版本有Swarm 1.1,Swarm 2.2等.本次設(shè)計(jì)使用版本為Swarm2.2。</p><p> Swarm的建模思想就是讓一系列獨(dú)立的Agent通過獨(dú)立事件進(jìn)行交互,幫助研究由多個(gè)體組成的復(fù)雜適應(yīng)系統(tǒng)的行為。通過這些類庫包括許多可重用的類以支持模擬實(shí)驗(yàn)的分析、顯示和控制,即用戶可以使用Swarm 提供的類庫構(gòu)建模擬系統(tǒng)使系統(tǒng)中的Agent和
48、元素通過離散事件進(jìn)行交互。由于Swarm 沒有對模型和模型要素之間的交互作任何約束,所以Swarm 可以模擬任何物理系統(tǒng)、經(jīng)濟(jì)系統(tǒng)或社會系統(tǒng)。事實(shí)上在各個(gè)廣泛的研究領(lǐng)域都有人在用Swarm 編寫程序,這些領(lǐng)域包括生物學(xué)經(jīng)濟(jì)學(xué)物理學(xué)化學(xué)和生態(tài)學(xué)等。</p><p> 2.3 Swarm的邏輯結(jié)構(gòu)</p><p> Swarm中最主要的四個(gè)部分,往往也是一個(gè)Swarm模擬程序經(jīng)常包括的四個(gè)
49、部分是:模型swarm(Model Swarm)、觀察員swarm(Observer Swarm)、模擬主體和環(huán)境。</p><p> 下面幾小節(jié)具體介紹模型組成。</p><p> 2.3.1 模型“Swarm”</p><p> Swarm就是許多個(gè)體(對象)組成的一個(gè)群體,這些個(gè)體共享一個(gè)行為時(shí)間表和內(nèi)存池。顯然“Swarm”有兩個(gè)主要的組成部分:(1)
50、是一系列對象(Object);(2)這些對象的行為時(shí)間表(Action)。時(shí)間表就像一個(gè)索引引導(dǎo)對象動作的順序執(zhí)行。</p><p><b> - 對象</b></p><p> 模型“Swarm”中的每一項(xiàng)對應(yīng)模型世界中的每一個(gè)對象(個(gè)體)?!癝warm”中的個(gè)體就象系統(tǒng)中的演員,是能夠產(chǎn)生動作并影響自身和其他個(gè)體的一個(gè)實(shí)體。模擬包括幾組交互的個(gè)體。例如,在一個(gè)
51、經(jīng)濟(jì)學(xué)模擬中,個(gè)體可能是公司、證券代理人、分紅利者和中央銀行。 </p><p><b> - 時(shí)間表</b></p><p> 除了對象的集合,模型“Swarm”還包括模型中行為的時(shí)間表。時(shí)間表是一個(gè)數(shù)據(jù)結(jié)構(gòu),定義了各個(gè)對象的獨(dú)立事件發(fā)生的流程,即各事件的執(zhí)行順序。通過確定合理的時(shí)間調(diào)度機(jī)制,可以使用戶在沒有并行環(huán)境的狀況下也能進(jìn)行研究工作,也就是說,在并行系統(tǒng)
52、下Agent之間復(fù)雜的消息傳送機(jī)制在該Swarm中通過行為表的方式可以在單機(jī)環(huán)境下實(shí)現(xiàn)。例如,在狼/兔子這個(gè)模擬系統(tǒng)中可能有三種行為:“兔子吃胡蘿卜”,“兔子躲避狼的追蹤”和“狼吃兔子”。每種行為是一個(gè)獨(dú)立的動作。在時(shí)間表中,對這三種行為按照以下順序排序:“每天,兔子先吃胡蘿卜,然后它們躲避狼的追蹤,最后狼試圖吃兔子”。模型按照這種安排好的事件的執(zhí)行順序向前發(fā)展,并盡量使這些事件看起來像同步發(fā)生的。 </p><p&
53、gt;<b> - 輸入輸出</b></p><p> 模型“Swarm”還包括一系列輸入和輸出。輸入是模型參數(shù):如世界的大小,主體的個(gè)數(shù)等環(huán)境參數(shù)。輸出是可觀察的模型的運(yùn)行結(jié)果:如個(gè)體的行為等等。</p><p> 2.3.2 觀察員“Swarm”</p><p> 模型“Swarm”只是定義了被模擬的世界。但是一個(gè)實(shí)驗(yàn)不應(yīng)只包括實(shí)驗(yàn)
54、對象,應(yīng)包括用來觀察和測量的實(shí)驗(yàn)儀器。在Swarm計(jì)算機(jī)模擬中,這些觀察對象放在一個(gè)叫觀察員“Swarm”的“Swarm”中。 觀察員“swarm”中最重要的組件是模型“Swarm”。 它就像實(shí)驗(yàn)室中一個(gè)培養(yǎng)皿中的世界,是被觀測的對象。觀察員對象可以向模型“Swarm”輸入數(shù)據(jù)(通過設(shè)置模擬參數(shù)),也可以從模型“Swarm”中讀取數(shù)據(jù)(通過收集個(gè)體行為的統(tǒng)計(jì)數(shù)據(jù))。</p><p> 與模型“Swarm”的設(shè)置
55、相同,一個(gè)觀察員“Swarm”也由對象(即實(shí)驗(yàn)儀器),行為的時(shí)間表和一系列輸入輸出組成。觀察員行為的時(shí)間表主要是為了驅(qū)動數(shù)據(jù)收集,即從模型中將數(shù)據(jù)讀出,并畫出圖表。觀察員“Swarm”的輸入是對觀察工具的配置,例如生成哪類圖表,輸出是觀察結(jié)果。</p><p> 在圖形模式下運(yùn)行時(shí),觀察員“Swarm”中的大部分對象被用來調(diào)節(jié)用戶界面。這些對象可能是平面網(wǎng)格圖,折線圖或探測器,它們一方面與模型“Swarm” 相
56、連以讀取數(shù)據(jù),同時(shí)把數(shù)據(jù)輸出到圖形界面,為用戶提供了很好的實(shí)驗(yàn)觀察方式。 實(shí)驗(yàn)結(jié)果的圖形化有助于直覺地判斷,但重要的實(shí)驗(yàn)都需要收集統(tǒng)計(jì)結(jié)果。這意味著要做更多地工作并存儲用于分析的數(shù)據(jù)。作為圖形觀察員“Swarm”的另一種選擇,你可以建立批處理“Swarm”(batch Swarms)。它和用戶之間沒有交互操作。它從文件中讀取控制模型的數(shù)據(jù)并將生成的寫入另一個(gè)文件中用于分析。</p><p> 2.3.3 模擬主
57、體</p><p> Swarm不僅是一個(gè)包含其它對象的容器,還可以是一個(gè)不包含其它對象的主體本身。這是最簡單的“Swarm”情形,它包括一系列規(guī)則、刺激和反應(yīng)。而一個(gè)主體自身也可以作為一個(gè)“Swarm”:一個(gè)對象的集合和動作的時(shí)間表。在這種情況下,一個(gè)主體“Swarm”的行為可以由它包含的其它個(gè)體的表現(xiàn)來定義。層次模型就是這樣由多個(gè)“Swarm”嵌套構(gòu)成。例如,你可以為一個(gè)居住著單細(xì)胞動物的池塘建立模型。在最
58、高層,生成包括個(gè)體的“Swarm”:“Swarm”代表池塘而每個(gè)個(gè)體代表池塘里的一個(gè)動物。動物的細(xì)胞也可以看作是由多個(gè)個(gè)體(細(xì)胞質(zhì))組成的“Swarm”。這時(shí)需要連接兩個(gè)模型,池塘作為一個(gè)由細(xì)胞組成的“Swarm”,細(xì)胞也作為一個(gè)可分解的“Swarm”。</p><p> 還由于“Swarm”可以在模擬運(yùn)行過程中建立和釋放,Swarm可用來建立描述多層次的動態(tài)出現(xiàn)的模型。 通過建造模型“Swarm” 和觀察員“
59、Swarm”, 將模型和數(shù)據(jù)收集分離開,一個(gè)完整的實(shí)驗(yàn)儀器就建立起來了。就像一個(gè)玻璃下的模擬世界,不同的觀察員“Swarm” 可用來實(shí)現(xiàn)不同的數(shù)據(jù)收集和實(shí)現(xiàn)控制協(xié)議,但是模型本身沒有發(fā)生變化。</p><p><b> 2.3.4 環(huán)境</b></p><p> 在一些模型中,特別是在那些具有認(rèn)知部件的個(gè)體模擬中,系統(tǒng)運(yùn)動的一個(gè)重要因素在于一個(gè)主體對于自己所處環(huán)境
60、的認(rèn)識。Swarm的一個(gè)特點(diǎn)就是不必設(shè)計(jì)一個(gè)特定類型的環(huán)境。環(huán)境自身就可以看作一個(gè)主體。通常情況下,主體的環(huán)境就是主體自身。</p><p> 第3章 生態(tài)仿真系統(tǒng)的設(shè)計(jì)</p><p><b> 3.1系統(tǒng)簡介</b></p><p> 該生態(tài)仿真系統(tǒng)模擬兩個(gè)物種在一個(gè)空間中的競爭和共存的情況。</p><p>
61、 物種 A和物種B具有以下不同特點(diǎn):</p><p> 物種A:生命周期長,繁殖力弱。具體體現(xiàn)為繁殖期在生命周期中的時(shí)間所占比例相對較短。</p><p> 物種B:生命周期短,但是繁殖能力強(qiáng),具體體現(xiàn)為繁殖期在整個(gè)生命周期的所占比例相對較長。</p><p> 將兩個(gè)物種同時(shí)放入一個(gè)封閉的空間中,按照時(shí)間步驟隨機(jī)繁殖生長。同時(shí)將兩個(gè)物種的生長參數(shù)和情況通過
62、圖形和表格的形式,直觀的表示出來。</p><p> 生態(tài)仿真系統(tǒng)按照要求,對生態(tài)系統(tǒng)中的物種進(jìn)行參數(shù)設(shè)定。</p><p> 改變物種A和物種B的參數(shù),進(jìn)行其他的運(yùn)行實(shí)驗(yàn)。</p><p> 3.2 生態(tài)仿真系統(tǒng)的模塊構(gòu)成</p><p> 生態(tài)仿真系統(tǒng)使用Swarm2.2實(shí)現(xiàn)。</p><p> Swar
63、m 的模擬程序包括四類對象:Model Swarm,Observer Swarm,模擬主體和環(huán)境。其中,Model Swarm 和Observer Swarm 是swarm 類的子類,swarm類是Swarm 模擬的基本構(gòu)造塊,一個(gè)swarm 是一系列對象以及這些對象的行為時(shí)間表的組合。</p><p> 生態(tài)仿真系統(tǒng)的邏輯結(jié)構(gòu)可以分為以下四個(gè)部分:模型swarm(Model Swarm)、觀察員swarm(O
64、bserver Swarm)、模擬主體和環(huán)境。 </p><p> Swarm 生態(tài)仿真系統(tǒng)邏輯結(jié)構(gòu)</p><p> Model Swarm模塊是建立整個(gè)系統(tǒng)的模型。</p><p> Observer Swarm是模型具體的控制和表現(xiàn),負(fù)責(zé)數(shù)據(jù)的收集。</p><p> 空間Agent和環(huán)境Space放在Observer Swar
65、m 里面,是具體的對象。</p><p> 3.3 系統(tǒng)模塊說明</p><p> 系統(tǒng)基于元胞自動機(jī)模型建立的生態(tài)仿真平臺,目的是為植物的空間動態(tài)繁衍,它和周圍環(huán)境資源的關(guān)系,以及物種間的競爭共存在時(shí)空序列上提供一個(gè)仿真手段。</p><p> 建立空間:空間建立使用元胞自動機(jī)理論中的空間模型,使用2維正方空間模型,進(jìn)行空間限制。</p>&l
66、t;p> newX = xPos + [uniformIntRand getIntegerWithMin: -1 withMax: 1];</p><p> newY = yPos + [uniformIntRand getIntegerWithMin: -1 withMax: 1];</p><p> newX = (newX + worldXSize) % worldXSi
67、ze;</p><p> newY = (newY + worldYSize) % worldYSize;</p><p><b> 算法表示:</b></p><p> 建立一個(gè)周期空間,當(dāng)在空間中的點(diǎn)移動超越窗體表示范圍時(shí),能回到窗體的空間。</p><p> 在空間柵格中建立對象。</p>&
68、lt;p> 建立物種A,物種B兩個(gè)對象:植物A,植物B</p><p> 對象植物A,植物B在一個(gè)空間(Space)中成長,自我繁殖。繁殖的方式</p><p> 植物A和植物B具有以下不同特點(diǎn):</p><p> 植物A:生命周期長,繁殖力弱。具體體現(xiàn)為繁殖期在生命周期中的時(shí)間所占比例相對較短。</p><p> 植物B:生
69、命周期段,但是繁殖能力強(qiáng),具體體現(xiàn)為繁殖期在整個(gè)生命周期的所占比例相對較長。</p><p><b> 對象參數(shù):</b></p><p> worldXSize = 100; worldYSize = 100;</p><p> numAgents1;
70、 numAgents2</p><p> deathAgeMinA; deathAgeMaxA;</p><p> deathAgeMinA; deathAgeMaxB;</p><p> 建立模型,在空間中加載Ag
71、ent對象后,就產(chǎn)生了一系列的對象。對象個(gè)體是獨(dú)立的。每個(gè)Agent代表的植物A或者B具有獨(dú)立屬性。</p><p> 植物種類(classNo):該Agent所代表的植物種類。</p><p> 初始數(shù)量(Number):表示初始時(shí)的植物數(shù)量。 </p><p> 年齡(age) :植物的年齡。</p><p> 死亡年齡(deat
72、hAge):植物的死亡年齡,個(gè)體的死亡年齡出生時(shí)就決定,使用隨機(jī)函數(shù)在min和max之間產(chǎn)生一個(gè)整數(shù)。</p><p> 位置(x,y):表示該植物在空間中的具體位置。</p><p><b> 行為規(guī)則:</b></p><p> 主體的行為規(guī)則包括初始規(guī)則,生長規(guī)則,死亡規(guī)則。</p><p> 初始規(guī)則:在
73、模型建立時(shí),開始分布的規(guī)則。在生態(tài)仿真平臺中,原始的植物是隨機(jī)在100×100的空間中分布的。初始個(gè)體的年齡為1,但是死亡年齡是按照參數(shù)設(shè)定的區(qū)間中隨機(jī)分布的。初始個(gè)體按照Von.Neumann型生長方式生長。</p><p><b> 生長規(guī)則:</b></p><p> 先判斷周圍4個(gè)空間格是否有植物生長,如果有空間沒有植物生長,那么就占領(lǐng)該空間,在
74、這個(gè)空格中添加一個(gè)自己的后代,初始化這個(gè)個(gè)體的年齡為0,并在死亡年齡區(qū)間中隨機(jī)產(chǎn)生一個(gè)死亡年齡。如果空間已經(jīng)被占領(lǐng),那么就不占領(lǐng)那塊空間。</p><p><b> 死亡規(guī)則:</b></p><p> 檢查個(gè)體自己的年齡,如果達(dá)到出生時(shí)設(shè)定的死亡年齡,就死亡,并空出自己所占有的空間。這個(gè)規(guī)則能產(chǎn)生生長規(guī)則所需要的新空間。</p><p>
75、 現(xiàn)在模型建立完成,已經(jīng)定義好環(huán)境,行為對象,行為規(guī)則以及需要的參數(shù)和變量。只要激活這個(gè)模型就可以運(yùn)行。</p><p> 3.4 Swarm模型實(shí)現(xiàn)</p><p> ObserverSwarm管理著模型,并由它來顯示模型運(yùn)行的結(jié)果和統(tǒng)計(jì)。形象的說,ObserverSwarm扮演著模型的觀察者的角色,并將觀察的結(jié)果在窗口中通過曲線形式表現(xiàn)出來。</p><p&
76、gt; 模型的規(guī)則通過Model文件表示,Model定義參數(shù),初始化模型,建立行動規(guī)則。這些規(guī)則通過具體的函數(shù)和方法實(shí)現(xiàn)。例如,使用隨機(jī)函數(shù)產(chǎn)生一系列隨機(jī)的點(diǎn)。植物生長的規(guī)則,檢查周圍空間的方法,在沒有被占領(lǐng)的空間中繁殖個(gè)體。產(chǎn)生兩個(gè)List來管理產(chǎn)生的代表植物的agent。管理List的方法有,在List中添加個(gè)體,將死亡的個(gè)體從List中移去??傊?,模型用到的大多數(shù)方法都在Model中實(shí)現(xiàn)。</p><p>
77、; 模型的環(huán)境包含在Swarm中的Sugarspace文件中,文件定義了模型空間的大小。</p><p> 模型的個(gè)體屬性通過Sugaragent文件定義,包含初始個(gè)數(shù),死亡年齡的區(qū)間,年齡檢查機(jī)制等。</p><p> 通過下圖詳細(xì)說明Swarm實(shí)現(xiàn)模型的過程:</p><p> 第4章 生態(tài)仿真系統(tǒng)運(yùn)行和結(jié)果</p><p>
78、 4.1 仿真平臺系統(tǒng)</p><p> 4.1.1 平臺及主要命令</p><p> 仿真系統(tǒng)運(yùn)行在Swarm2.2 平臺上。</p><p> 使用命令行的形式運(yùn)行。主要命令有:</p><p> Cd:進(jìn)入/退出文件。</p><p> Dir:查找文件目錄 </p><p
79、> Make:編譯當(dāng)前文件夾中內(nèi)容。</p><p> Make clean:清空當(dāng)前文件夾中編譯產(chǎn)生的內(nèi)容。</p><p> ?。? :運(yùn)行可執(zhí)行文件。</p><p> 4.1.2 系統(tǒng)面板說明</p><p><b> 1.主面板(右):</b></p><p><b&
80、gt; Start :開始</b></p><p><b> Stop :停止</b></p><p> Next :下一步(單步)</p><p><b> Save :保存</b></p><p><b> Quit :退出 </b></p>
81、;<p> 2.ObserverSwarm面板: 3.植物A和B的參數(shù)說明面板:</p><p> 4.兩種植物的 Population 和Time二維曲線面板</p><p> 5.對象數(shù)據(jù)面板 6.運(yùn)行空間面板</p><p> 4.2 仿真系統(tǒng)的運(yùn)行</p><p>
82、;<b> 假設(shè)運(yùn)行例子一:</b></p><p> 參數(shù): worldXSize = 100; worldYSize = 100;</p><p> numAgents1 = 2; numAgents2 = 2;</p><p> deathAgeMinA =
83、 5; deathAgeMaxA = 5;</p><p> deathAgeMinB = 5; deathAgeMaxB = 5;</p><p><b> 隨機(jī)產(chǎn)生起始位置:</b></p><p> 植物A(blue) </p><p> x
84、 = 28 x = 54</p><p> y =36; y = 70</p><p> 植物B(yellow) </p><p> x = 21 x = 75 </p><p> y =
85、 71 y = 49</p><p> 開始運(yùn)行,讓兩種植物自由生長,充滿150X150的空間。</p><p> 運(yùn)行充滿空間之后在運(yùn)行一段時(shí)間后所得到的植物區(qū)域分布如下圖:</p><p> 植物數(shù)量隨時(shí)間曲線如下圖:</p><p><b> 結(jié)果分析:</b>
86、</p><p> 兩個(gè)不同植物在相同的個(gè)體數(shù)量,年齡區(qū)間的情況下。進(jìn)行模模擬的運(yùn)行。 </p><p> 該圖表示A.B物種在開始階段自由生長,數(shù)量逐漸增多,逐漸充滿整個(gè)空間,然后物種之間發(fā)生碰撞,發(fā)生競爭。因?yàn)閰?shù)一致,所以競爭結(jié)果為兩種植物數(shù)量基本保持一致,兩條植物數(shù)量線幾乎靠在一起。但是可以發(fā)現(xiàn),線條并不是完全重合,這是因?yàn)槟P瓦\(yùn)行是具有隨機(jī)性,較能真實(shí)體現(xiàn)競爭的情況。<
87、/p><p><b> 運(yùn)行例子二:</b></p><p> 參數(shù): worldXSize = 100; worldYSize = 100;</p><p> numAgents1 = 10; numAgents2 = 10;</p><p>
88、 deathAgeMinA = 3; deathAgeMaxA = 5;</p><p> deathAgeMinB = 5; deathAgeMaxB = 8;</p><p> 1 為增加隨機(jī)性,將植物個(gè)數(shù)每種都設(shè)定為10個(gè)。</p><p> 2 同時(shí)將植物A的死亡年齡改在[3-5]的區(qū)間
89、內(nèi)。</p><p> 3 同時(shí)將植物B的死亡年齡改在[5-8]的區(qū)間內(nèi)。</p><p> 4 開始運(yùn)行,讓兩種植物自由生長,充滿100×100的空間。</p><p> 運(yùn)行充滿空間之后在運(yùn)行一段時(shí)間后所得到的植物區(qū)域分布如下圖:</p><p> 植物數(shù)量隨時(shí)間曲線如下圖:</p><p>&l
90、t;b> 結(jié)果分析:</b></p><p> 植物A在開始階段生長速度比植物B快,但是在時(shí)間20左右,兩種植物基本占領(lǐng)所有空間,開始競爭。由于植物B具有生存年齡長的優(yōu)勢,所以在植物A數(shù)量占多的情況下,也能逐漸將A因死亡而產(chǎn)生的空間占領(lǐng)過來。</p><p> 所以,兩種數(shù)量幾乎相等的植物,由于死亡年齡區(qū)間的不同,可以影響物種的競爭結(jié)果。</p>&l
91、t;p> 在本組參數(shù)下運(yùn)行模型得到結(jié)果:死亡年齡小,死亡年齡區(qū)間短的物種A在開始的時(shí)候,數(shù)量上暫時(shí)比植物B有優(yōu)勢,但是,年齡周期長的植物B在后期體現(xiàn)出比A強(qiáng)的競爭力,數(shù)量上逐漸占到了優(yōu)勢。所以,預(yù)測植物B應(yīng)該會獲得競爭勝利。</p><p><b> 實(shí)際結(jié)果:</b></p><p><b> 運(yùn)行例子三:</b></p>
92、;<p> 有以下四組參數(shù),其中兩項(xiàng)參數(shù)相同:</p><p> worldXSize = 100; worldYSize = 100;</p><p> numAgents1 = 15; numAgents2 = 15;</p><p> 四組其他項(xiàng)參數(shù)如下:
93、</p><p> A deathAgeMinA = 8; deathAgeMaxA = 10;</p><p> deathAgeMinB = 5; deathAgeMaxB = 7;</p><p> B deathAgeMinA = 8; deathAgeMa
94、xA = 10;</p><p> deathAgeMinB = 6; deathAgeMaxB = 9;</p><p> C deathAgeMinA = 8; deathAgeMaxA = 10;</p><p> deathAgeMinB = 9; deathA
95、geMaxB = 12;</p><p> D deathAgeMinA = 8; deathAgeMaxA = 10;</p><p> deathAgeMinB = 12; deathAgeMaxB = 15;</p><p> 這四組參數(shù)表示了以植物A為參照,改變植物B死亡年齡區(qū)間出現(xiàn)的競爭
96、結(jié)果。</p><p> 第一組:植物B的死亡年齡區(qū)間比植物A小。</p><p> 第二組:植物B的死亡年齡區(qū)間和植物A相交,但是平均年齡比A小。</p><p> 第三組:植物B的死亡年齡區(qū)間和植物A相交,但是平均年齡比A大。</p><p> 第四組:植物B的死亡年齡區(qū)間比植物A大。</p><p>
97、將四組參數(shù)分別編號:A,B,C,D。</p><p> 運(yùn)行結(jié)果用曲線表示如下:</p><p> A 圖 B圖</p><p> C圖 D圖</p><p><b> 結(jié)果分析;</
98、b></p><p> 按照設(shè)定參數(shù):以植物A為固定參照,將植物B的死亡年齡區(qū)間由小到大改變。</p><p> 圖A,圖B可以看出,當(dāng)B死亡年齡比A小時(shí),植物A具有競爭優(yōu)勢。年齡差距越大,數(shù)量與時(shí)間斜率就約大。盡管第二組參數(shù)年齡區(qū)間有相交的部分,但平均年齡比A小,總的競爭就讓植物A占了優(yōu)勢。比較圖A和圖B,圖A中的植物B比圖B的減少速度更加快可明顯。</p>&l
99、t;p> 當(dāng)植物B設(shè)定的死亡年齡區(qū)間比A大的時(shí)候,植物B體現(xiàn)出更強(qiáng)的生存能力。而且年齡區(qū)間越大,影響就越明顯。圖D比圖C兩個(gè)物種之間的數(shù)量差更加明顯。</p><p><b> 運(yùn)行例子四:</b></p><p> 由例子四可以看出,在當(dāng)前模型條件下,物種數(shù)量接近時(shí),競爭能力主要決定于年齡。</p><p><b>
100、現(xiàn)在假設(shè)一組參數(shù):</b></p><p> 物種A的數(shù)量占多數(shù),死亡年齡小。物種B數(shù)量占少數(shù),死亡年齡大。</p><p> worldXSize = 100; worldYSize = 100;</p><p> numAgents1 = 50; numAgents2 =
101、 5;</p><p> deathAgeMinA = 6; deathAgeMaxA = 8;</p><p> deathAgeMinB = 8; deathAgeMaxB = 10;</p><p> 植物A和B數(shù)量隨時(shí)間曲線如下圖:</p><p><b>
102、; 運(yùn)行結(jié)果分析:</b></p><p> 在初始的時(shí)候,植物A的數(shù)量占有絕對優(yōu)勢,所以在前20個(gè)時(shí)間單位時(shí),數(shù)量增加速度非???,占領(lǐng)了設(shè)定的大部分空間,但死亡年齡比較小,所以死亡年齡占有優(yōu)勢的植物B在30個(gè)時(shí)間單位之后,以非常微小的數(shù)量逐漸增多。植物B的數(shù)量比A少得多,所以數(shù)量增加的速度顯得非常慢,可以在圖中看出,在20個(gè)時(shí)間單位之后,兩種植物的數(shù)量在一段時(shí)間里面保持了穩(wěn)定,植物B的年齡優(yōu)勢在
103、經(jīng)過25個(gè)時(shí)間單位之后才逐漸顯示出來。</p><p> 這說明,數(shù)量優(yōu)勢可以將年齡優(yōu)勢減弱,可以在較長的一段時(shí)間中,使物種A和物種B的數(shù)量保持相對穩(wěn)定狀態(tài)。</p><p> 當(dāng)時(shí)間經(jīng)過較長時(shí)間之后,物種B的年齡優(yōu)勢可以逐漸體現(xiàn)出來,兩條數(shù)量曲線在波動中逐漸靠近。物種A的數(shù)量逐漸減少,物種B的數(shù)量逐漸增多。</p><p> 植物分布的直觀圖如下:</
104、p><p> 將模型繼續(xù)運(yùn)行,經(jīng)過大約160個(gè)時(shí)間單位之后的曲線圖如下:</p><p> 植物A的數(shù)量逐漸減少,植物B的數(shù)量逐漸增加,植物B的年齡優(yōu)勢更加明顯的體現(xiàn)出來,這是一個(gè)逐漸的過程。</p><p><b> 4.3實(shí)驗(yàn)結(jié)論</b></p><p> 經(jīng)過實(shí)驗(yàn),得出以下結(jié)論:</p><
105、p> 1、現(xiàn)有模型中,植物在相同數(shù)量,相同的死亡年齡條件下,競爭能力幾乎是相等的。</p><p> 2、在一定的空間中,植物的競爭能力的強(qiáng)弱決定與植物的平均死亡年齡,生長周期長的植物競爭能力強(qiáng)。</p><p> 3、競爭能力的強(qiáng)弱由兩種物種的平均死亡年齡差距決定,差距越大,相同時(shí)段內(nèi),植物數(shù)量的變化越大。</p><p><b> 4.4
106、存在問題</b></p><p> 生態(tài)系統(tǒng)是一個(gè)復(fù)雜的系統(tǒng),計(jì)算機(jī)對此的模仿暫時(shí)只是一定程度上的仿真。不過也具有參考價(jià)值和意義。</p><p> 有限元胞自動機(jī)的可能性空間隨著空間的擴(kuò)大呈指數(shù)增長。比如100個(gè)網(wǎng)格的元胞自動機(jī)要窮盡一遍可能性需要2100步驟,然而我們已經(jīng)可以認(rèn)為窮盡可能性不可能了。在用程序進(jìn)行模擬的時(shí)候,只要初始個(gè)數(shù)達(dá)到一定大小,就認(rèn)為已經(jīng)足夠模擬真實(shí)
107、世界了。就這點(diǎn)來說,我發(fā)現(xiàn)在計(jì)算機(jī)上運(yùn)行設(shè)計(jì)的生態(tài)仿真平臺最恰當(dāng)?shù)目臻g設(shè)置為100×100。從而我們說,混沌型和復(fù)雜型,是相對于那種少量幾步就開始循環(huán)的周期來說的。</p><p> 計(jì)算機(jī)本身存在局限性,在程序運(yùn)行中發(fā)現(xiàn),計(jì)算機(jī)運(yùn)行本質(zhì)上是串行性的,使模型在運(yùn)行過程的本質(zhì)是串行的,當(dāng)然,設(shè)計(jì)的生態(tài)仿真平臺已經(jīng)盡量減弱了這個(gè)原因造成的影響。</p><p> 經(jīng)過用Swarm
108、建模的另一個(gè)系統(tǒng),Game of life的驗(yàn)證,模型的周期現(xiàn)象根據(jù)參數(shù)和數(shù)據(jù)的不同,有不同程度的重復(fù)存在。</p><p><b> 第五章 總結(jié)與展望</b></p><p><b> 5.1畢業(yè)設(shè)計(jì)回顧</b></p><p> 經(jīng)過兩個(gè)多月的辛勤工作,畢業(yè)設(shè)計(jì)終于完成并取得成果,回顧過去,在徐老師的指導(dǎo)下,閱
109、讀了不少與本課題相關(guān)的文獻(xiàn),研究了許多相關(guān)的CA模型以及它們的建模過程,學(xué)會了Swarm基本的建模的思想與算法,并能借鑒別人的建模過程,構(gòu)建自己的生態(tài)仿真平臺。</p><p> 在開發(fā)生態(tài)仿真模型的過程中也走了不少彎路,現(xiàn)在將在研究與開發(fā)過程中遇到的問題和自己的感受記錄下來。</p><p> 1) 一開始,閱讀大量國內(nèi)外的相關(guān)文獻(xiàn),形成自己的建模的思想,對自己要做的生態(tài)仿真系統(tǒng)
110、形成初步的概念。</p><p> 2) 確定了建模的方法和需要的參數(shù),并開始學(xué)習(xí)徐老師建議的Swarm平臺。主要方法為閱讀Swarm自帶的說明和閱讀Tutorial文件里面包含的現(xiàn)有模型。進(jìn)一步清晰Swarm中建模的思想和方法。</p><p> 3) 主要學(xué)習(xí)Swarm程序SSS,該程序由Paul E. Johnson 根據(jù)Joshua Epstein and Robert
111、 Axtell 寫的《Growing Artificial Societies》所描述的情況而編寫。開始在SSS的基礎(chǔ)上,改編程序。</p><p> 4) 在程序中將多余的Sugar代碼移去,按照SSS添加Agent的方法,實(shí)現(xiàn)自己的Agent1和Agent2,并產(chǎn)生兩個(gè)List控制Agent。這時(shí),發(fā)現(xiàn)一個(gè)問題,SSS中僅提供Agent移動的方法,而沒有提供在Step中繁殖的方法,繁殖的關(guān)鍵是需要在時(shí)間同
112、步過程中產(chǎn)生新個(gè)體的方法。</p><p> 參考其他程序的繁殖方法,在開發(fā)的程序中加入繁殖的方法,主要是將初始Agent的方法應(yīng)用到繁殖過程,并增加了探測等繁殖規(guī)則。</p><p> 5) 修改程序,初步完成,發(fā)現(xiàn)兩個(gè)物種能生長繁殖。但是,發(fā)現(xiàn)程序又存在一個(gè)問題,在植物開始繁殖一段時(shí)間之后,均出現(xiàn)大片死亡的情況,而且在最后,總是所有的個(gè)體都死亡。于是在程序中查找問題所在,開始認(rèn)為在
113、管理Agent的List存在問題,結(jié)果發(fā)現(xiàn)好象沒問題,苦惱了好長時(shí)間,就先寫寫論文。</p><p> 6) 重新拿起程序,突然發(fā)現(xiàn)Agent的年齡屬性都是繼承自初始的母體,怪不得會出現(xiàn)同時(shí)死亡的情況,于是將每個(gè)新產(chǎn)生的個(gè)體的年齡都重新初始化。另外,發(fā)現(xiàn)另一個(gè)Bug,在新產(chǎn)生的個(gè)體的死亡年齡也和年齡屬性一樣,繼承自母體,于是重新用隨機(jī)函數(shù)在minDeath和maxDeath之間產(chǎn)生一個(gè)新的死亡年齡。經(jīng)過修改,運(yùn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光學(xué)實(shí)驗(yàn)計(jì)算機(jī)仿真平臺的構(gòu)建.pdf
- 礦物加工計(jì)算機(jī)仿真平臺的構(gòu)建.pdf
- 畢業(yè)論文——計(jì)算機(jī)建模和仿真
- 計(jì)算機(jī)畢業(yè)論文---網(wǎng)上書店交易平臺的開發(fā)與設(shè)計(jì)
- 計(jì)算機(jī)畢業(yè)論文范文畢業(yè)論文計(jì)算機(jī)專業(yè)
- 小型透平發(fā)電機(jī)計(jì)算機(jī)仿真平臺研究.pdf
- 計(jì)算機(jī)故障與處理-計(jì)算機(jī)專業(yè)畢業(yè)論文
- 計(jì)算機(jī)畢業(yè)論文
- 計(jì)算機(jī)硬件實(shí)驗(yàn)虛擬仿真平臺的設(shè)計(jì).pdf
- 計(jì)算機(jī)畢業(yè)論文 計(jì)算機(jī)組裝與維護(hù)
- 計(jì)算機(jī)畢業(yè)論文
- 計(jì)算機(jī)輔助機(jī)構(gòu)設(shè)計(jì)與分析仿真平臺研究與實(shí)踐.pdf
- 計(jì)算機(jī)專業(yè)畢業(yè)論文-旅游管理系統(tǒng)的研究與開發(fā)
- 計(jì)算機(jī)畢業(yè)論文--對計(jì)算科學(xué)與計(jì)算機(jī)發(fā)展的思考
- 電廠熱工控制計(jì)算機(jī)仿真畢業(yè)論文
- 骨干通信網(wǎng)絡(luò)的計(jì)算機(jī)并行仿真平臺研制.pdf
- 成教計(jì)算機(jī)畢業(yè)論文
- 計(jì)算機(jī)專業(yè)畢業(yè)論文-- 報(bào)表設(shè)計(jì)器開發(fā)
- 計(jì)算機(jī) photoshop畢業(yè)論文
- 計(jì)算機(jī)專業(yè)畢業(yè)論文
評論
0/150
提交評論