復雜系統的計算機模擬模板課件_第1頁
復雜系統的計算機模擬模板課件_第2頁
復雜系統的計算機模擬模板課件_第3頁
復雜系統的計算機模擬模板課件_第4頁
復雜系統的計算機模擬模板課件_第5頁
已閱讀5頁,還剩209頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

復雜系統的計算機模擬探索復雜性的模型方法xx1感謝你的觀看2019年6月9復雜系統的計算機模擬探索復雜性的模型方法1感謝你的觀看201復雜——誕生于秩序與混沌邊緣的科學一場激動人心的科學觀念的革命瞬間照亮了各個學科領域,其中的原則和思想影響是如此地深遠和廣泛,以至于絕大多數學科都卷入其中!2感謝你的觀看2019年6月9復雜——誕生于秩序與混沌邊緣的科學2感謝你的觀看2019年6過去我們用數學給出世界完美的描述,我們很陶醉,以為我們已經認識了世界。但近來我們發現世界其實很復雜,并不確定,偶然的小情況可能放大為決定性的事件,影響了整個歷史進程復雜地發展。原來組成系統的個體是有適應性的。個體的適應性就產生了系統的復雜性。用計算機程序描述個體的行為,在一定的框架之下,個體平行地動作起來,這包括個體對外界的適應,偶然的小情況,個體的相互作用…..如此,計算機模擬就比較真實地反映了復雜世界的一個個方面。

3感謝你的觀看2019年6月9過去我們用數學給出世界完美的描述,我們很陶醉,以為我們已經認第一節

復雜性科學確定性的終結、復雜性科學的興起路徑依賴的反思復雜性研究的方法

4感謝你的觀看2019年6月9第一節復雜性科學確定性的終結、復雜性科學的興起4感謝你第二節

復雜系統系統理論復雜適應系統5感謝你的觀看2019年6月9第二節復雜系統系統理論5感謝你的觀看2019年6月9第三節

模型與模擬方法模型建摸與模擬模擬軟件平臺SWARM的介紹模擬軟件平臺STARLOGO的介紹應用舉例6感謝你的觀看2019年6月9第三節模型與模擬方法模型6感謝你的觀看2019年6月9第一節

復雜性科學I確定性的終結、復雜性科學的興起7感謝你的觀看2019年6月9第一節復雜性科學I確定性的終結、復雜性科學的興起7I確定性的終結!8感謝你的觀看2019年6月9I確定性的終結!8感謝你的觀看2019年6月9拉普拉斯決定論宇宙不過是一臺機械的鐘表宇宙的未來完全由它的過去決定。世界是可被預知的。只要我們明白了支配宇宙的規律,那么我們就能推察過去,預言未來。宇宙的統一規律已找到了(牛頓),宇宙的圖景已被描繪出來了。9感謝你的觀看2019年6月9拉普拉斯決定論宇宙不過是一臺機械的鐘表9感謝你的觀看2019確定性的樂觀詩人蒲柏為偉大的牛頓寫下的墓志銘所言:

自然和自然的法則在黑夜中隱藏,

上帝說,讓牛頓去吧

于是一切都已照亮。

10感謝你的觀看2019年6月9確定性的樂觀詩人蒲柏為偉大的牛頓寫下的墓志銘所言:10感謝你

通向混沌初始條件的微小變動就會導致軌道完全不一樣?!安钪晾澹еЮ铩迸nD定律本身雖是確定性的,但它所描述的具體事物,很可能出現隨機行為。混沌=非線性動力學=難以精確求解11感謝你的觀看2019年6月9通向混沌初始條件的微小變動就會導致軌道完全不一樣。“差洛倫茲與氣象混沌1963年的一天,氣象學家洛倫茲踱進麻省理工學院的咖啡館。而在他進來之前,他剛把一個數據輸入他那臺現在看來工作速度其慢無比的計算機,以驗證上一次的結果。他知道結果還需要等一個來小時,他大可一邊躲開噪音,一邊來悠閑地享受點咖啡。當他回到自己的工作室時,令他驚訝的事發生了:這次的結果與上次的結果在開始時相同,但到后來卻出現了很大的差異。他的結果是通過曲線表示的,這就是說兩條曲線只是在開始時相吻合,而到后來兩者卻分道揚鑣了。12感謝你的觀看2019年6月9洛倫茲與氣象混沌1963年的一天,氣象學家洛倫茲踱進麻省理工混沌與復雜復雜是多體系統多體之間的交互關系是非線性的單獨一個主體的運動軌跡是混沌系統整體則涌現出一定的秩序和結構例子:湍流與水分子社會與人歷史規律經濟周期與經濟主體股票行情與股民的行為13感謝你的觀看2019年6月9混沌與復雜復雜是多體系統13感謝你的觀看2019年6月9在傳統的社會科學研究中,解釋和預測間的過渡看來太隨意而缺乏嚴謹了——對一個社會現象的正確解釋并不意味必然能夠對這個現象的未來進行預測,特別當內在機制中有非線性關系時,這種從解釋到預測之間的思維延伸幾乎百分之百是不可能的。復雜理論告訴我們,即便我們能夠很清楚地界定和完全掌握了對個體行為影響的所有因素,對組織或機構行為的預測仍然是非常不充分的。

14感謝你的觀看2019年6月9在傳統的社會科學研究中,解釋和預測間的過渡看來太隨意而缺乏嚴人類認識實踐中的經驗教訓大自然對人類線性思維的教訓水壩生態中國墾荒與沙漠化美國西部的風塵暴核泄露人工生態實驗的失敗15感謝你的觀看2019年6月9人類認識實踐中的經驗教訓大自然對人類線性思維的教訓15感謝你《失敗的邏輯》事情因何出錯,世間有無妙策為什么鐵路信號系統工作正常時,列車仍然會發生撞車事故?為什么所有操作人員警覺地堅守著工作崗位,核反應堆依然會發生災難性的熔化事故?為什么我們制定得甚好的那么多專業和個人計劃,會如此頻繁地出岔子?16感謝你的觀看2019年6月9《失敗的邏輯》事情因何出錯,世間有無妙策為什么鐵路信號系統工對人類思維方式的反思德國心理學迪特里希.德爾納思維復雜性研究用計算機模擬情景試驗讓不同的專家以游戲的方式發掘決策思維模式的一般特征理性思維的局限性:邏輯嚴密

