复杂 — 读书笔记/摘录

marswriter
17 min readDec 28, 2021

--

书名:复杂

作者:[美]梅拉妮·米歇尔

译者:唐璐

出版社:湖南科学技术出版社

读书总结

动力系统按照一定的概率往特定方向发展,背后的驱动力是对信息的处理与计算。

信息是降低事件随机性预测的数据,有限的数据能通过优化,最大化信息量。

系统的发展具有很强的网络效应,呈现出分形结构与幂律分布。

我们用模型去理解和近似系统,系统复杂度可以由模型复杂度来表示。

作者介绍

https://zh.wikipedia.org/wiki/%E6%A2%85%E6%8B%89%E5%A6%AE%C2%B7%E7%B1%B3%E6%AD%87%E5%B0%94

梅拉妮·米歇尔(英語:Melanie Mitchell,1969年-)是一位美国计算机科学家,波特蘭州立大學教授,主要研究领域为复杂系统和遗传算法以及細胞自動機[2],主要科普作品有《复杂》(Complexity: A Guided Tour)等。

正文

先问一个简单的问题,什么是“复杂性”?

米歇尔:这个问题“看似简单” — — 其实是最复杂的问题!复杂性研究之所以产生,是因为一些学者强烈地感觉到,一些高度“复杂”的自然、社会和技术系统之间具有深刻的相似性。这种系统的例子包括大脑、免疫系统、细胞、昆虫社会、经济、万维网,等等。说它们“相似”,并不是说必然存在掌控这些不同系统的唯一的一组原理,而是说所有这些系统都表现出“适应性的”、“类似生命的”、“智能性的”和“涌现性的”行为。这些术语都没有精确的定义,也使得目前还不可能形式化地定义“复杂系统”。

有一个通俗的复习系统定义:由大量相互作用的组分组成的系统,与整个系统比起来,组分相对简单,没有中央控制,组分之间也没有全局性的通讯,并且组分的相互作用导致了复杂行为。这里“复杂行为”指的是前面列出的那些术语(适应性、涌现,等等)。

要研究一个学科,先要对概念下明确的定义。

“他受困于语言的混乱 — — 有些词汇定义不清,有些词汇甚至还没有出现……牛顿相信,只要他能找到合适的词汇,他就能引领整个运动科学。……”

通过发明微积分,牛顿最终创造了所需的词汇。借助于无穷小、微分、积分和极限等概念,微积分为严格描述变化和运动提供了数学语言。这些概念在数学中已经存在,但是不完整;牛顿能够发现它们之间的关联,并且构建出和谐统一的宏大建筑将它们结合到一起,让它们彻底一般化。这幢宏大的建筑使得牛顿能够创造出动力学体系。

我们能够类似地发明出复杂性的微积分吗 — — 一种能抓住复杂系统的自组织、涌现行为和适应性的起源和机制的数学语言?一些人已经开始着手于这项宏伟计划。例如,沃尔夫勒姆正在以元胞自动机中的动力学和计算为基础,创造他所认为的新的基础性的自然理论;普里高津和他的追随者曾尝试用一些物理学概念作为基础建立复杂性理论;物理学家巴克(Per Bak)在动力系统理论和相变概念的基础上提出了自组织临界性的概念,并将其作为自组织和涌现的一般性理论;物理学家克鲁奇菲尔德提出了计算力学(computational mechanics),将动力系统、计算理论和统计推断理论结合到一起,解释复杂和适应性行为的涌现和结构。

混沌告诉了我们看上去行为随机的系统并不一定是因为有内在的随机性;遗传学的新发现对基因变化在进化中的作用形成了挑战;对随机和自组织的作用的新认识挑战了将自然选择作为进化的核心力量的观念。非线性、分散控制、网络、层次、分布式反馈、信息的统计表示、本质的随机性,这些思想的重要性在科学界和大众中都逐渐被认识到。

《复杂性:5个问题》(Complexity:5 Questions)的书中发表这些回应。问题如下:

1. 你为何会研究复杂系统?

2. 你怎样定义复杂性?

3. 你喜欢的复杂性方面/概念是什么?

