序一 iii
序二 iv
序三 vii
前言 ix
作者簡介 xi
第 1章 復雜系統(tǒng)與多主體模擬 2
1.1 如何探索復雜系統(tǒng) 2
1.2 多主體模擬 3
1.3 為什么要學習NetLogo 5
1.4 生命游戲 6
1.5 鳥群模型 9
1.6 財富分布模型 11
1.7 小結 14
第 2章 小球宇宙:認識NetLogo 15
2.1 什么是小球宇宙 15
2.2 搭建宇宙框架 17
2.2.1 創(chuàng)建小球 18
2.2.2 讓小球動起來 21
2.2.3 修改宇宙屬性 24
2.3 模擬程序的流程圖 25
2.4 NetLogo的特點 26
2.5 學習資源 27
2.6 小結 29
第3章 通過“生命游戲”認識patch 30
3.1 什么是生命游戲 30
3.2 認識patch 32
3.3 創(chuàng)建模擬世界 32
3.3.1 random-float命令 33
3.3.2 初始化模擬世界 33
3.3.3 用patches-own自定義添加patch屬性 34
3.4 讓生命游戲運轉起來 35
3.5 NetLogo 語法的注意事項 39
3.6 小結 41
第4章 朗頓的螞蟻 42
4.1 什么是朗頓的螞蟻 42
4.2 創(chuàng)建螞蟻 44
4.2.1 turtle的方法與屬性 45
4.2.2 random命令 45
4.3 讓螞蟻動起來 46
4.3.1 turtle和patch之間的交互 47
4.3.2 使用tick計時 48
4.4 小結 50
第5章 從羊-草生態(tài)系統(tǒng)深入turtle與plot畫圖 51
5.1 羊-草生態(tài)系統(tǒng)的規(guī)則 51
5.2 初始化羊-草生態(tài)系統(tǒng) 53
5.3 添加to go程序 55
5.3.1 add_food 55
5.3.2 turtle_move 56
5.3.3 turtle_breed 57
5.3.4 turtle_die 57
5.4 追蹤某一個具體的turtle或者patch的行為 58
5.5 變量的主體 61
5.6 添加繪圖框 61
5.7 小結 63
第6章 人工經濟模型與turtle間的互動 66
6.1 貨幣轉移模型 66
6.2 NetLogo添加全局變量 69
6.3 初始化模擬世界 70
6.4 主體之間如何交互 70
6.4.1 transaction子模塊 72
6.4.2 變量作用域 73
6.5 使用命令中心 74
6.6 繪制財富分布直方圖 76
6.7 小結 78
第7章 文件導出與復雜曲線繪制 79
7.1 人工經濟模型回顧及遺留問題 79
7.2 NetLogo導出文件 80
7.3 洛倫茲曲線 85
7.4 用 NetLogo實現(xiàn)洛倫茲曲線 89
7.4.1 繪圖語句 90
7.4.2 表示財富分布極端不均衡的折線的繪制 91
7.4.3 洛倫茲曲線的繪制 92
7.5 小結 94
第8章 使用行為空間做實驗 95
8.1 更新人工經濟模型的基本規(guī)則 95
8.2 程序修改 97
8.3 兩種規(guī)則下的財富分布對比 99
8.4 基尼系數(shù)的定義及程序實現(xiàn) 100
8.4.1 什么是基尼系數(shù) 100
8.4.2 基尼系數(shù)的計算方法 101
8.4.3 基尼系數(shù)的程序實現(xiàn) 101
8.5 參數(shù)變化對財富分布不均衡性的影響 105
8.6 使用行為空間做重復實驗 106
8.7 小結 110
第9章 透過人工鳥群模型Boids學習list的使用 111
9.1 人工鳥群模型Boids 112
9.2 矢量以及矢量運算的基本知識 113
9.2.1 矢量的加法 114
9.2.2 矢量的減法 114
9.2.3 矢量的數(shù)乘 115
9.3 Boids模型需要的矢量運算 116
9.3.1 靠近力 118
9.3.2 對齊力 119
9.3.3 斥力 119
9.3.4 合力 120
9.4 讓Boids動起來 121
9.5 NetLogo的列表——list 122
9.6 Boids模型程序實現(xiàn) 124
9.7 小結 128
第 10章 用link建模網絡動力學 129
10.1 病毒傳播SIR模型 129
10.2 構建網絡拓撲結構 131
10.3 NetLogo中的link對象 131
10.4 SIR模型搭建 132
10.5 SIR模型代碼實現(xiàn) 133
10.5.1 給turtle設置state屬性 134
10.5.2 to setup代碼塊 135
10.5.3 setup-network函數(shù) 135
10.5.4 to go代碼塊 138
10.6 參數(shù)變化對模擬結果的影響 139
10.7 SIR模型的弊端與無標度網絡 141
10.8 改進網絡模型 142
10.9 修改程序實現(xiàn)改進的網絡模型 142
10.10 小結 144
第 11章 重訪羊-草模型與系統(tǒng)動力學建?!?45
11.1 多主體建模的弊端 145
11.2 羊-草的系統(tǒng)動力學模型 145
11.2.1 代數(shù)求解羊-草的系統(tǒng)動力學模型 146
11.2.2 用計算機求解羊-草的系統(tǒng)動力學模型 147
11.3 系統(tǒng)動力學建模工具求解微分方程 148
11.4 讓羊-草模型運行起來 151
11.5 重新構建羊-草生態(tài)系統(tǒng) 152
11.5.1 用流-存的方法建模 153
11.5.2 羊-草生態(tài)系統(tǒng)模型的動力學方程 153
11.6 羊-草生態(tài)系統(tǒng)模型的系統(tǒng)動力學搭建 154
11.7 調試羊-草生態(tài)系統(tǒng)模型 157
11.7.1 如何設定各個參數(shù)的數(shù)值 158
11.7.2 設置dt取值 158
11.8 更一般的微分動力系統(tǒng) 160
11.9 小結 160
結束語 162
后記 165