像许多纯数学家一样,我喜欢“粉笔谈”:使用最少的技术辅助手段,借助黑板或白板展开即兴讲演。我会采用的另一种策略是在开始讲课之前,将所想讨论的主题先写在黑板上。这样当人们走进来的时候,他们一眼就能看到所有的关键想法。不过,在一个大礼堂里,是需要一台投影机的,否则任何人都将一无所见。 在对页,你可以看到我在巴西南部阿雷格里港的南里奥格兰德联邦大学大礼堂上所给出的本书概述。在第三页和第四页,我准备了四张幻灯片。它们把第二章至第四章的内容作了总结,概述了我使生物学数学化所用的策略。在读完这些章节之后,你应该重温一下这些幻灯片。这样,你将进一步理解它们所表达的含义。 你可能已经听过有人把DNA比做计算机程序?的确,我的核心思想可以归结为一句话:把这个比喻变成一个进化的数学理论。其实事实上,早在20世纪70年代,这样的数学工具就已经出现。更确切地说,我们把进化看做软件空间中的随机漫步。随机漫步是一个数学家很熟悉的思想,尽管我们漫步的空间比一般的空间要大得多。 我把这个新领域称做“元生物学”,因为它是实际生物学的一个高度简化的版本——不然我将无法证明任何定理。这些定理出现在第五章,那是本书的高潮部分,也是我在桑塔费研究所讲座的内容。第六章至第八章讨论元生物学中更宽泛的意涵,包括神学、政治学和认识论上的。本书最后还有两个附录。 在附录一中,你可以阅读约翰•冯•诺伊曼关于自我复制自动机的关键章节。在这篇论文中,冯•诺伊曼卓有远见地提出了“DNA=软件”的观点,这影响了西德尼•布伦纳(Sydney Brenner),他反过来又影响了弗朗西斯•克里克。这是我在撰写本书时,发现的一个了不起的事实。附录二则提供了数学专家可能会感兴趣的一些额外数学细节。 最后,如果你想进一步了解元生物学,我列出了一个简短的书单,可供进一步阅读。有些书和文献在帮助我提出使生物学数学化的策略时助益良多,还有一些则只是由于内容有趣而被我放了进去。它们都值得好好阅读! 生命作为不断进化的软件 人工数字软件 计算机编程语言,具有五六十年的历史 自然数字软件 DNA,具有三四十亿年的历史 DNA=通用编程语言 生命=不断进化的软件 生物学=软件考古学(进化发育生物学!) 生命的起源=软件的起源 生物创造性=数学创造性 哥德尔不完全性无止境的进化 软件的人类发现史 分子生物学的历史 薛定谔,《生命是什么?》 软件的发现:图灵/冯•诺伊曼,1936/1951 阿兰•图灵→冯•诺伊曼→西德尼•布伦纳→弗朗西斯•克里克 元生物学的历史 把生命定义为某种不断进化的东西(约翰•梅纳德•史密斯,1986) 给出了存在某种东西满足该定义的数学证明(2010) 使用后现代(后哥德尔)数学 算法信息论,可计算理论 复杂性理论,计算机科学 元生物学的数学(第一部分) 我们关于进化的玩具模型 一个不断突变的软件有机体计算出一个整数,然后停机 有机体的适应度=它计算出的整数 需要创造性:NN+NN×NNN 进化=软件空间中随机漫步的爬山算法(增加适应度) 尝试K比特的算法突变M(其概率为2K),使有机体A变为A'=M(A) 仅当A'=M(A)比初始有机体A的适应度更好时,突变M有效 需要oracle来消除那些不能产生A'或者产生的A'不能停机的突变 A与B之间的突变距离=log2(从A到B的单步突变的概率)=满足B=M(A)的最短程序M的比特长度 元生物学的数学(第二部分) 为度量生物创造性的速度/速率,我们使用 BB(N)=N的忙海狸函数=任意长度不超过N比特的程序的最大适应度 计算BB(N)需要N比特的灵感 BB(N)比任意可计算函数增长得都快 不同的进化方式 穷举搜索:在2N时间内达到BB(N)的适应度 智能设计:在N时间内达到BB(N)的适应度 随机进化:在N2到N3之间的时间达到BB(N)的适应度 请注意 如果有机体是在机械地、以算法形式地改进,比如序列A, A′, A″, …是可计算的,那么其适应度只能按可计算函数那样增长