4. 在你看来,复杂性最成问题的方面/概念是什么?

5. 你如何看待复杂性的未来?

这里研究的对象是动力系统。动力系统是以某种方式随时间变化的系统,比如:

  • 太阳系(行星位置随时间变化);
  • 心脏(周期性跳动);
  • 大脑(神经元不断激发,神经递质在神经元之间传递,突触强度变化,整个系统不断变化);
  • 股票市场;
  • 世界人口;
  • 全球气候。

拓扑学是几何学的扩展,正是在研究三体问题的几何结果的过程中,庞加莱发现了对初始条件的敏感依赖性。下面是他对此的总结:

如果我们能知道自然界的定律和宇宙在初始时刻的精确位置,我们就能精确预测宇宙在此后的情况。但是即便我们弄清了自然界的定律,我们也还是只能近似地知道初始状态。如果我们能同样近似地预测以后的状态,这也够了,我们也就能说现象是可以预测的,而且受到定律的约束。但并不总是这样,初始条件的细微差别有可能会导致最终现象的极大不同。前者的微小误差会导致后者的巨大误差。预测变得不可能……

换句话说,即便我们完全知道了运动定律,两组不同的初始条件(在这里是物体的初始位置、质量和速度),即使差别很小,有时候也会导致系统随后的运动极为不同。庞加莱在三体问题中发现了一个这样的例子。

1871年,麦克斯韦在《论热能》(Theory of Heat)一书中提出了一个难题,题为“热力学第二定律的局限”。麦克斯韦假设有一个箱子被一块板子隔成两部分,板子上有一个活门,如图3.1所示。活门有一个“小妖”把守,小妖能测量气体分子的速度。对于右边来的分子,如果速度快,他就打开门让其通过,速度慢就关上门不让通过。对于左边来的分子,则速度慢的就让其通过,速度快的就不让通过。一段时间以后,箱子左边分子的速度就会很快,右边则会很慢,这样熵就减少了。

麦克斯韦妖会在快分子(白色)通往左边时和慢分子(黑色)通往右边时打开门

根据第二定律,要减少熵就得做功。小妖又做了什么功呢?当然,他开门关门无数次。但是麦克斯韦假设了小妖使用的门既无质量也无摩擦,因此开门关门要不了多少功,可以忽略不计(对这种门提出了可行的设计)。那么小妖还做了其他的功吗?

麦克斯韦的回答是没有:“热系统(左边)变得更热,冷系统(右边)变得更冷,然而却没有做功,只有一个眼光锐利、手脚麻利的智能生物在工作。”

为什么没做功,熵也减少了呢?这岂不是违反了热力学第二定律?麦克斯韦的小妖难住了19世纪末和20世纪初许多杰出的头脑。麦克斯韦自己的回答是第二定律(熵随时间增加)根本就不是一条定律,而是在大量分子情形下成立的统计效应,在个体分子尺度上并不必然成立。

但是当时和后来许多物理学家都强烈反对。他们认为第二定律绝对没错,肯定是那个小妖玩了猫腻。既然熵减少了,肯定以某种难以确定的方式做了功,否则不可能。

很多人都想解决这个悖论,但是直到60年后这个问题才被圆满解决。1929年,突破出现了:杰出的匈牙利物理学家西拉德(Leo Szilard)提出,做功的是小妖的“智能”,更精确地说,是通过测量获取信息的行为

复杂系统科学最关注的问题就是这种逆熵的自组织系统是如何可能的。不过要着手这个问题,还要先了解一下什么是“有序”和“无序”,以及人们如何看待对这种抽象性质的度量。

许多复杂系统学家用信息的概念来刻画和度量有序和无序、复杂性和简单性。免疫学家科恩(Irun Cohen)曾说,“复杂系统比简单系统更能接收、存储和利用信息。” 经济学家贝哈克(Eric Beinhocker)写道,“进化不仅只会用DNA耍把戏,对所有能处理和存储信息的系统也可以。”物理学家盖尔曼(Murray Gell-Mann)在讨论复杂系统理论时则说,“虽然它们的物理属性很不相同,它们处理信息的方式却是类似的。这个共性也许是对它们进行研究最好的起点。”

