只接受发布货源信息,不可发布违法信息,一旦发现永久封号,欢迎向我们举报!
1064879863
16货源网 > 餐饮行业新闻资讯 > 软件开发 >   从软件开发角度看进化论


从软件开发角度看进化论

发布时间:2019-01-09 06:22:40  来源:网友自行发布(如侵权请联系本站立刻删除)  浏览:   【】【】【
大名鼎鼎的进化论,大家在学校里都学过,就不用多介绍了。  著名的科幻小说《三体》的作者刘慈欣曾写过一篇短篇小说《天使时代》,其科幻内核就是:生物其实是用DNA编码的程序,人类的技术进步到了可以自由编辑
从软件开发角度看进化论

  大名鼎鼎的进化论,大家在学校里都学过,就不用多介绍了。

  著名的科幻小说《三体》的作者刘慈欣曾写过一篇短篇小说《天使时代》,其科幻内核就是:生物其实是用DNA编码的程序,人类的技术进步到了可以自由编辑甚至创造性编码自身的基因以实现一些突破天际的功能。在这篇小说中,某非洲国家因为缺乏粮食,该国的生物科学家就改造了自己民族的基因让新人类可以靠吃草和树叶生存。联合国认为此举违反了人类的基本伦理,决议由美国派出航母进行惩罚。决战前的谈判中,该非洲国家的总统送给美国的航母指挥官一匹长着一对洁白双翅的小白马(也是基因工程的作品)。但是谈判没有成功,决战还是到来了。美国人以为自己胜券在握,但是非洲海岸边的丛林中突然有成千上万的长着双翅的天使人类起飞,从天空杀向航母。航母的舰载导弹一是数量严重不足,二是并非为此类目标设计,因此被迅速击败。

  当然我不是想谈这个。我只想说此文的一个关键立论点:生物是用DNA编码的程序。

  我们的教科书在讲述进化论的时候,还是列出了不少证据的。譬如这样的进化树(不是教材中的原图,网上找的):

  这幅图里,地球上的一些代表性的生物被画在若干分叉的不同位置,很好地阐述了生物由低级向高级的进化历程。

  嗯,更严谨一点的应该是这个样子的:

  但是,这些年来,对计算机稍有了解的人都知道,微软的操作系统历经了好多个版本:

  微软出品的操作系统没有自然界的生物那样种类繁多,而且也不是严格的树状结构,但是基本上也呈现出一个低级向高级的发展趋势,从低版本到高版本有继承也有提高。

  显然微软的操作系统不是自行由低版本进化到高版本的——如果是的话我们倒是有足够的理由免费使用它们了——它们都是微软工程师的智慧结晶。

  这个对比告诉我们:进化如果真的存在,也未必就是自主的。生物仍然可能是智慧生命设计的结果。进化,一则可能是设计者本身的意图所在(譬如意图形成完整的生物圈/食物链),二则可能是设计者本身的技术水平进步的结果。

  另外还有一个事实是:人类的基因组数量非常之少:

  最初,人们推测人类所拥有的基因大约有十万多个。当第一代的人类基因组测序结果公布后,研究人员发现人类基因组大约只含有3万到4万个蛋白质编码基因。之后,由于测序技术方法的不断发展,对基因组分析的误差也在逐渐缩小。人类基因组数量也从3-4万,缩水到了25000左右。而后又一项研究表明,人类的基因数出乎意料的少,只有2万多一点点。

  下面有一组数据,对比人类基因与其他物种基因的多少:

  人类:20000–25000万

  果蝇:13600

  小线虫:19500

  水稻:45000

  玉米:50000

  老鼠:30000

  ……

  人类在基因数量上居然不如一只老鼠,而一株小麦的基因数居然能比人多出5倍。这怎么可能呢?但事实如此。从事这项研究的科学家弗朗西斯·柯林斯博士很遗憾地表示:「我们人类在这场竞争并没有留下非常深刻的印象。」

  其实科学家们真没有必要沮丧。从事软件工作的人都知道,软件的代码数量与软件的功能和性能并没有非常严格的对应关系。有时候短小精悍的代码才意味着高效,低水平的程序员更容易产生繁冗的代码。

  Fred Brooks(《人月神话》的作者)最早在他的论文“没有银弹——软件工程的本质和偶然性(No Silver Bullet - Essence and Accidents of Software Engineering)”中提出了“10x程序员”的概念。技术社区对于这个概念呈现出两级分化的观点。Redis之父Salvatore Sanfilippo(antirez)列出了9种特质,他认为,如果一个程序员同时具备了这9种特质,那么就可以说他是一个10x程序员。

  一个10x程序员,在相同条件下,可以完成十倍于普通程序员的工作(普通程序员代表了这个领域所有专业程序员的平均水准)。

  对于人类基因组远低于一些低等动植物的现象,也有一些文章进行了探讨。如《为什么人类基因会如此之少?》就这样写道:

  目前看来最直接的答案是:「可变剪切」,人类有超过95%的基因是可以进行「可变剪切」的,也正因此,人类的基因具有一定程度的压缩性。

  从图示的结构来看,「可变剪切」像极了计算机编程,可以对一个函数库中的函数进行复用。

  你看,此文作者也发现了生物DNA与计算机编程的相似性了。不谋而合。

  关于进化论,还有一些证据,比较经典的,譬如“英国污染减轻变黑色达尔文蛾子再变白”:

  工业革命之前,英国大部分地区有一种淡色、带斑点的蛾子。由于工业革命导致污染加重,工业粉尘使天空变得灰暗,在短短几十年间,这种蛾子从白色变成了黑色。这样,蛾子就能隐藏在被灰尘覆盖的树叶草丛中,不易被天敌发现,从而保护自己。生物学家认为这种蛾子的神奇变化是达尔文进化理论的“完美注解”。因此这种蛾子也被称为达尔文蛾子,标志了环境的变化及这种变化对自然世界的影响。

  如今在英国冒黑烟的污染企业已经成为遥远的回忆。随着环境的改善,人们惊奇的发现达尔文蛾子重又变回了白色。科学家认为黑色的达尔文蛾子正在消失,最初的浅色蛾子重又占据统治地位。科学家认为这是对达尔文进化理论的进一步证明。科学家呼吁民众向科研部门报告所发现的不同颜色蛾子,以掌握更翔实的数据来进行研究。

  进化论解释

  达尔文的进化论解释了为什么蛾子会变色。最初这种蛾子有淡色的双翅和黑色的斑点,能够很好的和周围环境融为一体,从而不被捕杀。其实对于所有的植物或动物来说,都会出现变种,比如出现不同颜色的变种物种。这种蛾子也不例外,有时会出现黑色蛾子,但是这种黑色蛾子很难生存很久,因为它们容易被发现并被捕食。但是19世纪中期工业革命的发展,严重的污染给树叶和建筑物涂上了一层黑黑的粉尘。逐渐地,由于伪装地更好,越来越多的颜色较深的蛾子得以存活更长时间并繁衍后代,而浅颜色蛾子却不幸被捕食。深颜色基因在新生的蛾子中间广泛存在,最终黑蛾子会占据统治地位。其实这种进化趋势在世界上许多物种都存在,并被称为工业黑化。但是如今适合黑蛾子的自然条件逐渐成为过去,天平的平衡重又倒向白蛾子一边,所以达尔文蛾子又变回了白色。

  首先我要说,这个案例用进化论来解释也是令人疑惑的。按进化论的说法,进化源于基因复制中的突变。突变在几千万年的尺度下是个大概率事件,但在英国工业革命的一两百年中却是个小概率事件,而且也没有道理说两次突变都正好变在代表颜色的基因上。更何况,如果颜色是因为基因突变导致的,那么也应该有很多不同灰度的蛾子同时出现才合理,没理由只有深色与浅色两种蛾子。

  然后我们再从软件的角度来理解一下基因突变这个事。程序加载到内存运行时,内存中存储的内容可以分为两类:指令和数据。如果内存质量存在问题导致存储的内容发生错误(相当于基因突变导致的变化),如果这个错误发生在指令区,那么所有的程序员都知道这个程序100%崩溃了,不会说因为这个随机变化程序突然就多出了一些高级的功能;如果这个错误发生在数据区,譬如发生在一个代表颜色的内存单元中,那么程序在显示的时候可能有一些区域的颜色会比较怪异,但程序还是能够正常运行。

  我们看进化论支持者提供的一些证据,要么是蛾子的翅膀变黑变白,要么是蝴蝶的翅膀变大变小。这些证据,从软件的角度来说,只是数据区的变化。而进化要出现新性状,比方说在海里的物种要登陆,必须进化出肺,这个则属于指令的进化。要通过随机的突变产生有效的指令,实在是太不可思议了。要知道,在软件开发领域,再小的功能(譬如将内存中两个整数相加)都要靠若干条指令的有序组合才能完成的。指望通过随机突变的方式产生功能完整的器官,概率小到纯属天方夜谭。

  最后说一点,与软件开发的类比无关的,如果进化论真的是正确的,那么此时此刻,进化仍在进行中。生物学家们不应该去向远古寻找化石证据——那些毕竟太罕见了,生物学家们应该去屠宰场找证据。人类每天屠宰的生物成千上万,如果进化论是对的,那么进化到中途的器官应该比比皆是,在屠宰场中应该唾手可得才对。

  生物学家们执着于化石证据,是想让自己的谬误暴露得更晚一些吗?

爱遐想的李实

温馨提示:本文章来自网络并且是机构方发布,请自行核实信息的真实性,建议到机构点实地考察后签约合同再合作建设网站,建设站有风险,请注意,一切法律问题本站不承担哦!如侵权请联系本站删除,谢谢!

责任编辑:
热门阅读排行
© 16货源网 1064879863