复杂性思考:复杂性科学和计算模型(原书第2 版)

Book description

复杂性科学使用计算来探索物理和社会科学。在本书中,你将使用图表、元胞自动机以及基于智能体的模型来研究物理学、生物学和经济学。

无论你是中等水平的Python程序员还是希望学习计算机建模的学生,都可以通过一系列工作示例、练习、案例研究和易于理解的解释深入学习复杂系统。

在更新后的第2版中,你将:

  • 使用NumPy数组和SciPy方法,包括基本信号处理和快速傅里叶变换。
  • 研究复杂物理系统的抽象模型,包括幂律、分形、粉红噪声和图灵机。
  • 获取包含入门代码和解决方案的Jupyter笔记本,以便重复实现和扩展原始实验的复杂性以及计算模型,如Turmite、图灵机和元胞自动机。
  • 探索科学中的哲学,包括科学规律的本质、理论选择,以及现实主义和工具主义。

作为Python编程与算法的理想教材,本书还有助于自学者掌握关于他们可能未曾谋面的主题与想法的宝贵经验。

Table of contents

  1. 封面
  2. 扉页
  3. 版权页
  4. O'Reilly介绍
  5. 译者序
  6. 目录
  7. 前言
    1. 本书的特点
    2. 本书的读者对象
    3. 使用代码
    4. 排版约定
    5. Safari在线电子书
    6. 如何联系我们
  8. 第1章 复杂性科学
    1. 1.1 范式转变
    2. 1.2 科学模型的轴线
    3. 1.3 不同的模型用于不同的目的
    4. 1.4 复杂的工程
    5. 1.5 复杂性思维
  9. 第2章 图
    1. 2.1 图是什么
    2. 2.2 NetworkX
    3. 2.3 随机图
    4. 2.4 生成图
    5. 2.5 连通图
    6. 2.6 生成ER图
    7. 2.7 连通的概率
    8. 2.9 练习
    9. 2.8 图论算法分析
  10. 第3章 小世界图
    1. 3.1 Stanley Milgram
    2. 3.2 Watts和Strogatz
    3. 3.3 环格
    4. 3.4 WS图
    5. 3.5 集聚
    6. 3.6 最短路径长度
    7. 3.7 WS实验
    8. 3.8 这是什么样的解释
    9. 3.9 广度优先搜索
    10. 3.10 Dijkstra算法
    11. 3.11 练习
  11. 第4章 无标度网络
    1. 4.1 社交网络数据
    2. 4.2 WS模型
    3. 4.3 度
    4. 4.4 重尾分布
    5. 4.5 Barabási-Albert模型
    6. 4.6 生成BA图
    7. 4.7 累积分布函数
    8. 4.8 解释模型
    9. 4.9 练习
  12. 第5章 元胞自动机
    1. 5.1 一个简单的CA
    2. 5.2 Wolfram的实验
    3. 5.3 CA的分类
    4. 5.4 随机性
    5. 5.5 确定性
    6. 5.6 宇宙飞船
    7. 5.7 普遍性
    8. 5.8 可证伪性
    9. 5.9 这是一个什么样的模型
    10. 5.10 CA的实现
    11. 5.11 互相关
    12. 5.12 CA表
    13. 5.13 练习
  13. 第6章 生命游戏
    1. 6.1 Conway的生命游戏
    2. 6.2 生命模式
    3. 6.3 Conway的猜想
    4. 6.4 现实主义
    5. 6.5 工具主义
    6. 6.6 生命游戏实现
    7. 6.7 练习
  14. 第7章 物理建模
    1. 7.1 扩散
    2. 7.2 反应-扩散
    3. 7.3 渗透
    4. 7.4 相变
    5. 7.5 分形
    6. 7.6 分形和渗透模型
    7. 7.7 练习
  15. 第8章 自组织临界性
    1. 8.1 关键系统
    2. 8.2 沙堆
    3. 8.3 实施沙堆
    4. 8.4 重尾分布
    5. 8.5 分形
    6. 8.6 粉红噪声
    7. 8.7 沙堆的声音
    8. 8.8 还原论和整体论
    9. 8.9 SOC、因果关系和预测
    10. 8.10 练习
  16. 第9章 基于智能体的模型
    1. 9.1 Schelling模型
    2. 9.2 Schelling模型的实现
    3. 9.3 种族隔离
    4. 9.4 Sugarscape
    5. 9.5 财富的不平等
    6. 9.6 实现Sugarscape
    7. 9.7 迁移与波动特性
    8. 9.8 涌现
    9. 9.9 练习
  17. 第10章 兽群、鸟群和交通堵塞
    1. 10.1 交通堵塞
    2. 10.2 随机扰动
    3. 10.3 Boid
    4. 10.4 Boid算法
    5. 10.5 仲裁
    6. 10.6 涌现和自由意志
    7. 10.7 练习
  18. 第11章 进化
    1. 11.1 模拟进化
    2. 11.2 适应度景观
    3. 11.3 智能体
    4. 11.4 模拟
    5. 11.5 无差别
    6. 11.6 进化的证据
    7. 11.7 生存差异
    8. 11.8 突变
    9. 11.9 物种形成
    10. 11.10 总结
    11. 11.11 练习
  19. 第12章 合作进化
    1. 12.1 囚徒困境
    2. 12.2 Nice的问题
    3. 12.3 囚徒困境的比赛
    4. 12.4 模拟合作进化
    5. 12.5 Tournament类
    6. 12.6 模拟
    7. 12.7 结果
    8. 12.8 结论
    9. 12.9 练习
  20. 附录A 阅读列表
  21. 作者介绍
  22. 封面简介

