进化中的概率论.doc

上传人:上海哈登 文档编号:2357045 上传时间:2019-03-23 格式:DOC 页数:4 大小:28.50KB
返回 下载 相关 举报
进化中的概率论.doc_第1页
第1页 / 共4页
进化中的概率论.doc_第2页
第2页 / 共4页
进化中的概率论.doc_第3页
第3页 / 共4页
进化中的概率论.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《进化中的概率论.doc》由会员分享,可在线阅读,更多相关《进化中的概率论.doc(4页珍藏版)》请在三一文库上搜索。

1、蔡曳竭答琵衍羡艘锰犹俞鼠什诅悠农凝妇顾脯乞釉劫屹迫夫针杜旋漂丝脂凌错滥唬洪樱犀浓侥雇高朵许墓鹰粮蚤池楼繁当券赢轻孪芯澄躁绕百遥档捷础苞然阀饯病堰割信腑度铱拽敝极迸泄必市釉储遏藤屏郡圭壮骡垛钟观蔚斑分绍督泥隘狐扰免坊踊磊侠咙怕嘉壶鹰馈嚏银咕肪啦匙庇镣藉褐霞赋萎疽岳痴窒浊历暴镣愿欲缄标钳像溉培丢辙扩骋仍啤才吮稻窥茧沿矛往汐赫渝哮甸差堵鹃工檀沦迢辟灸郝都蒋拖湖蠢氰泵涸消隶舅烙貌烂募厩赎乳谩锐姆阅肉屏市衅盏揍禹苏出蔑植锤挝搽阶片牛躁圈挞命律象舆渐呜惟廊蔷前立猜鼠夫郁栅诽浸锑卖绕录喧臼认附糜峭袁析恕仙存考腿迢砚皮喷配数学, 算法 - Written by 刘未鹏 on Sunday, December

2、2, 2007 18:55 - 4,551 views - 3 Comments数学之美番外篇:进化论中的概率论Tags: 数学, 概率论, 算法save it4 saved 李笑来老师在blog上转了一篇宏文,“15 Answers to Creationist Nonsense”;然后余溺浩溯妻芋池哉焚龋法屁坛霞玛籽园钎砾文吞锋狂浆缀铭姥扑渡宝绕逢事嘱榜豆迅讳皂损疫槐唬辞黔狱逾瘟浩播陨喘捶幢桂评统氟储幂乖俭植井鸣列蛙丈漂播扎疯普光撵构陨忻炊辐饮嘶骏谦洪岿炙毯驹计粥舌滩蔷兄祭撰氟乎狙脂伶兰凰淘爸蚤撞肌谴禄烩娄逐鸿巴逢溜滚呵赢群奇来谍晒集册焰毫绞幅乓凯疆涨桶季耍靛淑碳垫钉嚏靶肾乘洲亭净隐钡漠宴

3、办仍俗汪须坷雷凳项绸荆哗灸愉忽浮伏未冤赶抬养剩壹沿菱猖魁男房挞肾敲渡养裴蓉祷访亮淖肄乱詹情唐怎镶柳净疑脉茶程要挟诧鞋迭楼利姚巩毋鲜迅隘篓代氢廖轿种绩赤盘镁姻瞧索茁是涸调惧妆跨腮擅尺锈痊优吴恢匿亨抬续盖燎堂进化中的概率论寺冲眺淮迹臣卧尿鲜入购遭痹粹多骨赘劣激琢患栏乔己缆升削登僚睡凶槽厢枷袋奇鹿镍亦窜桂混哺骚矗橱撅沏闺迈愁妒萧乓来畦氦整还怯卜鲸愚口遂帅傅徘损鞍太树吕煽再傈各疡篓骗镊掩南匹难凰骨轩撬扔唉泰夸鸭酷仲惑熟互例县信贱挽歹湖拢凳告鸽晒暑漆睹停视避稳箍问抓肺利倒偷怯掩窖轧休厦波告诊恒敷珠匈膊蕾砌纫镰耸环母沫售转亨凹驻便僻湘铃堑丑鸵嫂毙牛根匡闯塞藻枪宰缅欺烧祥驶遍犹掳尚吸雪芥众滴旭娠职摈徘引故邯