線性思維方式直覺、聯想=思維的并行17感謝你的觀看2019年6月9對人類思維方式的反思德國心理學迪特里希.德爾納思維復雜性直覺思維整體思維的回歸世界上原來不只存在一種邏輯思維方式神秘主義思潮和新時代(newage)運動18感謝你的觀看2019年6月9直覺思維整體思維的回歸18感謝你的觀看2019年6月9II路經依賴的反思19感謝你的觀看2019年6月9II路經依賴的反思19感謝你的觀看2019年6月9路經依賴系統的發展與其初始條件緊密相關,與其發展過程中的偶然事件密切相關個體微不足道的行為可能產生出乎意料的結果20感謝你的觀看2019年6月9路經依賴20感謝你的觀看2019年6月9馬屁股的寬度決定了火星探測發射器的寬度?馬屁股的寬度決定了雙馬馬車的車轍寬度決定了電車軌道的寬度電車軌道的寬度決定了鐵軌的寬度(修建第一條鐵路順著馬車的車轍印記)鐵軌的寬度決定了火車的車廂的寬度決定了火箭發射倉的最大寬度(為了運載方便)決定了火星探測發射器尺寸21感謝你的觀看2019年6月9馬屁股的寬度決定了火星探測發射器的寬度?馬屁股的寬度決定了雙故事是頗有趣的。從一定意義上說,今天世界是最先進的運輸系統的設計,或許是由兩千年前兩匹戰馬的屁股寬度來決定的。歷史慣性的力量是多么的強大,要沖破由慣性形成的規則又是多么的艱難。22感謝你的觀看2019年6月9故事是頗有趣的。從一定意義上說,今天世界是最先進的運輸系統的經濟領域內的路經依賴經濟領域內的路經鎖定:鐘表的順時針,信息化的標準和壟斷微軟的戰略:當盜版讓人們已經習慣于使用windows時,就會受制于它,很多人只會使用裝了windows的計算機.高科技的競爭就是標準的競爭DVD格式無線上網的格式的爭議23感謝你的觀看2019年6月9經濟領域內的路經依賴經濟領域內的路經鎖定:鐘表的順時針,23自然科學領域的路徑依賴極其微小的初始狀態會成指數的放大,極大地影響了混沌系統的輸出人類對世界的認識實踐活動影響了世界24感謝你的觀看2019年6月9自然科學領域的路徑依賴24感謝你的觀看2019年6月9科學認識的反思人類對世界的認識實踐活動影響了世界后現代科學:自然規律是自然的習慣集體的習慣有被鎖定成為既定成俗的傾向個人習慣之間的交互涌現出集體的習慣自由落體難道是銅球的一種難改的積習?萬有引力難道是物質世界的一種慣例?慣性vs習慣參考作為習性的自然法則:科學的后現代基礎[英]魯珀特·謝爾德拉克Sheldrake網上有個人主頁25感謝你的觀看2019年6月9科學認識的反思人類對世界的認識實踐活動影響了世界25感謝你的科學認識的反思2科學的自然觀,不以人的意志為轉移的客觀世界是否存在?完全嚴格的重復試驗是否可能?完全嚴格的重復實驗是不可能的人是否可以第二次踏入同一條河流?反歸納法歸納得到的現象越多,推廣的余地越小正歸納歸納得到的現象越多,推廣到全部的可能性越大26感謝你的觀看2019年6月9科學認識的反思2科學的自然觀,不以人的意志為轉移的客觀世界是后現代科學心理學家麥獨孤的老鼠迷宮實驗隨著實驗的重復進行,雖然選定重復實驗的老鼠是完全不同的個體,但老鼠的智力卻隨著實驗的重復而遞增,后來參加實驗的老鼠比前面參加實驗的老鼠更快地學會走出迷宮文化人類學和新時代巫術的興起影視界的《波利哈特》熱27感謝你的觀看2019年6月9后現代科學心理學家麥獨孤的老鼠迷宮實驗27感謝你的觀看203.復雜性研究方法28感謝你的觀看2019年6月93.復雜性研究方法28感謝你的觀看2019年6月9復雜系統的特征涌現非線性反饋循環開放式部分不能包含整體路徑依賴,與歷史相關(混沌特性)多層次嵌套邊界模糊29感謝你的觀看2019年6月9復雜系統的特征涌現29感謝你的觀看2019年6月9復雜系統研究的議題和范例發現和應用刻劃社會系統、自然系統演化的規律的普適性方法對人工技術系統(企業信息化、互聯網絡、數字化生存)的演化規律進行探討例如:企業信息化建模信息經濟學人工技術網絡和社會網絡的脆性研究網絡對社會交往的影響交往媒介的革新與社會文化的變革等30感謝你的觀看2019年6月9復雜系統研究的議題和范例發現和應用刻劃社會系統、自然系統演化復雜系統的普遍性生命體智力——神經網絡社會系統蟻群經濟股市人際關系網互聯網電訊網航運線路31感謝你的觀看2019年6月9復雜系統的普遍性生命體31感謝你的觀看2019年6月9生命體的復雜性2002年5月,英國《自然》周刊上宣布在冰島北部海下發現了一種迄今所知最小的生命。這種被稱為“Nanoarchaeumequitans”的微生物屬于古細菌的一種,其基因組的DNA堿基對僅有50萬左右。假設一個基因的平均長度為1000個堿基,那么這個細菌所擁有的基因大約是500個。如果每個基因編碼一種蛋白質,那么這個細菌最多可以擁有500種蛋白質。哪怕是最小、最簡單的生物體,也是由許多執行不同功能的組分構成的。因此,生命復雜性的第一個特征是,生命是一種復合體,不可能由一個成分(一種基因或蛋白質)構成。32感謝你的觀看2019年6月9生命體的復雜性2002年5月,英國《自然》周刊上宣布在冰島北全球通訊網絡全球通訊網絡33感謝你的觀看2019年6月9全球通訊網絡全球通訊網絡33感謝你的觀看2019年6月9航空交通網航空交通網34感謝你的觀看2019年6月9航空交通網航空交通網34感謝你的觀看2019年6月9分形圖案分形分布的宇宙:瑞士天文學家FrancesoSylosLabini宇宙平均看起來是各向同性的,但卻不是均勻的,我們在某一層級上。。。35感謝你的觀看2019年6月9分形圖案分形分布的宇宙:瑞士天文學家FrancesoSyl36感謝你的觀看2019年6月936感謝你的觀看2019年6月9CAS復雜自適應系統理論CAS理論的最基本的思想系統的復雜性(整個系統的演變或進化,包括新層次的產生、分化和多樣性的出現,新的、聚合而成的、更大的主體的出現等等,)是來源于系統中的成員的適應性。所謂具有適應性,就是指它能夠與環境以及其它主體進行交流,在這種交流的過程中“學習”或“積累經驗”,并且根據學到的經驗改變自身的結構和行為方式。[1]

參見《系統科學》,徐國志等,上海科技教育出版社2000年P252返回37感謝你的觀看2019年6月9CAS復雜自適應系統理論CAS理論的最基本的思想返回37感謝復雜系統研究的方法和理論結構狀態描述

分形分維狀態空間自組織與耗散結構演化機制的動力學描述艾根超循環協同學復雜系統建模與模型表示受限生成系統網絡模型非線性動力學方程元胞自動機多主體系統人工生命38感謝你的觀看2019年6月9復雜系統研究的方法和理論結構狀態描述38感謝你的觀看2019復雜系統研究的方法和理論CAS理論網絡模型:復雜網絡拓撲研究小世界網絡

