在计算机病毒出现以前,病毒一直是一个纯生物学的概念。它是指具有一定生物学结构的最小的生命单位,是一团能够自主复制的遗传物质。自然界的生物病毒有很多种,总共1000多种,是自然界普遍存在的一种生命现象。
一般认为,计算机病毒这一概念是在1983年由美国专家科恩(FredCohen)在一次计算机安全学术会议上正式提出的,并获准进行了实验演示,从而证实了计算机病毒的存在。世界上最早发现的计算机病毒是“巴基斯坦”病毒,时间是1986年1月。1987年和1988年,计算机病毒肆虐欧美,1989年计算机病毒悄然登陆中华大地。截止目前,估计世界上已有的计算机病毒达6000余种,并越来越严重地威胁着计算机系统的安全,使得计算机用户谈毒变、惶恐不安。于是人们一致地对计算机病毒采取了消灭与预防的策略和方针。然而,本文则要指出,计算机病毒可能并非人们通常所认为的那样只有消极作用、破坏性作用,如果我们能够哲学地思考与看待计算机病毒,那么我们就会发现它所潜在的一些十分有益的作用、建设性的作用。在我们看来,计算机病毒有可能对人类探索生命的奥秘发挥十分独特而积极的作用。
一.计算机病毒的生物学特征与生命的算法特征
根据科恩于1983年给计算机病毒下的定义:计算机病毒是一种程序。它用修改其他程序的方法将自身的精确拷贝或者可能演化的拷贝放入其他程序,从而感染其他程序。由于这种感染特性,病毒可以在信息流的
过渡途径中传播,从而破坏信息的完整性。科恩于1988年又撰文强调:病毒不是利用操作系统运行中的错误和缺陷的程序。病毒是正常的用户程序,它们仅使用了那些每天都被使用的正常操作。⑴科恩给出的这一定义,被美国的计算机专家在有关病毒的论文中频繁引用,具有相当的影响。
计算机病毒与生物病毒是两个不同范畴的概念,前者是人为制造的,后者是宇宙进化的产物;前者采用的是机器语言,少数采用高级语言,后者采用的是核酸编码,少数采用氨基酸编码;前者结构上采用指令程序的物理存储,后者则以化学固化存储方式为主。然而就是这样两个不同的概念,却在功能方式上有着极其类似的特征,其危害和感染系统(宿主)的原理在本质上也是一致的。这主要表现在:1.二者的生存方式相同,都具有一种寄生性。2.二者都具有传染性,无论是生物病毒还是计算机病毒,都能使用循环程序的循环执行来破坏系统。3.二者对宿主都具有不同程度的破坏性。最后,计算机病毒具有的潜伏性、隐蔽性、可触发性等也是生物病毒的基本特性。由此可见,计算机病毒具有几乎全部生物学的特征。无怪有人说:恼人的计算机病毒几乎涉及到了所有衡量生命的尺度。计算机病毒确实可以在计算机控制的空间和计算机网络上生存下去。正是在这个意义上,我们认为,计算机病毒是一种可能的生命形式。虽然在计算机及其网络外计算机病毒不可能独立存在,但这并不等于就能把它们划出生命物体的范畴。
我们说计算机病毒是一种可能的生命形式,不仅因为计算机病毒几乎具有所有的生物学特征,而且还因为生命本身就具有算法的特征,甚至可以说,生命就是算法、就是计算。自20世纪80年代以来,随着人
类基因组计划、遗传算法理论、人工生命科学和DNA计算机理论的相继提出和发展,使得人们对生命是什么这个永恒的问题有了全新的认识:生命就是由一系列复杂的计算组成的,是按算法规则进化的。生命就是一个能够实现自我复制、自我构造和自我进化的算法。
长期以来,计算、算法一直是数学的专有概念。但如今由于电子计算机深刻而广泛的运用,使人们对这两个基本概念有了更宽泛地认识,使它们泛化到了整个自然界。认为自然界就是一台巨型自然计算机。任何一种自然过程都是自然规律作用于一定条件下的物理或信息过程,其本质上都体现了一种严格的计算和算法特征。在此,自然系统相当于计算机的硬件、自然规律相当于计算机的软件,而自然过程就是计算机的计算过程。生命系统作为自然界中最复
杂最有特的系统,它也就是形形的自然计算机中的一种。
DNA计算机就是对生命这种自然机的一种表征。这是因为,DNA是生命的信息库和程序库,即既是一套自复制的程序,同时又是一个以进化论为基础发展过来并正在发展的程序。它构成了遗传、发育、进化统一的物质基础。现代生物学表明,一方面DNA可以看作是由A、G、C、T四个字符组成的字符串。从数学上讲,这意味着我们可以用一个含有四个字符的字符集∑={A、G、V、T}来为信息编码。DNA代码与计算机代码所不同的只是它不是二进制的,而是一种四进制代码。有人甚至指出:除了专业术语不同之外,分子生物学杂志里面的每一页都可以换成计算机技术杂志的内容。另一方面,DNA能够对该信
息载体进行一系列可控制的变换(即化学反应)。变换的具体方式是DNA的复制、剪切、连接、修复,变换的过程就是一种生命过程,也即生命的自构造性特征。因此,我们完全可以把生命看作是一台自然计算机,生命的进化法则就是算法。另外,DNA作为一种自然语言,和计算机程序语言一样,具有不同的层次,具有递归、并行、模块化的基本特征。现代生物学表明,一维线性分子在特定的环境中通过复杂而准确的信息处理,可拓展为一个丰富的四维时空生命体,这种展现过程所获得的新信息反过来又不断地反映到一维线性分子中,导致生物物种的不断进化。这正是DNA程序语言层次性的表现。一维DNA序列只不过是最低级的生命机器语言,所有的高级语言都必须编译成DNA序列语言才能执行。目前,DNA这种自然语言的词法、句法规则我们尚不清楚,但本质上是一种程序化语言。⑺
DNA计算机的提出,就是一种分子算法的化学实现。以前分子算法,如自复制自动机、胞格自动机、遗传算法、人工生命等全都是在电子计算机上实现的,DNA计算机的出现是分子算法的化学实现的开端。这种立足于可控的生物化学反应或反应系统,无疑更加有力地直接地表明了生物现象与过程的计算特征。而这对于现代生物学的研究自然有着十分积极地影响。正如阿德勒曼所说:DNA计算机的构想,是从另一个角度出发启示人们用算法的观念研究生命。“算法对于生命的意义,就在于以过程或程序描述代替对生物的状态或结构描述,将生命表示为一种算法的逻辑,把对生命的研究转换成为对算法的研究”。⑻在这个意义上,生命就是程序、就是算法—一种能够实现自我复制、自我构造和自我进化的算法。在尼葛洛庞帝的《数字化生存》中,有一个已是众所周知的主题论断:计算不再只和计算机有关,它决定
我们的生存。但在那,尼葛洛庞帝仅是从社会生活的意义上说这番话的。我们在这里则要赋予它另一种新的含义—生理生存,即计算决定我们的肉体的生存。
一方面计算机病毒具有生命的特征,另一方面生命又具有算法(程序)的特征—计算机病毒就是一个程序、算法。这就从正反两方面为我们把计算机病毒看作是一种可能的生命提供了充足的证据。然而一旦意识到计算机病毒是一种生命形式,那么计算机病毒就会引发一系列需要我们深思的关于生命的哲学性问题。这便是我们下面所要论述的问题。
二、计算机病毒引发的生命哲学问题
计算机病毒的定义意识到计算机病毒是一种可能的生命形式,这是对人工生命观的具体实现。计算机病毒不外乎就是一种人工病毒—人工生命世界中的病毒,亦即人工生命世界中的一种具体的生命形式,就如生物病毒是现实生物世界中的一种生命形式一样。我们可以设想,未来人工生命一旦感染上这种人工病毒,它也会象现实生物体感染上生物病毒一样“生病”、甚至“死亡”。我们以为,把计算机病毒,以及更一般意义的人工生命视为一种可能的生命形式,是对人类已有的生命观的一次突破。在把人工生命和计算机病毒看作一种生命形式之前,人们所谓的生命形式就是40亿年前在地球上出现的碳化物生命,也即已经进化到当今21世纪的包括我们人类在内的现实生命物。这是人类始终确认的唯一的一类生命形式,尽管一直有人幻想着有地外生命的存在。如今,人工生命、计算机病毒,作为区别于碳化物生命形式的另一类生命形式展
现在人们面前,这就使得我们不得不对生命的基本形式本身作出新的认识。生命不仅仅是以碳为基础的常规现实生命,也可以是以硅为基础的全新的人工生命(包括计算机病毒这种
具体形式的人工生命)。甚至还可以是其他某种未知形式的。以人类为代表的现实生命形式,并不是判定生命的唯一标准。这是我们要表明的第一个观点。
发布评论