1700263790
1700263791
1700263792
1700263793
1700263794
不过,这些基本计算元件也不是非得做成电路。正如第2节说过的,计算原本就是这个世界的运行规律,“1”和“0”不是两个数字,而是两极对立。开和关、有和无、高和低、满和空、直和弯、大和小、软和硬,都是对立。所以飞花摘叶,原则上什么东西都能做成基本计算元件,台球这样外观标致的东西,当然也不例外。
1700263795
1700263796
1981年,两位美国计算机科学先驱爱德华·弗里德金和托马索·托夫里,提出了用刚体球制造基本计算元件的“台球构型”VIII。我们暂时先不透露他们为什么会有这样的“奇思妙想”,先来看看这是怎样一种奇怪的设计。
1700263797
1700263798
如图增—25,那是台球构型的“且计算”元件,一个形状很特殊的台球桌,设计了A和B两个入口,A和B两个出口,还有一个“且出口”。台球就是输入的数据,它从哪个入口打进台球桌,哪个入口就是“1”;反过来,哪个入口空着,就是“0”。
1700263799
1700263800
打上台球桌的台球会在桌沿上来回碰撞,也会彼此碰撞,最后从出口射出台球桌。如果“且出口”有台球打出来,计算的结果就是“1”,否则就是“0”。你看,只有A入口和B入口同时有台球打入,且出口才会有台球打出,这与表增—2的且计算规则完全吻合。
1700263801
1700263802
但是,“台球且计算”又与一般的且计算稍有不同:一般的且计算只有1位输出,只区分“且出口”是“1”还是“0”;而台球且计算还多了A出口和B出口,在且出口同样是“0”的三种情况下,这两个出口会有不同的输出,就像表增—4那样。
1700263803
1700263804
表增—4 台球且计算的规则表
1700263805
1700263806
1700263807
1700263808
1700263809
1700263810
1700263811
1700263812
图增—25 台球构型的且计算元件示意图,分别计算了“1且0=0”、“0且1=0”和“1且1=1”。(作者绘)
1700263813
1700263814
也就是说,相比一般的且计算,台球的且计算可以逆推出所有的输入——它是完全可逆的。
1700263815
1700263816
请记住“可逆”这两个字,它在这则增章里占有至关重要的位置。
1700263817
1700263818
用这样的台球元件构造台球计算机,就只需要把许许多多的台球桌摆在一起,出入口对齐,然后把台球打进去到处碰撞,等着观察哪个出口有台球打出就可以了。但问题是,台球桌和台球不可能绝对光滑,也不可能绝对坚硬,所以台球最初的动能很快就会在摩擦和形变中转化成热能,到时候所有的台球都会停住不动,计算也就终止了。在宏观世界里,这是一切接触运动的必然归宿,所以只有把整个计算元件做得极端小,小到微米以下的微观世界里,摩擦和形变带来的动能损耗才会渐渐消失。
1700263819
1700263820
但是这样一来,台球也就疯了。
1700263821
1700263822
当我们规避了宏观世界里不可避免的热损耗,微观世界里毫无规则的热运动也不可避免地展现出来:微观台球对环境中的任何影响都极其敏感,环境中无数分子的踊跃碰撞一定会让它陷入永恒的布朗运动,让它在台球桌上不停地乱窜,好像金色飞贼上了身。
1700263823
1700263824
那么,如果要让发了疯的台球元件继续发挥计算功能,该怎么办呢?啊,我们一下子就回到了第2节的疯台球比喻:只要用沟和墙——势阱和势垒约束住那个疯台球的运动范围,就可以由着它做布朗运动了,迟早,它都要撞到正确的出口去。
1700263825
1700263826
像这样,把疯台球用势阱和势垒约束起来,使它只能在通往计算终点的有限范围内随机运动,就是“布朗运动构型”的基本原理了。这种计算机构型在1982年由苏联的计算机科学领军者K. K.利卡列夫在一篇讨论计算机能量耗散极限的论文里首先构想出来。IX
1700263827
1700263828
当然,我们已经在这一节的开头说过了,布朗运动构型在人类手中至今都只是个理论模型,但细胞早就悄悄地把这种构型进化到了极致。最先意识到这一点的,是1982年在IBM(国际商业机器公司)从事计算机科学研究的物理学家查尔斯·班尼特。X不过,他当初并没有像这本书的作者这样把整个细胞乃至整个生命归结为一台布朗运动计算机,而只是专门提出中心法则中负责转录的那个酶,即RNA聚合酶,是一个布朗运动的计算元件。
1700263829
1700263830
8.赶时间的代价
1700263831
1700263832
RNA聚合酶的功能就是以一条DNA单链为模板,根据碱基互补配对原则,转录出一条RNA链来。它的整个工作原理可以高度简化成图增—26。
1700263833
1700263834
RNA聚合酶就像拉链头一样套在一条DNA模板链上,游离在周围的4种RNA单体将陆续进入聚合酶的沟槽,在那里与模板链上的碱基配对。聚合酶会把成功配对的RNA单体焊接在已经合成的RNA链上,然后向右移动一位,处理下一个配对成功的RNA单体。聚合酶不断右移,合成出来的RNA链也不断延长,什么时候RNA聚合酶达到了右边的终点,计算也就完成了。
1700263835
1700263836
但这个过程发生在细胞的水环境里,一切物质都发生着疯狂的随机运动,绝不会按部就班地完成计算:进入沟槽的RNA单体是随机的,未必就刚好能与模板配对。那些不能配对的单体按理说不能形成恰当的三维结构,也就不能触发聚合酶的催化反应,但在微观世界没有绝对的事情,RNA聚合酶把一个错误的单体焊接在RNA链上并不是什么奇怪的事情。
1700263837
1700263838
这显然不是什么好事,计算如果失去了精度,也就称不上计算了。好在RNA聚合酶的催化作用是“可逆”的,一切错误都有“校正”的机会。RNA聚合酶的活性中心既可以把RNA单体焊接在RNA链的末端,也可以把RNA链末端的单体切下来,而那些错误的单体因为不能互补配对,被切下来的概率就更大。也就是说,图增—26里的“拉链头”实际上一会儿向左,一会儿向右,向左的时候更有可能拆掉一个错误的单体,向右的时候更有可能连接一个正确的单体XI,这就大大提高了RNA聚合酶的计算精度。实际上,如果没有任何时间压力,允许RNA聚合酶无限次校正,那么它的计算精度就会无限逼近100%。
1700263839
[
上一页 ]
[ :1.70026379e+09 ]
[
下一页 ]