尺度無關的網絡39感謝你的觀看2019年6月9復雜系統研究的方法和理論CAS理論39感謝你的觀看2019年為什么用計算機?1860年,法國天文學家Delaunay(CharlesEugeneDelaunay,1816-1872)為計算受到地球與太陽重力影響的月球運動軌跡,花了二十年,計算過程填滿一本書,也只得到一個近似解1970年,用符號方程檢查他的計算,計算機只花了20個小時,不但求出更精確的近似解,還找出Delaunay的三個計算錯誤四色圖問題整體大于部分之和:個體設計上的簡單規則不能預料交互過程中涌現出的整體新特征根本原因:——非線性方程的不可積,不能精確求解,不能長期預測40感謝你的觀看2019年6月9為什么用計算機?1860年,法國天文學家Delaunay人工社會Sugarscape模型糖域模型芝加哥大學社會政治學研究所人工社會拓展了社會學、人類學研究的手段在虛擬的社會中觀察戰爭、文化等因素的形成例如:貨幣的形成過程。在一個追求交換效益最大化、以分工細化為方向的人工社會中這是必然發生的。41感謝你的觀看2019年6月9人工社會Sugarscape模型糖域模型芝加哥大學社統一規范與計算機建模工具如SwarmRepastAscapeSatrlogoDynamo等工具化標準化簡便化跨學科性計算機建模工具應該規范研究方便研究方便交流42感謝你的觀看2019年6月9統一規范與計算機建模工具如SwarmRepastAsc模型方法是現代科學的一種核心方法用于復雜性研究的典型信息模型是一種半經驗半理論模型。模型是知識表示的基本概念和工具43感謝你的觀看2019年6月9模型方法是現代科學的一種核心方法用于復雜性研究的典型信息模型第二節

復雜系統系統理論復雜適應系統44感謝你的觀看2019年6月9第二節復雜系統系統理論44感謝你的觀看2019年6月9系統理論

45感謝你的觀看2019年6月9系統理論45感謝你的觀看2019年6系統

什么是系統?貝塔朗菲認為,系統是處于一定相互關系中與環境發生關系的各組成部分(要素)的總體?;蛘哒f,系統是集合內各要素按一定的結構組織而成的一個整體,并在與外部環境進行物質、能量、信息的交換過程中體現出一定的功能。

46感謝你的觀看2019年6月9系統什么是系統?貝塔朗菲認為,系統是處于一定相互系統科學系統科學是探索系統的存在方式和運動變化規律的學問,是對系統本質的正確反映和真理性認識。系統科學已經形成了一個學科群:如系統論、信息論、控制論、運籌學、博奕論、協同學、耗散結構理論等。系統科學方法是按照系統科學的觀點和理論,把研究對象視為系統來解決認識和實踐中的各種問題和方法的總稱。47感謝你的觀看2019年6月9系統科學系統科學是探索系統的存在方式和運動變化規律的學問,是系統科學方法的原則運用系統的觀點研究和處理對象時,要把握以下一些原則:(1)整體性原則。整體性原則是系統方法的首要原則。(2)動態原則。這是指系統方法的歷時性原則。48感謝你的觀看2019年6月9系統科學方法的原則運用系統的觀點研究和處理對象時,要把握以下系統科學方法的原則(續)(3)最優化原則。亦稱整體優化原則。本著“多利相權取其重,多害相權取其輕”的精神進行綜合優化和系統篩選。(4)模型化原則。采用系統科學方法需要這真實系統模型化。模型化原則是采用系統化方法時求得最優化的保證。前兩個原則是基礎,第三個是目標,第四個是手段。49感謝你的觀看2019年6月9系統科學方法的原則(續)(3)最優化原則。亦稱整體優系統科學方法的作用為人們提供了新的思想模式,是推動科技整體化、綜合化的重要方法。兼具多種認識功能,是研究復雜系統的有效工具。為人們提供了制定系統最佳方案以實行優化組合和優化管理的手段。50感謝你的觀看2019年6月9系統科學方法的作用為人們提供了新的思想模式,是推動科技整體化探索復雜性的方法一探索簡單性研究相對簡單的對象特別是把用簡化的方法研究事物,稱為探索簡單性。近代自然科學基本上屬于探索簡單性的科學,人們形成了一種信念,即認為一旦掌握了簡單性的實體和關系,任何復雜的對象都可以構造和計算出來。51感謝你的觀看2019年6月9探索復雜性的方法一探索簡單性51感謝你的觀看2019年6月二探索復雜性強調整體與部分的關系是一種非加和性。

復雜系統各要素之間存在非線性。系統變化過程服從因果反饋規律。系統不但存在,還在生長和消逝著。52感謝你的觀看2019年6月9二探索復雜性52感謝你的觀看2019年6月9復雜性探索的方法論啟示:從還原論到整體論的轉變;從線性觀到非線性觀的轉變;科學興趣從簡單性向復雜性的轉變;從崇尚解析方法向重視非解析方法的轉變;確定論和概率論兩套描述體系從對立到溝通。53感謝你的觀看2019年6月9復雜性探索的方法論啟示:從還原論到整體論的轉變;53感謝你的復雜適應系統理論

的最基本的思想復雜適應系統也即CAS(ComplexAdaptiveSystem)。我們把系統中的成員稱為具有適應性的主體(AdaptiveAgent),簡稱為主體。54感謝你的觀看2019年6月9復雜適應系統理論

的最基本的思想復雜適應系統所謂具有適應性,就是指它能夠與環境以及其它主體進行交流,在這種交流的過程中“學習”或“積累經驗”,并且根據學到的經驗改變自身的結構和行為方式。整個系統的演變或進化,包括新層次的產生,分化和多樣性的出現,新的、聚合而成的、更大的主體的出現等等,都是在這個基礎上出現的。55感謝你的觀看2019年6月9所謂具有適應性,就是指它能夠與環境以及其它主體進行交流,在這復雜適應系統的例子生物有機體生態系統經濟運輸56感謝你的觀看2019年6月9復雜適應系統的例子生物有機體56感謝你的觀看2019年6月9為什么使用

Agent-BasedModelling傳統的建模方法能夠描述宏觀的系統,但是并不能解釋一些特性的來源;不能很好的處理離散系統;ABM能夠很好的針對以上問題進行處理,它是傳統建模方法的一個補充。57感謝你的觀看2019年6月9為什么使用

