打字猴:1.70106611e+09
1701066110 其组织程度如何?
1701066111
1701066112 劳埃德列出了40种度量复杂性的方法,这些方法分别是从动力学、热力学、信息论和计算等方面来考虑这三个问题。我们已经了解了这些概念的背景,现在我们可以来看看其中一些定义。下面我会通过比较人类基因组与酵母菌基因组的复杂性来阐释这些定义。人类基因组大约有30亿组碱基对(即核苷酸对)。据估计人类大约有25000个基因——也就是对蛋白质进行编码的区域。让人吃惊的是,只有2%的碱基对组成了基因;其余的非基因部分被称为非编码区。非编码区有几个功能:其中一些用来防止染色体解体;一些则帮助调控真正基因的运作;有一些则可能是没有任何作用的“垃圾”或者功能还没有被发现。
1701066113
1701066114 你肯定听说过人类基因组计划,但你可能不知道还有一个酵母菌基因组计划,这个计划的目标是测定几种酵母菌的完整DNA序列。测出的第一种被发现大约有1200万组碱基对和6000个基因。
1701066115
1701066116 复杂 [:1701064753]
1701066117 用大小度量复杂性
1701066118
1701066119 复杂性的一个简单度量就是大小。根据这个度量,如果比较碱基对数量,人类比酵母复杂250倍,如果比较基因数量,人类则只比酵母复杂4倍。
1701066120
1701066121 250倍还是蛮多的,看来人类还是挺复杂,至少比酵母复杂。不过单细胞变形虫的碱基对是人类的225倍,拟南芥的基因与人类的大致一样多。
1701066122
1701066123 人类显然要比变形虫或芥菜复杂,至少我希望是这样。这就表明用基因组的规模来度量复杂性并不合适;我们的复杂性应该是某种比碱基对或基因的绝对数量更深刻的东西(图7.1)。
1701066124
1701066125 复杂 [:1701064754]
1701066126 用熵度量复杂性
1701066127
1701066128 另一种直接的复杂性度量就是香农熵,在第3章曾将香农熵定义为信息源相对于信息接收者的平均信息量或“惊奇度”。举个例子,假设消息由符号A、C、G和T组成。如果序列高度有序,很容易描述,例如“A A A A A A A……A”,则熵为零。完全随机的序列则有最大可能熵。
1701066129
1701066130
1701066131
1701066132
1701066133 ▲图7.1从左上角依顺时针分别是:酵母、变形虫、人类、拟南芥。哪个最复杂?如果用基因组长度度量复杂性,那变形虫毫无疑问会跑冠军(如果它有腿的话)。[酵母照片来自NASA(http://www.nasa.gov/mission_pages/station/science/experiments/Yeast-GAP.html);变形虫照片来自NASA(http://ares.jsc.nasa.gov/astrobiology/biomarkers/_images/amoeba.jpg);拟南芥照片由Kirsten Bomblies提供;人类照片来自范维尔(John van Wyhe)编辑的网上达尔文作品全集(http://darwin-online.org.uk/),经许可引用]
1701066134
1701066135 用香农熵度量复杂性有一些问题。首先,所针对的对象或过程必须像上面一样转换成某种“消息”的形式。这并不总是那么容易做到,例如,人类大脑的熵该怎么度量呢?另外,随机消息的熵最高。我们可以随机排列A、C、G和T来人工构造一个基因组,这个随机的基因组几乎不可能有用,却会被认为比人类基因组更复杂。很显然,正是因为基因组不是随机的,而是不断进化从而让基因更有利于我们的生存,例如控制我们的眼睛和肌肉发育,才使得人类如此复杂。最复杂的对象不是最有序的或最随机的,而是介于两者之间。简单的香农熵不足以抓住我们对复杂性的直观认识。
1701066136
1701066137 复杂 [:1701064755]
1701066138 用算法信息量度量复杂性
1701066139
1701066140 人们提出了许多改进方法来用熵度量复杂性。其中最著名的方法由柯尔莫哥洛夫(Andrey Kolmogorov)、查汀(Gregory Chaitin)和索罗蒙洛夫(Ray Solomonoff)分别独立提出,他们将事物的复杂性定义为能够产生对事物完整描述的最短计算机程序的长度。这被称为事物的算法信息量。  [88]  “例如,考虑一个很短的(人工)DNA序列:
1701066141
1701066142 A C A C A C A C A C A C A C A C A C A C(序列1)
1701066143
1701066144 一个很短的计算机程序,“打印A C 10次”,就能输出这个序列。因此这个序列的算法复杂度很低。作为比较,下面是我用伪随机数发生器生成的一个序列:
1701066145
1701066146 A T C T G T C A A G A C G G A A C A T(序列2)
1701066147
1701066148 如果我的随机数发生器没有问题,这个序列就不会有可识别的特征,因此程序要长一些,比如“打印字符串A T C T G T C A A A A C G G A A C A T”。显然序列1可以压缩,而序列2则不能,因而包含更多算法信息。与熵类似,随机对象的算法信息量也会比我们直观上认为复杂的事物的信息量更大。
1701066149
1701066150 物理学家盖尔曼(Murray Gell-Mann)提出了一种称为“有效复杂性(effective complexity)”的相关度量,  [89]  更符合我们对复杂性的直观认识。盖尔曼认为任何事物都是规则性和随机性的组合。例如,序列1就有非常简单的规则性:重复的A C模式。序列2则没有规则性,因为它是随机产生的。与之相比,生物的DNA则有一些规则性(例如,基因组不同部分之间存在重要关联),也有一些随机性(例如DNA中的垃圾)。
1701066151
1701066152 为了计算有效复杂性,首先要给出事物规则性的最佳描述;有效复杂性定义为包含在描述中的信息量或规则集合的算法信息量,两者等价。
1701066153
1701066154 序列1具有规则性,即A C不断重复。描述这个规则性所需的信息量就是它的算法信息量:程序“打印A C数次”的长度。因此,事物的结构可预测性越大,有效复杂性就越低。
1701066155
1701066156 序列2处于另一个极端,因为是随机的,所以没有规则性。因而也不需要信息来描述,虽然序列本身的算法信息量是最大的,序列规则性的算法信息量——其有效复杂性——却为零。简而言之,就如我们希望的,最有序和最随机的事物有效复杂性很低。
1701066157
1701066158 能够发育的生物的DNA具有许多独立和相关的规则性,这些规则需要可观的信息才能描述,因此会有很高的有效复杂性。显然,问题是我们如何给出这些规则?如果不同观察者对于系统的规则不能达成一致又怎么办?
1701066159
[ 上一页 ]  [ :1.70106611e+09 ]  [ 下一页 ]