用算法信息量度量复杂性

人们提出了许多改进方法来用熵度量复杂性。其中最著名的方法由柯尔莫哥洛夫(Andrey Kolmogorov)、查汀(Gregory Chaitin)和索罗蒙洛夫(Ray Solomonoff)分别独立提出,他们将事物的复杂性定义为能够产生对事物完整描述的最短计算机程序的长度。这被称为事物的算法信息量。例如,考虑一个很短的(人工)DNA序列:

A C A C A C A C A C A C A C A C A C A C

一个很短的计算机程序,“打印AC10次”,就能输出这个序列。因此这个序列的算法复杂度很低。作为比较,下面是伪随机数发生器生成的一个序列:

A T C T G T C A A G A C G G A A C A T

复杂度就很高。

分形与复杂度

1. 从一条直线段开始。

2. 应用科赫曲线规则:“将每段线段等分成三段,中间一段替换为一个三角形的两条边,每一边都等于原线段的1/3。”因为只有一条线段,应用这个规则后变为:

3. 对生成的图形再次应用科赫曲线规则,不断继续。下面是迭代了两次、三次和四次之后的情形:

最后一张图有点像一条理想化的海岸线。(如果你向左旋转90度,然后斜着看,还真有点像阿拉斯加西海岸。)不过它是严格自相似的:曲线的部分,以及部分的部分,都与曲线整体是一样的形状。如果我们将科赫曲线规则应用无数次,图形在无数尺度上都将是自相似的 — — 完美的分形。而真正的海岸线并不严格自相似。如果你观察海岸线的一小段,它并不与整段海岸线的形状完全一样,而是在许多方面相似(例如,蜿蜒崎岖)。另外,在真实世界中,自相似在无穷小的尺度上并不成立。为了简单起见,海岸线这类真实世界的结构通常被称为“分形”,但更严格的叫法应该是“类分形(fractal-like)”,特别是有数学家在场的时候。

这里已经能够看出维度的意义。一般而言,每次得到的图形都是由上次缩小的拷贝组成,而拷贝的数量则是2的维数次幂(2维数)。对于直线,是21=2个拷贝;对于正方形,是22=4个拷贝;对于立方体是23=8个拷贝。类似的,如果不是二分,而是将各边三分,则每次得到的图形是上次的3维数个拷贝。由此可以总结出一个规律:

将几何结构从各边分成x等份,不断重复这个过程。每次得到的将是前一次的x维数维数个拷贝。

根据维数的这种定义,直线是1维,正方形是2维,立方体是3维。都没有问题。

现在将这个定义类推到科赫曲线。每次直线段都是之前的1/3长,而得到的则是之前的4个拷贝。根据前面的定义,应该是3^维数=4。维数是多少呢?这里我们直接给出结果,根据前面的规律,维数约为1.26。也就是说,科赫曲线既不是1维也不是2维,而是介于两者之间。太奇怪了,分形的维数居然不是整数。这正是分形的奇特之处。

逻辑与计算是等价的,逻辑体系和计算机都是有局限的。

哥德尔不完备定理:任何自洽的形式系統,只要蕴涵皮亚诺算术公理,就可以在其中构造在体系中不能被证明的真命题,因此通过推理演绎不能得到所有真命题(即体系是不完备的)。

为了明确起见,S=“这个命题是不可证的”。句子的意义则记为M。我们可以将M重写为“命题S是不可证的”。某种程度上,你可以将M视为“指令”,而将S视为指令操作的数据。

证明思路:如果“命题S”实际不可证,那就已经找到例子,无法通过推理得到命题S;如果“命题S”实际可证(无论是S为true或者false),那M就表述有误(false),产生悖论。因此这个逻辑体系是不完备的。

注意到“真值为真”和“含义为真”的区别。

同理,停机问题,是否存在一个程序P,对于任意输入的程序w,能够判断w会在有限时间内结束或者死循环。

int P(w);  // 有两种返回值,死循环(0) 或 停机(1)
int U(w) {
while(P(w)) {}
return 0;
}

运行U(U):