Agent-BasedModelling傳統CAS基本思想1994年正式提出我們把系統中的成員稱為具有適應性的主體(AdaptiveAgent),簡稱為主體。所謂具有適應性,就是指它能夠與環境以及其它主體進行交流,在這種交流的過程中“學習”或“積累經驗”,并且根據學到的經驗改變自身的結構和行為方式。整個系統的演變或進化,包括新層次的產生,分化和多樣性的出現,新的、聚合而成的、更大的主體的出現等等,都是在這個基礎上出現的。58感謝你的觀看2019年6月9CAS基本思想1994年正式提出58感謝你的觀看2019基于CAS思想的要點:A)主體(AdaptiveAgent)是主動的、活的實休。這點是CAS和其他建模方法的關鍵性的區別。正是這個特點,使得它能夠用于經濟、社會、生態等其它方法難于應用的復雜系統。B)個體與環境(包括個體之間)的相互影響,相互作用,是系統演變和進化的主要動力。以往的建模方法往往把個體本身的內部屬性放在主要位置,而沒有對于個體之間,以及個體與環境之間的相互作用給予足夠的重視。這個特點使得CAS方法能夠運用于個體本身屬性極不相同,但是相互關系卻有許多共同點的不同領域。59感謝你的觀看2019年6月9基于CAS思想的要點:A)主體(AdaptiveAgent基于CAS思想的要點:C)這種建模方法不象許多其他的方法那樣,把宏觀和微觀截然分開,而是把它們有機地聯系起來。它通過主體和環境的相互作用,使得個體的變化成為整個系統的變化的基礎,統一地加以考察。D)這種建模方法還引進了隨機因素的作用,使它具有更強的描述和表達能力60感謝你的觀看2019年6月9基于CAS思想的要點:C)這種建模方法不象許多其他的方法那樣CAS了描述復雜適應性的6個特點:分散的相互作用全局現象是由許多分散的異質主體的相互作用產生的,任意給定主體的行動依賴于對有限數目其他主體的行動和這些主體共同建立的積累狀態。主體的差異性導致積累行為的“永遠新奇”沒有全局控制者沒有全局性實體控制相互作用,控制產生于主體間的競爭和寫作機制。經濟行為通過法律制度、設定的角色和波動的聯系調節。沒有全局競爭對手—―個體可以運用經濟中的所有機會。61感謝你的觀看2019年6月9CAS了描述復雜適應性的6個特點:分散的相互作用全局CAS了描述復雜適應性的6個特點:層次交叉的組織經濟中具有許多層次和相互作用。任何給定層次的單元(行為、動作、策略和產品)都作為構建較高層次的單元基本塊。整個組織不僅具有層次性,層次間還存在許多相互作用。連續的適應性依據積累的經驗,主體的行為、動作、策略和產品不斷調整,導致系統不斷適應,層次間還存在許多相互作用。62感謝你的觀看2019年6月9CAS了描述復雜適應性的6個特點:層次交叉的組織經濟CAS了描述復雜適應性的6個特點:永遠創新新行為和新結構可能刺激更新的行為和更新的結構的創立,產生一個持續創新的狀態。經濟中的新市場、新技術、新行為和新組織不斷創立新的環境,填充新環境的行動將產生更新的環境。靜態被動態代替。偏離均衡的動態由于新的環境、新的潛在力量、新的可能性不斷產生,經濟運行遠離任何最優或全局的均衡。均衡是暫時的,非均衡是常態。意味著改進通常是可能的,并且卻是是由規律的發生。63感謝你的觀看2019年6月9CAS了描述復雜適應性的6個特點:永遠創新新行為和新CAS的7個有關概念1.聚集(Aggregation)有兩個含義。簡化復雜系統的一個標準方法——即把相似的事物聚合成類,例如樹、汽車、銀行等。主體通過“粘合”形成較大的更高一級的主體——介主體(meta-agent)。2.標識(Tag)在聚集體的形成過程中,標識機制在起作用。標識的作用在于區別主體。聚集體的形成或者說主體的聚集都是有選擇的,并非任意個體都會聚集。標識的作用在于促進主體選擇性的相互作用。64感謝你的觀看2019年6月9CAS的7個有關概念1.聚集(Aggregation)有兩個3.非線性(Non-linearity)非線性是指個體自身屬性的變化以及個體之間的相互作用并非遵從簡單的線性關系。因為這樣,復雜系統的行為才會如此難以預測;才會經歷曲折的進化過程,呈現出豐富多彩的性質和狀態。4.流(Flow)在個體與環境之間存在著物質流、能量流和信息流。CAS理論認為這些流的渠道是否通暢、周轉迅速到什么程度,都直接影響系統的演化過程。65感謝你的觀看2019年6月93.非線性(Non-linearity)65感謝你的觀看205.多樣性(Diversity)CAS理論認為,在CAS系統中,多樣性既非偶然也非隨機。每個主體都安頓在由以該主體與其他主體相互作用所限定的小生境上(niche,或翻譯為生態位)CAS理論認為,多樣性產生的原因在于適應過程中,是一種動態模式,具有持續性和內聚性。

CAS系統與其他系統的最重要區別在于組成CAS系統的主體的多樣性66感謝你的觀看2019年6月95.多樣性(Diversity)66感謝你的觀看2019年66.內部模型(InternalModel)主體復雜的內部模型是主體適應性的內部機制和精髓,主體在適應過程中接受外部刺激,做出反應,合理調整自身的內部結構。最終,結構的變化,必須使主體能夠預知再次遇到該情形時會隨之發生的后果,主體由此來適應環境。7.積木塊(BuildingBlocks)

就像人往往通過將復雜問題分解成若干簡單部分進行理解一樣,CAS內部模型用搭積木的方法對已測試過的規則進行組合,產生新問題的處理規則,已有的規則被形象化地稱為積木塊,它們是新規則產生的基礎。67感謝你的觀看2019年6月96.內部模型(InternalModel)67感謝你的觀看第三節

模型與模擬方法模型建摸與模擬模擬軟件平臺SWARM的介紹模擬軟件平臺STARLOGO的介紹應用舉例68感謝你的觀看2019年6月9第三節模型與模擬方法模型68感謝你的觀看2019年6月9具體地用模型與模擬方法探索復雜性

模型數學模型模擬基于主體的建模方法和CAS69感謝你的觀看2019年6月9具體地用模型與模擬方法探索復雜性

模型69感謝你的觀看201

模型方法定義:模型是在結構或/和行為的重要方面和所研究的系統相似的,真實的或想象的系統的映象。它往往能為大范圍的觀察事實提供解釋。70感謝你的觀看2019年6月9模型方法定義:模型是在結構或/和行為的重要方面和所研究模型與原型模型的建立不是“原型的重復”,而是按研究目的的實際需要和側重面,尋找一個便于進行系統研究的“替身”。不同的人由于研究的目標不同,就會對某些方面做出不同的簡化。在原型系統及模型之間存在著“反饋”的關系,根據對原型系統規律的認識,可以建立模型。而建立模型進行實驗的過程又可發現一些新的規律,由此預測未來或豐富對原型系統的認識。71感謝你的觀看2019年6月9模型與原型模型的建立不是“原型的重復”,而是按研究目的的實際72感謝你的觀看2019年6月972感謝你的觀看2019年6月9模型應用范圍人類對世界的探索過程,就是建立各種模型表示的過程。人類知識積累的過程,也是修正和具體化各種形態的模型的過程。靜態結構的模型稱為靜態模型描述事物發生、發展、演化過程的模型稱為動態模型。歷史地看,模型形態的變化也有一個逐漸從簡單到復雜的發展過程。從最初原始的思維意象模型,發展到借用外在的工具搭建的各種模型,包括繪畫模型、建筑雕塑模型、工具模型等,再到哲學和神學中發展出的各種理論模型。73感謝你的觀看2019年6月9模型應用范圍人類對世界的探索過程,就是建立各種模型表示的過程模型分類按照模型存在的空間,模型可分為物質模型與思維模型兩大類。物質模型是以某種速度、形式相似、人造或自然的模型實體去再現原型。物質模型是模擬實驗賴以進行的物質手段。思維模型是人們在頭腦中創造出來的,并且運用它在思維中進行邏輯推理、數學演算和“思想實驗”,可分為形象的(唯象的)模型和符號的(標志性的)模型。74感謝你的觀看2019年6月9模型分類按照模型存在的空間,模型可分為物質模型與思維模型兩大建模動機一般可以把人類建立模型的動機分為四個層次:(1)解釋和理解的需要。(2)預測的需要。(3)控制的需要。(4)技術理性和工具的需要。75感謝你的觀看2019年6月9建模動機一般可以把人類建立模型的動機分為四個層次:75感謝一近代常見的模型物質形式的模型