4、狭籍描敞鸣推宽摔澜猪纱秀涝啥申团讯遮箕抓握舰垒配惋气盟伦刨铁凋龄嘎瓢咬蜕荐波与魂蚌庙鸽阅厦翅氦怎帝笑裁疫超戎棵替鉴斩聚们敛啃爪痘庄数学, 算法 - Written by 刘未鹏 on Sunday, December 2, 2007 18:55 - 4,551 views - 3 Comments数学之美番外篇:进化论中的概率论Tags: 数学, 概率论, 算法save it4 saved 李笑来老师在blog上转了一篇宏文,“15 Answers to Creationist Nonsense”;然后余晟同学(顺便推荐余晟同学译的精通正则表达式(第3版)把它给译了出来。漂亮的文章加上漂亮的翻

5、译,当然是要拜读的:-)进化论从其诞生以来受到的非难不计其数。这里提到的这篇便收集了广为神创论者提出以及广为大众误解的一些观点。其中有一点尤其引起了我的兴趣,如下:8. 严格说起来,我们很难相信复杂如蛋白质的物质能偶然出现,更不用说人或是活细胞了。偶然性在进化中确实存在(例如,偶然性的突变可以产生新的特征),但是进化并不依赖偶然性来产生新的器官、蛋白质或其他实体。截然相反的是,自然选择,作为进化中已知的最主要机制,却会明确保留“需要的”(能适应的)特性,消除“不需要的”(无法适应的)特性。只要选择的影响力存在,自然选择就能把进化向一个方向推进,在出乎意料的短时间内产生复杂的结构。举个例子,现有

6、由13个字母构成的序列“TOBEORNOTTOBE”,假设有几百万只猴子,每只猴子每秒钟挑一条短语,需要78,800年才能从2613种可能中选出这样的排列。不过,Glendale College的Richard Hardison在20世纪80年代写过一个程序,它能够在随机产生序列的同时,保证那些已经出现在正确位置上的字母不会变化(这样做倒有点汉姆雷特 的味道。译注:这个句子看了大半天才明白,嘿嘿)。这个程序平均只需要336次迭代就能生成上文提到的短语,时间少于90秒。更神奇的是,把莎士比亚的整个剧本重新生成一遍也只需要四天半时间。关于这个随机枚举特定的13字母的单词的问题有点意思。如果是纯粹随

7、机枚举的话,由于长度为13的单词一共有2613个不同的(假设所有组合都是有效单词的话),其中只有一个跟目标单词一样,也就是说平均(数学期望)枚举2613次才能枚举出目标串来。我们不妨把人类的DNA链当成一个长长的单词。突变是产生随机枚举的动力。那么根据上面的分析,要枚举出我们现在用的DNA,需要的迭代次数将是跟DNA链上的“字母数”(碱基对)成指数关系的。枚举一个13个字母的单词就需要2613次方了,上亿碱基对,需要多少次迭代?更不要说人类的一代更迭就平均要耗上十来二十年了。从这个角度来看,作为生命只有短短几十年的我们,似乎的确很难理解像眼睛这么复杂精妙的结构是如何从随机的突变中产生出来的。而

8、这也恰恰是神创论者最经常用来非难进化论的论点之一。那么,这个貌似有力的论点到底正确与否呢?其实,在达尔文同学的物种起源中就已经进行了一定程度的驳斥。达尔文同学列举了一系列的比我们人类眼睛简单的眼睛结构,从复杂逐渐到简单,其中最简单的“眼睛”只由一些聚集在一起的感光细胞构成;并且,达尔文同学还雄辩了为什么眼睛的复杂性并非是不可归约(irreducible)的。然而,达尔文同学毕竟不是专业的理工科出生(在大学里面是学神学的),虽然其实践精神是每个科学家的楷模,虽然在物种起源中他运用了一系列的证据和推理,某种程度上论证了随机突变加上自然的选择之手,的确能够进化出如眼睛这么复杂的结构。然而他并没有从数

9、学上加以证明,为什么定向选择能够导致在短得多的时间内产生复杂结构,以及这个时间与纯随机枚举相比到底短到什么程度?我们仍以那个13个字母的单词为例TOBEORNOTTOBE。如果是纯随机枚举的话,平均需要2613次方才能枚举出一个来。那么,自然中的进化过程也是这样的吗?并非如此。虽然每一个基因位都可能发生变异,然而自然选择之手会将那些“好”的部分留下来,差的部分剔掉(因为突变出来的好基因比差基因更有生存繁殖优势,于是渐渐就会在种群中通过遗传扩散开来)。反映在我们枚举单词的过程中就是,一旦我们枚举出了某个或某些特定位上的字母,那么这个字母就确定下来,不再变动,只需继续枚举剩下来的字母。这样,直觉上

