欢迎来到天天文库
浏览记录
ID:24236312
大小:69.68 KB
页数:4页
时间:2018-11-13
《《进化中的概率论》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、数学,算法-Writtenby刘未鹏onSunday,December2,200718:55-4,551views-3Comments数学之美番外篇:进化论中的概率论Tags:数学,概率论,算法saveit4saved李笑来老师在blog上转了一篇宏文,“15AnswerstoCreationistNonsense”;然后余晟同学(顺便推荐余晟同学译的《精通正则表达式》(第3版))把它给译了出来。漂亮的文章加上漂亮的翻译,当然是要拜读的:-)进化论从其诞生以来受到的非难不计其数。这里提到的这篇便收集了广为神创论者提出以及广为
2、大众误解的一些观点。其中有一点尤其引起了我的兴趣,如下:8.严格说起来,我们很难相信复杂如蛋白质的物质能偶然出现,更不用说人或是活细胞了。偶然性在进化中确实存在(例如,偶然性的突变可以产生新的特征),但是进化并不依赖偶然性来产生新的器官、蛋白质或其他实体。截然相反的是,自然选择,作为进化中已知的最主要机制,却会明确保留“需要的”(能适应的)特性,消除“不需要的”(无法适应的)特性。只要选择的影响力存在,自然选择就能把进化向一个方向推进,在出乎意料的短时间内产生复杂的结构。举个例子,现有由13个字母构成的序列“TOBEORNO
3、TTOBE”,假设有几百万只猴子,每只猴子每秒钟挑一条短语,需要78,800年才能从26^13种可能中选出这样的排列。不过,GlendaleCollege的RichardHardison在20世纪80年代写过一个程序,它能够在随机产生序列的同时,保证那些已经出现在正确位置上的字母不会变化(这样做倒有点《汉姆雷特》的味道。译注:这个句子看了大半天才明白,嘿嘿)。这个程序平均只需要336次迭代就能生成上文提到的短语,时间少于90秒。更神奇的是,把莎士比亚的整个剧本重新生成一遍也只需要四天半时间。关于这个随机枚举特定的13字母的单
4、词的问题有点意思。如果是纯粹随机枚举的话,由于长度为13的单词一共有26^13个不同的(假设所有组合都是有效单词的话),其中只有一个跟目标单词一样,也就是说平均(数学期望)枚举26^13次才能枚举出目标串来。我们不妨把人类的DNA链当成一个长长的单词。突变是产生随机枚举的动力。那么根据上面的分析,要枚举出我们现在用的DNA,需要的迭代次数将是跟DNA链上的“字母数”(碱基对)成指数关系的。枚举一个13个字母的单词就需要26^13次方了,上亿碱基对,需要多少次迭代?更不要说人类的一代更迭就平均要耗上十来二十年了。从这个角度来看
5、,作为生命只有短短几十年的我们,似乎的确很难理解像眼睛这么复杂精妙的结构是如何从随机的突变中产生出来的。而这也恰恰是神创论者最经常用来非难进化论的论点之一。那么,这个貌似有力的论点到底正确与否呢?其实,在达尔文同学的《物种起源》中就已经进行了一定程度的驳斥。达尔文同学列举了一系列的比我们人类眼睛简单的眼睛结构,从复杂逐渐到简单,其中最简单的“眼睛”只由一些聚集在一起的感光细胞构成;并且,达尔文同学还雄辩了为什么眼睛的复杂性并非是不可归约(irreducible)的。然而,达尔文同学毕竟不是专业的理工科出生(在大学里面是学神学
6、的),虽然其实践精神是每个科学家的楷模,虽然在《物种起源》中他运用了一系列的证据和推理,某种程度上论证了随机突变加上自然的选择之手,的确能够进化出如眼睛这么复杂的结构。然而他并没有从数学上加以证明,为什么定向选择能够导致在短得多的时间内产生复杂结构,以及这个时间与纯随机枚举相比到底短到什么程度?我们仍以那个13个字母的单词为例TOBEORNOTTOBE。如果是纯随机枚举的话,平均需要26^13次方才能枚举出一个来。那么,自然中的进化过程也是这样的吗?并非如此。虽然每一个基因位都可能发生变异,然而自然选择之手会将那些“好”的部
7、分留下来,差的部分剔掉(因为突变出来的好基因比差基因更有生存繁殖优势,于是渐渐就会在种群中通过遗传扩散开来)。反映在我们枚举单词的过程中就是,一旦我们枚举出了某个或某些特定位上的字母,那么这个字母就确定下来,不再变动,只需继续枚举剩下来的字母。这样,直觉上需要枚举的次数就会大大减少。而实际上也正是如此,引文中提到的Richard同学写的一个程序便说明了这一点:本来需要78,800年,现在只需90秒。差异何等巨大!现在,我们关心的问题是,按照后一种枚举方法,能从数学上精确计算出来,要枚举出这个目标单词需要的迭代次数的数学期望吗
8、?(即,平均枚举多少次,才能枚举出它呢?)Richard同学写的那个程序显示需要平均336次;然而,问题是他写的是一个程序,而不是用数学来计算到底需要多少次。336次是数学期望吗?不是。它是一个实践值。实际上,我也写了一个这样的程序,然而结果显示却是大约82次左右。那么到底谁的正确呢?要检
此文档下载收益归作者所有