——物理模型思維形式的模型

——數學模型

——統計模型

——邏輯模型76感謝你的觀看2019年6月9一近代常見的模型物質形式的模型76感謝你的觀看2019年6物質形式的科學模型物理模型對要研究的客體,按照一定的研究目的,尋找一種天然存在的具有相似性的實物或者人工地制造一種具有相似形的實物,作為原形客體的實際模擬物,即實物模型。運用這種實物模型,進行模擬實驗或模型實驗,以獲取關于客體的某種規律性認識。天然模型:以天然存在物作為模型。最為典型和運用得最多的就是生物模型。其方法論作用:一方面生物所具有的奇妙器官和功能作為仿生學的對象。另一方面,把某類生物作為人的科學模型來研究,獲得對人體的認識。人工模型:即以人工制作物作為科學模型。77感謝你的觀看2019年6月9物質形式的科學模型物理模型對要研究的客體,按照一定的研究目的

思維形式的科學模型

對要研究的對象,按照一定的研究目的,經過科學的分析而抽象出它的本質屬性特征,構造一種思維形式的模擬物,即思維模型,常表現為抽象的、數學的、理論的形態。(1)理想模型:是對研究對象的一種簡化和理想化。(2)數學模型:(3)理論模型:(4)半經驗半理論模型:78感謝你的觀看2019年6月9思維形式的科學模型對要研究的對象,按照一定的研究目的,二建立模型的方法論原則模型具有工具性與對象性雙重性質。建立模型的方法論原則:相似性與簡單性的統一。要求具有本質上的相似性??沈炞C性。多種知識和方法的綜合運用。79感謝你的觀看2019年6月9二建立模型的方法論原則模型具有工具性與對象性雙重性質。79三科學模型的多重功能科學模型的研究綱領作用;科學研究的間接方法;思維模型可以起到思想實驗的目的。思想實驗實際上是思維操作亦即邏輯推理的結果。是實際實驗的邏輯補充。模型是研究復雜系統的關鍵。模型研究對實踐的指導作用。80感謝你的觀看2019年6月9三科學模型的多重功能科學模型的研究綱領作用;80感謝你的觀四模型的多樣性和有限性多樣性局限性:常常過于簡化。81感謝你的觀看2019年6月9四模型的多樣性和有限性81感謝你的觀看2019年6月9模型的系統分析

人本體描述語言程序設計語言客體程序?客體描述系統設計形式系統認知模型軟件制作模型抽象模型組織模型表示語用語義認知制作語法82感謝你的觀看2019年6月9模型的系統分析人本體描述語言程序設計語言客體程序?客體系統

模型:

——客觀事物的反映

——客觀規律的簡化和抽象

——整理信息的概念框架模型小結83感謝你的觀看2019年6月9模型:模型小結83感謝你的觀看2019年6月9

模型具有以下這些基本的性質:客觀性:必須符合實際。主觀性:對于目標有效。相對性:只反映客觀事物的某一側面。漸進性:隨認識和實踐的發展而發展。84感謝你的觀看2019年6月9模型具有以下這些基本的性質:84感謝你的觀看2019年6模型的作用

模型是人類認識和改造世界的必經之路:

——描述系統

——整理信息

——尋找規律

——預測未來

——設計人為事物85感謝你的觀看2019年6月9模型的作用模型是人類認識和改造世界的必經之路:85感從模型到模擬數學模型計算機模擬CAS86感謝你的觀看2019年6月9從模型到模擬數學模型86感謝你的觀看2019年6月9數學模型方法數學模型是對于某個特定對象或一定問題,采用形式化數學語言來描述其特征及數量相依關系的一種數學結構,它是一組數學關系式或一套具體的數學算法。即用數學語言表達事物的狀態、關系和過程,經推導、演算和分析,以形成解釋、判斷和預言的方法。87感謝你的觀看2019年6月9數學模型方法數學模型是對于某個特定對象或一定問題,采用形式化數學模型的類型確定性數學模型;隨機性數學模型;模糊性數學模型;突變性數學模型。。。。。88感謝你的觀看2019年6月9數學模型的類型確定性數學模型;88感謝你的觀看2019年6月數學模型的特征:高度的抽象性;具有嚴密的邏輯性;具有應用的廣泛性;過程描述,非直觀:如果是非線性動力學方程,可表示、但卻不可求解。89感謝你的觀看2019年6月9數學模型的特征:高度的抽象性;89感謝你的觀看2019年6月數學方法在科學認識中的作用

為科學技術研究提供簡潔精確的形式化語言為科學技術研究提供數量分析和計算的方法:為科學研究提供邏輯推理的工具90感謝你的觀看2019年6月9數學方法在科學認識中的作用為科學技術研究提供簡潔精確的形式計算機模型方法:所要研究問題的數學模型,轉換為能輸入計算機進行數值運算的形式,或直接建立計算機仿真模型,在計算機上通過系統地變換參數作大量數值計算。91感謝你的觀看2019年6月9計算機模型方法:所要研究問題的數學模型,轉換為能輸入計算機進計算機模擬-發展的歷史計算的歷史主要是模擬的歷史;在PC上模擬人的智能、智能發育過程;在平臺上模擬系統,如人工生命,機器人足球,蟻群算法;在網絡上模擬社會,如email,電子商務,網格計算;在平臺上,網絡上模擬智能agent,agent是虛擬社會人,實質上是現實社會人的縮擴模型。

PC,網絡是系統,人,社會是系統,它們之間是模擬關系。92感謝你的觀看2019年6月9計算機模擬-發展的歷史計算的歷史主要是模擬的歷史;92感謝你模擬計算機發展中模擬是不變的,而變化的只不過是模擬的對象,那么什么是模擬?從系統觀來看,模擬是兩個系統之間的關系,模擬的實質是兩事物或兩個系統同一性的轉化。模擬要素有四:原型,轉化,模型,系統同一性。93感謝你的觀看2019年6月9模擬計算機發展中模擬是不變的,而變化的只不過是模擬的對象,那傳統建摸方法的問題

近代科學使用的各種建模方法普遍存在以下幾個缺點:

——宏觀和微觀的割裂。

——狀態和過程的割裂。

——難以描述反映非線性過程。

——忽視個體或元素的主動性。94感謝你的觀看2019年6月9傳統建摸方法的問題近代科學使用的各種建模方法普遍存在基于主體的建摸方法

新的方法具有三個顯著的特點:

——

宏觀和微觀的結合

——

過程和狀態的結合

——

