(搬运自我自己在ccf上发的文章)
首发:https://dl.ccf.org.cn/article/articleDetail.html?type=qkwz&_ack=1&id=6162791936952320
最近,在对生物学的学习过程中,笔者了解到生命的几大特性,对此,笔者展开了用计算机思维去思考生命的这样一个过程,对此也形成了一些观点,在此展开谈谈。顺便给我心目中存在与计算机的这样一个虚拟生命下个并不完善的定义。
首先是生命的同一性,同一性认为生命在化学结构上具有高度的同一性,那么以计算机思维入手展开思考,我们可不可以认为各种高分子化合物都可以看做由基本的数据类型所组成的组成的对象,而生命是将若干“高分子化合物”对象按照一定的数据格式保存并统筹协调的这样一个对象。
类似的,关于生物学中提到的生命是一个高度有序的,结构清晰的体系。就此给出其投射于计算机中的形态,大概是一个由多种成员参数进行实例化,有清晰的静态类型,包括了多种数据类型和多层结构的类,而物种是这样一个大的生物体类下面的子类,生命个体是子类所实例化而产生的对象。
关于生命体的新陈代谢,其本质是能量的交换,在计算机中,当我们认为环境也是数据的一种表达形式时,既存在能量、物质这些对象在生命与环境之间通过若干函数所定义的关系中发生交换的过程,这个想法可以通过简单的设计新的线程用来专门处理生命体、环境之间的交换工作,在符合能量守恒的前提下借由物质的转化来实现能量的交换。
生命具有应激性,在计算机中同样存在着函数的触发条件,这让我想到了异步函数的这样一种方式,当环境释放某种信号的时候,对象在接受到指定的返回之后,执行相应的函数,对生命体当前状态及环境当前状态进行改变。
生物是一个稳态系统,在环境极速改变的时候生物应当有与之对应的改变方式,关于这个问题,在环境的框架下,我们可以设计利用物质转化,能量交换的机制来维持生物体内部状态稳定的相关函数方法。
生物具有生长发育的能力,这是因为他们的基因蓝图会促进细胞的分化,使其按照一定的发育模式进行身体结构的构建,据此,我们可以在计算机中设计一种类似基因的序列,在这种序列当中以某种格式保存着生物发展的方向,从而实现了类似于生长发育的能力。
生物具有遗传和进化的能力,每一个生命个体都不能长期存在,不同的生命形态结构上的相似性是由于遗传的结果,而差异性是来自变异的结果,自然在计算机中也具有随机遗传,随机变异的这样一种基于随机数算法的设计,这些东西结合上哈希算法所确定的唯一性,恰恰可以证明计算机对象也可以具有遗传与进化的能力,也具有独特性。
生物具有适应性,基于以上观点,生物按照自身发展蓝图进行生长发育过程中,因外界环境的改变所作出的适应性改变或在变异中获得适应环境的能力,由此可以设计相应的淘汰算法,对生物体对象进行有计划性的清除,从而使整体生命环境下产生更多适应于环境的个体。
生物对体内外环境进行选择性反应,随着我们在人工智能领域的极大发展,事实上我们可以构建简单的神经网络,进行决策判断,供生物进行对于体内外反应的选择过程,但事实上这也是需要一个借由基因和行为的遗传学进化关系,对这些神经网络进行多次演化。
生物的目的性体现于生存,竞争,和繁衍,这些目的可以通过对于生物体生存条件的限制算法,生物体与生物体之间的竞争算法,生物体之间杂交繁衍的这样一个算法等等进行描述。
由此我们得出规律,满足以上条件的虚拟生命确实是有可能被编写出来的,他应该满足生命体所具有的上述特性。诚然,对于今天的人类而言,人类的算力尚且渺小,人类的能力尚且赢弱,但笔者相信在算力大发展的未来,探究一个虚拟的生命演化,是帮助我们认识自己的绝佳手段。