从计算机系统研究视角看国家发展与社会治理:分布式系统与CAP定理 | 包云岗_风闻
西方朔-2020-10-15 14:40
袁岚峰中国科学技术大学 微尺度物质科学国家实验室副研究员54 人赞同了该文章关注风云之声
提升思维层次
导读
中国变强大的过程,就是一个复杂系统演进优化的过程。中国能够变得强大是因为执政遵循科学精神。
2019年国庆假期曾预告会写一篇感想《70周年国庆,也谈“自信”》。又一年国庆节快到了,看到知乎上有一个问题,也是借着这个问题把去年国庆节作业给交了。题目改为《从计算机系统研究视角看国家发展与社会治理》(https://www.zhihu.com/question/61308351/answer/1491702349)。
关于这个问题,好几个高赞回答都写得很好。我的回答是:中国能够变得强大是因为执政遵循科学精神。
科学精神,就是要按客观规律办事,要实事求是。国家发展、社会治理有其内在的客观规律,谁违背了都会翻车,中国也曾有过教训。但1978年改革开放以来,中国逐渐变得强大,这期间出现一系列方法和措施,比如“黑猫白猫论”、“摸着石头过河”、经济特区、改革试点……这些其实正是遵循科学精神执政的产物,这是由复杂的社会系统的基本特征所决定的。中国变强大的过程,就是一个复杂系统演进优化的过程。当然,现阶段中国还存在很多问题,还需要不断改进和完善,但只要是遵循科学精神,相信中国会越来越好。
下面将从计算机系统研究角度来对上述结论进行论证与分析,核心思想有两点:
社会本质上是一个系统,即社会系统;社会系统可抽象为计算机领域广泛研究的分布式系统。进一步得到如下推论:
社会系统拥有系统的共性特征;分布式系统的CAP基本定理适用于社会系统;计算机系统研究方法论适用于社会系统。这些内容其实是2019年8月份在我们中心内部的一个报告《从计算机系统研究视角看国家发展与社会治理》。后来在计算所、中科院、清华以及华为等地方小范围交流过,包括一些国际学者(有政治学的),得到很多积极反馈。有鼓励写成一篇文章发表,但一直没有着手启动,借着这个问题把PPT和解读贴出来,作为答案先跟大家分享。
作为一位从事计算机系统研究的科研人员,深刻地体会到改造一个计算机系统的难度——“牵一发而动全身”屡见不鲜。当从计算机系统研究这个视角去看国家发展、社会治理,会发现很多本质上是相通的、一致的。这种“相通一致”是因为背后存在着本质联系。这个报告希望尽可能把这种联系呈现出来(文章比较有点长,图片有点多)。
目录一、复杂系统
① 典型的复杂系统
② 地球上最复杂的社会系统
二、复杂系统的几个关键特征
① 不确定性
② 多维度信息
③ 多目标
三、系统研究的原则与方法
① 原则:区分目标与手段
② 原理:分布式系统中的CAP定理
③ 决策:民主集中制
④ 实施:试错法(Trial-and-Error)
四、关于自信
① 美国的镀金年代与“扒粪运动”
② 德国制造的起源
五、一个具体的例子:物流改进
① 历年两会关于物流的提案
② 国家部委出台政策
③ 地方措施
④ 实施效果
⑤ 持续改进
一、复杂系统我自己的研究方向是计算机系统,所以看到一些复杂系统时,便会产生一种特别的共鸣。下面介绍几个典型的系统。比如,由几百万个零件组成的飞机便是典型的复杂系统。
这是波音787的发动机,每次登机经过发动机时,都会忍不住多看它几眼。
打开航空发动机外壳,里面是各种复杂的部件与管道。每一个细节,管道的粗细、弯曲的角度、扇片涂层的厚度……都汇聚了成千上万人的智慧,是人类经历了数十载摸索的结晶。
最近几年我的研究重心转到开源芯片,对处理器芯片设计关注更多。处理器芯片可以说是一个相当复杂的系统,将它们放大几百倍,看上去像是一座座城市。

操作系统也是典型的复杂系统。最新的Linux操作系统已经超过2700万行代码。多年前微软的Windows Vista源代码就已经超过了5000万行,而Windows 10的完整源代码树甚至包含了400 万个文件、50 万个文件夹,整个大小超过 500GB。


大型企业本身也是一个复杂系统。比如华为,18万员工构成不同的部门,内部有各种流程支撑整个企业的运行。如何管理好华为这样的企业,发挥出企业的效能,其实和管理优化计算机系统是一样的,而且要比管理一个拥有18万台服务器的超大型数据中心要难得多——毕竟服务器是冰冷的。
每一座城市都是一个非常复杂的社会系统。比如,北京有2500万常住人口,215万家企业……
最后,让我们看看这个蓝色星球上最复杂的社会系统——中国,14亿人口、2.5亿辆车、2000万个法人单位、100万个医疗机构、30万所学校、4万个乡镇、5000条航线……看看这些数字,我想没有人会否认“中国是地球上最复杂的社会系统”这一结论。
从1978年到2020年,中国这个复杂的社会系统在40多年间实现了翻天覆地的变化,这背后必然有一些先进的要素在起作用。
这些“先进要素”到底是什么?虽然有很多从政治学、社会学、文化、信仰等不同角度的分析,但作为一位研究计算机系统的科研人员,还是有一些不同角度的观察和看法。下面章节将会从复杂系统的特征、研究方法角度来分析与解读“先行要素”。
二、复杂系统的几个关键特征复杂系统至少存在三个关键特征:① 不确定性、② 多维度信息、③ 多目标
① 不确定性是复杂系统的关键特征之一,这会导致系统行为难以预测。一位物理方向的朋友说,两个物体的相互作用可以精确建模,比如氢原子模型,通过薛定谔方程求解得到的结果和实际测量得到的结果甚至能精确到小数点后十多位。
但是三个物体相互作用的行为却完全不可预测了,这也就是著名的“三体”问题了。所以,一个包含成千上万甚至上亿个元素的复杂系统行为更难预测,在维持其稳定性的前提下改进优化它极具挑战。
② 复杂系统包含了多维度信息,不同视角观察,获取的信息也是不同。我们经常用“盲人摸象”去形容一些人看问题片面,但其实面对一个复杂系统,几乎所有人都是“盲人”,我们很难保证所获得的信息就是全面的。因此信息缺失其实是一种常态。
我很喜欢TensorFlow的logo,有人看起来像T,有人说看起来像F,并且都坚信是自己没看错。确实没看错,从观察者各自的视角来看,都正确,只是他们都缺失了一个维度。这个logo很好的展示了信息缺失的例子。
下面几个数学曲线更生动,我第一次看到这个动图就感受到了一种“大道至简”的美。一个国家、一个社会的复杂度,显然要比这些曲线大几个数量级,所涉及的维度也多得多。但现实世界中我们都只能从自己的经历和出发点来感知社会,这是社会版的“盲人摸象”。接受不同视角、包容不同观点才能更接近真相。平时我很少与人去争论社会问题、政治观点,也因此被人说成有点佛系,其实正是基于对复杂系统这个特征的认识。
