生物计算机
互联网
计算机工业在近几十年内飞速发展,其速度令人瞠目。然而目前晶体管的密度已近当前所用技术的理论极限,晶体管计算机能否继续发展下去?所以,人们在不断寻找新的计算机结构。另一方面,人们在研究人工智能的同时,借鉴生物界的各种处理问题的方式,即所谓生物算法,提出了一些生物计算机的模型,部分模型已经解决了一些经典计算机难以解决的问题。
生物计算机目前主要有以下几类:
1. 生物分子或超分子芯片:立足于传统计算机模式,从寻找高效、体微的电子信息载体及信息传递体入手,目前已对生物体内的小分子、大分子、超分子生物芯片的结构与功能做了大量的研究与开发。“生物化学电路” 即属于此。
2. 自动机模型:以自动理论为基础,致力与寻找新的计算机模式,特别是特殊用途的非数值计算机模式。目前研究的热点集中在基本生物现象的类比,如神经网络、免疫网络、细胞自动机等。不同自动机的区别主要是网络内部连接的差异,其基本特征是集体计算,又称集体主义,在非数值计算、模拟、识别方面有极大的潜力。
3. 仿生算法:以生物智能为基础,用仿生的观念致力于寻找新的算法模式,虽然类似于自动机思想,但立足点在算法上,不追求硬件上的变化。 4. 生物化学反应算法:立足于可控的生物化学反应或反应系统,利用小容积内同类分子高拷贝数的优势,追求运算的高度并行化,从而提供运算的效率。DNA计算机 属于此类。以下将着重介绍自动机模型中的计算神经网络和生物化学反应算法中的DNA计算机的模型。
计算神经网络
早在1943年心理学家W. McCulloch和数学家W. Pitts合作提出神经元的二值逻辑模型。1949年D. Hebb提出了改变神经元连接强度的学习规则,这一规则至今在各种网络模型中起着重要作用。1962年F. Rosenblatt提出感知机模型。1982年美国物理学家J.Hopfield提出一种全新的神经网络模型 ,它体现了D. Marr的计算神经理论、耗散结构和混沌理论的基本精神,用S型曲线替代二值逻辑,引入“能量”函数,使网络的稳定性有了严格的判断依据,模型具有理想记忆、分类与误差自动校正等智能。Hopfield模型的动力学特征的分析提供了有力的研究方法。
神经网络系统模拟大脑的工作方式,由大量简单的神经元广泛相互连接而成,形成一种拓扑结构。大脑具有相当高级的处理信息的能力,与传统计算机模型相比,大脑具有如下特征:首先是大规模并行处理能力,其次是大脑具有很强的“容错性”和联想功能,第三是大脑具有很强的自适应能性和自组织性。在这些方面,目前的传统计算机模型是难于实现的。
具体的神经元模型主要是如何更好地反应神经元在刺激下发放电位的本质。大多数模型把神经元之间的连接考虑成线性连接,输入层与输出层直接相连,没有中间所谓隐单元层。每个神经元只能是兴奋态或抑制态,任一神经元的输入是其他神经元的输出通过突触作用的总和。如果考虑兴奋态和抑制态之间的过渡情况,可以采用S型曲线来表征神经元的非线性输入和输出特性,如J. Hopfield模型;也可以按照统计物理学的概念和方法,神经元的输入由神经元状态更新的概率来决定,如波尔兹曼机模型;还可以在神经元的输入与输出层之增加中间变换层,如感知机模型;增加反向误差校正通道的反传播模型等等。通过对神经元的形态与功能的不同表达,可以产生不同的模型。
DNA计算机
1994年,美国加州大学的L. Adleman博士在《Science》上公布了DNA计算机的理论,并成功地在DNA溶液的试管中进行了运算实验。L. Adleman博士的DNA计算机完全是一种新的观念。其基本设想是:以DNA碱基序列作为信息编码的载体,利用现代分子生物学技术,在试管内控制酶作用下的DNA序列反应,作为实现运算的过程;即以反应前的DNA序列作为输入的数据,反应后的DNA序列作为运算的结果。DNA计算机是一种化学反应计算机。到目前为止,已有人通过DNA计算机模型进行实验解决了一些基本的NP问题。如L. Adleman博士做的对货郎担问题(哈密顿图问题,HPP)的计算,和普林斯顿大学查科普顿作的可满足性问题(SAT问题) 。所谓NP问题 ,是指人们根据问题类的算法复杂程度的划分而言,与P问题相对。P问题是指算法复杂性随着问题规模的增长而呈多项式增长的算法,是可以计算的。NP问题是指指算法复杂性随着问题规模的增长而呈指数增长的算法,是实际上不可计算的。DNA计算机的构想是一种创新,具有巨大的潜力。DNA计算机运算速度快,其几天的运算量就相当于计算机问世以来世界上所有计算机的运算总量。它的存储容量非常巨大,而耗能却只有一台普通计算机的十亿分子一。当然,DNA计算机毕竟只是一种理论设想,在很多方面还相当不完善。主要表现在:
1. 构造的现实性及计算潜力。DNA计算机以编码后的DNA序列作为输入,在试管内反应完成计算,反应产物及溶液给出了全部解空间,但是最优解如何与其他解分离,怎样输出,是一个技术性极强的问题。目前还没有令人满意的输出手段。随着求解问题规模的扩大,输出将成为DNA计算机的瓶颈。
2. 运算过程中的错误问题。在扩增DNA的过程中,有较高的错配率,而且大量的DNA在几百步的反应中也会产生一些支路反应。错误会产生伪解,并增加最优解输出的难度。
3. 人机界面。怎样使得DNA计算机的输入和输出变成一般人可以接受的,否则就无法进行广泛的应用。
不论如何,DNA计算机的提出拓宽了人们的视野,启发人们用算法的观念研究生命,并向众多领域提出了挑战。