Product information

  • Title: 复杂性思考:复杂性科学和计算模型(原书第2 版)
  • Author(s): Allen B. Downey
  • Release date: March 2020
  • Publisher(s): China Machine Press
  • ISBN: 9787111647348

You might also like

book

算法技术手册(原书第2 版)

by George T.Heineman, Gary Pollice, Stanley Selkow

打造鲁棒性优秀的软件需要用到高效的算法,然而程序员们却对此知之甚少。新版的《算法技术手册》介绍了用于解决各种类型问题的已有算法,并帮助读者挑选和实现最适合自身需要的算法。不仅如此,书中还提供了恰到好处的数学知识来帮助读者理解和分析算法的性能。 本书侧重应用多于理论且规范严谨。书中提供了用多种程序设计语言实现的文档化的实际代码解决方案。此外,新版还增加了用Python实现的10多种新算法、Voronoi图算法实现以及包括R树(R-Trees)和四叉树(Quadtrees)在内的空间树结构等内容。 通过阅读本书,你将可以: 解决新的编码问题,提升现有解决方案的性能。 快速定位与问题相关的算法,并挑选最佳算法。 获取带有实现技巧提示的采用C、C++、Java和Python实现的算法解决方案。 学习算法的预期性能和最佳性能所需要的条件。 使用高级数据结构提升算法效率。

book

管理Kubernetes

by Brendan Burns, Craig Tracey

虽然Kubernetes极大地简化了部署容器化应用程序的工作,但每天管理这种编排框架仍然是一项复杂的工作。站点管理人员以及 开发运营工程师可以通过本书学习如何构建、操作、管理及升级 Kubernetes集群,无论这些集群位于云基础架构之上还是在企业内部。 本书的作者Brendan Burns是Kubernetes的联合创始人,而Craig Tracey 是Heptio的现场工程师。本书详细讲解了Kubernetes的内部工作原理,并向读者展示了如何通过维护、调整和改善集群来满足特定需求。你可以通过本书学习如何从设计集群、管理访问控制、监视和报警,以及升级Kubernetes等方面来综合考虑架构的选择,还可以 通过本书深入了解如何充分利用这种编排框架的功能。 “学习如何操作集群,开发人员如何利用Kubernetes部署应用程序,以及如何利用Kubernetes减轻开发人员的负担。 通过掌握Kubernetes API以及配置选项来调整、保护,以及调节集群。 检测集群级别的问题,学习必要的响应步骤并快速恢复集群。 确定如何以及何时添加构建、扩展或以其他方式改进 Kubernetes集群的库、工具和平台。

book

Spark快速大数据分析(第2版)

by Jules S. Damji, Brooke Wenig, Tathagata Das, Denny Lee

毋庸置疑,数据已经成为现代化企业的重要资产,大数据分析技术则是企业挖掘数据价值的核心利器。一直以来,Spark就是大数据分析领域的佼佼者,也已经成为一站式大数据分析引擎的事实标准。 本书作者均来自Spark的母公司Databricks。他们将带你开始使用Spark,并了解如何利用它适应这个属于大数据和机器学习的新时代。第2版在第1版的基础上做了大量更新,涵盖Spark 3.0的新特性,并着重展示如何利用机器学习算法执行大数据分析。 学习使用Python、Java、Scala的结构化数据API 理解Spark SQL引擎的原理 掌握Spark应用的优化技巧 了解如何读写数据源:JSON、Parquet、CSV、Avro、ORC等 使用Structured Streaming分析批式数据和流式数据 使用Spark和Delta Lake构建湖仓一体的系统 使用MLlib开发机器学习流水线

book

基于Python的智能文本分析

by Benjamin Bengfort, Rebecca Bilbro, Tony Ojeda

从新闻、讲话,到社交媒体上非正式的聊天,自然语言是最丰富、且尚未充分利用的数据源之一。不但数据源源不断,在使用环境中还在不断调整、变化;还包含了很多传统数据源未能传达的信息。 打开自然语言宝藏的钥匙,就是基于文本分析的创造性应用。这本 实战指南介绍了从数据科学家角度如何建立语言感知产品并有效应 用机器学习。 您将学到如何用Python实现健壮、可重复和可扩展的文本分析,包括上下文特征和语言特征工程、向量化、分类、主题建模、实体解析、图分析和可视化操作。在本书的最后,您将获得解决众多复杂现实问题的实用方法。 预处理并将文本向量化成高维特征表示。 执行文档分类和主题建模。 通过可视化诊断指导模型选择过程。 提取关键短语、命名实体和图结构,实现文本数据推断。 建立对话框架,实现聊天机器人和语言驱动交互。 用Spark扩展处理能力,用神经网络实现对更复杂模型的支持。