目录
1. 引言:什么是系统?
2. 什么使一个系统越来越复杂
3. 到底什么是一个复杂系统
4. 复杂系统的属性
5. 什么是模型?
5.1 为什么要建立模型?
5.2 模型的种类
6. 为复杂系统建模的步骤
7. 复杂系统建模中的问题
1. 引言:什么是系统?
基本系统的定义:
- 元素
- 内在组织(relation)
- 如果没有内在组织导致整个系统的各部分系统作用,那么这个系统就只能是所有元素的简单叠加,但是通过relation 将各个 element 联系起来协同对外作用,可以从外部看做一个整体
一组事物作为一个机制或一个相互连接的网络的一部分共同工作;一个复杂的整体:
生理学 | 人体中具有共同结构或功能的一组器官 |
生物学 | 人类或动物的身体作为一个整体 |
计算机科学 | 一组相关的硬件单元或程序,或两者兼而有之,特别是当专门用于一个单一的应用程序时 |
天文学 | 一组由相互吸引的力量连接起来的天体,特别是在围绕一个中心的轨道上运动的天体 |
2. 什么使一个系统越来越复杂
很少的组成部分,简单的规则,简单的行为
比如双体问题:
- 可以用分析法求解
- 产生有规律的轨迹
很少的组成部分,简单的规则,复杂的行为
三体问题:
- 没有精确的数学解决方案
- 产生混乱的轨迹
低维混沌:
- 逻辑方程:
很多的组成部分,简单的规则,简单的行为
晶体和气体
- 高度有序和规则(晶体)
- 高度无序但统计上均匀的(气体)
很多的组成部分,简单的规则,复杂的行为
群居行为
- 也是元胞自动机,模式形成,复杂网络
- 梯形复杂系统
很多的组成部分,复杂的规则,复杂的行为
生物发展、进化、社会、市场
- 异质性规则、专业化、等级制度
- 行为是复杂的,但可以是可重复的和强大的
很多的组成部分,复杂的规则,确定性的行为
经典工程
- 许多专门的部件
- 全局设计以确保可预测的行为
很多的组成部分,复杂的规则,中心化的行为
管弦乐队、军事、行政
- 由一个中心原因、领导者或计划支配的行为
3. 到底什么是一个复杂系统
复杂系统 | |
1. 是由一些组件组成的 2. 彼此之间的互动 3. 通常是以非线性的方式 | 1. 可能产生于并通过自组织而演变 2. 既不是完全有规律的,也不是完全随机的 3. 允许在宏观尺度上发展突发行为 |
复杂系统是一类特殊的系统,复杂系统的构成:
- 有多个部分组成;
- 多个部分之间没有一个中心化的约束;
- 通过自组织过程由多个部分之间的局部相互作用构成;
- 这个过程产生了新的 level 的组织层次,许多元素在许多不同的尺度上,所有这些层面都相互影响。
4. 复杂系统的属性
Emergence
- 系统具有单个部分所不具备的属性。
- 这些属性不容易被推断或预测。
- 同样的部分可以产生不同的属性,这取决于环境或安排。
Self-organisation
- 在没有外部干预的情况下,秩序增加
- 通常是部分之间相互作用的结果
Decentralisation(分散管理)
- 没有一个单一的控制器或 "领导"。
- 分布:每个部分都携带全局信息的一个子集
- 有界限的知识:没有一个部分对整体有完整的看法
- 并行性:各部分可以同时行动
Feedback(反馈)
- 正反馈放大了系统状态的波动
- 负反馈抑制了系统状态的波动
复杂系统的性质:
Numerosity:
many parts and self-orgnization 复杂系统通常具备很多个 parts,而且具备不同级别的结构层次,这些层次是通过 self-orgnization 自发构成的。
Interdependent and Nonlinearity:
各个部分相互依赖,在各部分高度依赖的过程中产生非线性的系统(例如,当我们将很多事物放在一起,他们的效果往往不等于各个部分的简单相加(两端声波叠加要么相互抵消,要么相互增益)而且由于feedback loop反馈的作用,可能以指数速度增长或者衰减,这些快速变化的时期被称为相变 (Phase transition)这也就是为什么复杂系统可以在短期内发生非常大的变化,从一个状态迅速转变成另外一个状态,系统输入值的一些微小的变化可以通过 feedback loop 而产生非常大的系统效应,这叫做对初始条件的敏感性,这也是混沌理论的中心思想)。
connectivity (连通性):
各个组件之间是密集或高度互联的,因此通常可以组成网络。
autonomy(自治) and adaptation(自适应性):
很多复杂系统中,不需要中心化、自上而下的指令对各个element进行额外的限制,而是靠 element自身的能力做出调整;构建了一种自下而上的组织模式;这也导致了对复杂系统给定很多不同的输入,其给出的输出差别会很大,这代表复杂系统大多是异质性的;有高度的多样性;在没有中心化调整的情况下,系统表现出更高水平的差异化和整合性。
5. 什么是模型?
对一个系统或过程的简化描述,特别是数学描述,以帮助计算和预测。
5.1 为什么要建立模型?
- 模型使我们能够以现实世界中不可行的方式检查系统行为。
- 模型帮助我们通过建立一个系统来理解它
5.2 模型的种类
数学模型
对于某些系统,我们可以用宏观方程来描述全局状态和行为
例如,在一个捕食者—猎物系统中。
数学模型—分析解
对于某些系统来说,这些宏观方程是存在的,并且有一个分析解(用微积分找到)。
例如,GDP的几何增长→指数函数
不幸的是,许多系统没有这样的分析解决方案
数学模型—数值分析
这里,可以使用数值分析
- 将空间离散为单元,将时间离散为步骤
- 通过算法(一步步)解决,发现未来的轨迹
如果没有宏观方程怎么办?
没有系统的宏观描述
- 如压力或GDP
系统包含异质性
- 各部分在空间的位置不规则
- 各部分在一个复杂的网络中相连
- 各部分被分化/专门化为各种类型
系统是动态适应性的
- 相互作用的拓扑结构随着时间的推移而变化,以应对环境的影响
计算模型
特别是基于代理人的模型(ABM),它的出现(在20世纪60年代)是为了对那些对于分析性描述来说过于复杂的系统进行建模。
系统部分:
- 具有局部状态和规则的代理
系统结构:
- 代理之间的局部互动模式
系统行为:
- 在互动的基础上更新代理状态的动态规则
计算能力的快速增长使ABM成为一种实用工具
Agent-based Models(ABM)
- 系统组成部分(system part):由很多具备local state和local rules的agent组成。
- 系统的结构(system structure):agents之间的local interaction构成了系统的结构。
- 系统表现出的行为(system behavior):agents在与其他agent发生interaction时采用的动态规则(dynamic rules)最终形成了整个系统的行为。
6. 为复杂系统建模的步骤
- 定义关键问题。
- 确定系统的结构(部分和相互作用)。
- 定义每个部分的可能状态。
- 定义每个部分的状态如何通过与其他部分的相互作用而随时间变化。
- 从简单性、正确性和稳健性方面验证、确认和评估该模型。
- 定义并运行模型的实验,以解决关键问题。
用自己的话来概括就是:
- 首先弄清楚要解决的问题。
- 设计整个系统的结构(对单个 agent 的设计以及他们之间的交互方式)。
- 每个agent可能的状态有哪些。
- 每个agent可能与周围的agent发生哪些交互行为。
- 确保设计的模型是简洁的,正确的(能按照设计运行),鲁棒的(稳定的)。
- 当前的模型正确运行后能不能回答我们提出的问题。
7. 复杂系统建模中的问题
我们如何解释当前和过去的事件?
- 多细胞生物的进化,疾病的爆发
- 全球气候变化,大规模灭绝
- 政治和社会极端主义,文明的崩溃
- 股市崩盘、经济泡沫
我们如何能预测未来的行为?
- 这通常是我们想要了解系统的原因
我们如何才能设计和建造更好的工程系统?
- 自然启发的优化(蚁群、粒子群)。
- 去中心化的计算(互联网)
- 自主传感器网络,环境计算