1700263765
到此为止,我们可以毫不夸张,也并无比喻地说,每一个细胞都是一台计算机,每一个多细胞的生命,都是一个计算机网络。如果这本书的作者还有许多的篇幅、许多的精力与许多的截稿日,他或许会更具体地比较一下生命与通用计算机究竟有多么相似。细胞作为计算机的潜力很可能不低于人类已经创造过的任何一种计算机,也就是说,凡是电子计算机能够完成的计算,细胞也同样能设法实现。比如我们可以设想把一个MP4文件还原成1和0,据此合成一条核酸序列,注入某个基因改造过的细胞。这个细胞会把它解码成另一条核酸序列,设法分泌出来。我们拿到这条解码后的序列,把它还原成1和0,恰好就是那个MP4文件里视频的每一帧画面,以及音频的采样数据。
1700263766
1700263767
但眼下,我们还是只关心它们深刻的差异:细胞作为计算机,其构型与人类发明过的所有计算机有着根本的不同。
1700263768
1700263769
计算机科学所谓的“构型”也是个挺复杂的概念,但在这则增章里,你可以把它简单地理解成“让计算元件实现计算功能[6]的组织方法”。比如现行的电子计算机大多是“冯·诺依曼构型”,凭借运算器、存储器和控制器三者之间的数据交换实现计算。人类还能通过输入设备给计算机提供数据,再借助输出设备获取计算的结果。[7]
1700263770
1700263771
除此之外,我们也在自然界和实验室里发现或者设计了许多种目前看来非常不实用,却在理论研究上很有趣的其他构型,比如元胞自动机、树自动机、随机存取机之类,这里我们都不展开讨论。
1700263772
1700263773
我们只关心细胞,它们作为计算机,采用的是一种非常独特的“布朗运动构型”。我们在20世纪80年代初从理论上提出这种构型以后从未真的造出一台这样的计算机,因为这样的计算机要求极高的加工精度,远超人类现在的工艺水平,只有细胞内的生命活动才天然地适合这种构型,并且历经40亿年的进化达到了不可思议的复杂程度。
1700263774
1700263775
而要理解这种布朗运动构型,我们还得从台球没有疯的时候说起。
1700263776
1700263777
不论多么复杂的计算,都可以不断地分解、化简,最后变成几种基本逻辑计算,比如“非”“且”“或”三种基本逻辑,它们都只接受“1”和“0”两种输入,也只有“1”和“0”两种输出,全部变化规则只需3张很小的表格就能明确概括。但是“三生万物”,只要层层递进地组合起来,它们可以满足几近无穷的计算需求。于是,人类用专门的电路元件实现了这样的基本逻辑计算[8],然后在方寸之间集成了几亿个甚至十几亿个这样的计算元件,就制成了电子计算机的中央处理器,也就是通称的“CPU”——你我眼前这个辉煌的计算机时代,全是这样计算出来的。
1700263778
1700263779
表增—1 非计算的规则表
1700263780
1700263781
1700263782
1700263783
1700263784
表增—2 且计算的规则表
1700263785
1700263786
1700263787
1700263788
1700263789
表增—3 或计算的规则表
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
也就是说,相比一般的且计算,台球的且计算可以逆推出所有的输入——它是完全可逆的。
[
上一页 ]
[ :1.700263765e+09 ]
[
下一页 ]