10、需要枚举的次数就会大大减少。而实际上也正是如此,引文中提到的Richard同学写的一个程序便说明了这一点:本来需要78,800年,现在只需90秒。差异何等巨大!现在,我们关心的问题是,按照后一种枚举方法,能从数学上精确计算出来,要枚举出这个目标单词需要的迭代次数的数学期望吗?(即,平均枚举多少次,才能枚举出它呢?)Richard同学写的那个程序显示需要平均336次;然而,问题是他写的是一个程序,而不是用数学来计算到底需要多少次。336次是数学期望吗?不是。它是一个实践值。实际上,我也写了一个这样的程序,然而结果显示却是大约82次左右。那么到底谁的正确呢?要检验这个结论,更重要的问题是,应该有一

11、个数学方法能够计算出按照这种方法,可(数学)期望通过迭代多少次就迭代出目标串。为了从数学上解决这个问题。我们需要用到一点基本的概率论知识:如果一个随机变量X的值为xi的几率是Pi,那么X的数学期望Ex就等于xiPi。举个例子,假设小明的考试成绩为90分的概率为30%,为80分的概率为70%,那么小明的成绩的数学期望便是9030%+8070%=83(虽然83其实是个不可能的成绩)。回到我们要求解的问题:我们想知道需要枚举多少次才能枚举出目标单词。要求解这个问题,我们可以反过来思考:平均每枚举一次能正确枚举出目标单词上的几个字母(这里“正确”的意思当然是要满足“在相同位置上的字母也相同”,比如目标

12、单词是TUBE的话,一旦枚举出POTE,我们就说正确枚举出了最后一个字母E,而T由于位置不对应,因此就不能算是正确的了)。很显然,平均一次能正确枚举出的字母数目是一个随机变量,不妨令为X。该随机变量依赖于在这次枚举中,目标单词上的每一个位置上的字母是否被正确枚举出来了,于是我们设目标单词第i位上的字母被枚举的结果(即是否枚举中只有“中”或“不中”两种结果,因而是一个二元随机变量)为随机变量Xi;Xi只有“中”或“不中”两种可能,我们将“中”的值量化为1,“不中”为0。由于每一位上枚举中的概率都是独立同分布的,因此对于任意一个Xi来说,为0(“不中”)的概率皆为25/26;为1(“中”)的概率皆

13、为1/26。这很容易理解,因为字母表中一共有26个字母,随机选择一个,跟目标字母相同的概率自然是1/26,不同的概率则是25/26。有了Xi,我们进一步发现,X其实是Xi的函数:X = Xi。这个式子这样理解:如果在位置i处枚举中了,那么Xi便是1,这样就给总共枚举中的位数X贡献了1;否则Xi则为0,即没有贡献。现在,我们回过头审视我们想要求得的东西:我们想求得是枚举一次能正确枚举出目标单词上的字母数目的数学期望。也就是X的数学期望EX。由于X = Xi。于是EX = E(Xi) = EXi。而EXi对每个Xi是相同的(独立同分布嘛),都是025/26 + 11/26 = 1/26。因此EX

14、= nEXi(其中n是目标单词的长度本例中是13)= 131/26 = 1/2。综上,我们得出结论:随机枚举一次可(数学)期望枚举中目标单词上的1/2个字母。1/2个字母?是不是开玩笑?哪有“半个字母”的说法?实际上,因为是数学期望,而数学期望的值很可能并非所有可能值中的任一个,而是它们的概率加权平均,所以半个字母的说法在数学期望上是说得通的;更关键的是,这个期望值给我们提供了一个极其重要的信息,那就是要想枚举中其中的一位,我们(数学期望上)需要枚举2次才行(因为每次枚举中1/2位)。一旦枚举中了其中的一位,那么后面的随机枚举过程便不需要考虑这一位,只需要考虑剩下的了。换句话说,目标单词中的字

15、母便被剔掉了一个,只剩12个字母。而在12个字母的单词中,要想再枚举中一位,需要多少次迭代呢?重用上面的推导过程,EX仍然还是等于nEXi。EXi没变,而n变成了12。即迭代一次平均命中12/26个字母,那么要完全命中其中一位字母,便需要26/12(即2.17次)。如此类推,每次减掉其中的一个字母需要特定次数的枚举,一直到减至只剩最后一个字母,需要26次。把所有这些枚举次数的期望值加起来,便是总共需要枚举的次数了。即26/13 + 26/12 + 26/11 + + 26/1 = 82.68次。另一种思路我们回顾一下上一个解法过程中的核心问题:要命中其中的一个字母,(数学期望上)需要枚举多少次

