“集智百科精选”是一个长期专栏,持续为大家推送复杂性科学相关的基本概念和资源信息。作为集智俱乐部的开源科学项目,集智百科希望打造复杂性科学领域最全面的百科全书,欢迎对复杂性科学感兴趣、热爱知识整理和分享的朋友加入!


本文是对集智百科中“复杂适应系统”词条的摘录,参考资料及相关词条请参阅百科词条原文。


本词条由集智俱乐部众包生产,难免存在纰漏和问题,欢迎大家留言反馈或者前往对应的百科词条页面进行修改,一经修改,可以获得对应的积分奖励噢!



目录


一、什么是复杂适应系统?

二、概述

三、系统的建模与仿真

四、复杂性的演化

五、相关资源推荐

六、集智百科词条志愿者招募



一、什么是复杂适应系统?

复杂适应系统 Complex adaptive system (CAS)是一个复杂系统,它们基于动态的交互网络 Dynamic network analysis,而不是单个静态实体的简单聚合,也就是说,集合的行为不能通过每个组件的行为来进行预测。


复杂适应系统具有适应性,因为个体和集体的行为会随着微观事件或事件集合的发生而进行变异或自组织。复杂适应系统可以看做是“相似且部分连接的微观结构”形成的“复杂宏观集合”,可以适应不断变化的环境,提高作为“宏观结构”的生存能力。


复杂适应系统是非线性动力系统的子集,其研究高度跨学科,融合了自然科学和社会科学的知识开发出了系统级的模型和见解,从而使得系统可以实现异质主体 Heterogeneous agents、相变 Phase transition 和涌现行为 Emergent behavior。


在复杂适应系统中,系统的整体比其单独某个部分或部分之和都更加复杂、更有意义。



二、概述

复杂适应系统或者称复杂性科学 Complexity science 这个术语,经常被用来描述围绕系统展开研究的相关学科领域。复杂性科学不是一个单一的理论——它包含不止一个理论框架,并且是高度跨学科的,目标是寻求一些关于生命的、可适应的、可变的系统的基本问题的答案。

针对复杂适应系统的研究可以采用硬方法或软方法:硬方法理论使用精确的形式语言,倾向于认为主体本身具有有形的属性,并且通常认为行为系统中的主体可以以某种方式被控制;而软方法理论则使用自然语言和可能不精确的叙述,且主体是同时具有有形和无形属性。

硬复杂性理论包括复杂适应系统理论和生存理论,软复杂性理论的代表是生存系统理论 Viable System Theory。硬方法理论中的提出的许多命题内容也与软方法理论相关。下面的内容介绍将集中在复杂适应系统上。

复杂适应系统的研究主要集中在系统的复杂性、涌现性和宏观特性上。约翰·霍兰德 John H. Holland指出复杂适应系统是由大量主体组成的系统,主体之间会相互影响,相互适应或学习。

复杂适应系统的典型例子包括:气候、城市、企业、市场、政府、工业、生态系统、社交网络、电网、动物群落、交通流、社会昆虫群体(例如:蚁群)等。除此之外,互联网和网络空间等由复杂的人机交互组成、协作和管理的网络系统也被视为复杂适应性系统。

一般性质 General properties
复杂适应系统(CAS)与多智能体系统 Multi-agent system(MAS)的区别在于,复杂适应系统更关注顶层性质和特征,比如自相似性、复杂性、涌现性和自组织特性。多智能体系统是由多个相互作用的主体组成的系统,而在复杂适应系统中,主体和系统都是自适应的,系统之间是自相似的。复杂适应系统是一个复杂的、自相似的、相互作用的自适应主体的集合。其特点就是具有高度的自适应能力,能够使其在面对干扰时具有一定的恢复能力。

复杂适应系统还有一些其他重要的特性,比如适应性(或者说是内稳态 Homeostasis)、沟通、合作、专业化、时空组织和繁殖。这些特点体现在系统的各个层面上: 细胞和大型生物组织一样,存在分化、适应和繁殖;从个体到系统都在发生着沟通和合作。例如,在某些情况下,可以用博弈论 Game theory 分析系统中主体之间合作的驱动力。

