第一推动丛书·综合系列(套装共8册)
上QQ阅读APP看书,第一时间看更新

物理结构能够计算吗?

在现代的科学世界观中,是很少的一些相对较简单的规则作用于简单的初始条件,经过漫长时间的演化,产生出大量的复杂事物。物理系统同计算系统一样受限于规则,但这里的规则是化学和物理定律,而不是来自人的设计。如果物理定律没有逻辑可循,数学就无法刻画自然,也不会有物理学这门科学。规则在计算和物理系统中的同等地位引发了长期的争议,人们怀疑是不是可以将宇宙视为一台计算机。这一节并不想尝试回答这个问题,而是阐释为什么不可能在物理过程和计算之间划分明确的界线。

加州理工学院的埃里克·温弗里与其同事创造了行为类似于1维元胞机的物理系统埃里克·温弗里的网页位于http://www.dna.caltech.edu/~winfree/。他和他的合作者研究DNA模块的编程结构。。这种系统是基于名为“分子砖”的化学结构。砖块是扁平结构,有两条边可以与其他砖块结合。通过适当的设计,砖块可以“自组装”成预先设定的结构。

扁平砖块只能通过边结合形成1维或2维结构,形成3维结构则需要3维砖块。图2.7a上面一行展示了4个扁平砖块图2.7和2.9的思想源自“Algorithmic Self-Assembly of DNA Sierpinski Triangles,”Paul W.K.Rothemund, Nick Papadakis&Erik Winfree, PLOS Biology, pp.2041—2052,Vol.2,December 2004。图2.8是直接引自该文。经创作共用许可契约(Creative Commons License Deed, http://creativecommons.org/licenses/by/2.5/)许可使用。。每个砖块两端都有A型或B型结合点。假设有2条规则——A只能结合B并且A不能与倒置的B结合(B也不能与倒置的A结合),那这4个砖块结合的方式只有一种,产生的结构如下一行所示。

图2.7b展示了端部有4个结合点的3个砖块。这个例子中结合点有4种类型:A、B、C和D。基本规则是A与B结合,C与D结合。同样不允许倒置的结合。这些砖块上每个标有字母的结合点都有特定的形状。结合点的特定组合可以形成交错的结构,就像下面的3个砖块那样。

在图2.7c中用了给出的4种砖块建造一个生长的结构。只有互补的形状才能结合。如果规则要求只有一端的两个结合点都能匹配的砖块才能结合,那图2.7 c上面的砖块就不能生成任何结构,因为这些砖块相互之间都无法结合。

为了解决这个问题,必须从一个模板或种子行开始组装过程。图2.7c下面展示的生长结构从模板行开始,模板中间部分有一个灰色的结合点。Ⅰ型砖块可以在模板的任意位置结合,只有那个用星号标记的灰色位置除外。这个位置只有Ⅲ型砖块可以结合。在模板上组装的第1行砖块上面又可以形成第2行。第2行大部分也是由Ⅰ型砖块组成,但是在第1行唯一的Ⅲ型砖块上面相邻的是Ⅲ型和Ⅵ型砖块。第2行上面又可以组装第3行,可以一直进行下去。每一行都是由下面那一行的样式决定。如果将Ⅰ型和Ⅱ型砖块填成灰色(如图所示),将Ⅲ型和Ⅳ型填成白色,则白色砖块的生长样式为塞平斯基填充。与图2.4元胞机规则集90计算出的样式一样。模板上唯一的Ⅲ型结合点在物理拼砌系统中起到的作用与图2.3到图2.6的1维元胞机中唯一的黑色元胞一样。

图2.7 c是画出来的。图2.8中展示的塞平斯基填充则是在试管中由DNA短链砖块自发形成的微观物理结构。这些物理砖块是图2.7c中设计的砖块的化学版本。图2.8中的结构是通过在适宜的盐水中加入混合的DNA砖块和少量模板形成的。原则上,适当设计的砖块和模板组成的分子拼砌系统能生成任何想要的序列。这意味着,理论上,电子计算机能实现的任何算法也能通过适当的砖块集合和模板的组装实现。这也意味着,只要有适当的砖块集合和模板,任何可以构想的2维结构都可以通过自组装创建出来。推而广之,“物质可以通过编程从简单的成分自我组装成有用的结构”杰克·卢茨(Jack Lutz)是爱荷华州立大学的计算机学教授,一直给研究生教授拼砌理论。这句话引自他2007年在课堂上说的话。

图2.7 a.两端各有1个结合点的自组装砖块图以及砖块形成的结构。b.有4个结合点的自组装砖块。这种特定的结合点设置只允许交错匹配。c.4种类型的砖块在模板(黑色部分)上的组装。在模板上的第一行,Ⅰ型砖块可以结合任意位置,除了一个位置(用星号标记)。Ⅲ型砖块可以结合这个位置。接着往上的每一行都表现出新的特点(参见注释7)

图2.8 原子力显微镜下DNA短链砖块形成的三角形图样。白色砖块被设计得比灰色砖块突出,形成颜色对比。错误标记为x(参见注释7)

埃里克·温弗里在他的博士论文中研究了砖块组装的潜在计算能力,他证明了可以设计出能执行(通用)图灵机计算的砖块集。这表明电子计算机能计算的原则上分子砖也能计算。

目前的拼砌系统由于错误率很高,实用性还很有限。分子系统不像电子计算机那样表现完美,因为分子结合有时候会出错。尤其是两个结合点必须绑定到一起砖块才能形成大的结构的规则很难保证遵守。在图2.8的实验中就出现了一系列错误。在简单的自组装系统中,错误的传播会摧毁组装的确定性,从而限制能够成功形成的结构的复杂性。不过我们知道,还是有可能通过自组装形成非常复杂的结构。毕竟生物体就是这样的结构。

错误传播的问题并不是只有分子砖组装系统才有,实际上所有形式的确定性计算都会有。你的计算机通过将错误率降到极低水平,有时候还结合纠错策略,从而避开了这个问题。纠错指的是在继续进行下一步之前检查上一个步骤是否执行正确的机制。在分子尺度的过程中,热噪声是无法避免的。因此许多基于分子组装的计算实现都必须有纠错机制。生命系统的存在依赖于复杂结构的分子自组装,因此也具有许多类似的策略。其中许多还无法有效地在人工的试管自组装系统中实现。

物理对象的自组装的特点是通过砖块设计来物理体现计算规则。可以通过图2.7c与图2.9的对比说明这一点。图2.9中标有1和0的方块形成了交错的行。在图2.7 c中砖块基于互补形状形成行。图2.9展示了计算规则:“如果下面的2个砖块有1个为1就添加1块1型砖,如果下面2个砖块都为0或都为1,就添加1块0型砖。”这就是图2.2中用逻辑门实现的“异或”(XOR)逻辑函数。塞平斯基填充就是从一个单独的1开始,通过反复应用XOR逻辑函数得到的。规则集90(图2.4)是XOR逻辑函数的另一个实现。图2.8中分子结构的建构则是在化学上重复应用同样的XOR逻辑函数。这个规则没有明说,而是隐含在砖块的设计中。不同的砖块设计能实现其他逻辑函数并形成其他结构。

图2.9 用砖块实现塞平斯基填充的背后的逻辑。t=0,t=1和t=2表示依次产生的行,每一行的图样都是取决于下面的行(参见注释7)

图2.9也能帮助我们理解种子序列的作用。塞平斯基三角形的生长是通过将XOR函数作用于包含一个1其余全为0的初始行。如果种子行由隔得很开的1组成,则每个1都会长出塞平斯基三角形图样。最终,三角形图样会碰到一起,图样相互干扰,变得很复杂。由0和1的复杂样式组成的初始种子序列会导致后续的0和1样式同样复杂。通过巧妙地安排种子序列,只需用XOR函数作为规则,就能计算出特定的复杂序列。但XOR规则还不足以实现通用计算。你需要规则集110(图2.5)那样特殊(并罕见)的规则。

想象一下人类活动尺度的砖块自组装,假设在拼图的每一块的边缘特定位置附上小磁铁。磁铁的强度被设置成只有两对磁铁正确对齐才能精密绑定到一起。这种特殊的拼图具有魔术般的特性,只需将图块放在平面上,所有面朝上,然后水平摇晃,让图块跟着晃动但不翻转,就能组装起来。最终,图块会以合适的角度相遇并结合到一起。慢慢地拼图就会自行组装。图2.10展示了这样的例子。

图2.10 9个图块的自组装拼图。小黑块是磁铁。图块要组装进来必须至少有两个磁铁与其他图块结合。上面的图展示了最开始组装的3个图块。下面的图展示了完成后的拼图

在图2.10中黑色的小块是磁铁,摇晃的强度使得单独一对磁铁无法长期绑定在一起;只有当两对或更多磁铁在相同时间接触到一起,图块的结合才会牢固。只有图块1和图块2符合条件,可以无需其他图块的帮助结合到一起。一旦图块1和图块2结合到一起,图块3就能同它们结合,图块3结合后,图块4就能结合,然后是图块5,然后是图块6。图块6结合后,图块7和图块8就都能结合,而图块7和图块8都加进来后图块9才能结合,从而完成拼图。

自组装将通常被区分开的物理过程和计算的概念连接到了一起。最终,物理结构的形成和计算都能通过状态之间随时间的互动来认识。确定性数字计算构成了一个极端,状态只由(0和1)两种组分形成,并且采用的规则总是被遵循(没有错误)。物理系统也是计算,但它们通常有许多组分,并且有噪声,因此错误很常见,即便知道规则也往往无法详细预测确切的结果。