软件“生命”系统进化论——软件以负熵为生

Posted 东海陈光剑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件“生命”系统进化论——软件以负熵为生相关的知识,希望对你有一定的参考价值。

长颈鹿的脖子是怎样变长的?

看到这样一个问题,觉得很有启发,这里引用分享给大家:

进化论

查尔斯·达尔文(1809—1882),英国生物学家、博物学家,进化论的奠基人,早期以地质学研究而闻名, 而后又在动植物和地质方面进行了大量的观察和采集,猜测所有生物物种是由少数共同祖先,经过长时间的自然选择过程后演化而成。

达尔文指出,人类是生物进化过程中的偶然产物,大自然的产物。

今天的一切生物都是人类的亲属,人类与其他生物特别是与类人猿并无本质的区别,我们认为人类特有的属性——例如智力、道德观等精神因素——都可在其他动物中找到雏形,也必定有其自然的起源。

20世纪20~30年代首先由R.A.费希尔、S.赖特和J.B.S.霍尔丹等人将生物统计学与孟德尔的颗粒遗传理论相结合,重新解释了达尔文的自然选择学说,形成了群体遗传学。

什么是意义?生命的意义?

这就是意义,最高层的意义,比乐趣的意义层次要高。要维持这种意义,低熵体就必须存在和延续。——《三体》

人类生命系统,从最早的宇宙大爆炸开始到地球的形成,从单细胞动物到哺乳动物,整个生命体系的演化过程就是一个熵减的过程。至于为什么会有生命,这真的是一个谜。

软件系统是不断迭代演化变得优秀,还是突变一下子变得优秀?

软件大进化、小进化、软件种群与分类、软件生态系统的进化、软件基因及基因组的进化、软件基元的进化、软件机体器官的进化、软件工具酶和智幻体........《软件演化过程与进化论》

1962年,詹姆斯·沃森、弗朗西斯·克里克和莫里斯·威尔金斯因发现脱氧核糖核酸的化学结构及其碱基配对模式而获得诺贝尔奖。随着沃森和克里克在1953年发现了脱氧核糖核酸的化学结构,揭示了脱氧核糖核酸的双螺旋结构和该结构中碱基的排列。该结构由两条借助氢键相互连接的脱氧核糖核酸链组成,并以螺旋方式排列。它显示了四个独特的核碱基的存在,它们在随机序列中的排列导致了生物体遗传密码的形成。

生命系统基于DNA的AGCT碱基互补配对原则进行突变演化。

软件系统也是一个“生命”系统。我们怎样构建可持续发展的软件系统呢?

那就是:“基于原则的架构”。

计算机系统进化史

现代计算机系统有三个主要子系统:硬件系统、软件系统和通信系统。

这三个要素已经被从一开始就以紧密耦合的方式发展。尽管计算技术的革命只有几十年的历史,许多重要的革命已经发生。在软件系统方面,计算机系统的演化可分为以下几个方面周期:

1. 从20世纪40年代末到60年代中期

只提供有限的计算能力;通信不是计算机的一部分;软件系统大多是面向批量的,定制设计的

具体应用。

2.从20世纪60年代中期到70年代末

硬件取得重大进展;通信仍然不是计算机的主要部分。软件系统也经历了重大发展,包括进程、并发、多用户系统、实时系统和数据库管理系统等。更重要的是人们开始“生产软件”,软件开始成为为在多学科中广泛分布而开发的市场。

3.从20世纪70年代中期到80年代末

硬件进一步发展。芯片集成和处理方面取得重大进展。速度、通信成为计算的重要组成部分。软件开发人员面临着沉重的压力。个人电脑(PC)与全球互联网普遍流行。

4.从20世纪90年代初到现在,硬件和通信系统不断发展,软件发展没有显示出任何放缓的迹象。面向对象技术促进了软件开发的发展。专家系统、人工智能软件,人工神经网络等把人类带入了大数据+算法的时代。

软件系统进化论

软件进化是一个连续不断进行的过程。软件再造只是一个单一的改变,但是进化可以永远持续下去。

任何计算系统,包括硬件和软件系统,将不可避免地在规模和功能上增长。由于这种复杂性,出现细微错误的可能性是更大。此外,其中一些错误可能会导致金钱、时间甚至人命的灾难性损失。大型系统是如此复杂,单一的个人建立和维护系统的各个方面基本是不可能的。