特点 Characteristics
复杂系统的一些最重要的特征是:

  • 个体的数量足够大,以至于常规描述(如微分方程 Differential equation系统)不仅不切实际,而且不再有助于理解该系统。此外,系统个体之间发生动力学上的相互作用,并且这种相互作用既可以是物理的,也可以是信息的交换;

  • 这样的相互作用是非常丰富的,即系统中的任何个体或子系统都受到并影响其他的个体或子系统;

  • 个体间相互作用是非线性 Non-linear的:系统输入、个体间的物理相互作用或刺激的微小变化都可能会导致较大的影响,或使得输出发生非常显著的变化;

  • 相互作用以及受影响性质的调整主要但不仅限于其直接邻居;

  • 任何相互作用都可以直接或在多个干预阶段之后间接反馈到自身,此类反馈的质量可能会有所不同。这种现象称为循环 Recurrency;

  • 系统的整体行为无法通过单个个体的行为来预测;

  • 这样的系统可能是开放的,很难或不可能定义系统的边界;

  • 复杂系统在非平衡态(远离平衡态)的条件下运行,必须要有恒定的能量流来维持系统的组织;

  • 复杂系统具有历史信息,它们不断演化发展,其历史信息对现在的系统行为具有一定的影响;

  • 系统中的个体可能并不了解整个系统的行为,因此仅会对局域的可用信息或物理刺激做出响应。


从建模的角度来看,Robert Axelrod 和Michael D. Cohen 还确定了一系列关键术语:

  • 策略 Strategy:一种有条件的行为模式,指示系统在什么情况下该做什么;

  • 人造物 Artifact (这里的专有名词的翻译有待商榷):一种具有确定位置并可以响应个体行为的物质资源;

  • 主体 Agent:用于与工件和其他个体进行交互的属性,策略和功能的集合;

  • 种群 Population:个体的集合,或在某些情况下是策略的集合;

  • 系统 System:是一个较大的集合,包括一个或多个个体的群体,可能还包括人造物 artifacts ;

  • 类型 Type:总体中具有某些共同特征的所有主体(或策略);

  • 种类 Variety:种群或系统中类型的多样性;

  • 交互模式 Interaction pattern:系统内类型之间的重复接触规律;

  • 空间(物理) Space (physical):个体和工件在地理空间或时间中的位置;

  • 空间(概念) Space (conceptual):“位置”在一组结构合理的类别中,以便“附近”的个体进行交互;

  • 选择 Selection:导致各种类型的个体或策略发生频率增加或减少的过程;

  • 成功标准 Success criteria 或 评价指标 Performance measures:指评价个体或设计者在选择相对成功(或不成功)的策略或个体时的“分数”。


Turner和Baker从文献中综合了复杂适应系统的特征:

  • 路径依赖 Path dependent:系统状态对初始条件敏感,相同的作用在不同初始条件下可能会对系统产生不同的影响;

  • 系统具有历史记忆 Systems have a history:系统的未来行为取决于其初始状态和后续的历史;

  • 非线性 Non-linearity:对环境扰动的反应过大,结果与简单系统的结果不同;

  • 涌现 Emergence:每个系统内部动力学影响其状态改变和改变能力的方式,可能与其他系统完全不同;

  • 不可还原 Irreducible :其过程转换是不可逆的,无法还原到其原始状态;

  • 适应性/适应能力 Adaptive/Adaptability:同时处于有序和无序状态的系统更具适应性和韧性;

  • 在有序和混沌之间运行 Operates between order and chaos:自适应张力是由系统与其所处环境之间的能量差产生的;

  • 自组织 Self-organizing :系统由相互依赖、相互作用的部分组成以及系统内存在多样性。



三、系统的建模与仿真


复杂适应系统有时可以用基于主体的模型 Agent-based model 和基于复杂网络的模型 Complex network-based models 来建模。基于主体的模型主要是通过识别模型中的不同主体,利用各种方法和工具开发的。而开发复杂适应系统模型的另一种方法,则是利用复杂适应系统各组成部分的交互数据来构建复杂的网络模型。

2013年,SpringerOpen/BioMed Central 推出了一个开放的在线获取期刊平台,其主题就是关于复杂适应性系统建模(CASM)。

美国圣塔菲研究所开发的一个模拟工具集——Swarm。Swarm平台可以支持研究者对复杂适应系统使用多主体模拟 Multi-Agent Simulation的方法来开展研究工作。

Swarm介绍
Swarm的背景
Swarm是为复杂适应系统建立模型而设计的软件平台。1995年圣塔菲研究所发布了Swarm的beta版,此后,大约30个用户团体已经安装了Swarm并用它积极地开展建模工作,并完成了一定的工作。Swarm已经帮助提供了讨论模拟技术和方法论的焦点,还提供在特定的研究团体中模型组件和库的共享。

开发Swarm的目的就是通过科学家和软件工程师的合作制造一个高效率的、可信的、可复用的软件实验仪器,它能给予科学家们一个标准的软件工具集,就像提供了一个设备精良的软件实验室帮助人们集中精力于研究工作而非制造工具。

Swarm实际上是一组用Objective-C语言写成的类库,这是一种面向对象的C语言。Swarm的建模思想就是让一系列独立的主体通过独立事件进行交互,帮助研究由多主体组成的复杂适应系统的行为。

