学习笔记

学习书目:《复杂》- 梅拉妮·米歇尔


复杂性度量

在讨论如何度量复杂性之前,我们先思考一下复杂科学是如何产生的呢?

答案是复杂性科学不止一个,而是有好几个,每个对复杂性的定义都不一样。其中一些定义很正式,一 些则不那么正式。如果想要有统一的复杂性科学,就得弄清楚这些正式或非正式概念之间的关联。要对过于复杂的复杂性概念进行尽可能地提炼,但是这项工作目前还远未结束。

只要了解一点科学史就能明白,核心概念缺乏公认的定义是很普遍的。

科学的进步往往就是通过为尚未完全理解的现象发明新术语实现的:随着科学逐渐成熟,现象逐渐被理解,这些术语也逐渐被提炼清晰。

也许将来我们也会将复杂性分解成几个基本方面,并最终将这几个方面结合起来,形成对复杂现象的全面理解。

物理学家劳埃德提出了度量一个事物或过程的复杂性的三个维度:

描述它有多困难?

产生它有多困难?

其组织程度如何?

用大小度量复杂性

复杂性的一个简单度量就是大小。根据这个度量,如果比较碱基对数量,人类比酵母复杂250倍,如果比较基因数量,人类则只比酵母复杂4倍。不过单细胞变形虫的碱基对是人类的225倍,拟南芥的基因与人类的大致一样多。 人类显然要比变形虫或芥菜复杂鸭,这就表明用基因组的规模来度量复杂性并不合适。

用熵度量复杂性

我们知道,香农熵为信息源相对于信息接收者的平均信息量惊奇度

举个例子:假设消息由符号A、C、G和T组成。如果序列高度有序,很容易描述,例如“A A A A A A A……A”, 则熵为零。完全随机的序列则有最大可能熵。

这么听起来好像有点问题耶!

我们可以随机排列A、C、G和T来人工构造一个基因组,这个随机的基因组几乎不可能有用,却会被认为比人类基因组更复杂。很显然,正是因为基因组不是随机的,而是不断进化从而让基因更有利于我们的生存。

简单的香农熵不足以抓住我们对复杂性的直观认识。

用算法信息量度量复杂性

人们提出了许多改进方法来用熵度量复杂性。其中最著名的方法法由柯尔莫哥洛夫、查汀、和索罗蒙洛夫分别独立提出,他们将事物的复杂性定义为能够产生对事物完整描述的最短计算机程序的长度。这被称为事物的算法信息量。

例如,考虑一个很短的(人工模拟的)DNA序列(注意!这个例子我们后面会经常用到):

A C A C A C A C A C A C A C A C A C A C(序列1)

一个很短的计算机程序,打印AC10次,就能输出这个序列。因此这个序列的算法复杂度很低。

下面是我用伪随机数发生器生成的一个序列:

A T C T G T C A A G A C G G A A C A T(序列2)

如果我的随机数发生器没有问题,这个序列就不会有可识别的特征,因此程序要长一些,比如 打印字符串A T C T G T C A A A A C G G A A C A T。显然序列1可以压缩,而序列2则不能,因而包含更多算法信息量。

与熵类似,随机对象的算法信息量也会比我们直观上认为复杂的事物的信息量更大。(这句话有点拗口,请仔细研读)

物理学家盖尔曼提出了一种称为有效复杂性的相关度量,更符合我们对复杂性的直观认识。

盖尔曼认为任何事物都是规则性随机性的组合。例如,序列1就有非常简单的规则性:重复的AC模式。序列2则没有规则性,因为它是随机产生的。

有效复杂性定义为包含在描述中的信息量或规则集合的算法信息量,两者等价。

序列1具有规则性,即AC不断重复。描述这个规则性所需的信息量就是它的算法信息量:程序打印AC数次的长度.因此,事物的结构可预测性越大,有效复杂性就越低。

序列2处于另一个极端,因为是随机的,所以没有规则性。虽然序列本身的算法信息量是最大的,然而序列规则性的算法信息量(其有效复杂性)却为零。

有效复杂性度量方法就如我们希望的那样,最有序和最随机的事物有效复杂性很低。

