自组织与人工生命

Mar 7, 2022

这篇文章主要基于Carlos Gershenson等2018年的综述《Self-Organization and Artificial Life》,算是我对自组织这个概念的一些笔记。人工生命在计算模拟(soft)、机器人(hard)、生物化学(wet)三个领域都有研究,自组织是贯穿其中的暗线。

最近,一位名叫吉尔森逊(Carlos Gershenson)的学者向他的一些同行(其中包括我)分发了一份复杂系统问题表,并计划在名为《复杂性:5个问题》(Complexity:5 Questions)的书中发表这些回应。问题如下:

  1. 你为何会研究复杂系统?
  2. 你怎样定义复杂性?
  3. 你喜欢的复杂性方面/概念是什么?
  4. 在你看来,复杂性最成问题的方面/概念是什么?
  5. 你如何看待复杂性的未来?

摘自《复杂》,梅拉妮·米歇尔

嗐,这个问题清单看得我有点汗颜。研究复杂系统的人,多少觉得自己在回答"宇宙终极问题"——虽然说不清楚到底能不能回答。

什么是自组织(self-organization)?

Ashby (1947)用自组织来描述一个挺有意思的现象:系统中没有中央指挥,个体之间通过局部相互作用,愣是产生了某种整体模式。

说的再直白点:从上帝视角看过去,发现组成系统的零件们自发形成了一种"秩序",这种秩序不是谁特意设计的,而是从零件的集体行为中"涌现"出来的。

自然界里这类例子一抓一把:

A formal definition of the term runs into difficulties in agreeing on what is a system, what is organization, and what is self (Gershenson and Heylighen, 2003), none of which are perfectly straightforward.

翻译过来就是:自组织这个概念,定义起来特别麻烦——什么叫"系统"?什么叫"组织"?什么叫"自"?每个词都能吵半天。

Ashby coined the term “self-organizing system” to show that a machine could be strictly deterministic and yet exhibit a self-induced change of organization (Ashby, 1947).

Ashby这话说得挺有意思:一个完全确定性的机器,也能表现出"自己改变自己的组织"这种行为。听起来有点反直觉。

从热力学的角度看,“组织"就是"熵"的对立面。Shannon把玻尔兹曼的熵公式推广了一下,开了信息论的新坑。于是自组织也有了信息论的版本——自组织系统应该能造成"熵减”,或者让信息内容增加。

物理学家和网络科学家Shalizi (2001)则从另一个角度切入:自组织伴随着统计复杂性(statistical complexity)的增加。

还有一种度量方式是以随机变量的平均值(mean value)为基准(Holzer and De Meer, 2011)——这个我还没太搞明白。

指导自组织(guided self-organization)是另一个有趣的方向。说的是怎么给自组织"设定目标"——找一种系统动力,让它最终收敛到特定的吸引子或结果。这方面研究大多基于信息论,比如考夫曼的随机布尔网络(random Boolean network)。

自组织这个概念在组织科学和人工社会模型里也用得很多。

While there may be no single agreed-on definition of self-organization, this lack need not be an insurmountable obstacle for its study, any more than a lack of a unanimous formal definition of “life” has been an obstacle for progress in the fields of biology or ALife.

这句话挺安慰人的:虽然大家对自组织没有统一的定义,但这不妨碍我们研究它——就像"生命"也没有统一定义,但生物学和人工生命还不是该干嘛干嘛。

研究领域

人工生命的研究大致分成三块:

Soft ALife

Soft ALife主要是做数学或计算模型,模拟类生命行为。这块跟自组织的很多子领域都有关联。

元胞自动机(Cellular Automaton, CA)是早期人工生命研究里最受欢迎的框架之一。元胞自动机这名字听起来挺学术,说白了就是一张格子,每个格子在每个时刻有个状态,格子的状态由周围格子在上一时刻的状态决定——规则简单得有点过分,但能涌现出极其复杂的模式。

元胞自动机能展示的自组织现象包括:

