My Test Tube Filled With DNA Is Better Than Your Mesos Cluster
翻译:赵屹华 审校:刘翔宇
我们见过用黏菌、肥皂膜、水滴计算,甚至用10000台Domino服务机来计算。如今,DNA可以在试管内做加减乘除的数学计算了。
速度并不快,计算需要几个小时才能完成。它的好处在于:它们很小,能在潮湿的环境下工作。试想在你的血管或是细胞内进行运算,如同一堵可编程的防火墙,有针对性地检测和预警健康指标,然后触发一个局部响应。或者,如果你在写科幻小说,也能把海洋变成一台巨型计算机?
应用产品听起来就像是科幻小说:
以前控制化学反应网络的设备和DNA治疗产品都被局限于有限状态的控制,模拟DNA电路将允许更复杂的模拟信号处理和控制。DNA机器人技术允许设备自主操作(例如,在纳米结构上行走),但也被有限状态控制所限制。
相比纯粹的数字控制,模拟DNA电路可以让分子机器人用实时模拟控制电路来提供更复杂的控制。许多动态地从环境中学习的人工智能系统(例如神经网络和概率推理)需要模拟计算,而且模拟DNA电路可用于神经网络、贝叶斯概率推理系统的反向传播计算。
工作原理
当在测试管中被混合时,它们合成DNA链,形成一个模拟电路,通过合成或者破坏化学键实现加减法、乘法的运算。DNA电路使用特定的DNA链的浓度作为信号,而不是电压信号。研究人员通过测量反应达到平衡时特定的传出的浓度来解决数学问题。
我花了些时间找到了一篇免费版的原著论文:Analog Computation by DNA Strand Displacement Circuits。论文写得很好,但价格我承受不起。如果你想了解整个领域的概述,那么这里还有一篇非常好的介绍:DNA Circuits for Analog Computing。
一些摘要:
DNA计算是什么?
DNA计算是使用DNA作为硬件来执行计算[1]。计算通常是基于DNA杂交和DNA链位移。
我们为什么对DNA计算感兴趣?
DNA是一种基于沃森-克里克碱基对高度可编程的生物材料(A-T,G-C)。我们可以编程控制序列的反应途径和基于DNA系统动力学。以大规模DNA为基础的数字电路已被证明[1]。
DNA电路在模拟计算中的潜在应用
模拟电路需要更少的逻辑门电路来执行算术操作。例如,我们只需要一个门实现模拟系统中的每个算术运算(加法,减法和乘法)。在数字系统中,我们需要几门。此属性使模拟DNA电路在资源有限的环境中非常有用,例如,在活细胞内。
自然界是模拟和数字的混合模式[2]。模拟DNA电路可以作为天然模拟系统的接口。
为什么模拟?
模拟电路相比数字电路上有自己的优势。例如,在相同的精度下,模拟电路进行数值计算需要的逻辑门比数字电路更少。基本算术运算,如加、减、乘法是由模拟电路单逻辑门完成,而数字电路需要多个门来完成每个基本的算术运算。这意味着,模拟电路比相应的数字电路消耗更少的资源,这个属性使模拟电路在资源有限的环境中非常有用(例如,在活细胞内)。此外,对于一些应用,模拟电路可以比数字电路更强大。
可以实现的电路
计算多项式函数的电路:
- 策略:简单地通过编程门的输出链序列将逻辑门连接。
- 潜在问题:静态输入与动态输入
- 技巧:所有乘法门的Im2输入使用静态输入,设置G’m3和GM4之间的浓度比。
泰勒级数与牛顿迭代
- 分配给每一个线的公式描述了通过它的信号。每个门被分配一个数字,为了方便地描述电路设计。对gate-2,gate-4,gate-5,gate-6,gate-7和gate-8的输入范围是1。gate-1的输入范围是4。gate-3的输入范围是2。输入范围取决于一个门的输入信号确定的上限,我们按照测试的模拟输入范围来输入信号。
相关阅读