通过这些类库包括许多可复用的类,以支持模拟实验的分析、显示和控制,即用户可以使用Swarm提供的类库构建模拟系统,使系统中的主体和元素通过离散事件进行交互。由于Swarm没有对模型和模型要素之间的交互作任何约束,所以Swarm可以模拟任何物理系统、经济系统或社会系统。

事实上在各个广泛的研究领域都有人在用Swarm编写程序,这些领域包括生物学经济学物理学化学和生态学等。

Swarm的逻辑结构
Swarm中最主要的四个部分,往往也是一个Swarm模拟程序经常包括的四个部分是:模型Swarm(ModelSwarm)、观察员Swarm(ObserverSwarm)、模拟主体和环境,其中的ModelSwarm和ObserverSwarm是swarm类的子类,swarm类是Swarm模拟的基本构造块。

ModelSwarm
Swarm就是许多主体(对象)组成的一个整体,这些主体共享一个行为时间表和内存池。显然swarm有两个主要的组成部分:
(1)是一系列对象(Object);
(2)这些对象的行为时间表(Action)。时间表就像一个索引引导对象动作的顺序执行。

  • 对象

ModelSwarm中的每一个对象对应模型世界中的每一个主体。swarm中的主体就像系统中的演员,是能够产生动作并影响自身和其他个体的一个实体。当用户定义了全部对象并为它们建立起关系后,建模的最后一步就是把这些主体放到这个ModelSwarm对象中。

  • 时间表

除了对象的集合,ModelSwarm还包括模型中行为的时间表。时间表是一个数据结构,定义了各个对象的独立事件发生的流程,即各事件的执行顺序。通过确定合理的时间调度机制,可以使用户在没有并行环境的状况下也能进行研究工作,也就是说,在并行系统下主体之间复杂的消息传送机制在该swarm中通过行为表的方式可以在单机环境下实现。

例如,在狼/兔子这个模拟系统中可能有三种行为:“兔子吃胡萝卜”,“兔子躲避狼的追踪”和“狼吃兔子”。每种行为是一个独立的动作。在时间表中,对这三种行为按照以下顺序排序:“每天,兔子先吃胡萝卜,然后它们躲避狼的追踪,最后狼试图吃兔子”。模型按照这种安排好的事件的执行顺序向前发展,并尽量使这些事件看起来像同步发生的。

  • 输入输出

ModelSwarm还包括一系列输入和输出。输入是模型参数:如世界的大小,主体的个数等环境参数。输出是可观察的模型的运行结果:如个体的行为等等。

ObserverSwarm
ModelSwarm只是定义了被模拟的世界。但是一个实验不应只包括实验对象,还应包括用来观察和测量的实验仪器。在Swarm计算机模拟中,这些观察对象放在一个叫ObserverSwarm的Swarm中。

ObserverSwarm中最重要的组件是ModelSwarm。它就像实验室中一个培养皿中的世界,是被观测的对象。ObserverSwarm可以向ModelSwarm输入数据(通过设置模拟参数),也可以从ModelSwarm中读取数据(通过收集个体行为的统计数据)。

与ModelSwarm的设置相同,一个ObserverSwarm也由对象(即实验仪器),行为的时间表和一系列输入输出组成。Observer行为的时间表主要是为了驱动数据收集,即从模型中将数据读出,并画出图表。ObserverSwarm的输入是对观察工具的配置,例如生成哪类图表,输出是观察结果。

在图形模式下运行时,ObserverSwarm中的大部分对象被用来调节用户界面。这些对象可能是平面网格图,折线图或探测器,它们一方面与ModelSwarm相连以读取数据,同时把数据输出到图形界面,为用户提供了很好的实验观察方式。实验结果的图形化有助于直觉地判断,但重要的实验都需要收集统计结果。

这意味着要做更多地工作并存储用于分析的数据。作为图形ObserverSwarm的另一种选择,你可以建立批处理swarm(batch swarms)。它和用户之间没有交互操作。它从文件中读取控制模型的数据并将生成的写入另一个文件中用于分析。它这只是观察方式不同罢了。

模拟主体
Swarm不仅是一个包含其它对象的容器,还可以是一个不包含其它对象的主体本身。这是最简单的swarm情形,它包括一系列规则、刺激和反应。而一个主体自身也可以作为一个swarm:一个对象的集合和动作的时间表。

在这种情况下,一个主体swarm的行为可以由它包含的其它个体的表现来定义。层次模型就是这样由多个swarm嵌套构成。例如,你可以为一个居住着单细胞动物的池塘建立模型。在最高层,生成包括个体的swarm:swarm代表池塘而每个个体代表池塘里的一个动物。动物的细胞也可以看作是由多个个体(细胞质)组成的swarm。这时需要连接两个模型,池塘作为一个由细胞组成的swarm,细胞也作为一个可分解的swarm。

