描述
开 本: 128开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787115571380丛书名: 图灵原创
1.无需编程基础,从基础知识开始循序渐进讲解NetLogo的使用方式、设计思想以及数理建模的常用方法。
2.本书精选七大跨学科、跨领域的实战案例,帮助读者自己动手搭建模型。
3.本书配有清晰的示例代码和讲解视频,帮助读者深入学习和动手实战。
4.本书由集智俱乐部张江教授精心打造,欧洲科学院院士陈关荣等人作序推荐。
本书从大量跨学科、跨领域的实际案例入手,循序渐进地讲解了NetLogo的使用方式、基本语法、设计思想,以及背后的计算机模拟、多主体建模、复杂性科学的基本理念和数理建模的常用方法,包括数值计算、微分方程、动力系统、概率统计等。通过学习,读者可以学会搭建一个人工生命的世界、一个人工经济系统,以及一个人工生态系统;通过计算机模拟,读者可以理解大自然的捕食依存关系、病毒传播和疫情暴发的原理,还能对人类社会财富分布不均衡的起源有新的认识。
序一 iii
序二 iv
序三 vii
前言 ix
作者简介 xi
第 1章 复杂系统与多主体模拟 2
1.1 如何探索复杂系统 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 创建小球 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 创建模拟世界 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 创建蚂蚁 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章 从羊-草生态系统深入turtle与plot画图 51
5.1 羊-草生态系统的规则 51
5.2 初始化羊-草生态系统 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实现洛伦兹曲线 89
7.4.1 绘图语句 90
7.4.2 表示财富分布不均衡的折线的绘制 91
7.4.3 洛伦兹曲线的绘制 92
7.5 小结 94
第8章 使用行为空间做实验 95
8.1 更新人工经济模型的基本规则 95
8.2 程序修改 97
8.3 两种规则下的财富分布对比 99
8.4 基尼系数的定义及程序实现 100
8.4.1 什么是基尼系数 100
8.4.2 基尼系数的计算方法 101
8.4.3 基尼系数的程序实现 101
8.5 参数变化对财富分布不均衡性的影响 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 矢量的数乘 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模型程序实现 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模型代码实现 133
10.5.1 给turtle设置state属性 134
10.5.2 to setup代码块 135
10.5.3 setup-network函数 135
10.5.4 to go代码块 138
10.6 参数变化对模拟结果的影响 139
10.7 SIR模型的弊端与无标度网络 141
10.8 改进网络模型 142
10.9 修改程序实现改进的网络模型 142
10.10 小结 144
第 11章 重访羊-草模型与系统动力学建模 145
11.1 多主体建模的弊端 145
11.2 羊-草的系统动力学模型 145
11.2.1 代数求解羊-草的系统动力学模型 146
11.2.2 用计算机求解羊-草的系统动力学模型 147
11.3 系统动力学建模工具求解微分方程 148
11.4 让羊-草模型运行起来 151
11.5 重新构建羊-草生态系统 152
11.5.1 用流-存的方法建模 153
11.5.2 羊-草生态系统模型的动力学方程 153
11.6 羊-草生态系统模型的系统动力学搭建 154
11.7 调试羊-草生态系统模型 157
11.7.1 如何设定各个参数的数值 158
11.7.2 设置dt取值 158
11.8 更一般的微分动力系统 160
11.9 小结 160
结束语 162
后记 165
这是一本难得的好书,是国内系统介绍NetLogo的开荒之作,适合数理及人文多个领域的学生和学者阅读和参考,值得广泛推荐。
–陈关荣,香港城市大学讲座教授,欧洲科学院院士,发展中国家科学院院士
本书基本上囊括了入门NetLogo所需掌握的各种模块。只要你真真正正把这11章内容学完,即可以成功掌握NetLogo的基础。剩下的,就是灵活运用你的”屠龙宝刀”了。
–王树义,天津师范大学副教授,”玉树芝兰”主理人,少数派网站专栏作者
未来的世界,人人都需要编程思维;而从还原论思维走向系
评论
还没有评论。