偏微分方程(PDE)在自组织动力学研究方面历史也挺长的。但元胞智能体建模(Agent-based Modelling, ABM)显然更直观、更有表现力。

ABM里最出名的应该是Reynolds的Boids模型。模型里有一种"鸟",根据三条规则移动:

三条规则都简单到近乎简陋,但鸟群飞起来那个协调性,愣是像真的一样。

统计物理、行为生态学等领域也贡献了不少相关模型。这些模型有个共同点:在规则层面完全是去中心化的,但宏观上会呈现出相变——就像水突然结冰,系统的状态发生突变。

这种思路被引入到人工化学领域,比如swarm chemistry。动力学和化学性质不同的"物种"之间发生反应,能涌现出意想不到的时空模式。

近年来,这类集体行为模型还被用到形态发生工程里。通过设计能让主体产生特定宏观模式的行为规则,来实现自组织+可编程结构设计。听起来有点像是"用简单的规则生成复杂的东西"。

其他soft ALife的例子还能在人工社会模拟模型里找到。谢林模型(Schelling segregation model)是经典中的经典:每个人根据自己偏好做决定,结果宏观上造成了社会分化——个体的小决策,加着加着就变成了种族隔离。ABM是人工生命社区探讨社会秩序自组织现象的核心工具,从地理资源管理到合作策略再到共同语言,都能建个模型跑一跑。这方面研究也包括适应性社会网络结构的自组织。

Hard ALife

机器人能感知物理环境并做出反应,这本身就是一种类生命特征。

你别说,哪怕一个特别简单的机器人,也能让观察者产生强烈的"这东西有生命"的感觉。从Walter的tortoises,到基于Braitenberg’s vehicle原理的简单机器,再到近年的仿生设计和生物启发设计——这些物理实体能够利用自身与环境的交互所产生的丰富动态。所以即使是简单的机制和行为规则,也能赋予机器精巧的类生命特性。

增加单个机器人的精巧度,或者增加系统中机器人的数量,都能通过相互作用和自组织获得更高的复杂性。适应性反应(group decision making)之类的特性,就是这么来的。

物理硬件有个天然优势:动力、感知器性能、执行器噪音分布这些物理特征都是真实存在的,不需要在模拟里简化。很多现象必须亲自做实验才能发现。

模拟也有模拟的好处——能处理数量庞大的主体。硬件受限于成本、空间、操作的可伸缩性,传统研究只能用少量机器人。

但有时候,感兴趣的现象并不需要大量机器人。当协调机制建立在间接通信(stigmergy)的基础上时(信息保留在环境中),机器人与环境之间的大量相互作用才是关键。有些情况甚至一个机器人就够用了。

最近硬件进步了,超过1000个机器人的试验也成为可能。

自组织现象的物理实验在不同领域都有应用。物体聚集的研究;从生命系统行为获得灵感,比如蟑螂或蜜蜂;用人工演化等自动化方法设计控制器。集体导航是另一个方向,机器人通过整体方向协调来避开障碍物。集体决策过程中,正反馈(招募过程)和负反馈(交叉抑制)共同影响结果形成。自组装是另一种形式的自组织。

Wet ALife

Wet ALife探讨类生命行为的物理化学合成。自组织是核心原理。

实验发现的反应扩散系统空间斑图形成是个经典例子,比如Belousov-Zhabotinsky反应、类Gray-Scott自复制点。这些动力模式完全由局部化学反应自组织产生。

同样的方法也可以用微观生物有机体(比如黏菌,slime molds)作为自组织媒介。

生命起源研究中,分子自组装是产生原始细胞结构及其代谢动力的重要因素。

最近,宏观可见的化学液滴(droplets,又称liquid robot)的动力行为成为人工生命研究的焦点。化学反应的相互作用、物理微流体动力、以及一些暂时无法解释的微观机制,共同导致了自组织和复杂形态的出现。

此外,基于液滴的系统还被用于解释实验化学系统中的人工演化。

写在最后