P(U) => 1 会停机, 则 U(U) 实际则死循环,P判断出错,矛盾!

P(U) => 0 死循环,则 U(U) 实际则会停机,P判断出错,矛盾!

生命是什么?看一下元胞自动机、免疫系统、蚁群、生物代谢。在其中信息与反馈都扮演了关键的角色。

元胞计算机

想象一个大表格,每个格子的状态由周围的格子状态(信息)决定,可以把这个理解为元胞计算机。

粒子是我们强加给元胞自动机的描述,而不是在元胞自动机中确实发生的事情,遗传算法也没有用它们来演化元胞自动机。然而不知怎的遗传算法却演化出了行为可以用粒子信息处理解释的规则。事实上粒子以及它们之间的相互作用可以作为一种语言,用来解释以一维元胞自动机为背景的分布式计算。沃尔夫勒姆曾提出《元胞自动机理论的二十个问题》,其中最后一个问题是:“对元胞自动机的信息处理能不能给出高层次的描述?”他想要的可能就是类似于这种语言的东西。

免疫系统

激活的B细胞被输送到淋巴结,在那里迅速分裂,产生出大量后代,复制时由于变异,许多后代的受体形状都改变了。然后这些后代会与淋巴结俘获的抗原进行测试(信息)。不能结合的细胞很快就会死去。

存活下来的后代被释放到血液中,其中一些会遇到抗原并与其结合,有时候会比它们的母细胞结合得更紧密。这些激活的B细胞同样又被输送到淋巴结,在那里产生出自己的后代。这也就是为什么当你病了的时候淋巴结会肿大,因为它在大量产生淋巴细胞。

这个循环不断进行,与抗原匹配得越好的B细胞产生的后代也越多。简而言之,这就是一个自然选择过程,B细胞群体进化出能与目标抗原紧密结合的受体形状,从而使得通过选择“设计”出来攻击特定抗原的抗体武器库不断扩大。

蚁群

大部分蚂蚁种类的食物搜索大致是这样进行的。蚁群中搜寻食物的蚂蚁随机朝一个方向搜索,如果遇到食物,就返回蚁穴,沿途留下作为信号的化学物质 — — 信息素(pheromones)。当其他蚂蚁发现了信息素,就有可能会沿着信息素的轨迹前进。信息素的浓度越高,蚂蚁就越有可能跟着信息素走。如果蚂蚁找到了那堆食物,就会返回巢穴,将信息素的轨迹增强。如果信息素的轨迹得不到增强,就会消失。通过这种方式,蚂蚁一起创造和沟通关于食物位置和质量的各种信息,并且这种信息还会适应环境的变化。存在的轨迹和强度很好地表达了搜索蚁协同发现的食物情报

代谢

与前面描述的免疫系统和蚁群的调节机制类似,代谢调节机制也是基于反馈。糖酵解就是这样的例子。糖酵解的一个主要作用是为制造ATP提供必需的化学原料,如果细胞中ATP的量很多(信息),就会减缓糖酵解的速度,从而降低ATP的产生速度。反过来,如果细胞缺乏ATP,糖酵解的速度就会加快。代谢途径的速度一般都受途径产生的化学物质调节。

在元胞自动机的例子中,当我说到信息处理时,我指的不是细胞、蚂蚁或酶这样的单个个体的行为,而是一大群这种个体的集体行为。根据这个框架,信息不像在传统计算机中那样,位于系统中的某个具体位置。在这里它表现为系统组分的动态模式和统计结果。

在免疫系统中,淋巴细胞的空间分布和时间动力学可以解释为体内病原体数量变化信息的动态表示。类似的,细胞因子浓度的空间分布和动态可以解释为免疫系统杀死病原体和避免伤害身体的宏观尺度信息。

对于蚁群,食物源的信息则动态地表示为蚂蚁在不同蚁迹上的统计分布。蚁群的整体状态表示为执行各种任务的蚂蚁的动态分布。

模型是人对自然的理解