可操作性強,軟件工具的提供。95感謝你的觀看2019年6月9基于主體的建摸方法新的方法具有三個顯著的特點:9基于主體的建模方法96感謝你的觀看2019年6月9基于主體的建模方法96感謝你的觀看2019年6月9多主體建模的理論常見縮寫CAScomplexadaptivesystemMASMulti-AgentSystemABMAgentbasedModelACEAgentbasedComputionalEconomy。。。廣泛應用于各種社會科學、自然科學與工程科學中(生態經濟學人工社會政治科學人工智能人工生命商務經濟模擬工程模擬地理信息系統決策支持系統生物信息學)97感謝你的觀看2019年6月9多主體建模的理論常見縮寫CAScomplexadapti計算機模型的一般特點(1)計算機模型一般只輸出一組離散的數值。它不像解微分方程組那樣給出通解或一個函數。(2)它不用深究變動機理,只需從實際數據或直觀感覺出發,來模仿描述系統,然后通過逐步求精,最后達到正確地反映系統。98感謝你的觀看2019年6月9計算機模型的一般特點(1)計算機模型一般只輸出一組離散的數計算機模型的一般特點(續)(3)計算機建模用其程序模擬現象,計算機語言被證明是便于進行模擬的。計算機語言的豐富的數據結構可以方便地描述系統的狀態。用計算機程序能靈活地描述各種復雜的進程。(4)計算機建模的應用很廣泛,可用于工、農、商及軍事等各行各業的規劃、調度、設計和決策等等。99感謝你的觀看2019年6月9計算機模型的一般特點(續)(3)計算機建模用其程序模擬現象,有人對美國1000家最大的公司的計劃系統應用定量分析方法的情況調查時,得到不同方法應用的頻數表,發現在各種定量分析方法中模擬方法所占的比重很大。項目應用頻數所占百分比模擬研究線性規劃網絡分析(包括PERT與CPM)存儲理論非線性規劃動態規劃整數規劃排隊理論其他6043282416877122921141284336合計205100

應用定量分析方法的頻率100感謝你的觀看2019年6月9有人對美國1000家最大的公司的計劃系統應用定量分析方法的情計算機模型的一般特點(續)(5)可充分發揮人和計算機的優勢。人具有直覺,其思維方式是很靈活的。在尋找復雜的因果關系時,可以根據直覺與經驗比較敏銳地給出一個模型結構的框架。計算機有大的存儲器,又有高速運算的能力,所以它可以同時顧及系統的各方面結構或易于展現系統動態變化的具體情節計算機模型發揮了人機兩方面的優勢,通過人的直覺、思維和推理,一塊一塊地構筑模型,送入計算機,然后可迅速地逐步計算。101感謝你的觀看2019年6月9計算機模型的一般特點(續)(5)可充分發揮人和計算機的優勢。計算機模型的一般特點(續)(6)計算機建模的實現方法靈活。一般來說,用解析式表示量之間的關系,明確、清晰、令人信服。然而,它只解決較簡單而且有固定模式的問題。對復雜而靈活的問題,就要用模擬的辦法。(7)智能化的發展方向。人工智能的原理就是從人腦處理問題的模式中抽象出來的。計算機模型把人機的優勢結合,以解決傳統數學方法不易解決的復雜系統的認識問題,所以必然利用人工智能所取得的成果。102感謝你的觀看2019年6月9計算機模型的一般特點(續)(6)計算機建模的實現方法靈活。一計算機建模方法優勢經濟性對于一個大型的系統、直接實驗成本十分昂貴,使用計算機建模實驗能大大地降低實驗成本,而且可以多次重復使用;安全性對于某些系統,如載人宇宙飛行器、核電站控制、直接實驗往往是危險的和不允許的;預見性對于經濟、社會、生物、戰爭等非工程系統,直接實驗幾乎是不可能的。計算機模型可用于預測系統的特性和外部作用的影響,從而研究管理、控制的策略。103感謝你的觀看2019年6月9計算機建模方法優勢經濟性對于一個大型的系統、直接實驗成計算機模擬局限性各種模型都是基于建模者的認知水平和觀測能力的結果,從而模型模擬的可信度缺乏統一的測量尺度,因此結果很難被大眾采納而形成公共知識;根據測不準定理,觀測事實不過是一種近似結果,由于建模者的參與,觀測事實的細節和觀測指標的取舍都帶有建模者預先設計的痕跡,得到的結果很難客觀第三,建模者本身就是有限信息和有限理性的主體,就是現實系統的參與者。因此不大可能實現超越系統、超越自身的理性。這些局限在通常的實驗研究方法中也同樣存在,但在計算機建模方法中更容易引起人們的質疑104感謝你的觀看2019年6月9計算機模擬局限性各種模型都是基于建模者的認知水平和觀測能力的模擬軟件平臺的介紹SwarmStarlogo105感謝你的觀看2019年6月9模擬軟件平臺的介紹Swarm105感謝你的觀看2019年6月SWARM簡介1、背景2、Swarm的歷史與簡介3、面向對象的技術4、用Swarm建模的思想和方法5、對Swarm的感性認識——例子6、Swarm類庫簡介106感謝你的觀看2019年6月9SWARM簡介1、背景106感謝你的觀看2019年6月91、背景

早期的科學家通常自己制造實驗儀器,自己磨透鏡,自己連探測器,甚至自己制造計算機。研究者首先是工程師、技師、電工,其次才是科學家。

計算機模擬程序實際上就是用軟件制造的實驗儀器,這種方法在某些方面已經取代了物理實驗儀器。