读完这些,我对自组织有了新的理解。

首先,自组织系统的"条理性"在一定时间内增加——这是共识。但能不能证明一个系统是自组织系统,取决于你选择什么变量来观察。这点挺有意思的:同一个现象,从不同角度看,可能得出完全不同的结论。

其次,很多自组织的例子中,“自我(self)“这个概念并不明确。所以常常认为系统中所有元素作用相同。这里面有个陷阱:系统边界本身,就依赖于观察者的选择。

控制论和系统论里,系统边界对观察者的依赖被大量讨论。一个人想获得客观描述,但描述本身是观察者写的,多少带点主观色彩。

一旦把这个问题说清楚,自组织就要求我们确定:什么是"self”,什么是"other”,哪些元素让条理性增加。

Maturana和Varela (1980)把生命系统定义为自我再生的系统(self-producing system)。根据这种观点,生命系统的自组织是与生俱来的——它的"自我"在系统内部组分带来的过程中不断产生或再生。可再生系统被认为是有边界的整体(unity),边界包含一些简单基本的系统组分,它们是系统组织的基础,负责系统边界的定义和(重新)生产相同的组分。这是生命系统独特的特征。

如果生命根源于自组织,人工生命也应该如此。

自组织是联结人工生命三个领域的共同语言。人工生命社区的进步归功于共同的概念和定义。尽管存在种种困难,自组织仍是建立共识的重要基础。

确定自组织的机制并对其进行分类,对于合成新的人工生命形式和更好地理解生命本身,非常有用。这些机制应该在系统组分的级别上确定,并确定它们对系统组织的影响。

机制可能包括:系统组分之间的相互作用(对撞、感知、直接交流、间接通信);单独组分的行为模式;信息的增强或压缩(招募、抑制过程)。

机制的影响应该在系统级别的反馈回路(正反馈或负反馈)中可见。这决定了理解自组织的复杂动力。

自组织背后的机制,可以看作合成人工生命的设计模式。通过发现和创造,由于对机制和系统组织的理解,能够以有条理的方法设计出不同形式的人工生命。

以设计目的进行自组织利用的可能性,与生命技术的开发有重要关系。展示生命系统特征的技术——鲁棒性、可适应性、自组织——可以包括自重构、自修复、自管理、自组装等。自组织已经在一些领域内直接用于生命技术。从原始细胞到城市,许多自组织方法论在工程中被提出。

当原则性的设计方法制定出来时,将是一个重大飞跃。更好地理解人工生命的自组织,可以是这种方法发展的前沿。

最后,设想一下:如果自组织在人工生命中不再有用,情况会怎样?

在整个领域中找到一条清晰的线是不可能的,但我们的推理给出了一些线索。

自组织确实不能解释所有类生命过程——比如没有清楚条理性增加的情况。

Hard ALife大力发展了嵌入认知(embodied cognition)的想法和形态学计算(morphological computation)。心智-身体-环境相互作用的动力是其基本方面。这些动力非常复杂,在自组织的框架内很难描述。

演化也是人工生命的代表,但典型的代际演化算法不能清楚表示自组织的元素——因为代际间的组织过程受到自然选择的影响。开放性演化(open-ended evolution)当中心权威不存在且相互作用的个体组成混合群体的过程能够被观察时,会带来一些影响。

探索将自组织注入那些传统上不面向自组织的过程的可能性,将是一个潜在非常富有成果的研究方向。

这篇文章写了自组织的基本概念和人工生命三个领域的工作。说实话,写完之后我有点恍惚:自组织这个概念,从1947年Ashby提出到现在,也快八十年了。我们对它的理解,到底加深了多少?

可能就像文中引用的那句话:没有统一定义不妨碍研究。嗐,先干起来再说。

参考文献

Gershenson, C., Trianni, V., Werfel, J., & Sayama, H. (2019). Self-Organization and Artificial Life. Artificial Life, 25(2), 91-108. arXiv:1903.07456

文中引用的主要文献: