《控制论和科学方法论》读书笔记

《控制论和科学方法论》 是一本运用控制论、系统论的某些概念来介绍科学方法论的科普书。 这是一本仅有 214 页的小册子,可以花很少时间看完。这本书虽然在讲控制论,但是书中没有 任何数学公式,阅读不需要任何专业基础,是非常通俗易懂的科普读物。本书的一大特色是, 通过丰富易懂的小故事、例子来论述控制论和科学方法论的观点,浅显易懂,引人入胜。

豆瓣链接: 《控制论和科学方法论》· 金观涛

《控制论和科学方法论》封面

我决定阅读本书的原因是,由于当时在机器人行业工作,身边有许多做机器人控制领域的同学, 因此我希望了解一下控制论的世界观和认识论,这样有帮助于我对机器人的领域的认识加深、 以及和这些同学们更好的合作。

本文是《控制论和科学方法论》的读书笔记,除去笔记之外,本文还包括一些对计算机领域的联想。

控制和反馈

  1. 事物发展变化中面临的各种可能性集合称这个事物的可能性空间。
  2. 事物发展的可能性空间是由事物内部的矛盾决定的。人们根据自己的目的, 改变条件,使事物沿着可能性空间内某种确定的方向发展,就形成了控制。 控制是一个事物可能性空间有方向的选择的过程。
  3. 控制前后的可能性空间之比称为控制能力。
  4. 控制就是可能性空间的缩小。

控制的方式

随机控制

“一个一个试试看”,例如 一把一把的试钥匙开门。

有记忆的控制

凡是被证明不是目标状态的就不再当做选择对象了,这些状态将从下一个可能性空间中排除除去。

排除法是典型的有记忆的控制方式,例如 筛法求素数

筛法求素数 - 图片来自 维基百科

有记忆的控制在计算机中非常常见,即有状态的算法过程,比如 动态规划 中的状态数组, 可以缓存已经计算过的结果,加快求解过程。 例如采用递归方式求解斐波那契数列时,时间复杂度是指数级 $O(2^n)$, 而采用动态规划 DP 数组的方式,复杂度则降低为 $O(n)$ 。

动态规划求解斐波那契数列的示意图

简单的 二分法 也可以算作一种有记忆的控制, 它通过引入一个值来不断排除不可能的查找范围,记住存在可能的查找范围。

二分查找的示意图 - 图片来自 itnext.io

从我的理解来看,计算机算法的时间复杂度,就是控制中可能性空间缩小的快慢问题。

共轭控制

通过共轭变换 $L^{-1}AL$ 达到对原过程 A 的控制目标的控制方式。

数学上,常把相反的一对事情叫做 “共轭” 的,比如 共轭复数 中, 我们称复数 $a + bi$ 和 $a-bi$ 是共轭的,两个复数的乘积是 $a^{2} + b ^ {2}$ 。

共轭控制的示意图如下:

共轭控制的示意图

作者以 曹冲称象 的历史故事作为共轭控制的一个例子: 把大象的重量变换成石头的重量的变换视作 $L$ , 称出石头的重量的过程是 $A$ , 最后把石头的重量变换成为大象的重量视作 $L^{-1}$ 。

曹冲称象的例子

我们熟知的 阿基米德浮体原理 也是一个类似的例子:

物体在水中受到的浮力等于它排开水的重力。

因为同体积的水的高度差和原物体处处一致,又由于浮力是水压力差的缘故,所以,在同一深度上,原物体和同体积的水受到的浮力是一样大的。 而同体积的水受力平衡,所以,原物体的浮力和同体积的水的重力就是一致的。这里同样,把原物体的浮力变换成同体积的水视作变换 $L$ , 分析同体积的水的受力情况的过程是 $A$ , 获得这块水的浮力大小,最后把同体积的水变换回原物体,受到的浮力应该不变, 这个过程视作 $L^{-1}$ 。

浮力的分析示意图

负反馈调节

通过系统不断把自己控制结果与目标作比较,使得目标差在一次一次控制中慢慢减少,最后达到控制目的。

反馈是控制论的核心概念。

书中举了两个例子来对比控制的效果,一个是 “步枪打鸟” 的方式,预先瞄准, 子弹飞行过程中的路线是预先规划好的,一旦鸟逃跑了或者更换了方向,就会打不中。

步枪打鸟的例子

另一个则是采用了负反馈控制的例子,”老鹰抓兔子”, 老鹰会不断根据兔子的位置变化,来调整自己追击的速度和方向,这样更容易命中目标。

老鹰抓兔子的例子

在这个例子中,老鹰的控制系统的工作流程是这样的:

老鹰抓兔子的例子控制系统的工作流程

我们可以看到: 观察式地、不断根据反馈进行调整的策略,要优于既定的、计划的策略。

其实,生活中有一个非常有趣的例子,大部分人或许听说过,人蒙住双眼后,走路会走出一个圆圈来,而不是直线,虽然 他认为自己在走直线,或者看一下这个知乎问题: 《怎样在黑暗环境中保持走直线?》。 这是因为,人的两只脚走路的时候,会存在误差的,无论是方向上,还是步长上,没有人可以做到两只脚完全一样的步伐前进。 而我们睁着眼走路时,大脑就运行了负反馈调节的机制。

图片来自 https://visionsynergy.net/articles/walking-in-circles

记得,在做机器人的时候,一位工程师告诉我,机器人是没有办法在一个大的平面上走直线的。 对于只搞软件的同学,这似乎难以理解。不过,只要理解,机器人的脚(或者轮子)也是有误差的,这个事情就容易理解了, 机器人也需要观察环境,通过反馈信息来修正自己的步伐。

在控制理论中,有两种控制方式: 开环控制闭环控制。 开环控制是指没有考虑反馈的简单控制方式,而闭环控制则是考虑反馈的、根据反馈不断计算误差进行控制调整的方式。

闭环控制和开环控制的流程对比

可以说,负反馈是我从控制论的科普中获取到的最大的一个收获。这个思想在机器人开发、乃至所有的自动化控制领域都应用十分广泛。 闭环的控制方式意味着系统响应式能力更强、抗干扰能力更好, 应对环境信息变化的能力更好。 最出色的系统,是双闭环系统 ,也就是, 两个协作中的系统,最好都是闭环的。

在互联网服务治理的话题中,服务降级和熔断都是负反馈控制的例子。 降级或者熔断模块在观察到流量异常或者服务不健康时,会降级服务质量,甚至熔断请求。

服务熔断示意图

在互联网通信中,TCP 的流量控制拥塞控制 都使用了负反馈机制。

  • 流量控制: 数据的接收方会反馈给发送方自己缓存区剩余空间的大小,来告诉对方自己可以接收多少流量。 防止发送方的速度太快,而自己接收速度太慢,导致自己的缓冲区被淹没。 其本质上是由接收方控制的、平衡生产者和消费者速度的机制

    TCP 流量控制的一个示意图

  • 拥塞控制:流量控制是为了避免生产和消费速度不同步的问题,拥塞控制则是为了避免中间信道的拥塞问题。 由于 TCP 通信中,发送方有重传机制,因此,一旦信道拥塞,重传会加剧这个问题,出现恶性的正反馈效应。 发送方通过观察网络拥塞的情况,来动态地调整发送数据的多少。具体来说,发送方维护一个 「发送窗口」 , 如果收到接收方的确认消息,则尝试增大这个窗口,发多一些,否则,如果发生丢包,则减小这个窗口,避免拥塞。 其本质上是由发送方控制的、避免发送过多甚至重传导致的信道拥塞的机制

    TCP 拥塞控制的一个示意图

闭环控制中的一个经典的控制器是 PID 控制器,它广泛应用在工业控制中。

PID 通过计算误差的三个增益来自动对控制系统进行校正, 分别是:

  • 比例增益 Proportion:反应系统当前最基本的误差(现在)。
  • 积分增益 Integral :反应系统的历史累计误差(过去)。
  • 微分增益 Derivative:则反应系统的误差的变化率,具有预见性(未来)。

下面是 PID 控制器的一个示例图,它非常像对原有系统的一个 “调节阀门” ,通过对误差的三种观察方式,综合地进行调节。

PID 控制器的一个示意图

这里有一个非常棒的关于 PID 的介绍视频

在计算机的世界中,闭环控制、负反馈的概念其实并没有那么流行,基本上很少人知道。我猜, 是因为计算机程序的世界里,大部分的事情是精确的,不会有噪音、干扰的问题。不过,在机器人的世界里, 或者其他类似的领域, 硬件和驱动输入的信息是存在噪音的、 控制是存在误差的,在这种情况下, 负反馈的控制思路则是非常必要的。

因此,对于负反馈在计算机软件上的应用,我的结论是,如果存在以下的一些情况,是可以考虑负反馈调解的算法的:

  • 无法精确地控制系统
  • 系统的输入存在噪音、干扰
  • 需要对环境的变化做出反应,不断校正系统

关于反馈机制和计算机的联系,有两本书:

  • 《Feedback Control for Computer Systems》, 中文译名是 《企业级编程与控制理论》 ,其中对反馈控制在计算机中的一些应用做了介绍和代码样例的说明,比如反馈机制调节缓存系统的命中率、 控制服务集群的负载等。
  • 《自动控制 多学科视角》, 其中从多个学科 (包括计算机、经济学、机器人学等)视角对自动控制理论进行介绍。

此外,我认为,闭环的思想还具有其哲学意义,和网络上常说的 闭环思维 不大相同, 其意思是指,凡事有交代,事事有回音。 而我在机器人工作的这段时间内,对 “闭环思维” 的理解是指: 不可假设协作方是 OK 的。 这里,有两个层面的含义:

  • 在系统设计层面:

    一方面,假设环境的不确定性,则需要自身系统考虑的事情更多,更强

    另一方面,环境的不确定同样要求系统更智能,需要观察环境变化来做出适应性的调整。

  • 在团队协同层面,假设协作方出错,则要求自己做的更多。 自我闭环,不依赖对方来完成目标,是一种自强的要求。

正反馈与恶性循环

和负反馈相反,正反馈是目标不大增大的过程。正反馈很少在工业中使用,因为它经常被冠于 “恶性循环” 的称号。 负反馈调节致力于把系统校正到稳定态, 正反馈则让系统离稳定态越来越远

一个典型的正反馈的例子,是原子弹爆炸中的核链式反应

核裂变链式反应示意图 - 图片来自 核武器物理基础知识

在互联网服务的话题中,一个正反馈造成恶性循环的例子是流量雪崩。比如,当网站的流量过大时,造成服务不健康, 访问用户会尝试重新刷新,这会进一步增大网站的访问流量。同样的问题,也会发生在服务器内部服务间的调用上, 如果客户端”不假思索”地进行调用重试,会增大服务端的访问压力,加剧服务异常。

正反馈效应,往往会造成指数级增长的现象,即 幂律分布 的现象。 Google 搜索中就存在这样的现象,一个网站的排名越高,则它被访问的机会越大,而网站被访问的越频繁,则会导致它的排名越高。 类似的累积正反馈的例子非常多。 人们所常说的 马太效应 也是一个正反馈的例子, 强者愈强,弱者愈弱。

信息、思维和组织

信息

什么是知道?

可以把”知道”, 看成获得信息的过程,看作人们对事物可能性空间了解程度发生变化的过程

为什么信息量的度量采用负对数的形式?

好处在于,几次获得的信息量加起来,就是获得的总信息量。 即采用负对数的形式度量信息量,可以使得结果具有可加性

关于这一点,书中举了一个通俗易懂的例子: 假设我们要在一个 1000人 的工厂里找到一个熟人,考虑下面三句话带来的信息量:

  1. 一个车间有 100 人,要找的熟人在第一个车间。

    这句话带来的信息量,使得可能性空间缩小到原来的 $\frac {100} {1000}$ , 也就是 $\frac {1} {10}$ 。

  2. 一个车间有 10 个小组,每个小组有 10 个人,要找的熟人在第一个小组。

    这句话带来的信息量,使得可能性空间缩小到原来的 $\frac {10} {100}$ 也就是 $\frac {1} {10}$ 。

找人的例子的示意图

两句话总下来,可能性空间的减少就是 $\frac {1} {10} \times \frac {1} {10}$ , 即 $\frac {1} {100}$。

用负对数的形式来看,第一句话带来的信息量是 $- \log \frac {100} {1000}$, 第二句话带来的信息量是 $- \log \frac {10} {100}$ , 两句话带来的信息量之和就是 $(- \log \frac{100}{1000}) + (- \log \frac {10} {100} )$ ,即 $-log \frac {1} {100}$ 。

从这个分析可以看出来, 信息量采用对数的形式,是出于可加性 。 而采用负数的形式,是为了信息量度量的非负性,因为可能性的缩小是一个小于 $1$ 的小数,取对数后的值是负数

事实上,信息论中的信息熵 的定义 就是采用了负对数的形式:

\[H(X) = -\sum^{}_{x\in X} p(x)\log p(x)\]

其中,$P(x_{i})$ 代表随机变量 $X$ 取值 $x_{i}$ 的概率。

这个公式看上去不那么好理解,可以考虑其特殊情况,如果 $X$ 对各个值取值的概率是相同的 $\frac {1} {n}$ ,那么 $H(x) = - n \times \frac {1} {n} \times \log \frac {1} {n}$ 也就是 $H(x) = \log {n}$ 。 举例子来说,我们要编码一个有 $8$ 个值的枚举类型,那么需要 $\log 8$ 个比特,也就是 $3$ 个比特。

如果我们有一枚硬币,抛硬币的结果,无非是正面朝上还是背面朝上,可以用 $0, 1$ 进行编码,叫做一个比特, 如果以比特作为信息量的度量单元的话,$\log {n}$ 的意思是说,对 $X$ 的信息量进行编码,需要 $\log {n}$ 个比特。

上面的信息熵公式,是一个更为一般情况下(当 $X$ 取值的概率并不均匀的时候)的信息量的表达。 关于这个公式,知乎上有一个非常好的回答: 信息熵是什么

从信息熵的公式上,可以读出一个有趣的意义: 越小概率的事情发生了产生的信息量越大 , 比如 “太阳从西边升出来了”,是个很小概率的事情, 所以这个事情一旦发生,包含的信息量是非常大的。

信息的传递

信息在传递过程中的形式称为信号。

信息的传递是指可能性空间缩小过程的传递。

实行控制需要获得足够多的信息量,这是一条重要的原理。 信息和控制的关系反映了认识论中的知行合一,知表示获得信息,行表示实行控制:

人们只有对外部世界有所认识,才可以能动地去改造它。 反之,人们只有参与对外部世界的改造,才能够获得它他们的真知。

《控制论和科学方法论》· 金观涛

信息传递的主观性 对于不同的人、同样的话,有不同的内容。 所谓 一千个人眼中有一千个哈姆雷特。

信息的通道

通道容量: 单位时间内可以传递的最大信息量,称为这一通道的容量。

干扰和滤波

当信息传递时,可辨状态的控制能力减弱或失去控制能力时,我们说,信息的传递受到了干扰。

信息在传递过程中,信息量只会不断减少,不会增加。

滤波的方法:

  • 同一通道重复传递

    对排除随机发生的、偶然发生的干扰比较有效。但是不能排除同一通道系统性的、规则性的干扰。

    TCP 的重传机制,就是一种同一通道重复传递的例子。在互联网开发领域中,客户端对于服务端的重试调用行为,也是一个例子。

  • 不同的通道传递同一个信息

    相比上一种办法,换一个通道传递同一个信息,可以避免通道本身规则性的干扰。

    书中举了一个通俗易懂的例子,高等生物采用减数分裂的方式来繁殖,相当于设立了两个信息通道,子代分别从父本和母本获取信息, 然后进行校对,这样就避开了许多遗传过程中的干扰。

  • 阻抗滤波法

    找到干扰和携带信息信号的本质差别,用一种装置或手段让干扰信号通不过去,而携带信息的信号可以顺利通过。

    无线电中电容器通不过低频信号但能通过高频信号,电感则相反 (高通滤波器 ,对应的是 低通滤波器)。

    书中还举了一个收音机的例子,收音机的天线其实可以接收到所有频率的信号,收音机中的滤波器只允许对应频率的信号通过, 这样就不会使得播放的节目变的嘈杂。

    生物的感受器都有其特定的工作范围,比如耳朵只能感受 20 赫到 2 万赫 之间的声波。

  • 反馈滤波法

    利用收到的有用信号和通道相互作用,以便抑制无用信号通过。

    人的感官所接收的信息不一定都是人所需要的,即使信息在人的适宜接收的范围内,仍然有许多无用信息。这些信息被送到大脑后,大脑会做出鉴别, 把注意力集中到有用的信息上, 对无用信息则采取 「视而不见,听而不闻」 的办法。

卡尔曼滤波

卡尔曼滤波 是控制理论中非常著名, 一种高效的自回归滤波器。

《控制论和科学方法论》书中并未提及卡尔曼滤波,但是由于它在控制理论中的重要地位, 因此我也进行了一定程度的学习,并记录笔记于此。

由于基于经验的预测值和基于测量的观测值,都存在误差, 因此卡尔曼滤波的方式是通过融合 预测值(先验)和观测值 (似然) 得出最优估计结果 (后验)。

看到一句话说:

Filtering is weighting .

滤波即加权

指数移动平均 是我们常用的一种加权方法,它拥有一个简洁的递推式:

\[x_{n}=\alpha x^{\prime}+(1-\alpha)x_{n-1}\]

其中,$\alpha \in [0,1]$ 。 这个递推式的意思是说,序列 $x_{n}$ 的第 $n$ 项是融合了第 $n-1$ 项 $x_{n-1}$ 和 最新的值 $x^{\prime}$ 的结果,参数 $\alpha$ 表达了分别吸收两个值的比重, 也就是加权的多少。 这样,在实际的计算实现中,我们只需要存储最新的一个序列值 $x_{n-1}$ 即可, 而不需要存储额外的信息,即可对新的输入 $x^{\prime}$ 求得 $x_{n}$ 。 移动平均线经常用于信号平滑处理、分析曲线走势、 剔除毛刺数据等,也可以作为一种滤波器用于降噪。

指数移动平均会给出实际数据的光滑趋势线 - 图片来自 fourmilab.ch

类似地,卡尔曼滤波算法也是一种加权融合的方法。

\[\hat{x}_{n,n}=~ \hat{x}_{n,n-1}+ K_{n} \left( z_{n}- \hat{x}_{n,n-1} \right ) = \left( 1-K_{n} \right ) \hat{x}_{n,n-1}+ K_{n}z_{n}\]

其中, $K_{n}$ 是观测值 $z_{n}$ 的权重, $\left( 1-K_{n}\right)$ 是预测值 $\hat{x}_{n,n-1}$ 的权重。

此公式是一维卡尔曼滤波的递推方法, $K_{n}$ 就是卡尔曼增益。

和指数移动平均的递推式一样,卡尔曼滤波的递推式是一种递归的估计, 因此只要获知上一时刻状态的估计值以及当前状态的观测值就可以计算出当前状态的估计值,不需要记录详细的历史信息。

卡尔曼滤波假设预测值、观测值,均携带噪声,且均符合高斯分布。 事实上,如果我们假设预测值和观测值的高斯分布的方差分别是 $\sigma_{0} ^{2}$ 和 $\sigma_{1} ^{2}$ , 也就是假设下面两个高斯分布的尺度参数分别是 $\sigma_{0}$ 和 $\sigma_{1}$ ,卡尔曼增益 $K$ 的计算结果其实是:

\[K = \frac {\sigma_{0} ^ {2}} {\sigma_{0} ^ {2} + \sigma_{1} ^ {2}}\]

推导过程请参考 How a Kalman filter works, in pictures。 可以看到, $K$ 和 $\sigma_{0}$ 正相关,$K$ 和 $\sigma_{1}$ 反相关。

下面的图中, 黄色钟形区域表示预测值的高斯分布, 绿色钟形区域表示观测值的高斯分布, 紫色钟形区域则是两个高斯分布乘积而形成的融合后的高斯分布, 我们取这个分布的均值作为最优估计的结果。

  • 当观测值方差较小、预测值方差较大时,那么,卡尔曼增益 $K$ 相对会更大,即更多地相信观测值,融合后的分布向观测值一侧偏:

    更多地相信观测值的情况 ( $K$ 比较大的时候) - 图片来自 kalmanfilter.net

  • 反之,当观测值方差较大、预测值方差较小时,卡尔曼增益 $K$ 相对会更小,则更多地相信预测值,融合后的分布向预测值一侧偏:

    更多地相信预测值的情况 ( $K$ 比较小的时候) - 图片来自 kalmanfilter.net

可以看到, 卡尔曼滤波实际上是一种对经验预测和实际观测做加权融合的方法,此外,其权重会聪明地跟随更可信的一方。

在某种意义上,卡尔曼滤波的递推式和指数移动平均递推式相似,但是,前者的权重系数 $K$ 是随时间,即迭代次数 $n$ ,变化的。

关于卡尔曼滤波的一些阅读资料:

信息的存储

信息的保存实际上是一种传递性变换,把不稳定的可辨状态变换成为一种稳定的可辨状态的办法。 它也遵守信息量衰减的规律。

信息加工和思维
  • 逻辑推理

    从已知的一些判断推导出新的判断。

    逻辑推理是一种信息加工方式,它告诉我们可能性空间怎样缩小才是合理的。

    如下图所示,当我们知道 $A$, $B$, $C$ 都是正确的,那么其相交的部分 $D$ 也是正确的。

    根据已知判断推导新的判断

    书中举了另外一个例子,来表明有时候逻辑推理不能仅仅从直觉上完成,而需要数学计算。

    通过某地区的水井变枯来预测地震的例子:

    • 这个地区发生五级以上地震平均是 3000 年一次。
    • 这个地区井水变枯平均为 30 年一次。
    • 地震发生前 90% 的井水要变枯。

    书中通过可能性空间的计算,给出了答案。把问题用可能性空间进行建模,如下图所示:

    用可能性空间对问题进行描述

    推导过程:

    \[\frac {D} {A} = \frac {D} {B} \cdot \frac {B} {C} \cdot \frac {C} {A}\]

    代入:

    \[\frac {D} {B} = 90\%, \frac {B} {C} = \frac {1} {3000}, \frac {A} {C} = \frac {1} {30},\]

    得到:

    \[\frac {D} {A} = \frac {90} {100} \cdot \frac {1} {3000} \cdot \frac {30} {1} = \frac {9} {1000}\]

    也就是,在井水变枯的条件下,地震的可能性都不到 $1\%$ 。

    这一个问题也可以直接套用 贝叶斯公式

    \[P(A | B) = \frac {P(B | A) \cdot P(A)} {P(B)}\]

    把「井水变枯」当做上述公式中的事件 $B$ ,把 「发生地震」当做上述公式中的事件 $A$,则:

    • $P(B|A)$ 在地震发生条件下,井水变枯的概率 $90\%$ 。
    • $P(A)$ 为地震发生的先验概率,为 $\frac {1} {3000}$ 。
    • $P(B)$ 为井水变枯的先验概率,为 $\frac {1} {30}$ 。

    代入计算得:

    \[P(A | B) = \frac {\frac {90} {100} \cdot \frac {1} {3000}} {\frac {1} {30}} = \frac {9} {1000}\]
  • 自由联想

    从控制论的角度看,人的思维空间可以分为两个部分,一个称为形象空间,一个称为概念空间。

    人们常用的,「抽象 - 思考 - 具象」 的思维方式,是一种共轭控制的过程。 在计算机软件建模中,我们经常使用抽象的思维方式。

    对形象进行抽象的示意图

系统及其演化

因果联系形式

  • 因果长链

    有序的事件序列,且因果链之中的任何一个事件都将引起下一事件的发生。

    成语“顺藤摸瓜”之中所说的“藤”常常指的就是因果链,而“瓜”则指的是根本原因。

  • 概率因果

    原因和结果之间的联系,常常不能由「必然」和「一定」来归结,事实上,自然界许多事物之间的联系是有随机性的。

    贝叶斯网络 是一种 有向无环图 的概率图模型。 连接两个节点的箭头代表此两个随机变量是具有因果关系,或非条件独立,有向边的权值表示其条件概率,如下图所示:

    贝叶斯网络的示意图

  • 互为因果

    互为因果的关系使得各种因素的相互作用形成一个环,环是一种无端的结构,所以如果要追索终极原因的话, 我们可以发现它的无限性就存在于系统的内部。

  • 因果网络

相对孤立系统

相对孤立系统是划分系统系统的方法。

系统的划分是主观的。 系统并不是指一个客观存在的实体,而是人们的一种规定。 人们把一组相互耦合并且相关程度较强的变量规定为一个系统。当某些变量与我们所要考察的那些变量的相关性小到一定程度的时候, 就不再把它们作为系统的组成部分。

这一点非常像软件构建中的 「高内聚、低耦合」 的思想。下面的图示中,系统间的关系线代表着系统间的耦合, 系统内模块间的线代表着系统内的聚合。

软件设计中的内聚关系和耦合关系

系统的稳态结构

系统状态的三种可能:稳态、振荡或崩溃、稳态结构向另一种稳态结构演化中。

稳态:如果干扰使得一个系统偏离此状态,系统内的相互作用仍可以使它回到这一状态。 一个互为因果的体系可以因自身的相互作用而处于一种不变的稳定的状态,一般干扰都不会破坏这种状态。

整个系统处于稳态结构的条件是系统的每一个子系统都处于稳定态。

负反馈调节是一种最简单的稳态结构。负反馈是系统趋向稳定的过程,正反馈是系统偏离旧稳态向新稳态过渡的过程。

系统理论,是从反馈开始的。

利用稳态结构我们可以预见那些看起来极为复杂的系统将怎样发展变化,我们可以期望那些稳定的结构是事物最有可能趋向的目标。 我们可以省略许多中间步骤,当只需要知道最终结果的时候,尤其这样。

关于这一点,书中的例子:

  • 碳氢化合物燃烧可能进行哪些化学反应?可能分解或化合哪些中间产物?是一个非常复杂的问题。 但是大家知道最终必定形成水和二氧化碳,因为在高温和氧气充分的条件下,只有水和二氧化碳这两种产物才是最稳定的。
  • 如果我们要对一群蜜蜂飞行的位置进行估计。如果我们对蜜蜂进行实时的跟踪,是非常复杂的。但是如果只要看一下附近有哪些丰盛的花草, 就可以知道蜜蜂一两个小时后会到哪里去。

均匀和稳定

所谓某一个系统在空间上是均匀的,是指对物体空间各位置实行任一变换,变换后,系统不变。

我们用筷子搅拌糖水,糖水发生流动:

  • 如果糖水是均匀的,那么搅拌后浓度分布和原来一样。
  • 如果糖水不是均匀的,搅拌后,则浓度分布比之前更为均匀了。

我们可以从上面的例子发现,均匀性和稳定性之间有一些联系。 稳定性是系统在干扰作用下不变的性质,如果干扰刚好是对系统位置的无序变动, 那么它显然不会改变系统的均匀性,这种性质是稳定的。

热力学第二定律 认为, 一个孤立系统不管内部如何变化,它的熵总是要趋向极大。 熵趋向极大就是变成一种内部均匀的、无序的、混乱的情况。

在统计学意义上,熵度量的是系统的无序度,也就是说,系统越杂乱无章,它的熵值越大。

有序程度角度理解熵增定律 - 图片来自 jamesclear.com

对于一杯水来说,从冰块、到融化为液体、再到气化为气体,其熵是不断变大的过程:

水在不同形态下的熵的情况、分子的有序情况 - 图片来自 stackexchange.com

从可能性空间的角度来理解熵增的含义: 自然界会自发地朝着可能性空间更大的方向发展

这里采用一个非常棒的来自抖音视频 (@科学声音) 的解释:假设一个密封的盒子,一分为二,里面有四个积木,我们假设两种情况:

  • 情况 1 : 盒子两边各两个积木的情况 (共有 6 个可能)
  • 情况 2 : 盒子左边一个积木,右边三个积木的情况 (共有 4 个可能)

当我们拿起盒子摇晃时,显然,更可能地落在情况 1 上。 在这个例子中,熵增的意思是说, 系统会自发地向情况 1 发展,也就是向可能性空间更大的方向发展。

一个以可能性空间理解熵增的例子

然而,有许多系统,是相反的,它们向有序的、可能性空间更小的方向发展。比如控制过程本身。

控制是一种逆熵过程。 – 《系统科学大学讲稿》· 苗东升

另一个例子,是生物界,几乎所有的生命过程,都是相反的。

生命以负熵为生。 – 《生命是什么》· 薛定谔

但是,这并不意味着熵增定律是错误的,生命体不断的吸收低熵物质,放出高熵物质, 自身不再视作「孤立系统」, 而总体系统则仍然满足熵增定律。

耗散结构:指远离热力学平衡状态的开放系统, 此系统和外环境交换能量、物质和熵而继续维持平衡。现实中存在大量跟外界有密切交往的开放体系,它们是「活的」,能够通过新陈代谢存在下去。

最后,备注几个有趣的问题:

不稳定和周期性振荡

几乎所有的稳定系统,在一定条件下都可以转化为不稳和振荡。

当振荡频率一定时,可以用这种振荡来构成计时系统。

下图是一个经典的 摆钟 的工作机理示意图:

摆钟的工作机制示意图 - 图片来自 知乎 - 摆钟是如何工作的?

计算机和电子世界中所使用的 晶振 也是采用振荡来计时的原理。

子系统以正反馈这种方式相互作用,就会使系统不稳定,而负反馈则是使系统趋向稳定的作用方式。 通常,在一个反馈回路中,加一个「放大器」,在一定条件下可以将原来趋于稳定的相互作用作用变成不稳定的, 而在反馈回路中加一个滤波器,则可以使原来不稳定的相互作用变成稳定的。

超稳定系统

保持高度稳定性的系统。

超稳定系统具有一个重要特点: 靠不稳定来维持稳定。

实际上,要维持系统长期稳定不变是不容易做到的,唯一的办法是,系统本身发生变化的时候,不稳定出现时,重新修复系统。 因此超稳定系统有一种特殊现象,就是周期性地出现「稳定 — 不稳定 —- 稳定」的现象。

《大脑设计》 中提到一个内稳定器的设计,具有两个特点:

  • 如果某一个子系统对稳定态有着不大的偏移,这时其他子系统对它的相互反馈作用可以帮助它回到原稳定态。
  • 如果系统只有一个稳定态,那么不管系统开始处于什么状态,由于子系统之间的相互作用,系统最终总会达到这个稳定态。

自繁殖现象

自繁殖系统的共同特点:在一定条件下,某变量值越大,变量值增加越快。往往呈现指数级增长的现象。

很多自繁殖系统的形成,是由于负反馈机制的破坏而引起的。

自繁殖是系统演化过程中的一个不稳定的阶段,这种不稳定迅速把系统由原来的稳定结构推向另一种稳态结构,产生一个新的系统。

自组织系统

一种在一组事物或变量之间自动发生的过程,不需要这组事物或者变量以外的力量进行干预, 这样形成的系统叫做自组织系统。

作者在书中举了一个非常有趣的自组织的例子:如果地球磁场和其他磁场不存在,考虑一批磁针,它们最开始的指向都是混轮的, 并且可以自由地来回摆动,但是慢慢地,由于在自由摆动过程中,某些磁针可能指向偶然地一致,于是就会形成「小团体磁场」 ,于是最后所有的磁针都指向一样的方向。

磁针阵自组织现象

类似的例子,还有许多,比如星系的起源,人类社会的形成等等。

自组织系统有着以下 5 个特点:

  • 先有一个组织核心。
  • 自组织系统是一个不稳定系统,或者亚稳定系统。

    因为只有这样的系统才具有向各种不同组织形式发展的可能。 如果系统过于稳定,改变它的结构需要外界施加很大的影响才可以,它的组织过程就很难自动进行。

  • 自组织系统内部存在着一条因果关系的自动选择链。
  • 自组织过程是不可逆的。
  • 自组织系统差之毫厘,谬以千里。

一个问题: 自组织的过程,和熵增定律矛盾的吗?

智力放大与超级放大器

控制论把智力在某种程度上看作一个人或者组织在单位时间内进行正确选择的能力。 智力放大,就是选择能力放大的问题。

刘邦自己没有军事指挥能力,但是他善于用人,选择了张良、萧何、韩信这样的名将,这样他的智力就得到了放大。

此外,计算机是常见的智力放大器。

毕。

* * *
评论 首页 订阅 ↑顶部