还由于Swarm可以在模拟运行过程中建立和释放,swarm可用来建立描述多层次的动态出现的模型。通过建造ModelSwarm和ObserverSwarm,将模型和数据收集分离开,一个完整的实验仪器就建立起来了。就像一个玻璃下的模拟世界,不同的ObserverSwarm可用来实现不同的数据收集和实现控制协议,但是模型本身没有发生变化。

环境
在一些模型中,特别是在那些具有认知部件的个体模拟中,系统运动的一个重要因素在于一个主体对于自己所处环境的认识。Swarm的一个特点就是不必设计一个特定类型的环境。环境自身就可以看作一个主体。通常情况下,主体的环境就是主体自身。



四、复杂性的演化


复杂性演化中的消极趋势与积极趋势如图所示。在进程的开始时整个复杂适应系统是红色的,系统数量的变化由条形图的高度来表示,每一组图在一个时间序列中向上移动。

复杂性演进中的被动趋势与主动趋势。流程开始时的CAS颜色为红色。系统数量的变化通过条形图的高度显示,每组图按时间序列向上移动


生命体是复杂的适应系统。尽管很难在生物学中量化复杂性,但进化确实产生了一些非常复杂的生物。这种现象导致对进化的普遍误解是”进化是渐进的,并产生了所谓的「高级生物」“。

假设这种说法是普遍正确的,那么进化就会朝着复杂的方向发展。如下所示,在这类过程中,最常见的复杂性程度会随着时间的推移而增加。而事实上,一些人工生命模拟已经表明,复杂适应系统的产生是进化过程中不可避免的特征。

然而,复杂性在进化中的普遍趋势的观点也可以通过一个被动的过程来解释。这涉及到方差的增加,但是最常见的值(即模式),并没有改变。因此,复杂性的最高水平随着时间的推移而增加,但仅仅是总体上有更多生物体的间接产物。这种随机过程也称为有界随机游走 Bounded random walk。

在这一假设中,向更复杂的生物体进化的明显趋势是一种错觉,因为它只注意到了居住在复杂性分布的右端的少数大型、非常复杂的生物体,而忽略了更简单和更普通的生物体。

这个被动模型强调,绝大多数物种是微小的原核生物,它们构成了世界生物量的一半,构成了地球生物多样性的绝大多数。因此,简单生命在地球上仍然占主导地位,而复杂生命仅仅因为抽样的偏差而显得更加具有多样性。

如果在生物学中缺乏一个复杂性的总体趋势,并不排除在某个子系统,存在驱动系统走向复杂性的力量的存在。但这些小的趋势将被其他的进化压力所平衡,使得系统整体朝着不那么复杂的状态发展。



五、相关资源推荐


课程推荐

本课程中,北京师范大学系统科学学院教授,珠海校区复杂系统国际科学中心主任,国际系统与控制科学院院士狄增如,详细地介绍了复杂网络的四个基本模型:规则网,随机图,小世界网络,无标度网络。




六、百科项目志愿者招募


作为集智百科项目团队的成员,本文内容由Yillia Jing,Jing.liu,薄荷参与贡献。我们也为每位作者和志愿者准备了专属简介和个人集智百科主页,更多信息可以访问其集智百科个人主页。



以上内容都是我们做这项目的起点,作为来自不同学科和领域的志愿者,我们建立起一个有效的百科团队,分配有审校、翻译、编辑、宣传等工作。我们秉持:知识从我而来,问题到我为止的信念,认真负责编撰每一个词条。


在这里从复杂性知识出发与伙伴同行,同时我们希望有更多志愿者加入这个团队,使百科词条内容得到扩充,并为每位志愿者提供相应奖励与资源,建立个人主页与贡献记录,使其能够继续探索复杂世界。


欢迎扫描下方二维码添加负责人加入集智百科团队!



来源:集智百科
编辑:曾祥轩



推荐阅读


混沌理论 | 集智百科
来自复杂系统的出行指南
什么是元胞自动机?| 集智百科

新英格兰复杂系统研究所长文综述:复杂系统科学及其应用

复杂系统自动建模综述:描述、预测与理论发现

加入集智,一起复杂!







集智俱乐部QQ群|877391004

商务合作及投稿转载|swarma@swarma.org

◆ ◆ 

搜索公众号:集智俱乐部


加入“没有围墙的研究所”

让苹果砸得更猛烈些吧!



👇点击“阅读原文”,阅读“复杂适应系统”词条原文和有关文献!