软件工程的一个主要目标是构建可靠运行的系统。实现这一目标的一种方法是使用形式化方法,数学语言,技术,以及指定和验证软件系统的工具等。

软件系统的进化也同样遵循着“规则”,在这里,我把它归纳为两点:分层,抽象。

分层

分层就是解耦,内聚,屏蔽子系统内部复杂性。

抽象

抽象就是去粗存精,去伪存真,直达问题本质。

简单

“很难否认的一点是,所有理论的终极目标都应该是在对所有实验数据的充分解释基础上,使得整个理论尽可能的简单,包含尽可能少的基本元素。”(爱因斯坦)

爱因斯坦质能方程,主要用来解释核变反应中的质量亏损和计算高能物理中粒子的能量。这也导致了德布罗意波和波动力学的诞生。宇宙是物质的,物质的质量是它自身能量的量度。质量, 是一个由空间形成的能量场。 广义相对论公式,把引力场解释成时空的弯曲。

什么是生命系统的熵?

生命以负熵为生,软件向负熵演化。

计算机程序是一系列指令,在机器上执行,产生特定的结果。程序=数据结构+算法。

生命的定义:具有能量代谢功能,能回应刺激及进行繁殖的开放性系统。生命来自于能量:能量→植物、微生物、动物等。生命个体都要经历出生、成长和死亡。

生命种群则在一代代个体的更替中,依靠基因的随机变异不断地向现实作趋同演化。

我们通常说一个技术的生态,跟生命种群,生态系统背后的思想其实是同一个。

生命是以繁殖为目的,在进化和适应环境的过程中熵变。

熵变主要应该是面向代谢及调节代谢的过程:物质的,能量的,信息的。

生命体要降低自身的熵值,但这不总是成功的:有时因为自身稳态被破坏,比如衰老,有时因为无法完全抵抗外界的高熵压力。

生命本质:过程。

从宏观角度来说:

一切都是生命,也就是过程。

过程基本都有三个阶段:发生、存续、消亡。

生命的三个阶段实际上是物质从无序转变为有序最终又归于无序的过程。

其中的参与者是物质和能量(实际上都是能量),变化的是物质的结构(因为物质是运动的)。

原图:https://upload.wikimedia.org/wikipedia/commons/e/eb/Timeline_evolution_of_life.svg

基因突变(genic mutation)

基因组DNA分子发生的突然的、可遗传的变异现象(gene mutation)我们叫做“基因突变”。

从分子水平上看,基因突变是指基因在结构上发生碱基对组成或排列顺序的改变。

基因虽然十分稳定,能在细胞分裂时精确地复制自己,但这种稳定性是相对的。在一定的条件下基因也可以从原来的存在形式突然改变成另一种新的存在形式,就是在一个位点上,突然出现了一个新基因,代替了原有基因,这个基因叫做突变基因。于是后代的表现中也就突然地出现祖先从未有的新性状。

不论是真核生物还是原核生物的突变,也不论是什么类型的突变,都具有:随机性、低频性和可逆性等共同的特性。

突变是生物进化的源动力,没有突变就没有现代生物。

根据模拟,生物进化中由“有机物到单细胞原核生物”和由“简单的多细胞生物到复杂的进行了细胞分化的多细胞生物”两个瓶颈难以被突破。

基因的突变产生新的基因,进而产生新的性状,。如果这个性状更加适应环境,这个生物就会在这个环境中活得更有优势,它也就越容易活下来, 最终这类生物会越来越多,逐渐占据种群中的大多数,这时这种生物就得到了进化,人类的进化过程也是如此。

所以,回到本文开头的问题,长颈鹿的脖子为什么是长的?

A:越用越长

B:突然变长

答案:B

以上是关于软件“生命”系统进化论——软件以负熵为生的主要内容,如果未能解决你的问题,请参考以下文章

软件系统的熵——软件系统进化论

软件工程知识大纲

阿里云马涛:因云进化的基础软件

宜人贷系统架构——高并发下的进化之路

Qiime2(五)-构建进化树用于多样性分析

编程思想进化史与软件复杂性