目录

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. 为复杂系统建模的步骤

  1. 定义关键问题。
  2. 确定系统的结构(部分和相互作用)。
  3. 定义每个部分的可能状态。
  4. 定义每个部分的状态如何通过与其他部分的相互作用而随时间变化。
  5. 从简单性、正确性和稳健性方面验证、确认和评估该模型。
  6. 定义并运行模型的实验,以解决关键问题。

用自己的话来概括就是:

  • 首先弄清楚要解决的问题。
  • 设计整个系统的结构(对单个 agent 的设计以及他们之间的交互方式)。
  • 每个agent可能的状态有哪些。
  • 每个agent可能与周围的agent发生哪些交互行为。
  • 确保设计的模型是简洁的,正确的(能按照设计运行),鲁棒的(稳定的)。
  • 当前的模型正确运行后能不能回答我们提出的问题。

7. 复杂系统建模中的问题

我们如何解释当前和过去的事件?

  • 多细胞生物的进化,疾病的爆发
  • 全球气候变化,大规模灭绝
  • 政治和社会极端主义,文明的崩溃
  • 股市崩盘、经济泡沫

我们如何能预测未来的行为?

  • 这通常是我们想要了解系统的原因

我们如何才能设计和建造更好的工程系统?

  • 自然启发的优化(蚁群、粒子群)。
  • 去中心化的计算(互联网)
  • 自主传感器网络,环境计算

复杂系统学习(一):复杂系统简介相关推荐

  1. 系统学习机器学习之系统认识

    机器学习(MachineLearning, ML)是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能, ...

  2. 系统学习ARM之一 --ARM简介

    FS4412所处的位置是Cortex-A9 一.3. 8. 7: 1. ARM处理器的 3 种状态 ARM处理器正在运行那种指令,就处在那种状态 (1)ARM状态        --- 运行ARM指令 ...

  3. java系统学习_java全面系统学习路线(转载)

    精心整理的2020Java全面系统的学习路线 Java基础:av80585971 数据库 Mysql:av68811608 Oracle:av81386804 JDBC:av68736927 C3P0 ...

  4. ROS系统学习2---ROS最小系统的制作

    上一篇文章我们讲了ros的安装,并且运行了ros自带的一个简单程序. 下面,我们将从一个空的文件夹开始,一步步创建工作空间,包,和节点,并让该节点输出"Hello ros".

  5. Shell系统学习之什么是Shell

    系列文章目录 Shell系统学习之什么是Shell Shell系统学习之创建一个Shell程序 Shell系统学习之向Shell脚本传递参数 Shell系统学习之如何执行Shell程序 Shell系统 ...

  6. Android粗浅系统学习(适合入门)

    https://www.emperinter.info/2020/10/03/android-study/ AndroidStudy Android系统学习的笔记!系统但并非详细!图片并不能直接上传到 ...

  7. STM32CubeMX+FreeRTOS 嵌入式系统学习

    STM32CubeMX+FreeRTOS 嵌入式系统学习 FreeRTOS 嵌入式系统学习 FreeRTOS一些实用函数---持续更新中........ FreeRTOS 嵌入式系统学习 在左边任务栏 ...

  8. 系统学习Shell之正则表达式

    系列文章目录 Shell系统学习之什么是Shell Shell系统学习之创建一个Shell程序 Shell系统学习之向Shell脚本传递参数 Shell系统学习之如何执行Shell程序 Shell系统 ...

  9. 信号与系统(2)- 系统

    信号与系统(2) - 系统 1. 什么是系统? 由书上的定义,系统是由若干相互联系的单元组成的,具有某种特定功能,用来达到某种目的的有机整体. 其实系统的概念与生活紧密相连,比如智能窗帘就是一个系统, ...

  10. linux中ftp的工作原理,Linux系统学习 十二、VSFTP服务—简介与原理

    1.简介与原理 互联网诞生之初就存在三大服务:WWW.FTP.邮件 FTP主要针对企业级,可以设置权限,对不同等级的资料针对不同权限人员显示. 但是像网盘这样的基本没有权限划分. 简介: FTP(Fi ...

最新文章

  1. 3维线程格 gpu_图形处理单元(GPU)
  2. Linux_RHEL7_LDAP、Autofs服务
  3. Coding中遇到的BUG集合~
  4. c语言无限循环while(1)和for(;;)的区别
  5. npm -S -D的区别
  6. Android之玩转MPAndroidChart让(折线图、柱形图、饼状图、散列图、雷达图)优雅的舞动
  7. junit编写测试代码_编写数据访问代码测试-不测试框架
  8. 浅谈Tuple之C#4.0新特性
  9. 算法题008 快速找出故障机器
  10. 开源 | CVPR 2021无需向量监督的矢量图生成算法
  11. python如何搜索关键字_Python遍历目录和搜索文件中的关键字
  12. mybatis-spring
  13. SpringBoot 集成ElasticSearch(二)分页查询
  14. Linux系统下制作windows系统安装U盘
  15. i7 8700k 安装linux,Intel i7 8700K核显UHD620安装黑苹果仿冒HD620方法
  16. C语言经典案例——第六章 字符串
  17. kata-container初探
  18. 流利阅读 2019.1.26 The maturing of the smartphone industry should be celebrated, not lamented
  19. 《软技能》读书笔记——生产力篇
  20. Apple Pay正式入华:能否成支付宝与微信强敌

热门文章

  1. 华为云大数据BI 解决方案的超高性价比
  2. 一个表中的字段值用作另一个表的In查询条件
  3. 管理网络与业务网络分离+虚拟网络部署
  4. 怎么把图片文字转换成word文档?介绍一个方法
  5. iredmail可以发邮件但是收不到邮件问题汇总
  6. 面试官:Vue中组件和插件有什么区别?
  7. MAMP PRO for Mac 使用说明
  8. 白帽,黑帽,灰帽,绿帽!一文了解黑客的所有信息
  9. 用java构造圆类_JAVA实验报告(圆类.doc
  10. FactorVAE:基于变分自编码器的动态因子模型