我爱学习网 52xx.cn我爱学习网菜单按钮
  • 搜索

生物计算机是怎么计算的?

提到生物计算机的时候,人们往往会想到传统的生物概念,比方说猴子、大象、细菌、细胞或者是病毒。事实上,生物计算机里面并没有任何生命存在,只是有一些在生物体内才能够找到的材料而已,比如DNA、RNA和蛋白质分子。

听起来有点奇怪,不过我们可以用生物计算机和电子计算机来做一个类比:电子计算机是以电流来传递信号,以逻辑门来控制电路的连通或者断开;而在生物计算机中,传递信号的则是不同的分子——包括DNA(脱氧核糖核酸)、RNA(核糖核酸)和蛋白质分子等。

DNA是我们这个星球上生物的最重要的遗传物质。1953年,美国分子生物学家詹姆斯·沃森和弗朗西斯·克里克发现了DNA的双螺旋结构,人们这才意识到,DNA之所以拥有惊人存储能力,是因为它的分子具有和计算机软件类似的编码方式。DNA通过4种碱基的排列组合进行编码,存储了生物所有的遗传信息,这可以被视为一种四进制的表达方式。尽管今天电子计算机广泛使用的是二进制编码方式,但二者实则殊途同归。这也就意味着,理论上我们可以使用4种碱基的组合来对信息进行编码,并操作这些编码来进行运算。

理论上说起来似乎很容易,但第一台真正可以进行计算生物计算机,是直到20世纪90年代才诞生的。那时,美国南加州大学的计算机科学家伦纳德·阿德曼偶然看到了詹姆斯·沃森所著的《基因的分子生物学》。在后来的一次访谈中,他讲道:“我躺在床上读沃森的《基因的分子生物学》,DNA像一条四色项链,DNA双螺旋中两条单链的碱基互补,而聚合酶工作时像图灵机的读写头游走于存储带一般。我意识到,它可以计算。”

1994年,阿德曼发表了一篇论文,提出了用DNA计算的方式解决一个实际数学问题的技术。这个题目是这样的:“由14条单行道连接着7座城市,请找出走过上述全部城市的最近路途,而且不能走回头路。”这就是著名的“汉密尔顿路径问题”,是数学中的经典难题。这个问题的困难之处在于,当城市数量增加时,可能存在的连接路径数量就会大幅增长,且增长速度远超城市数量增长的速度,这很快就会让电子计算机无法应对——电子计算机解决这种问题需要先找到所有的可能路径,再对其分别比较以选出最短路径来。阿德曼的DNA计算机也使用了类似的方式,而且它的运算速度要比电子计算机的快得多,不过,它将结果挑选出来的速度却要慢得多。首先,他用不同碱基的组合分子定义出每个城市和每两个城市之间的路径,其中路径的编码刚好和两个城市的编码互补;再把这些分子和合适的酶放进试管,让它们自由组合。只需要几秒钟,分子们就已经组合出了正确的答案,只不过所有正确和错误的答案都混在了一起。

接下来,阿德曼花了7天时间才把正确答案挑选出来。他先挑选出长度符合答案的DNA链,从中选出所有包含第一个城市的DNA链,再从中分出同时包含第二个城市的DNA链,以此类推。在经过7次这样的筛选工作之后,他获得了同时包含7个城市的DNA链,以及连接这7个城市的8条线路。这次在试管里进行的生物计算,终于获得了数学问题的答案。虽然它的效率很低,但是这毕竟证明了生物计算并不仅仅是纸面上的空想。

阿德曼的成功,掀起了生物计算的热潮。1997年,美国罗切斯特大学的研究者们用DNA分子实现了计算机的基本器件逻辑门,这就让类似电子计算机所用的那种传统布尔逻辑运算成为可能。但是,有了逻辑门并不意味着就可以制造出计算机,这就像掌握了烧砖的技术并不意味着能够建造起摩天大楼一样。科学家还在继续摸索。

在进入21世纪之后,这一领域还在不断发展。2006年美国哥伦比亚大学和新墨西哥州立大学的研究人员制造出了可以玩游戏的生物计算机,它可以和人一起玩井字棋游戏,而且总是赢。2008年,美国加州理工学院研制出了以RNA分子实现的逻辑门;2011年6月,美国加州理工学院的研究者制造出了由74个DNA分子组成的生化电路,可以计算一个小于15的整数的平方根。这是迄今为止最复杂的DNA计算装置,但是它依然比任何一个单细胞生物都要小得多。这正是生物计算机的最大优点:惊人的存储容量、极快的运算速度和极低的能耗。DNA具有在极小空间里存储大量信息的特性,每秒钟的运算次数甚至可以达到1万亿亿次以上,而消耗的能量却微不足道。

虽然有这样的优势,但是也许还需要很长时间才会看到生物计算机摆上我们的桌面。如果要让它成为一种通用计算机,必须先解决快速分拣和检测计算结果的问题——人们可不想像阿德曼那样,花一个星期来等待一个问题的计算结果。

【知识点】生物计算

生物计算机是当前计算技术领域研究的一个热点,人们希望能够用这种方式来完成更高性能、更低成本的计算,解决那些传统计算机难以解决的问题,或者干脆取代电子计算机。这个研究方向可能会让人们制造出纳米级别的计算元件,也可能会发明针对性很强的新型检测方法和药物——但是,目前虽然已经有了许多相关的研究成果,却还远远没有能够达到可以实际应用的程度

【发散思维】你觉得生物计算机能最终取代电子计算机吗?