那么现在,有一个问题。我们该如何给出这些规则?如果不同观察者对于系统的规则不能达成一致又办?

对于一个事物的各种不同规则集,我们可以利用奥卡姆剃刀来决定哪个规则集是最好的。最好的规则集是能描述事物的最小规则集,同时还能将事物的随机成分最小化。

用逻辑深度度量复杂性

为了更加接近我们对复杂性的直觉,数学家班尼特在20世纪80年代初提出了逻辑深度的概念。一个事物的逻辑深度是对构造这个事物的困难程度的度量。

用班尼特的话来说:有逻辑深度的事物 ……从根本上必须是长时间计算或漫长动力过程的产物,否则就不可能产生。

或像劳埃德所说的那样:用最合理的方法生成某个事物时需要处理的信息量, 等同于这个事物的复杂性,这是一个很吸引人的想法。

用热力学深度度量复杂性

劳埃德和裴杰斯提出了一种新的复杂性度量 ,即热力学深度。

热力学深度首先是确定产生出这个事物最科学合理的确定事件序列, 然后测量物理构造过程所需的热力源和信息源的总量

同逻辑深度一样,热力学深度也只是在理论上有意义,要真的用来度量复杂性也存在一些问题。

统计复杂性

物理学家克鲁奇菲尔德和卡尔·杨定义了一个称为统计复杂性的量,度量用来预测系统将来的统计行为所需的系统过去行为的最小信息量

例如,序列1的信息源模型可以很简单:重复AC, 因此其统计复杂性很低。

然而,与熵或算法信息量不同,对于产生序列2的信息源也可以有很简单的模型:随机选择A、C、G或T,这是因为统计复杂性模型允许包含随机选择。

因此,与有效复杂性一样,对于高度有序和随机的系统,统计复杂性的值都很低,介于两者之间的系统 则具有高复杂性.

用层次性度量复杂性

1962年,西蒙发表了一篇著名的文章《复杂性的结构》,文中西蒙提出一个系统的复杂性可以用层次度来刻画:复杂系统由子系统组成,子系统下面又有子系统,不断往下。

西蒙认为,复杂系统最重要的共性就是层次性和不可分解性。西蒙列举了一系列层次结构的复杂系统。例如,身体由器官组成,器官又是由细胞组成,细胞中又含有细胞子系统。

不可分解性指的是,在层次性复杂系统中,子系统内部的紧密相互作用比子系统之间要多得多。例如, 细胞内部的新陈代谢网络就比细胞之间的作用要复杂得多。

总结

还有很多度量复杂性的方法,比如用计算能力度量、用分形维度度量等,在这里不做赘述。各种度量都抓住了复杂性思想的一些方面,但都存在理论和实践上的局限性,还远不能有效刻画实际系统的复杂性。度量的多样性也表明复杂性思想具有许多维度,也许无法通过单一的度量尺度来刻画。


后记:原本准备3天完结,后来发现臣妾做不到。如果头3天不能完结,按照我的niao性,大概率会拖更,但是大概3个星期内能完结吧。

