第11章  单程递归_镜子_刘慈欣

  首长扑向计算机,谁都没有见过他那么敏捷,如饥饿的鹰见到地面上的小鸡,令人恐惧。他熟练地移动鼠标,将时间滑标滑过零时点,在滑标进入未来时段的瞬间,一个错误提示窗口跳了出来:

  Stackoverflow......

  白冰从首长手中拿过鼠标,“让我们启动错误跟踪程序,Stepbystep吧。”

  模拟软件退回到出错前,开始分步运行。当现实中的白冰将滑块移过零时点,镜像中虚拟的白冰也正在做着同样的事;错误跟踪程序立刻放大了镜像中的那台超弦计算机的屏幕,可以看到,在那台虚拟计算机的屏幕上,第二层的虚拟白冰也正在将滑块移过零时点;于是,错误跟踪程序又放大了第三层虚拟中的那台超弦计算机的屏幕......就这样,跟踪程序一层层地深入,每一层的白冰都在将滑块移过零时点。这是一套依次向下包容的永无休止的魔盒。

  “这是递归,一种程序自己调用自己的算法,正常情况下,当调用进行到有限的某一层时会得到答案,多层自我调用的程序再逐层按原路返回。而我们现在看到的是无限调用自己、永远得不到答案的单程递归,由于每次调用时都需将上层的现场资料存入堆栈,就造成了刚才看到的堆栈内存溢出,由于是无限递归调用,即使超弦计算机的终极容量也会被耗尽的。”

  “哦。”首长点点头。

  “所以,虽然这个宇宙中的一切过程早在大爆炸发生时就已经决定,但未来对我们来说仍是未知的,对讨厌由因果链而产生的决定论的人来说,这也是一个安慰吧。”

  “哦——”首长又点点头,他哦的这一声很长很长。