美文网首页模型思维读书书房就是我的全世界
《复杂》 上篇:什么是复杂系统

《复杂》 上篇:什么是复杂系统

作者: 读饭 | 来源:发表于2016-10-13 11:13 被阅读2096次

    今天早上,虽然不到6点我就从床上翻滚起来了,虽然我还是在桌前写着我喜欢的书评,而且也为即将完成的这本感到十分欣慰,我还是有些郁闷。

    本来,今天是按计划跑步的日子,可是窗外雾气缭绕,似先似幻的,让我纠结了101次以后,还是向帝都这深深的雾霾投城放弃。

    昨天天气预报说好的空气良呢?PM 2.5 80呢?才睡了一觉,就都没了。在北方的取暖季,这是个很难绕过去的问题。但是天气预报,怎么也能这么不靠谱?

    天上卫星飞着,大数据收集着,检测频率那么高,为什么还总是晃点人?

    看过了梅拉妮·米歇尔(Melanie Mitchell)的这本《复杂》后,我终于找到了依据:
    天气是个复杂系统,预报对于初始值精度的依赖与微小变化都十分敏感,所以有时会不准。

    梅拉妮是侯世达的学生,目前在波特兰大学执教。主要工作方向是类比推理、复杂系统、基因算法与元胞自动机。《复杂》自2009出版后,一路好评,豆瓣评分9分。而且现在还在勤奋的发表论文,如想查询相关内容,请查询Melanie Mitchell,在pdx和wiki上比较丰富,中文就不要想了。

    《复杂 》<br /> 《Complexity: A Guided Tour》<br />豆瓣 9分

    虽然是本科普书,但是对于我这样的小白来讲也是披荆斩棘,痛苦不已。经过2周的研读,加1周笔记整理和资料补充,终于放出书评。为了能够尽量不损耗书中的主要内容,并尽量易读。将分为两篇书评:
    书评1:《复杂》 上篇:什么是复杂系统(本篇)
    书评2:《复杂》 下篇:复杂系统的精彩实例(简书链接)

    本篇为第1篇,将从起源、演进、定义、度量几个方面介绍什么是复杂系统。

    ① 复杂系统的起源


    [还原论]

    在介绍复杂系统之前,我们先来简单介绍一下还原论,还原论是对这个世界最自然的理解方式。它是说:

    “如果你理解了整体的各个部分,以及把这些部分‘整合’起来的机制,你就能够理解这个整体”。

    但是,随着人们对复杂行为为如何从简单个体的大规模组合中出现进行解释时,混沌、系统生物学、进化经济学和网络理论等新学科胜过了还原论。

    反还原论者的口号“整体大于部分之和”,也随之变得越来越有影响力。

    [复杂系统的例子]

    在日常生活中,其实我们接触的很多都属于复杂系统,比如信息、计算、动力学、混沌和进化等等。我们来举2个生活中常见的例子。

    \ 蚁群

    单只行军蚁是已知的行为最简单的生物,如果将100只行军蚁放在一个平面上,它们会不断往外绕圈直到体力耗尽死去。

    然而,如果将上百万只放到一起,群体就会组成一个整体,形成具有所谓“集体智能(collective intelligence)”的“超生物(superorganism)”。

    \ 大脑

    从某种意义上讲,人类的大脑与蚁群十分相像,两者都是由相对简单的个体组成,个体之间只进行有限的通讯,整体上却表现出极为复杂的系统(“全局”)行为。

    在大脑中,简单个体是神经元。除了神经元,大脑中还有许多不同的细胞,但绝大多数脑科学家都认为是神经元的活动以及神经元群的连接模式决定了感知、思维、情感、意识等重要的宏观大脑活动。

    \ 免疫

    同大脑一样,不同动物的免疫系统复杂程度也各不相同,但总体上的原则是一样的。免疫系统由许多不同的细胞组成,分布在身体各处(血液、骨髓、淋巴结等)。这些细胞在没有中央控制的情况下一起高效地工作。

    免疫系统中的主角是白细胞,也称为淋巴细胞。白细胞能通过其细胞体上的受体识别与某种可能入侵者(比如细菌)相对应的分子。

    有一类细胞被称为B细胞(B是指它们产生自骨髓,Bone marrow),它具有一种奇特的性质:B细胞与某种入侵者匹配得越好,它产生的后代细胞就越多。这样就形成了达尔文自然选择机制,B细胞变得与入侵者越来越匹配,从而产生出能极为高效地搜寻和摧毁微生物罪犯的抗体。

    ② 复杂系统的演进


    [拉普拉斯和牛顿]

    这个事,得从苹果说起,话说iPhone7去掉了耳机插孔,大家各种懵逼……错了,错了,是能吃的那种圆圆的,大部分是红红的水果。就是砸中牛顿大神那种。

    牛顿的定律则是动力学的基础,它们用力和质量作为基本概念解释了一切物体的运动,包括行星。

    / 大神牛顿和三大定律

    下面是著名的牛顿三大定律:

    1. 在任何情况下,一切物体在不受外力作用时,总保持静止或匀速直线运动状态。
    2. 物体的加速度与物体的质量成反比。
    3. 两个物体之间的作用力和反作用力,在同一条直线上,大小相等,方向相反。

    比在学物理上课难为学生更牛叉的是,牛顿力学描绘了一幅“钟表宇宙”的图景:设定好初始状态,然后就遵循着三条定律一直运行下去。

    数学家拉普拉斯认识到其中蕴含了可以如钟表般精准预测的观念:他在1814年断言,根据牛顿定律,只要知道宇宙中所有粒子的当前位置和速度,原则上就有可能预测任何时刻的情况。

    在20世纪40年代计算机被发明出来之后,这种“原则上”的可能似乎有可能变成现实了。

    / 海森堡,第一个踢馆的

    过了很久,1927年。突然来了个踢馆的。

    海森堡(Werner Heisenberg)提出了量子力学中的“测不准原理”,证明不可能在准确测量粒子位置的同时,又准确测量其动量(质量乘以速度)。

    对于其位置知道得越多,对于其动量就知道得越少,反过来也是一样。

    再往后,混沌的发现给了精确预测的梦想最后一击。混沌系统说的是,对于其初始位置和动量的测量如果有极其微小的不精确,也会导致对其的长期预测产生巨大的误差。

    也就是常说的“对初始条件的敏感依赖性”。

    这一点很不符合直觉,事实上,很长一段时间里,科学家们都认为这不可能。然而,混沌现象在很多系统中都被观测到了,心脏紊乱、湍流、电路、水滴,还有许多其他看似无关的现象。现在混沌系统的存在已成为科学中公认的事实。

    / 庞加莱,第二个来踢馆的

    第一个明确的混沌系统的例子可能是19世纪末由法国数学家庞加莱(Henri Poincaié)给出。庞加莱是现代动力系统理论的奠基者,可能也是贡献最大的人,大力推动了牛顿力学的发展。

    庞加莱在试图解决一个比预测飓风简单得多的问题时发现了对初始条件的敏感依赖性。他试图解决的是所谓的三体问题(three-body problem):用牛顿定律预测通过引力相互作用的三个物体的长期运动。

    正是在研究三体问题的几何结果的过程中,庞加莱发现了对初始条件的敏感依赖性。

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

    [非线性系统]

    还原论者喜欢线性,而非线性则是还原论者的梦魇。比如说研究种群数量的生物学家常用逻辑斯蒂模型(logistic modl)描述这种情形下群体数量的增长。

    R=4时的曲线(大于3.569946时),数值无法预测

    系统存在混沌也就意味着,拉普拉斯式的完美预测不仅在实践中无法做到,在原则上也是不可能的,因为我们永远也无法知道小数点后的无穷多位数值。

    这是一个非常深刻的负面结论,它与量子力学一起,摧毁了19世纪以来的乐观心态——认为牛顿式宇宙就像钟表一样沿着可预测的路径运行。

    ③ 复杂系统定义


    [复杂系统共性]

    为了定义复杂系统,我们先从复杂系统的共性分析:

    1. 复杂的集体行为:前面讲到的所有系统都是由个体组分(蚂蚁、B细胞、神经元、股票交易者、网站设计人员)组成的大规模网络,个体一般都遵循相对简单的规则,不存在中央控制或领导者。大量个体的集体行为产生出了复杂、不断变化而且难以预测的行为模式,让我们为之着迷。
    2. 信号和信息处理:所有这些系统都利用来自内部和外部环境中的信息和信号,同时也产生信息和信号。
    3. 适应性:所有这些系统都通过学习和进化过程进行适应,即改变自身的行为以增加生存或成功的机会。

    [复杂系统定义]

    定义1:复杂系统是由大量组分组成的网络,不存在中央控制,通过简单运作规则产生出复杂的集体行为和复杂的信息处理,并通过学习和进化产生适应性。

    如果系统有组织的行为不存在内部和外部的控制者或领导者,则也称之为自组织(self-organizing)。由于简单规则以难以预测的方式产生出复杂行为,这种系统的宏观行为有时也称为涌现(emergent)。这样就有了复杂系统的另一个定义:

    定义2:具有涌现和自组织行为的系统。

    [混沌理论带来的革命]

    看似混沌的行为有可能来自确定性系统,无须外部的随机源。

    一些简单的确定性系统的长期变化,由于对初始条件的敏感依赖性,即使在原则上也无法预测。虽然混沌系统的具体变化无法预测,在大量混沌系统的普适共性中却有一些“混沌中的秩序”,例如通往混沌的倍周期之路,以及费根鲍姆常数。

    因此虽然在细节上“预测变得不可能”,在更高的层面上混沌系统却是可以预测的。

    [混沌理论举例]

    作者的儿子尼可还在瞒跚学步时,会让他通过电话同奶奶讲话。他喜欢讲电话,不过只会说一个字——“da”。他发给奶奶的信息是“da da da da da……”

    换句话说,尼可的宏观状态只有一种可能的微观状态(“da”序列),因此虽然这个宏观状态很有趣,信息量却为零。

    奶奶知道听到的会是什么。我的儿子杰克两岁了,他也喜欢讲电话,不过他的词汇量大些,因此会告诉奶奶他干的事情,经常让奶奶对他讲的话吃惊。

    显然发送者杰克的信息量要多得多,因为可能的微观状态——即各种不同的信息组成的集合——要多得多。

    ④ 复杂系统的原理:计算存在局限


    [希尔伯特问题和哥德尔定理]

    希尔伯特、哥德尔和图灵

    / 希尔伯特的问题

    有一位德国数学大师希尔伯特(David Hilbert)于1900年在巴黎的国际数学家大会上提出来三个问题:

    1. 数学是不是完备的?也就是说,是不是所有数学命题都可以用一组有限的公理证明或证否。
    2. 数学是不是一致的?换句话说,是不是可以证明的都是真命题?
    3. 是不是所有命题都是数学可判定的?也就是说,是不是对所有命题都有明确程序(definite procedure)可以在有限时间内告诉我们命题是真是假?也就是所谓的Entscheidungsproblem(“判定问题”),它可以追溯到17世纪的数学家莱布尼茨(Gottfried Leibniz)。

    这三个问题过了30年都没有解决,不过希尔伯特很有信心,认为答案一定是“是”,并且还断言“不存在不可解的问题”。

    / 哥德尔的解答

    不和谐的是,就在他做出上述断言的同一次会议中,一位25岁的数学家宣布了对不完备性定理的证明,他的发现震惊了整个数学界,这位年轻人名叫哥德尔(Kurt Gödel,图4.2)。

    不完备性定理说的是,如果上面的问题2的答案是“是”(即数学是一致的),那么问题1(数学是不是完备的)的答案就必须是“否”。

    他给出了一个数学命题来证明这个观点:

    1. 有个命题A,这个命题很奇怪,说的是它不可证。
    2. 我们姑且称它为“命题A”。现在假设命题A可证,那它就为假(因为它说它不可证),这就意味着证明了假命题——从而算术是不一致的。
    3. 如果我们就假设命题A不可证,这就意味着命题A为真(因为它断言的就是自己不可证),但这样就存在不可证的真命题——算术是不完备的。
    4. 因此,算术要么不一致,要么不完备。
    5. 干得漂亮。

    / 图灵的解答

    哥德尔干净利落地解决了希尔伯特第一和第二问题,接着第三问题又被英国数学家图灵(Alan Turing)干掉了。同样,他的答案也是“否”。

    1. 首先,要先“明确程序”指的是什么呢?图灵的第一步就是定义这个概念。
    2. 图灵通过构想一种强有力的运算机器来阐述他的定义,这个机器不仅能进行算术运算,也能操作符号,这样就能证明数学命题。
    3. 通过思考人类如何计算,他构造了一种假想的机器,这种机器现在被称为图灵机。并成了电子计算机的蓝图。
    4. 经过图灵机演算,不存在明确的程序能够解决停机问题。也就彻底埋葬了希尔伯特的第3个问题。证明复杂,请感兴趣的同学自己翻书补充。
    5. 这里有个里程碑的意义在,图灵证明了计算存在局限,这与改变了大多数人的观点和直觉相反。

    ⑤ 如何度量复杂度


    我们以度量复杂度的3种方法作为本文的结束:

    1. / 用逻辑深度度量复杂性
      1. 为了更加接近我们对复杂性的直觉,数学家班尼特在20世纪80年代初提出了逻辑深度(logical depth)的概念。
      2. 一个事物的逻辑深度是对构造这个事物的困难程度的度量。
      3. 高度有序的A、C、G、T序列显然很容易构造。
      4. 同样,如果我要你给我一个A、C、G、T的随机序列,你也很容易就可以做出来,用个硬币或骰子就可以了。
      5. 但如果我要你给我一个能够生成可发育的生物的DNA序列,如果不偷看真正的基因组序列,别说你,任何一个生物学家都会觉得很难办到。
      6. 用班尼特的话说,“有逻辑深度的事物……从根本上必须是长时间计算或漫长动力过程的产物,否则就不可能产生。”
    2. / 用算法信息量度量复杂性
      1. 物理学家盖尔曼(Murray Gell-Mann)提出了一种称为“有效复杂性(effective complexity)”的相关度量,更符合我们对复杂性的直观认识。
      2. 盖尔曼认为任何事物都是规则性和随机性的组合。
      3. 例如,序列1就有非常简单的规则性:重复的AC模式。序列2则没有规则性,因为它是随机产生的。与之相比,生物的DNA则有一些规则性(例如,基因组不同部分之间存在重要关联),也有一些随机性(例如DNA中的垃圾)。
      4. 序列2处于另一个极端,因为是随机的,所以没有规则性。因而也不需要信息来描述,虽然序列本身的算法信息量是最大的,序列规则性的算法信息量——其有效复杂性——却为零。
      5. 简而言之,就如我们希望的,最有序和最随机的事物有效复杂性很低。
    3. / 用统计复杂性度量复杂性
      1. 我们也可以用统计复杂性(statistical complexity)的量,度量用来预测系统将来的统计行为所需的系统过去行为的最小信息量。
      2. 例如,序列1的信息源模型可以很简单:“重复AC”;因此其统计复杂性很低。
      3. 然而,与熵或算法信息量不同,对于产生序列2的信息源也可以有很简单的模型:“随机选择A、C、G或T。”这是因为统计复杂性模型允许包含随机选择。
      4. 统计复杂性的度量值是预测系统行为的最简单模型的信息量。
      5. 与有效复杂性一样,对于高度有序和随机的系统,统计复杂性的值都很低,介于两者之间的系统则具有高复杂性,与我们的直觉相符。
    **读饭,读书如吃饭**<br> Ⓡⓔⓐⓓⓘⓝⓖ  Ⓕⓤⓝ

    相关文章

      网友评论

        本文标题:《复杂》 上篇:什么是复杂系统

        本文链接:https://www.haomeiwen.com/subject/chdwyttx.html