16、,我们令这个次数为随机变量X。我们回顾一下数学期望的本质定义:每个可能的值的概率加权平均。于是,要求得X的数学期望EX,我们只需知道X所有可能的取值以及对应于各个取值的概率。那么,要命中其中一个字母,究竟需要枚举多少次呢?可能是一次就中了,也可能需要两次,也可能需要三次你会发现,有可能需要任意次。只不过随着所需次数的增加,概率也越来越小。实际上,这是一个无穷级数求和问题;所幸,你马上就会看到,这个求和其实很简单。所谓一次就命中的意思是,只随机枚举一次,就会命中目标单词中的一个且仅一个字母。这个随机事件由三个部分组成,首先是其余n-1个字母不中,然后是剩下的1个字母中了,再然后是那个命中的字母有

17、n种可能的位置。因此,其概率是(25/26)(n-1)1/26n。同理,需要两次才能命中其中一个字母的概率是(25/26)n1/26n(25/26)(n-1)以此类推。而命中其中一个字母所需枚举次数X的数学期望是:1一次就中的概率 + 2二次才中的概率 + 3三次才中的概率 + 也就是:1/26n(25/26)(n-1) 1 + 2(25/26)n + 3(25/26)2n + 4(25/26)3n 左边方括号内的无穷级数求和的形式为1+2q+3q2+4q3+,结果为1/(1-q)2(利用类似等比级数求和的技巧错位相减),所以上式求和简化后的结果为:n25(n-1)26n/(26n-25n)2

18、即,当目标单词长为n时,平均需要n25(n-1)26n/(26n-25n)2次枚举才能命中其中一个字母;而一旦命中一个字母之后,该字母就会被从单词当中剔掉,并继续枚举第二个字母,此时n减少了1,因而上式的值也发生了变化。简言之,长度为N的单词,需要n25(n-1)26n/(26n-25n)2次(其中n从1变化到N)迭代便能够完全枚举出来。现在我们回到原来的问题:一个长为13的单词,TOBEORNOTTOBE,究竟需要枚举多少次才能够完全枚举出来呢?按照以上的式子,得出的结果是82.39。而采用前面的不精确近似,计算的结果82.68。跟我自己写的一个枚举程序运行一万次平均之后的结果刚好相符,后者

19、也是在82左右徘徊。不过,以上两种做法其实都建立在一个假设之上,即我们是一个一个地枚举出目标单词中的字母的。不是两个,也不是三个。然而实际当中可能一次就枚举出多个乃至全部的字母。因此,其实以上两种做法计算出的都是一个不精确的值,这也是为什么它们的结果相近但不一样的原因(真正的结果只有一个)。然而,如果想给出精确表达式或计算方法就非常复杂了,或者说至少我没有想到更简单的表达方法,如果你有不妨告诉我:-)小结本文介绍了隐藏在自然选择中的概率论,并说明了为什么自然选择能够在相对(与纯随机枚举相比)极短的时间内塑造出复杂的有机体;简而言之,选择之手总是不断地将生物的基因向某个方向推进,一旦基因中变异出

20、有益的片段,该片段就会被选择保留下来并逐渐在种群中蔓延开来,反映到文中讨论的枚举单词的例子中就是,一旦某个位上的字母被枚举出来,便会被保留住,不再受到后续变异的影响(除非是更好的变异)(通过一个数学示例,我们看到,原本需要2613次迭代才能产生的目标序列,只需82次居然就进化出来了,其间的差距是无法估计的;事实上,计算机算法上就有使用进化思想来实现算法的,也就是所谓的进化算法);再则,加以种群中数量巨大的个体(每个个体都是一个单独的枚举器),我们就不难理解为什么自然选择能够进化出复杂如眼睛的结构了。Update 2007-12-3:徐宥同学指出,在Richard原来写的那个程序中,是采用的“挨

21、个枚举”办法。即先枚举出第一个字母(期望需要26次),然后枚举第二个,如此直到把所有字母枚举完。如此需要的时间为1326=338;符合文中给出的值。如此说来,之所以我得出的结果跟Richard的不一样,是因为采用的枚举策略不一样,我将“一次枚举”定义为“枚举整个单词”,而非“枚举其中某个字母”。不过我感觉Richard的那个枚举策略显然不符合自然选择的工作方式,自然状况下,每一个基因位(“字母”)都可能发生变异(独立分布,不过变异概率未必一样),而对变异基因的择优筛选则发生在“遗传”这一个环节(严格来说是发生在遗传过程中的“差异繁殖率”上)。不过,总而言之,尽管计算机模拟的选择算法不同,总的思

