导读

近日,美国加州理工学院的研究人员们设计出能进行可重编程计算的DNA分子,首次实现了所谓的“算法自组装”。“算法自组装”意味着同一个“硬件”可以经过配置来运行不同的“软件”。

背景

如今,随着后摩尔时代到来,传统电子计算机性能的进一步改善正面临严峻挑战。因此,科学家们希望通过一系列创新技术,探索新一代的计算机。这些新技术包括:自旋电子学、谷电子学、量子力学、DNA分子等。今天,让我们来重点关注的是DNA计算机。

DNA,即脱氧核糖核酸,是染色体主要组成成分,也是主要的遗传物质。巨大的DNA 分子具有独特的双螺旋结构。它可以组成遗传指令,引导生物的发育与生命机能运作。DNA分子的双螺旋长链上布满了核苷酸,其上有四种碱基:腺嘌呤(A)、鸟嘌呤(G)、胞嘧啶(C)和胸腺嘧啶(T)。核苷酸的不同排列组合,可以表达出生物体各种细胞所拥有的大量信息。


美国加州理工学院设计出可重编程的DNA分子计算系统!

(图片来源:维基百科)


然而,DNA不仅可以存储遗传信息,还可以用于计算。DNA计算,是生物学、遗传学、化学、数学、物理、计算机科学、控制论和智能科学等学科交叉融合的新研究领域。

DNA计算的基本原理可以简单表述为:利用DNA编码信息的特点,先合成具有特定序列的DNA分子链,代表需要求解的问题;然后,在生物酶的作用下(相当于减乘除运算),用DNA分子链的可控生化反应的过程来代表求解问题的过程;最后再利用分子生物技术,例如聚合酶链式反应等,得到最终的运算结果。


美国加州理工学院设计出可重编程的DNA分子计算系统!

(图片来源:麻省理工学院)


DNA计算机,就是基于DNA计算实现的。起初,DNA计算需要将DNA溶液放置在试管中来实现,所以这种计算机会由一堆装有有机液体的试管组成,因此也称为“试管计算机”。


美国加州理工学院设计出可重编程的DNA分子计算系统!

(图片来源:Caltech/Lulu Qian)

与传统电子计算机相比,DNA计算机有着许多优势,例如体积小、存储量大、运算快、能耗低、并行性等。此外,DNA电路还可以在潮湿环境中运行,有利于在血液、汤汁、狭窄的细胞内进行计算。未来,DNA计算机将应用于逻辑研究、密码破译、基因编程、疾病防治以及航空航天等领域。

创新

近日,美国加州理工学院(Caltech)的研究人员们设计出能进行可重编程计算的DNA分子,首次实现了所谓的“算法自组装”。“算法自组装”意味着同一个“硬件”可以经过配置来运行不同的“软件”。

他们的论文于3月21日发表在《自然(Nature)》杂志上。在论文中,加州理工学院计算机科学、计算和神经系统、生物工程教授 Erik Winfree 领导的科研团队展示了,DNA计算是如何通过运行六比特算法来完成简单任务的。


美国加州理工学院设计出可重编程的DNA分子计算系统!

DNA计算系统的艺术诠释(图片来源:Caltech)


技术

该系统类似一个计算机,但并不是采用晶体管或者二极管,而是采用分子代表六比特的二进制数(例如,011001)作为输入,计算之后,再作为输出。其中一个算法可以判断输入中为“1”的比特位的个数是奇数还是偶数,(以上的这个例子是奇数,因为它有三个比特位为“1”);另外一个算法可以判断输入是否为回文(顺读和倒读都一样);还有一个算法是生成随机数字。

爱尔兰都柏林梅努斯大学计算机科学系教授、论文两位领导作者之一的 Damien Woods 表示:“把它们当成纳米应用程序。这种无需改变硬件就可以运行任何软件的能力,让计算机变得非常有用。我们正在分子中实现这个创意,基本上是通过嵌入一个化学算法来控制化学过程。”

这个系统通过自组装的方式工作:小型的特制DNA链粘在一起构建出一个逻辑电路,并同步执行电路算法。这个系统开始是代表输入的六比特,然后一行一行地增加分子,逐步地运行算法。现代数字电子计算机采用电路中流过的电流来操控信息;在这里,DNA链的这些行粘在一起执行运算。最终的结果就是,一个试管装满了几十亿个完整的算法,每个算法就像一条DNA织巾,代表了计算的读数。每一条“织巾”上的图案告诉你正在运行的算法的答案。通过从组成系统的近700条链中选择不同的子集,这个系统能够被重新编程来运行不同的算法。


美国加州理工学院设计出可重编程的DNA分子计算系统!

完整的DNA算法(图片来源:Winfree Lab/Caltech)


加州大学戴维斯分校计算机科学系助理教授、论文另一位领导作者 David Doty 表示:“尽管被限制在六比特输入之内,我们还是对设计出的程序的多样性感到惊讶。当实验开始的时候,我们只设计出三个程序。可是一旦开始使用这个系统,我们就意识到它有多大的潜力。这种兴奋感如同头一次用计算机编程,我们变得对于这些链能做什么感到强烈的好奇。最后,我们设计并运行了总共21个电路。”

通过实验的方式,研究人员们展示了用六比特分子算法完成各种任务。在数学中,他们的电路测试输入并评估它们是否是3的倍数,执行相等性检查,直到63。其他的电路则在DNA“织巾”上描绘“图案”,例如Z字形、双螺旋结构、不规则间隔的钻石。同样,还有一些电路演示了概率性行为,例如随机游走,以及通过掷硬币来获取公平的50/50随机选择的聪明算法(一开始由计算机先驱约翰·冯·诺伊曼开发)。

价值

在开始这项研究的时候,Woods 和 Doty 是理论计算机科学家,所以他们必须学习一系列“湿实验室”的新技能,这些技能更多地被生物工程师和生物物理学家使用。Winfree 表示:“当需要进行交叉学科设计的时候,进入这个领域就会遇到显著的障碍。通过设计能在更高层面重新编程的机器,计算机工程战胜了这个障碍,所以如今的程序员无需了解晶体管物理。在这项工作中,我们的目标是展示类似的可在更高层面编程的分子系统,所以在未来,分子程序员可以释放他们的创造力,而无需掌握多个学科。”

Woods 表示:“不同于之前为执行单个计算而特别设计的分子实验,重新编程系统可以解决不同的问题,简单到只要选择不同的试管混合在一起就可以了。我们可以在实验室的工作台上进行编程。”

尽管相比《自然》期刊论文中提到的那些计算机,DNA计算机可以执行更复杂的计算,但是 Winfree 提醒我们不要期望它取代标准的硅芯片计算机。这不是这项研究的目的。他说:“这些是初步的计算,但是它们能教会我们,以自组装方式加工的简单分子是如何能够处理信息和执行算法的。生物学证明了化学天生就是基于信息的,可以存储在分子层面指导算法行为的信息。”

关键字

计算机、分子、DNA、算法、软件

参考资料

【1】https://www.caltech.edu/about/news/computer-scientists-create-reprogrammable-molecular-computing-system

【2】Damien Woods, David Doty, Cameron Myhrvold, Joy Hui, Felix Zhou, Peng Yin & Erik Winfree. Diverse and robust molecular algorithms using reprogrammable DNA self-assembly. Nature, 2019 DOI: 10.1038/s41586-019-1014-9

相关文章