透过技术的表象看本质
2014-09-26陈凯
陈凯
著名的数学家史蒂芬·沃尔弗拉姆认为,让计算机根据简单的法则做反复的运算,就可实现异常复杂的模型。这些模型可以解释自然界中所有的现象,而宇宙的一切规律都可以用简单的程序经反复计算而获得,其简单的程度,甚至可能只需要短短几行程序。本系列文章的目的,就是试着用极其简单的数学模型,来创设一个虚拟的空间,并在这个虚拟空间中模拟各种现象,通过观察这些实验现象,思考其计算本质。我们先来看一个有趣的问题,若电报员通过有线电缆将信息从A地发往B地,那么究竟是什么“东西”从A地传到了B地,传播的速度究竟有多快呢?不过,这里并不打算从物理学的角度来研究这个问题,而是用重写系统来搭建一个简单的模型。
● 字符串电报
实验1:假设有字符串100000000000000000000……字符串代表了电报电缆,设字符串左侧为A地,右侧为B地,而字符串的长度就是电报电缆的长度,现有如下简单程序,其作用是从左到右遍历整个字符串,将“10”替代成“01”。如果反复执行替代程序,就仿佛“1”在整个字符串中移动,A地发出信息,经过若干次替换操作后,B地即能收到信息。这个模型的问题是,字符串越长,“1”移动的步数也就越多,而每移动一步都需要运行一次字符串遍历替换程序,所以信息传输的速度是不快的。
当然,可以编写更复杂一些的程序,使得在所谓的“电报电缆”中,能够传输其他信息,如让每个字符同步复制其左侧字符的值。不过,虽然能用这个模型传输各种信息,但传输的速度始终是个瓶颈。在现实世界中,有线电报也不是用这样的方法来传输信息的。
实验2:假设有字符串01010101010101……仍然用这个字符串代表电报电缆,字符串左侧是A地,右侧是B地,现有如下简单程序,其作用是从左到右遍历整个字符串,将0替代成1,将1替代成0,然后反复运行替换字符串的程序,于是就产生了一个仿佛跑马灯的幻象。如此,就有一个办法大大提高信息的传输速度。虽然“1”在整个字符串中的移动速度照旧,但一旦A地有发送信息的动作,B地立刻就能感应到,B地只要观察“跑马灯”什么时候动,什么时候不动,就能解码出A地传来的信息。一方面,信息传输的稳定性很高。发报员不需要真的将一串信息从A地发往B地,而仅仅依靠发送动作的节奏,就能够向B地传输信息。另一方面,信息传输的速度大大提高了,因为这时信息传输的速度不是“1”移动的速度,而是字符串替换程序遍历整个字符串进行搜索替换的速度。
● 真正的有线电报
做完“字符串电报”实验,再回头来看现实世界中有线电报的运行原理,就能发现两者间微妙的对应关系。例如,在电报电缆中电子的移动速度比较慢,让人联想到实验1中逐个移动的字符“1”,而有线电报信息传输速度非常快,电信号能以光速传输,不免让人联想到在实验2中,只要实现一次字符串遍历替换,B地就能感应到A地的发报动作。根据相对论,信息的传输速度不可能快于光速,而观察实验2程序的运行情况,也可以很清楚地明白,信息传输的速度是不可能超过字符串遍历替换程序的运行速度的。
如果人们用程序代码来创建一个虚拟世界而不只是一段电缆线,那么在这个虚拟世界中,信息的传输速度也绝不会超过程序代码的运行速度。这个问题反过来想的话,不免让人感到有点头皮发麻,爱因斯坦认为我们的宇宙中光速是恒定且最快的,这是否暗示着,人类所处的当前世界有个恒定的运算频率呢?endprint