章节目录
前言 1 第1章 复杂性科学 7 1.1 本书内容 7 1.2 一种新科学 8 1.3 范式转移吗 9 1.4 科学模型的轴线 10 1.5 一种新模型 11 1.6 一种新工程 12 1.7 一种新思维 12 第2章 图 14 2.1 图 14 2.2 图的表示 15 2.3 随机图 19 2.4 连通图 19 2.5 paul erds:逍遥的数学家,兴奋剂成瘾之人 20 2.6 迭代器 21 2.7 生成器 22 第3章 算法分析 24 3.1 增长量级 25 .3.2 对基本python运算的分析 26 3.3 对搜索算法的分析 28 3.4 hashtable 29 3.5 合并列表 33 3.6 pyplot 35 3.7 列表推导 36 第4章 小世界图 37 4.1 对图算法的分析 37 4.2 fifo实现 38 4.3 stanley milgram 39 4.4 watts与strogatz 40 4.5 dijkstra 41 4.6 何种分析 43 第5章 无标度网络 44 5.1 zipf定律 44 5.2 累积分布 45 5.3 连续分布 46 5.4 pareto分布 47 5.5 barabási与albert 49 5.6 zipf、pareto与幂次法则 50 5.7 解释模型 51 第6章 细胞自动机 53 6.1 stephen wolfram 53 6.2 实现ca 54 6.3 cadrawer 56 6.4 ca的分类 58 6.5 随机性 58 6.6 决定论 59 6.7 结构 60 6.8 普遍性 62 6.9 可证伪性 63 6.10 这是什么模型 64 第7章 生命游戏 66 7.1 实现生命 67 7.2 生命模式 69 7.3 conway猜想 70 7.4 现实主义 70 7.5 工具主义 71 7.6 turmite 72 第8章 分形 74 8.1 分形ca 74 8.2 渗流 77 第9章 自组织临界性 78 9.1 沙堆 78 9.2 谱线密度 79 9.3 快速傅立叶变换 81 9.4 红噪声 82 9.5 简化论与整体论 83 9.6 soc、因果关系与预测 85 第10章 基于主体的模型 86 10.1 thomas schelling 86 10.2 基于主体的模型 87 10.3 交通拥堵 87 10.4 boid 88 10.5 囚徒困境 91 10.6 突现 92 10.7 自由意志 93 第11章 案例研究:糖域 95 11.1 最初的糖域 95 11.2 占领运动 95 11.3 糖域的新版本 96 11.4 税收与遗留 96 11.5 基尼系数 97 11.6 税收的结果 98 11.7 结论 99 第12章 案例研究:蚁群移动轨迹 100 12.1 简介 100 12.2 模型概览 100 12.3 api设计 102 12.4 稀疏矩阵 102 12.5 wx 103 12.6 应用 104 第13章 案例研究:有向图与结 105 13.1 有向图 105 13.2 实现 105 13.3 检测结 106 13.4 维基百科中的结 107 第14章 案例研究:志愿者困境 109 14.1 土拨鼠困境 109 14.2 分析 110 14.3 规范博弈 111 14.4 结果 112 14.5 提升可能性 113 附录a 案例提交邀请 115 附录b 参考书目 116
内容简介
本书的灵感来源于无聊与迷恋的感觉:对常规的数据结构与算法介绍的无聊,对复杂系统的迷恋。数据结构的问题在于教师在教授这门课程的时候通常不会调动起学生的积极性;复杂性科学的问题在于学校通常不会教授这门课程。 2005年,我在欧林学院讲授了一门新课程,学生要阅读关于复杂性的主题,使用Python进行实验,并学习算法与数据结构。当我在2008年再次讲授这门课程时,我写了本书的初稿。 在2011年第3次讲授这门课程时,我准备出版该书并邀请学生们以案例研究的形式提交其工作成果并包含在书中。我在欧林学院找了9位教授成立了项目委员会,选择可供出版的报告。符合标准的案例研究被纳入到本书中。我们将在下一版吸纳来自读者的更多稿件(参见附录A)。 对教师的建议 本书可以用作Python编程与算法的大学中级课程教材。我的教学遵循如下结构: 阅读 复杂性科学涵盖了各种主题。这些主题之间相互关联,但需要花费不少时间才能搞清楚这些联系。为了帮助学生们看到全景,我会向他们介绍一些阅读列表,这些都来自于该领域最流行的研究成果。我的阅读列表以及关于如何使用它的建议在附录B中。 练习 本书提供了一系列练习;很多练习都要求学生重新实现一些开创性实验并对其进行扩展。复杂性吸引人的一个地方在于我们可以通过适当的编程技能与数学知识接触研究前沿。 讨论 书中的主题提出了关于科学哲学的问题,这需要学生们进一步阅读并进行课堂讨论。 案例研究 在我的课堂上,我们将几乎半个学期的时间都用在了案例研究上。学生们经由构思产生过程、形成团队,并在一系列实验上花费6~7周的时间,然后以4~6页可发表的报告形式来呈现其工作成果。 可以通过https://sites.google.com/site/compmodolin了解课程大纲与我的说明。 对自学者的建议 在2009~2010年,我作为Google的一名访问学者在其剑桥办公室工作。在与我共事的软件工程师中,让我印象深刻的一点是他们广博的求知欲以及增长知识与技能的动力。 我希望本书能够帮助像他们一样的人们来探索他们可能遇不到的一些主题与想法,练习Python编程技能,以及学习关于数据结构与算法的更多知识(或者看看有哪些内容不适合放在第1版中)。 本书针对自学者的一些特点有: 技术深度
下载说明
1、复杂性思考是作者Allen B. Downey创作的原创作品,下载链接均为网友上传的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!