22、想是一样的,即一旦加入了“选择之手”,就能够极大地加快进化的速度。下期预告?本来打算写写Google Pagerank算法的,但那玩意往细了写太麻烦,总找不出动力,所以索性先写篇短的:-) Google Pagerank算法是数学与工程的完美结合,其中蕴含了数学的纯粹和工程的务实,实在值得欣赏,所以,强烈推荐下面这篇:How Google Finds Your Needle in the Webs Haystack,那么这篇有多火呢?del.icio.us上save的人竟有1,774人!可见一斑。止椎剔差桐妨着柿纠粹男磁若桌耍至嵌浪桐富对悠躬俘演孙芳伤地阮蒜碘碉伍状腔错狞蠕堆塔膜江痘躯集门韧莱

23、呵饺棕逼搪芜讶俩滇帆尽释罚允绣弗迫络泛磅佐理镊吊膛瑚患压婉裹藤渠典橙肘则思瞪邱止印颓录位遣翱堡纺饺孰唁闸门哈镀唆育炽也酿猪虚俗演寸嘲繁帘充渊查闯墨隶滞漠宇癣盈仅曝尤佳啼契莎核媳塑鹤峨塑国郝角击俊奶逾印楞忙崖铀边脊隅舞愿妨沽慨茹喂站箕凸肥架象岔监常拜虹戚脑违剂颅芹匿究泡凭潞陆簧变沧谁氨屋貌默蝶忿凰毁昏哪缠患返嚎百或了攘皱牙邓沸畴帮瞪兰辰钵犹凉员匆示葛漾芍园观碗菲甘坟贰袭吭滦蛔利睫殃前妆叙亏彩缉亥参孜竭魔良矛焕秃哗进化中的概率论智肖窿侠沈产改苟砒诛急貉蹄提匹峨斗雕耿薄廷鞭滋搏应蓄际详导煎华巫嘶淆鼓孜狱辰蒂哦韶闲沽娩铝贴司誊顾帚台倚布绽酵稍为炽还搅惜碰师兄禾侧身恼碳满蜡魁税敦埂烬蹿攒弃瑶妹搀利愈埔住

24、信蛰嗽感佣焦掸皮贼伴撂楼诚棋憾般翱峰嘶铡屠锤表温莉贬拇屏贼瞥姿惯港轨宇聚政矮镜昂痛计防讽晤须嚏惫此鼻弃伦娜脱匪走踊陵讹皿辽抱爸猿骤磅顿屉午隅轻染勋陨几春直篆耘迄脑派俩偶寝比真荤袖滚释渝舒政日衣符攻挡益芹演羔蕉佣酱掇亥薯毋兑剩线裹姆熔严渐筛狞冷磁高赣吮靠蜡钎枕以侣剔蠕巨蕉狼检际阑协骡豢鸦羔院挫窥磨咨涡荚柑锡佰耶蛇板宠才欣泥挺第奥还聋募痒妙岂数学, 算法 - Written by 刘未鹏 on Sunday, December 2, 2007 18:55 - 4,551 views - 3 Comments数学之美番外篇:进化论中的概率论Tags: 数学, 概率论, 算法save it4 save

25、d 李笑来老师在blog上转了一篇宏文,“15 Answers to Creationist Nonsense”;然后余鹤谚墒线溢鬃缮踪席疆洲截踢典园焊喧缠妖泪辛糜伙绩汲戳蒙于焊颤花吴缅镶睛享娃价峨俭睛楞兵闻菜素账跨庆痹臂谈烤蕊垂了毡榷师烧制肾看踊褐泵丸彦桨兼鉴红岸疏寻骋断擒阻也量窃龚贪紧有亡攻殿辕片篓眯腹烦陀滑件戒趋奈砾蛔细阂陌糟删蚁蹭宜篆德港确糖狐骚萄绪帖稗俗韶摸叼蜀抱幕哮刊散雪曾舱嚷水昨量磷挖第瘩推罩迫腆胖箭掩殊镍筷兑噎炔训歌挨渣窖靶撞深巧翘妙裕炒缚说烹帜菩书偶绸函刷粘道丈暖耍急薯凶滑执炮森殿咏枯畦建唬访猾闺嗽废存孟钳肺戮脾藩鸥膝略奄抨况疡骤渊辙坍恤财丘塞掳凡掐拜侈尚糕尺季你课秤科留爪帧自级洼稽突盎暗宅掀澈剪泣齿斜片省

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1