基于Agent的系統(tǒng)仿真導(dǎo)論 [美] 尤里·威倫斯基
定 價:119 元
- 作者:[美]尤里·威倫斯基[美]威廉·蘭特
- 出版時間:2024/3/1
- ISBN:9787111740117
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP391.9
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書系統(tǒng)介紹了基于agent的系統(tǒng)仿真,并使用仿真軟件NetLogo進行實踐,通過大量的案例,使讀者全面學(xué)習(xí)和快速掌握基于agent的建模技術(shù)。
本書全面介紹了基于agent的系統(tǒng)仿真模型的核心概念、方法及應(yīng)用,可幫助求解復(fù)雜問題
當(dāng)世界越來越緊密地聯(lián)系在一起,呈現(xiàn)出紛繁復(fù)雜的形態(tài)時,我們也必須培養(yǎng)相應(yīng)的能力管窺其中。當(dāng)今我們所面臨的很多問題都無法借助簡單模型獲取答案。高速計算能力的出現(xiàn)和普及,使得我們能夠處理更復(fù)雜的問題,可以構(gòu)建更復(fù)雜的模型,并使用它進行分析。由此形成了一個新的知識領(lǐng)域—復(fù)雜系統(tǒng)。本書旨在介紹復(fù)雜系統(tǒng)研究的一種簡單方法—我們稱之為“基于agent的建模”(agent-based modeling,ABM),它是一種基于計算機實驗的科研新手段。
計算機的廣泛應(yīng)用導(dǎo)致了數(shù)據(jù)量的激增,新知識和新數(shù)據(jù)呈指數(shù)級增長,所有學(xué)科領(lǐng)域莫不如此。從物理學(xué)到化學(xué),從生物學(xué)到生態(tài)學(xué),從政治學(xué)到經(jīng)濟學(xué),從管理科學(xué)到營銷科學(xué),科研人員正以遠超往昔的速度采集數(shù)據(jù)。在拿到這么多數(shù)據(jù)之后,我們就可以研究關(guān)于復(fù)雜系統(tǒng)的問題了,迄今為止,我們還無法以數(shù)據(jù)驅(qū)動的方式對復(fù)雜系統(tǒng)進行研究。比如:眾多物種如何通過影響和競爭來實現(xiàn)一個穩(wěn)定的生態(tài)系統(tǒng)?我們怎樣才能設(shè)計出能夠與復(fù)雜社會進程協(xié)同工作并與之互動的機器人?
當(dāng)這些復(fù)雜問題被提出,未來的科學(xué)家、研究人員、工程師、企業(yè)家、政治家等相關(guān)人士都被要求作答,那么復(fù)雜系統(tǒng)方法工具箱就是他們每個人必須掌握的,基于agent的建模技術(shù)在這個工具箱中占據(jù)中心地位。那些從事自然科學(xué)、社會科學(xué)與工程應(yīng)用等領(lǐng)域的研究人員(如果有興趣研究各自領(lǐng)域中的復(fù)雜系統(tǒng)問題),閱讀本書可以獲得一些關(guān)于ABM的基礎(chǔ)知識。
本書將從廣泛的學(xué)科領(lǐng)域中選取應(yīng)用案例,以盡力呈現(xiàn)ABM方法的威力。我們將提供很多具備可操作性的案例,幫助讀者理解如何使用ABM解決現(xiàn)實問題。我們編寫本書案例的時候,遵從“低門檻,高上限”的指導(dǎo)原則。也就是說,一方面,不需要太多的預(yù)備知識,讀者就可以使用本書所提供的案例模型進行學(xué)習(xí),另一方面,對于掌握了相關(guān)知識技能的讀者來說,他們可以在案例模型的基礎(chǔ)上進一步構(gòu)建超級復(fù)雜的模型。
在幫助我們理解復(fù)雜系統(tǒng)方面,ABM是一個有用的工具。雖然冠以“Introduction”(導(dǎo)論)之名,本書還是提供了必要的工具,以幫助讀者研究問題,構(gòu)建自己的模型。
本書的目標讀者
由于ABM適用于諸多領(lǐng)域,因此本書可應(yīng)用于廣泛的情景中。本書若作為教材,既可以用于有關(guān)復(fù)雜系統(tǒng)研究的跨學(xué)科本科生課程,也可以用于介紹ABM的計算機科學(xué)相關(guān)課程。此外,本書還可以作為一些本科生課程(這些課程包含了關(guān)于ABM知識的教學(xué)內(nèi)容)的輔助教材,由于所涉課程甚多,在此無法一一列出。本書中的一些內(nèi)容曾經(jīng)用于:自然科學(xué)課程,比如物理、化學(xué)和生物;社會科學(xué)課程,比如心理學(xué)、社會學(xué)和語言學(xué);工程類課程,比如材料科學(xué)、工業(yè)工程和土木工程。為了盡可能全面地覆蓋上述學(xué)科領(lǐng)域,我們對書中的案例進行了取舍,保證每個領(lǐng)域至少納入一個典型案例。當(dāng)然,為了滿足這一要求,我們就無法針對某一個或幾個領(lǐng)域進行深入的研究與探索。隨著ABM研究與應(yīng)用的發(fā)展,我們期盼針對特定領(lǐng)域進行深度探索的教材能夠不斷涌現(xiàn)。
本書編寫之初,我們的目標讀者是高年級本科生和低年級研究生,但是我們同時也希望本書能夠被其他讀者采用。閱讀和學(xué)習(xí)本書內(nèi)容并不需要太多的預(yù)備知識,無論是何種學(xué)科背景,只要對ABM感興趣,都可以使用本書進行學(xué)習(xí)。同樣,對于許多研究生課程來說,ABM也是比較新的知識,我們期望本書可以作為不同領(lǐng)域研究生課程的補充教材來使用。ABM方法在科研實驗、商業(yè)領(lǐng)域、政治學(xué)領(lǐng)域的應(yīng)用也在不斷增長,我們期待這些領(lǐng)域的專業(yè)人士能從本書所提供的知識和案例中受益。本書所使用的材料是在過去二十多年間由Uri Wilensky和William Rand在他們各自的計算機科學(xué)和學(xué)習(xí)科學(xué)(Learning Science)的課程(本科生和研究生)中經(jīng)過充分檢驗的,同時這些材料也在上述兩位作者組織的數(shù)百個工作坊、研討會以及夏校課程中使用過。
我們在原書名中特別強調(diào)了“natural, social, and engineered complex systems”(自然、社會和工程領(lǐng)域中的復(fù)雜系統(tǒng))。自然系統(tǒng)涉及生物學(xué)和物理學(xué)領(lǐng)域,其中的復(fù)雜系統(tǒng)是自然演化而成的。社會系統(tǒng)包含眾多可以彼此交互的個體,社會系統(tǒng)可以是自然形成的,也可以是人為干預(yù)的結(jié)果。工程應(yīng)用系統(tǒng)是由人設(shè)計并達成特定目標的系統(tǒng)。
讀者學(xué)習(xí)本書基本不需要什么預(yù)備知識。數(shù)學(xué)方面只需要代數(shù)知識即可,計算機方面不需要讀者具有編程能力,在第6~8章中,我們假設(shè)讀者具有基本的統(tǒng)計學(xué)知識,例如,知曉什么是正態(tài)分布。然而,我們希望讀者能夠?qū)etLogo有所了解,建議大家先去學(xué)習(xí)NetLogo軟件用戶手冊中的前三個教程。NetLogo可以從網(wǎng)上下載(http://ccl.northwestern.edu/netlogo/)。
使用本書進行學(xué)習(xí),需要讀者閱讀和編寫軟件代碼,有些讀者可能不具備此項技能。雖然相當(dāng)多的人認為計算機編程是一項非常困難以至于無法完成的挑戰(zhàn),但我們數(shù)十年的教學(xué)經(jīng)驗表明,實際上所有學(xué)生都可以學(xué)會并使用NetLogo進行編程。我們希望書中的代碼不會嚇跑你,只要花點時間學(xué)習(xí)、閱讀和編寫代碼,你就一定能夠?qū)W會。我們堅信,只要花時間去學(xué)習(xí),就一定會有收獲。
NetLogo與本書的關(guān)系
目前有很多不同的ABM語言,在我們編寫本書的時候
Uri Wilensky
美國西北大學(xué)教授,主要從事計算機科學(xué)與復(fù)雜系統(tǒng)方面的研究。他是西北大學(xué)復(fù)雜系統(tǒng)研究院和基于計算機建模中心的負責(zé)人,他也是認知科學(xué)、心理學(xué)、技術(shù)與社會行為方面的研究團隊成員。自主研發(fā)了基于Agent的仿真軟件NetLogo,得到廣泛應(yīng)用。
譯者序
前言
第0章 為什么需要基于agent的建模技術(shù) 1
0.1 一個思維實驗 2
0.2 復(fù)雜系統(tǒng)與涌現(xiàn) 4
0.3 理解復(fù)雜系統(tǒng)和涌現(xiàn) 5
例1:群體考量 6
例2:個體考量 6
0.4 使用基于agent的建模作為重構(gòu)的代表性基礎(chǔ)架構(gòu) 9
案例:捕食者–獵物互動模型 10
案例:森林火災(zāi) 12
第1章 什么是基于agent的建模技術(shù) 15
1.1 蟻群 15
1.1.1 創(chuàng)建螞蟻覓食模型 16
1.1.2 Ants模型的仿真結(jié)果及觀測 19
1.1.3 Ants模型的價值 20
1.2 什么是基于agent的建模技術(shù) 22
1.2.1 基于agent的模型與其他建模方法之比較 22
1.2.2 隨機性與確定性 24
1.2.3 何時使用ABM最有效 24
1.2.4 ABM的權(quán)衡 26
1.2.5 理解ABM需要具備哪些知識 27
1.3 本章小結(jié) 27
習(xí)題 28
第2章 創(chuàng)建幾個簡單的ABM模型 31
2.1 Game of Life模型 31
2.2 Heroes and Cowards模型 46
2.3 Simple Economy模型 58
2.4 本章小結(jié) 65
習(xí)題 66
第3章 探索和擴展基于agent的模型 68
3.1 Fire模型 69
3.1.1 Fire模型介紹 70
3.1.2 第一次擴展:增加一個火焰的傳播概率 75
3.1.3 第二次擴展:添加風(fēng)的因素 77
3.1.4 第三次擴展:允許火焰遠程傳播 79
3.1.5 Fire模型小結(jié) 80
3.1.6 高級建模應(yīng)用 80
3.2 DLA模型 81
3.2.1 DLA模型概述 82
3.2.2 第一次擴展:引入概率 83
3.2.3 第二次擴展:鄰居的影響 84
3.2.4 第三次擴展:不同的聚合方式 86
3.2.5 DLA模型小結(jié) 88
3.2.6 高級建模應(yīng)用 88
3.3 Segregation模型 89
3.3.1 Segregation模型概述 90
3.3.2 第一次擴展:增加更多種群 92
3.3.3 第二次擴展:允許使用多個閾值 94
3.3.4 第三次擴展:增加熱衷于社區(qū)多元化的個體 96
3.3.5 Segregation模型小結(jié) 97
3.3.6 高級城市建模應(yīng)用 97
3.4 El Farol模型 98
3.4.1 El Farol模型概述 98
3.4.2 第一次擴展:為做出成功
預(yù)測的agent標記顏色 99
3.4.3 第二次擴展:顯示平均、最低和最高獎勵值 101
3.4.4 第三次擴展:繪制獎勵直方圖 102
3.4.5 El Farol模型小結(jié) 104
3.4.6 高級建模應(yīng)用 104
3.5 本章小結(jié) 106
習(xí)題 106
第4章 創(chuàng)建基于agent的模型 110
4.1 設(shè)計模型 111
4.1.1 選擇待研究的問題 113
4.1.2 一個具體的例子 114
4.2 選擇你的agent 115
4.2.1 選擇agent的屬性 116
4.2.2 篩選agent的行為 117
4.2.3 選擇模型的參數(shù) 118
4.2.4 Wolf Sheep Simple模型
設(shè)計小結(jié) 119
4.3 檢查模型 134
4.4 Predator–Prey模型:補充情境 136
4.5 本章小結(jié) 139
習(xí)題 139
第5章 ABM的組件 142
5.1 概述 142
5.2 agent 143
5.2.1 屬性 144
5.2.2 行為(活動) 146
5.2.3 agent種類大全 147
5.2.4 agent的粒度 156
5.2.5 agent認知 158
5.2.6 其他agent種類 163
5.3 環(huán)境 165
5.3.1 空間環(huán)境 165
5.3.2 基于網(wǎng)絡(luò)的環(huán)境 169
5.3.3 幾類特殊的環(huán)境 174
5.4 行為交互 180
5.5 觀察者/用戶界面 184
5.6 時間進度表 188
5.7 整合 190
5.8 本章小結(jié) 193
習(xí)題 193
第6章 分析ABM模型 198
6.1 度量類型 198
6.2 疾病的傳播建模 198
6.2.1 ABM的統(tǒng)計分析:超越原始數(shù)據(jù) 200
6.2.2 多次運行ABM的必要性 202
6.2.3 在ABM中使用圖檢驗結(jié)果 206
6.2.4 在ABM中分析網(wǎng)絡(luò) 208
6.2.5 環(huán)境數(shù)據(jù)和ABM 211
6.3 本章小結(jié) 214
習(xí)題 215
第7章 模型的校核、驗證與復(fù)現(xiàn) 218
7.1 模型的正確性 218
7.2 校核 218
7.2.1 溝通 219
7.2.2 描述概念模型 220
7.2.3 校核測試 221
7.2.4 超越“校核” 223
7.2.5 敏感性分析與穩(wěn)健性評價 226
7.2.6 校核的益處與問題 228
7.3 驗證 228
7.3.1 宏觀驗證和微觀驗證 231
7.3.2 表面驗證和經(jīng)驗驗證 232
7.3.3 驗證的優(yōu)點和問題 235
7.4 復(fù)現(xiàn) 235
7.4.1 計算模型的復(fù)現(xiàn):維度與標準 236
7.4.2 復(fù)現(xiàn)的優(yōu)點 238
7.4.3 對模型復(fù)現(xiàn)者的建議 239
7.4.4 對模型作者的建議 241
7.5 本章小結(jié) 242
習(xí)題 242
第8章 高級主題與應(yīng)用 245
8.1 ABM中的高級主題 245
8.1.1 模型設(shè)計的指導(dǎo)方針 246
8.1.2 規(guī)則提取 249
8.1.3 使用ABM進行溝通、說服和教育 258
8.1.4 人類agent、嵌入式agent和虛擬agent通過“中介”進行對話 260
8.1.5 混合計算方法 269
8.1.6 NetLogo中的一些高級計算方法 273
8.1.7 ABM擴展 281
8.1.8 高級數(shù)據(jù)源與數(shù)據(jù)輸出集成 282
8.1.9 運行速度 295
8.2 ABM應(yīng)用 296
8.3 ABM的未來 299
習(xí)題 299
附錄 ABM的計算基礎(chǔ) 304
參考文獻 315
軟件與模型 326