《复杂》读书笔记(part5)--复杂性度量相关推荐

  1. 《犯罪心理学》读书笔记(part5)--犯罪心理的形成与内在因素的影响(下)

    学习笔记,仅供学习 文章目录 犯罪心理的形成与内在因素的影响 犯罪动机 犯罪动机的转化 不明显的犯罪动机 犯罪者的智力特征 智力描述 智力犯罪 犯罪者的气质特征 气质的概念 气质与犯罪 犯罪者的情绪. ...

  2. 《乌合之众》读书笔记(part5)--名望的特性就是阻止我们看到事物的原本面目,彻底麻痹我们的判断力

    摘抄书中论点,不代表个人观点,仅供学习参考 书籍:<乌合之众:大众心理研究>–古斯塔夫·勒庞 乌合之众 在所有社会阶层,从最高级到最低级,一旦人不再是孤立状态,他就会立刻处于某个领袖的领导 ...

  3. 《自卑与超越》读书笔记(part5)--如果教育者把性格和智力的发展都归之于遗传,那么教育就没有什么意义了

    摘抄书中论点,不代表个人观点,仅供学习参考 自卑与超越 现代教育的思想是:我们要教会孩子自立并为他人着想.应该教他们关于文学.科学和艺术的知识,让他们为人类文明的发展做出自己的贡献,而不只是习得工作技 ...

  4. 《娱乐至死》读书笔记(part5)--那些想当上帝的人把自己塑造成观众期望的形象

    觉得不错的句子收藏 娱乐业并不是不想超越平凡,但它的主要目的是取悦观众,它的主要策略是运用技巧.如果政|zhi真的像娱乐业,那么它的目的就不是追求一目了然.公正诚实和超越平凡,而是要做到看上去这样. ...

  5. 【Effection C++】读书笔记 条款29~条款30

    [Effective C++]读书笔记 Part5 实现 条款29:为异常安全而努力是值得的 当异常被抛出时,待哟异常安全性的函数会: 不泄漏任何资源. 不允许数据败坏. 异常安全函数提供以下三个保证 ...

  6. 【Effection C++】读书笔记 条款28:避免返回handles指向对象内部成分

    [Effective C++]读书笔记 Part5 实现 条款28:避免返回handles指向对象内部成分 避免返回handles(包括references,指针,迭代器)指向对象内部.遵守这个条款可 ...

  7. 【Effection C++】读书笔记 条款27:尽量少做转型动作

    [Effective C++]读书笔记 Part5 实现 条款27:尽量少做转型动作 C++中的类型转换语法 类型转换语法主要有三种不同的形式: (T)expression //将expression ...

  8. 【Effection C++】读书笔记 条款26:尽可能延后变量定义式的出现时间

    [Effective C++]读书笔记 Part5 实现 条款26:尽可能延后变量定义式的出现时间 非循环中的变量定义 尽量延后变量定义式的出现时间,主要包括两个方面: 直到必须使用变量的时候才对其进 ...

  9. 度量相似性数学建模_数学之美读书笔记

    2020年6月读,先通读一遍,随后为写读书笔记又重新读了一遍,收获颇丰,虽然没有很多数学或者编程方面的知识,但正如作者所说,这本书讲述的是道,而非术. 读这本书让我领略到了科学的趣味,并不是枯燥的敲代 ...

最新文章

  1. [剑指offer]面试题28:字符串的排列
  2. dcdc芯片效率不高的原因_半导体厂商如何做芯片的出厂测试?
  3. es安装IK中文分词器
  4. Win10电脑死机怎么办
  5. spring boot rabbitmq_Spring Boot2(十):RabbitMQ 详解
  6. 「代码随想录」本周小结!(动态规划系列一)
  7. Python一个很好玩的特性decorator
  8. nlp n-gram_NLP中的单词嵌入:一键编码和Skip-Gram神经网络
  9. C++ 解决大数运算(大数加法,大数幂运算,大数求余)
  10. Linux(2)- Linux基础命令
  11. 工业相机:传感器尺寸与像元尺寸的关系
  12. 【刷题-每天一算法】赛马
  13. ciscn 2020 Misc the_best_ctf_game
  14. C语言实现 神奇魔方
  15. 2020年,你必须掌握的前端技术栈
  16. 电脑系统数据丢失了是什么原因?找回方法有哪些?
  17. 【面试题】从123456中取出三个数,取出三个不同数的概率是多少?
  18. 【路径规划】基于蚁群算法求解机器人栅格地图路径规划matlab代码
  19. 我们不想清楚Web2.0的得失成败,我们就无法成功开启Web3.0
  20. 工业品销售,如何才能轻松赢得订单!

热门文章

  1. service不是内部或者外部命令
  2. android 布局点击效果,如何让LinearLayout也有类似Button的点击效果?
  3. ZigBee,ZStack
  4. python面试题_17道Python面试题,分享给你以防不测!
  5. 平方环法_2019环法挑战赛加速诸暨“运动之城”建设 推动“体育+旅游”新热潮...
  6. myBatis如何返回count(*)得到的int值
  7. 教你从头写游戏服务器框架
  8. 让phpstorm 支持 vue文件并且语法高亮
  9. IT领域中混合云管理工具扮演什么角色?
  10. 智慧城市落地难的原因分析