模型的例子:

  • 麦克斯韦妖:用来研究熵的概念的理想模型。
  • 图灵机:用来对“明确程序”进行形式化定义以及研究计算概念的理想模型。
  • Logistic模型和Logistic映射:用来预测种群数量的极简模型;后来成为研究动力学和混沌一般性概念的理想模型。
  • 冯·诺依曼自复制自动机:用来研究自复制“逻辑”的理想模型。
  • 遗传算法:用来研究适应性概念的理想模型。有时候也作为达尔文进化的极简模型。
  • 元胞自动机:用于研究一般性的复杂系统的理想模型。
  • 科赫曲线:用来研究海岸线、雪花等分形结构的理想模型。
  • 模仿者:用来研究人类类比思维的理想模型。

网络和幂律

理解指数3/4的一种方式是将其视为表皮假说应用到四维生物的结果!通过简单的维数类比就能明白这一点。圆这样的二维对象有周长和面积。如果是三维,就分别对应表面积和体积。如果是四维,表面积和体积则分别对应于“表面”体积和超体积 — — 这个量很难想象,因为我们天生擅长思考三维,不擅长思考四维。表面积与体积呈指数为2/3的比例关系,通过类似的论证,就可以知道四维的表面体积与超体积呈指数为3/4的比例关系。

进化将我们的循环系统塑造成了接近于“四维的”分形网络,从而使我们的新陈代谢更理解指数3/4的一种方式是将其视为表皮假说应用到四维生物的结果!通过简单的维数类比就能明白这一点。圆这样的二维对象有周长和面积。如果是三维,就分别对应表面积和体积。如果是四维,表面积和体积则分别对应于“表面”体积和超体积 — — 这个量很难想象,因为我们天生擅长思考三维,不擅长思考四维。表面积与体积呈指数为2/3的比例关系,通过类似的论证,就可以知道四维的表面体积与超体积呈指数为3/4的比例关系。

简而言之,布朗、恩奎斯特和韦斯特的观点就是,进化将我们的循环系统塑造成了接近于“四维的”分形网络,从而使我们的新陈代谢更加高效。用他们自己的话说,“虽然生物是三维的,内部的生理结构和运作却表现为四维……分形几何给了生命一个额外的维度。”

分形结构是产生幂律分布的一种方式;如果你发现某种量(例如代谢率)遵循幂律分布,你就可以猜想这是某种自相似或分形系统导致的。

对于语言与词汇的统计,也会呈现出词频分布的幂律性。

生命由基因网络组成

生物系统的复杂性主要来自基因网络,而不是单个基因独立作用的简单加总。基因调控网络目前是遗传学的研究重点。以前的绳子串豆子的观念同孟德尔遗传律一样,都是把基因看做线性的 — — 每个基因都各自负责某个表型。而现在的普遍观念则是,细胞中的基因组成了非线性的信息处理网络,一些基因会根据细胞状态控制其他基因的行为 — — 基因并不是独立运作。

继承了达尔文传统的大部分生物学家都认为,个体发育的有序性有赖于某种分子级的鲁布·戈德堡机器慢慢打磨,这种机器是通过进化一点一滴累积而成的。“我的观点相反:个体发育过程中的美丽秩序大部分是自发的,是极度复杂的调控网络所包含的惊人自组织的自然表达。我们似乎从根本上就错了。秩序,无处不在而且有生命力的秩序,是自然发生的。”

进化生物学家麦舒(Dan McShea)教了我一个思考这些问题的好办法。他将进化论者分为三类:适应主义者,认为自然选择才是主要的;历史主义者,相信历史偶然导致了许多进化变化;以及考夫曼这样的结构主义者,关注的是组织结构如何能没有自然选择也能产生。只有这三类人证明他们的研究能够成为一个整体时,进化论才能统一。

物理学家克鲁奇菲尔德、法墨尔、帕卡德和罗伯特·肖(Robert Shaw)对此说得非常好:“希望物理学能彻底理解基本力从而完结的想法是没有根基的。一个尺度上组分的相互作用会导致更大尺度上复杂的全局行为,而这种行为一般无法从个体组成的知识中演绎出来。”爱因斯坦也曾开玩笑说:“人们相爱不能怪万有引力。”

--

--

No responses yet