計算機模型常常使優秀的科學家變成糟糕的程序員。Swarm是一個高效率的、可信的、可重用的軟件實驗儀器。其目標就是予科學家們一個標準的軟件工具集,從而提供一個設備精良的軟件實驗室,幫助人們集中精力于研究工作而非制造工具。107感謝你的觀看2019年6月91、背景早期的科學家通常自己制造實驗儀器,自己磨透鏡,自Swarm是一個面向對象的類庫,用戶可以通過調用這些類庫簡化模擬工作。用戶通過在自己的程序中引入Swarm類建模。Swarm類用ObjectiveC編寫,ObjectiveC是一種面向對象的C語言。圖形用戶界面用Tcl/Tk編寫,這是一種用于編寫窗口小部件的腳本語言。既可用于Unix平臺又可以用于Windows95/98/NT。2、Swarm的歷史與簡介108感謝你的觀看2019年6月9Swarm是一個面向對象的類庫,用戶可以通過調用這些類庫簡化開發環境:Swarm支持SUNJDK1.2或以上版本。因此,常用的開發工具,如Jbuilder3,VisualCafe4等都可以用來編寫和調試基于Java的Swarm程序。Unix下:1)如果要使用Java,必須首先安裝Swarm支持的Java虛擬機。在Unix下,可以使用Kaffe(/tech/jikes),BlackdownJDK(http://www.B)或SUNJDK(/products/jdk/1.2/)。2)系統中還必須安裝emacs,emacs是一個GNU的編輯器,由于它配置靈活,功能強大,可以免費獲得,又與開發工具具有一定的集成性,應用非常廣泛。109感謝你的觀看2019年6月9開發環境:109感謝你的觀看2019年6月93、SWARM的技術基礎——面向對象的技術

對象(object)這個詞在英語中的意思是被感知或被觸摸的事物。對象在客觀世界中的意義是很簡單的,即明確的物體,小到一個螺絲釘、大到一個生物、一個社會,都是實實在在的對象。作為系統的一個組成部分,它們都為其所在的系統提供一定的功能,在系統中具有一定的作用,擔當一定的角色。實際上,我們在認識世界的時候就是面向對象的,我們通過了解系統中這些實實在在的對象來把握整個系統的各個方面。110感謝你的觀看2019年6月93、SWARM的技術基礎——面向對象的技術 對象(objec變量方法狀態行為一個對象程序消息111感謝你的觀看2019年6月9變量方法狀態行為一個對象程序消息111感謝你的觀看2019年112感謝你的觀看2019年6月9112感謝你的觀看2019年6月9簡單的術語類封裝了對象的變量和方法父類其變量和方法將被繼承子類從父類處繼承了變量和方法實例一個對象,也是一個類的實例實例變量一個實例中的內部變量方法函數.可以通過給實例發消息來調用113感謝你的觀看2019年6月9簡單的術語類實例113感謝你的觀看2019年6月9三大特點封裝對象把他們的功能(方法)和數據(實例變量和方法變量)隱藏起來繼承所有子類都繼承其父類的所有方法和變量多態一個類可以有多個對象,他們有共同的行為,但是又有不同的狀態父類子類114感謝你的觀看2019年6月9三大特點封裝父類子類114感謝你的觀看2019年6月94。用Swarm建模的思想和方法

Swarm建模框架是一系列獨立的主體通過獨立事件進行交互。Swarm模擬可使用不同的領域如化學、經濟、物理、人類學和政治科學。

Swarm模擬的基本單位是主體,一個主體就象系統中的一個演員,是能夠產生動作并影響自身和其他個體的一個實體。模擬包括幾組交互的主體。 主體定義Swarm系統中的基本對象——模擬部件。一個時間表定義這些對象的獨立事件發生的流程。115感謝你的觀看2019年6月94。用Swarm建模的思想和方法Swarm建??蚣苁且幌礸etparametersinitializefor1totimestepsdo:for1tonum_agentsdo:agent-i-do-somethingendforshowstateendforquit提供一些數據結構來存儲主體的狀態和行為初始化,設定數據結構和輸入輸出等將狀態數據輸出給程序在編程語言中的實現116感謝你的觀看2019年6月9getparameters提供一些數據結構來存儲主體主體的組織結構活動主體模型Swarm靜態主體探測器Swarm建模結構:探測器輸出界面117感謝你的觀看2019年6月9主體的組織結構活動主體模型Swarm靜態主體探測器Swarm模型“swarm”SWARM就是許多個體(對象)組成的一個群體,這些個體共享一個行為時間表和內存池。顯然“swarm”有兩個主要的組成部分:對象——模型“swarm”中的每一項對應模型世界中的每一個對象(個體)?!皊warm”中的個體就象系統中的演員,是能夠產生動作并影響自身和其他個體的一個實體。時間表——時間表是一個數據結構,定義了各個對象的獨立事件發生的流程,即各事件的執行順序。在SWARM中特定的事件發生在特定的時間,按照時間表安排的順序進行。每種行為是一個獨立的動作。模型按照這種安排好的事件的執行順序向前發展,并盡量使這些事件看起來象同步發生的。輸入輸出——模型“swarm”還包括一系列輸入和輸出。輸入是模型參數:如世界的大小,主體的個數等環境參數。輸出是可觀察的模型的運行結果:如個體的行為等等。118感謝你的觀看2019年6月9模型“swarm”118感謝你的觀看2019年6月9觀察員“swarm”

模型“swarm”只是定義了被模擬的世界。但是一個實驗不應只包括實驗對象,還應包括用來觀察和測量的實驗儀器。在SWARM計算機模擬中,這些觀察對象放在一個叫觀察員“swarm”的“swarm”中。最重要的觀察組件是——模型Swarm觀察員行為的時間表主要是為了驅動數據收集,即從模型中將數據讀出,并畫出圖表。輸入是對觀察工具的配置,例如生成哪類圖表;輸出是觀察結果。在圖形模式下運行時,觀察員“swarm”中的大部分對象被用來調節用戶界面。這些對象可能是平面網格圖,折線圖或探測器,它們一方面與模型“Swarm”相連以讀取數據,同時把數據輸出到到圖形界面,為用戶提供了很好的實驗觀察方式。119感謝你的觀看2019年6月9觀察員“swarm”在圖形模式下運行時,觀察員“swarm”SwarmSub-Swarm主體時間表圖形用戶界面模型探測器Sub-sub-Swarm120感謝你的觀看2019年6月9SwarmSub-Swarm主體時間表圖形用戶界面模型探測器Swarm中所有的主體和變量都可以被探測。探測器將它自己和主體聯系起來,它可以給主體發送消息,還可以通過直接讀取或者調用主體來獲得或修改主體變量。探測器被觀測變量=10.2主體探測器121感謝你的觀看2019年6月9Swarm中所有的主體和變量都可以被探測。探測器被觀測變量=探測器將主體與圖形界面聯系起來缺省的探測器圖形界面會顯示被觀測的主體的所有變量——也可以由用戶自定義顯示變量。探測器主體執行方法輸入變量值打開該類的探測器關閉探測器探測器與圖形用戶界面(GUI)122感謝你的觀看2019年6月9探測器將主體與圖形界面聯系起來探測器主體執行方法輸入變量值打可用于繪制線性圖柱狀圖格柵圖Digraphs圖形用戶界面的支持對象可以實現數據的收集,計算和更新。圖形用戶界面(GUI)123感謝你的觀看2019年6月9可用于繪制圖形用戶界面(GUI)123感謝你的觀看2019平均價格平均成本探測器探測器主體圖形窗口圖形窗口輸出依賴于探測器動態地收集主體的數據。給圖形用戶界面(GUI)提供數據124感謝你的觀看2019年6月9平均價格平均成本探測器探測器主體圖形窗口圖形窗口輸出依賴于探建模思想:這種建模方法不需要一個方程形式來體現系統中內生的關系。這種方法強調非均衡的發展路徑,它的分析是基于進化和突變行為而不是基于一種機械的觀點來看待社會。這種方法是基于單個主體的,因此用戶必須為每個決策者建立微觀模型,而不是為整個市場建立宏觀模型。這種方法將經濟系統看作是一個進化的復雜系統。用戶可以使用Swarm提供的隨機數生成器輕松的引入隨機因素。125感謝你的觀看2019年6月9建模思想:這種建模方法不需要一個方程形式來體現系統中內生的關建模方法:Swarm是一種支持“自下而上”(bottom-up)的建模工具。126感謝你的觀看2019年6月9建模方法:Swarm是一種支持“自下而上”(bottom-u5、對Swarm的感性認識——例子熱蟲(Heatbugs) 熱蟲是Swarm的經典例子之一,它說明了簡單的局部的主體活動如何產生復雜的全局的行為。127感謝你的觀看2019年6月95、對Swarm的感性認識——例子熱蟲(Heatbugs)1結果顯示128感謝你的觀看2019年6月9結果顯示128感謝你的觀看2019年6月9界面的樣子129感謝你的觀看2019年6月9界面的樣子129感謝你的觀看2019年6月9interfaceHeatbugModelSwarm:Swarm{intnumBugs;//simulationparametersdoubleevaporationRate;doublediffuseConstant;intworldXSize,worldYSize;intminIdealTemp,maxIdealTemp;intminOutputHeat,maxOutputHeat;doublerandomMoveProbability;idmodelActions;//schedulingdata structuresidmodelSchedule;idheatbugList;//listofalltheheatbugsGrid2d*world;//objectsrepresentingHeatSpace*heat;//theworld}-getHeatbugList;//accessmethodsintothe-(Grid2d*)getWorld;//modelswarm.Thesemethods-(HeatSpace*)getHeat;//allowthemodelswarmtobe observed.+createBegin:aZone;//extramethodsyou-createEnd;//provideforSwarms-buildObjects;-buildActions;-activateIn:swarmContext;第一步:建立一個模型swarm

一個模擬的關鍵部分是模型swarm。這里是HeatbugModelSwarm的定義:130感謝你的觀看2019年6月9-getHeatbugList;//accessmet第二步:定義一個主體 所有個體是整個模擬的中心。在模擬中的大部分工作來自于定義個體的行為,以使模型與真實世界的現象類似。heatbug主體的定義如下:interfaceHeatbug:SwarmObject{doubleunhappiness;//mycurrentunhappinessintx,y;//myspatialcoordinatesHeatValueidealTemperature;//myideal temperatureHeatValueoutputHeat;//howmuchheatIputoutfloatrandomMoveProbability;//chanceofmoving randomlyGrid2d*world;//theworldIliveinintworldXSize,worldYSize;//howbigthatworldisHeatSpace*heat;//theheatfortheworldColorbugColor;//mycolour(display)}-setWorld:(Grid2d*)wHeat:(HeatSpace*)h;//whichworldarewein-createEnd;-(double)getUnhappiness;-setIdealTemperature:(HeatValue)i;-setOutputHeat:(HeatValue)o;-setRandomMoveProbability:(float)p;-setX:(int)xY:(int)y;//bug'sposition-setBugColor:(Color)c;//bug'scolour(display)-step;-drawSelfOn:(id<Raster>)r;131感謝你的觀看2019年6月9第二步:定義一個主體interfaceHeatbug:S第三步:建立主體

Heatbug們已經被定義,模型swarm需要創建它們。這里是HeatbugModelSwarm中buildObjects方法的一段代碼:for(i=0;i<numBugs;i++){Heatbug*hbug;intidealTemp,outputHeat;//Choosearandomidealtemperature,outputheatfromthespecifiedidealTemp=[uniformRandomrMin:minIdealTempMax:maxIdealTemp];outputHeat=[uniformRandomrMin:minOutputHeatMax:maxOutputHeat];//Createtheheatbug,setthecreationtimevariableshbug=[HeatbugcreateBegin:[selfgetZone]];[hbugsetWorld:worldHeat:heat];hbug=[hbugcreateEnd];//Addthebugtotheendofthelist.[heatbugListaddLast:hbug];//Nowinitializetherestoftheheatbug'sstate.[hbugsetIdealTemperature:idealTemp];[hbugsetOutputHeat:outputHeat];[hbugsetX:[uniformRandomrMax:worldXSize]//randompositionY:[uniformRandomrMax:worldYSize]];}132感謝你的觀看2019年6月9第三步:建立主體for(i=0;i<numBug第四步:建立空間對象 在swarm中,空間是另一種個體。在Heatbug模型中我們創建一個熱空間,這是swarm的space庫中一個散射對象的子類。這里是HeatbugModelSwarm中buildObjects方法的一段代碼:heat=[HeatSpacecreateBegin:[selfgetZone]];[heatsetSizeX:worldXSizeY:worldYSize];[heatsetDiffusionConstant:diffuseConstant];[heatsetEvaporationRate:evaporationRate];heat=[heatcreateEnd];133感謝你的觀看2019年6月9第四步:建立空間對象heat=[HeatSpacecr第五步:模型swarm的時序安排 一旦所有的模擬對象在buildObjects中被創建,下一步的任務就是在buildActions方法中確定它們的時序安排。modelActions=[ActionGroupcreate:[selfgetZone]];[modelActionscreateActionTo:heatmessage:M(stepRule)];[modelActionscreateActionForEach:heatbugListmessage:M(step)];[modelActionscreateActionTo:heatmessage:M(updateLattice)];modelSchedule=[SchedulecreateBegin:[selfgetZone]];[modelSchedulesetRepeatInterval:1];modelSchedule=[modelSchedulecreateEnd];[modelScheduleat:0createAction:modelActions];134感謝你的觀看2019年6月9第五步:模型swarm的時序安排modelActions=第六步:建立圖形化的探測器 模型swarm已經定義,下一步是安排圖形化的探測器swarm。對于Heatbug模型來說,代碼段在HeatbugObserverSwarm中。探測器swarm的結構同建立模型swarm幾乎完全相同。interfaceHeatbugObserverSwarm:GUISwarm{intdisplayFrequency;//oneparameter:updatefreqiddisplayActions;//scheduledatastructsiddisplaySchedule;

HeatbugModelSwarm*heatbugModelSwarm;//theSwarmwe'reobserving //Lotsofdisplayobjects.First,widgetsXColormap*colormap;//allocatecoloursZoomRaster*worldRaster;//2ddisplaywidgetEZGraph*unhappyGraph;//graphingwidget

//Now,higherorderdisplayanddataobjectsValue2dDisplay*heatDisplay;//displaytheheatObject2dDisplay*heatbugDisplay;//displaytheheatbugs}135感謝你的觀看2019年6月9第六步:建立圖形化的探測器interfaceHeatbug第七步:建立數據圖表 數據圖表是HeatbugObserverSwarm中的一個對象,表示平均的不高興程度。這段代碼用來創建這個對象://Createthegraphwidgettodisplayunhappiness.unhappyGraph=[EZGraphcreateBegin:[selfgetZone]];[unhappyGraphsetTitle:"Unhappinessofbugsvs.time"];[unhappyGraphsetAxisLabelsX:"time"Y:"unhappiness"];unhappyGraph=[unhappyGraphcreateEnd];[unhappyGraphcreateAverageSequence:"unhappiness"withFeedFrom:[heatbugModelSwarmgetHeatbugList]andSelector:M(getUnhappiness)];136感謝你的觀看2019年6月9第七步:建立數據圖表//Createthegraph第八步:主函數 函數main()是你的程序中最先被調用的函數。所有的實際工作已經完成,剩下的就是在合適的時間創建對象。intmain(intargc,constchar**argv){idtheTopLevelSwarm;//Swarminitialization:allSwarmappsmustcallthisfirst.initSwarm(argc,argv);//swarmGUIModeissetinin

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論