微小计算者
- 来源:21世纪商业评论 smarty:if $article.tag?>
- 关键字:计算机,人工智能,DNA smarty:/if?>
- 发布时间:2011-10-12 13:04
我们的大脑拥有令人惊叹的功能,它让人们判断事物的联系、形成联想和创造,并且做出决定。这种特性一直是计算机模仿的目标,但是传统的计算机看起来似乎并不容易实现类似的功能。这可能是因为计算机和人脑的工作方式存在着巨大的不同:在KevinKelly的那本《失控》中提到,人的意识更像是许多个想法相互竞争,最终其中的某一个因为因缘际会脱颖而出,并且决定了我们的思维。神经科学似乎能够提供一个旁证,我们的大脑中每时每刻都有无数的神经元在活动,但是最终会产生什么行为和想法似乎难以预知。与之相对应的,则是计算机精确而难以容错的计算方式,它们稳定地沿着指定的算法运行,最后得出确定的结果。之间任何不确定,对于计算机都是不可忍受的。
也许正是这种根本的不同,决定了人和计算机的最大区别,也决定了人工智能目前看来依然是一个遥远的梦想。但是,一些研究者正在尝试进行类似人脑工作方式的运算,从大量纷繁芜杂的计算结果中挑出那些符合我们需要的,并且把它们呈现出来。在这些计算方式中,使用的不再是基于硅片和算法的电子计算机,而是那些在试管中游荡的、微小到显微镜都看不到的遗传物质:DNA分子。这种计算方式,也就相应地被叫做DNA计算。
这是一个新领域。人们尝试使用这些脱氧核糖核酸分子的特性,同时进行许多计算工作,让计算速度更快而能耗更低。这些在试管中进行的大规模并行运算已经成了计算技术的新希望之一,而最近的一些研究结果则带来更多的好消息。而这一切,则需要从DNA和一个数学问题开始。
我们知道,DNA是地球上生物们的遗传物质。普遍认为,它们由四种碱基构成:腺嘌呤、鸟嘌呤、胞嘧啶和胸腺嘧啶,分别用A、G、C、T来表示。这些碱基会相互结合,A对应T,C对应G,就像拉链那样啮合在一起,形成一条漂亮的双螺旋。这种相互啮合的特性,正是进行DNA计算所必须的能力。如果我们可以把要运算的对象编码成DNA分子链,用生物酶对这些分子链进行操作,那么就可以根据DNA分子链的构成来得到计算结果。简单来说,就是把要解决的问题变成一系列运算,并且设法让DNA自己得出正确结果,再把这些结果筛选出来。在理论上,这种计算完全可行,但是实际应用上的突破则到1994年才出现了曙光。
那一年,曾经发明了广为应用的RSA加密技术的LeonardAdleman首次用DNA计算的方式解决了七顶点的旅行商问题。顾名思义,旅行商问题考虑的是如何经过多个城市,并且每个城市都只经过一次。当时Adleman所使用的方法和今天的DNA运算思路并无太大不同:把每个顶点和每条顶点之间的路径都编码成特定的DNA分子,并且其中路径编码和两个顶点的编码存在互补关系。把这些用于运算的原料和合适的酶放进试管,只需要几秒钟时间,分子们就会自动组合成DNA链。正确答案已经在试管中形成,只需要把它们挑选出来即可。
这时的试管有点类似中国科幻作家刘慈欣在《诗云》中提到的场景。我们已经获得了所有可能的结果,但是把正确结果从错误结果中挑选出来,则是更艰巨的挑战。Adleman用电泳技术把合适长度的DNA链分拣出来,用亲和力萃取技术选出所有包含第一个顶点的DNA链,再从中分出同时包含第二个顶点的DNA。以此类推逐步缩小范围,在经过七次萃取之后就获得了同时包含七个顶点的DNA链,连接这些顶点的线路们也自然随之而出。它的效率还很低,但是这在历史上是第一次,DNA解决了数学问题。
从那时开始,DNA计算领域开始迅速发展。1996年,FrankGuarnieri设计出了基于DNA运算的二进制加法,让二进制数能够存取与进位,解决了加法和乘法问题;三年后,YurkeBernard解决了正有理数DNA运算的问题,并实现了DNA的布尔逻辑运算。现在,一些研究者已经可以用这些试管里的微小分子完成更复杂的计算了。2008年,新加坡南洋理工大学舒建军教授在《物理评论快报》发表了他的最新研究成果,称他的团队提出了一种通过操纵DNA链能解决基于DNA计算的战略分配问题,他同时还宣称:“1克DNA可储存1万亿张CD。”
舒教授表示,人体就像一台计算机,每时每刻都在进行计算,比最快的硅芯片超级计算机都要快得多。在处理战略分配问题方面,随着硅计算的发展,即使运算最快的硅芯片计算机在处理战略分配问题上仍需要花费数月,而基于DNA计算则被证明是高效的。利用基于DNA的计算方式能够更高效地解决大量平行问题、组合问题以及人工智能问题。而且DNA计算机所用的DNA生物芯片比硅芯片更环保。
与传统计算机不同,DNA计算机的计算是并行执行的,而且计算并行度很大。在一毫升的DNA溶液中,可以容纳十的十八次方条DNA。每条DNA都可以看成是一个微处理器。这样的话,虽然生化反应是在一小时之内完成的,每秒钟的运算量仍可以达到十的十五次方,而现在最快的计算机每秒钟的运算速度是十的十二次方。这样的话,DNA计算要比最快的计算机还要快1000倍。传统计算机进行线性操作,一次只能处理一项任务。并行计算使DNA能在数小时内求解出复杂数学问题的答案,如果使用电子计算机,则需要花费数百年的时间才能完成这些问题。
2011年6月和7月,美国加州理工的研究者在国际顶级学术期刊《科学》和《自然》上发表了两篇文章称,用DNA分子构建出了几种用于预算的逻辑门元件,并且实现了神经网络算法;他们设计的一种DNA运算工具能够在10个小时内算出15以内自然数的平方根,另一种更复杂一些的DNA运算电路甚至能够和研究者玩猜谜游戏。
在传统计算机中,逻辑门——用于完成简单的逻辑判断工作的运算元件——由硅晶体管制成,但在DNA运算中则是由单链DNA和部分双链特征DNA组成。晶体管以电子的流入和流出为信号,而DNA逻辑门以接收和发出分子作为信号。这些分子信号在溶液中从一个逻辑门运动到另一个,找到可以相互啮合的位置就会停留下来,而这也就意味着得到了计算结果。
两个月内连续发表的两篇顶级论文,意味着DNA计算已经出现了令人惊艳的新突破。但是,这并不意味着DNA计算技术会很快取代现有的硅基计算工具。研究者认为,也许DNA计算更适合用在与生物有关的研究领域,例如检测血液样本中各种分子的浓度水平等。但是,作为多种学科交叉领域的DNA计算必然会受到所有相关技术发展的影响。也许有一天,计算机中将会采用基于DNA运算原理的计算芯片,也并非完全不可能。到那时,一台个人电脑的运算能力,也许将会相当于现在一个城市的所有计算能力之和吧。
猛犸
……
也许正是这种根本的不同,决定了人和计算机的最大区别,也决定了人工智能目前看来依然是一个遥远的梦想。但是,一些研究者正在尝试进行类似人脑工作方式的运算,从大量纷繁芜杂的计算结果中挑出那些符合我们需要的,并且把它们呈现出来。在这些计算方式中,使用的不再是基于硅片和算法的电子计算机,而是那些在试管中游荡的、微小到显微镜都看不到的遗传物质:DNA分子。这种计算方式,也就相应地被叫做DNA计算。
这是一个新领域。人们尝试使用这些脱氧核糖核酸分子的特性,同时进行许多计算工作,让计算速度更快而能耗更低。这些在试管中进行的大规模并行运算已经成了计算技术的新希望之一,而最近的一些研究结果则带来更多的好消息。而这一切,则需要从DNA和一个数学问题开始。
我们知道,DNA是地球上生物们的遗传物质。普遍认为,它们由四种碱基构成:腺嘌呤、鸟嘌呤、胞嘧啶和胸腺嘧啶,分别用A、G、C、T来表示。这些碱基会相互结合,A对应T,C对应G,就像拉链那样啮合在一起,形成一条漂亮的双螺旋。这种相互啮合的特性,正是进行DNA计算所必须的能力。如果我们可以把要运算的对象编码成DNA分子链,用生物酶对这些分子链进行操作,那么就可以根据DNA分子链的构成来得到计算结果。简单来说,就是把要解决的问题变成一系列运算,并且设法让DNA自己得出正确结果,再把这些结果筛选出来。在理论上,这种计算完全可行,但是实际应用上的突破则到1994年才出现了曙光。
那一年,曾经发明了广为应用的RSA加密技术的LeonardAdleman首次用DNA计算的方式解决了七顶点的旅行商问题。顾名思义,旅行商问题考虑的是如何经过多个城市,并且每个城市都只经过一次。当时Adleman所使用的方法和今天的DNA运算思路并无太大不同:把每个顶点和每条顶点之间的路径都编码成特定的DNA分子,并且其中路径编码和两个顶点的编码存在互补关系。把这些用于运算的原料和合适的酶放进试管,只需要几秒钟时间,分子们就会自动组合成DNA链。正确答案已经在试管中形成,只需要把它们挑选出来即可。
这时的试管有点类似中国科幻作家刘慈欣在《诗云》中提到的场景。我们已经获得了所有可能的结果,但是把正确结果从错误结果中挑选出来,则是更艰巨的挑战。Adleman用电泳技术把合适长度的DNA链分拣出来,用亲和力萃取技术选出所有包含第一个顶点的DNA链,再从中分出同时包含第二个顶点的DNA。以此类推逐步缩小范围,在经过七次萃取之后就获得了同时包含七个顶点的DNA链,连接这些顶点的线路们也自然随之而出。它的效率还很低,但是这在历史上是第一次,DNA解决了数学问题。
从那时开始,DNA计算领域开始迅速发展。1996年,FrankGuarnieri设计出了基于DNA运算的二进制加法,让二进制数能够存取与进位,解决了加法和乘法问题;三年后,YurkeBernard解决了正有理数DNA运算的问题,并实现了DNA的布尔逻辑运算。现在,一些研究者已经可以用这些试管里的微小分子完成更复杂的计算了。2008年,新加坡南洋理工大学舒建军教授在《物理评论快报》发表了他的最新研究成果,称他的团队提出了一种通过操纵DNA链能解决基于DNA计算的战略分配问题,他同时还宣称:“1克DNA可储存1万亿张CD。”
舒教授表示,人体就像一台计算机,每时每刻都在进行计算,比最快的硅芯片超级计算机都要快得多。在处理战略分配问题方面,随着硅计算的发展,即使运算最快的硅芯片计算机在处理战略分配问题上仍需要花费数月,而基于DNA计算则被证明是高效的。利用基于DNA的计算方式能够更高效地解决大量平行问题、组合问题以及人工智能问题。而且DNA计算机所用的DNA生物芯片比硅芯片更环保。
与传统计算机不同,DNA计算机的计算是并行执行的,而且计算并行度很大。在一毫升的DNA溶液中,可以容纳十的十八次方条DNA。每条DNA都可以看成是一个微处理器。这样的话,虽然生化反应是在一小时之内完成的,每秒钟的运算量仍可以达到十的十五次方,而现在最快的计算机每秒钟的运算速度是十的十二次方。这样的话,DNA计算要比最快的计算机还要快1000倍。传统计算机进行线性操作,一次只能处理一项任务。并行计算使DNA能在数小时内求解出复杂数学问题的答案,如果使用电子计算机,则需要花费数百年的时间才能完成这些问题。
2011年6月和7月,美国加州理工的研究者在国际顶级学术期刊《科学》和《自然》上发表了两篇文章称,用DNA分子构建出了几种用于预算的逻辑门元件,并且实现了神经网络算法;他们设计的一种DNA运算工具能够在10个小时内算出15以内自然数的平方根,另一种更复杂一些的DNA运算电路甚至能够和研究者玩猜谜游戏。
在传统计算机中,逻辑门——用于完成简单的逻辑判断工作的运算元件——由硅晶体管制成,但在DNA运算中则是由单链DNA和部分双链特征DNA组成。晶体管以电子的流入和流出为信号,而DNA逻辑门以接收和发出分子作为信号。这些分子信号在溶液中从一个逻辑门运动到另一个,找到可以相互啮合的位置就会停留下来,而这也就意味着得到了计算结果。
两个月内连续发表的两篇顶级论文,意味着DNA计算已经出现了令人惊艳的新突破。但是,这并不意味着DNA计算技术会很快取代现有的硅基计算工具。研究者认为,也许DNA计算更适合用在与生物有关的研究领域,例如检测血液样本中各种分子的浓度水平等。但是,作为多种学科交叉领域的DNA计算必然会受到所有相关技术发展的影响。也许有一天,计算机中将会采用基于DNA运算原理的计算芯片,也并非完全不可能。到那时,一台个人电脑的运算能力,也许将会相当于现在一个城市的所有计算能力之和吧。
猛犸
关注读览天下微信,
100万篇深度好文,
等你来看……