18、迷宫

有一个故事说,哥伦布发现新大陆后,许多人冷嘲热讽,说新大陆就在那里,哥伦布不过恰好发现了而已,没什么了不起。于是哥伦布让他们竖鸡蛋,自然没有一个能竖起来,于是他们都说这是不可能的,而哥伦布把蛋壳稍稍磕破了一点,鸡蛋就竖起来了。这个故事告诉我们,有些看似不可能的事,其实是可能的,甚至可能很简单。它让我们知道,世界上存在这样一类问题,当我们不知道它的答案时,解决问题是很困难的,甚至会一度让人觉得不可能,但是一旦知道了答案,验证这个答案是否正确则变得非常简单。一般情况下,这类问题的解决都会让人印象深刻而又难忘。

对这类问题的探索过程就像是在走迷宫,探索者身处一个巨大的迷宫里,他要找到迷宫的出口。可是摆在他面前问题的并不是没有路,而是路太多了,每走到一个路口就会发现有几条分叉,分叉之后还有分叉,大部分的路都会把人引到死胡同里,而被困其中的探索者连到底有没有通往出口的路,甚至到底有没有出口都不知道。于是他起初像无头苍蝇一样在迷宫里乱撞,这耗费了他大量的时间,而且收效甚微,许多时候都是在走曾经走过的老路。渐渐的,他总结出了一些经验规律,例如可以按照一个固定的法则来行事,就像一直沿着迷宫左边的墙走,或者在分叉路口处做好标记,避免走重复的路。他感觉这样的方法是有效的,对于距离起点不远的出口,或者迷宫不大时,可以比较容易的走出来。然而,当他要走的迷宫很大很大,出口距离起点非常遥远,那么他的经验所起的效果就大打折扣了,因为他发现,所有总结出来的这些经验法则都有一个相似之处,那就是极低的效率。伴随着起点到终点之间分叉点数量的增加,其运算量或者说需要考虑的可能性呈指数增加,在这种情况下,经验规则就只具有理论意义了。迷宫带给我们的震撼是,当我们不知道答案时,这是一个很复杂的问题,我们需要用效率极低的算法一点点的摸索,最终花费漫长的时间才有可能获得答案,但是一旦知道答案,问题就变得极为简单,而且所有人都能一眼认出这的确就是正确的答案。就像一个密码,对于拥有密码的人来说,这很简单,只需要记住密码序列即可,但对于解密者,破解密码则是件非常伤脑筋的事情。

如果有很多探索者,他们之间可以相互联系,从共同的起点出发去寻找终点,由于迷宫很大,经历了非常漫长的时间,仍然徒劳无功。这时,幸运女神冲着某个探索者微笑了,他找到了出口,标记了自己从起点到终点的行动路径,并且告知了其他人。他们在兴奋中一遍遍的走这条路,并且以这条路为基础,不断尝试与之相邻的其它路径,最终找到了许多其他路径,有的甚至比第一次走通的路径还要短的多。同时,他们陷入了一个疑惑,这些路径非常简单而且正确,从起点到终点并没有太多的分叉点,为什么这么简单的东西,需要这么多人苦苦探索这么久才找到答案呢?为什么这么简单,而我却没有发现呢?

天不生牛顿,万古如长夜。科学探索的过程和走一个巨大的迷宫是非常相似的。当牛顿发现了他的理论时,人们像看到神启一样发出了由衷的感叹。如今的初中生和高中生就可以轻而易举的理解牛顿理论,对于聪明一点的学生学起来也并不吃力,可是为什么这样一套学起来并不难的理论,需要这么漫长的历史积淀才被发现?为什么一经发现,几乎所有的人都可以在很短的时间内知道这是正确的?科学探索的过程就像是储存一坛美酒,保存的时间越长,喝的时候觉得越回味无穷。阅读科学类的书籍经常会给人一种惊奇感甚至震撼感,从而产生极其深刻的印象。它让许多曾经百思不得其解的问题,通过极其简单明了的方式将答案呈现在我们面前。

战国时候的荀子在劝学中有一句至理名言:吾尝终日而思,不如须臾之所学也。我们现在可以通过须臾的时间学到一条公理、一条定理或者一个公式,而在这每一条知识的背后,可能是某个极其聪明的探索者终其一生苦苦思索才得到的结论。学而不思则罔,思而不学则殆。当我们学而不思的时候,其实是忽略了当初探索者经历的艰辛,忽略了他走过的弯路,我们自认为通过学习已经懂了,其实并不懂,因此越学越多的时候总是迷惘而无所得,大道至简,真正的学习过程应该是越学越少。当我们思而不学的时候,就变成了井底之蛙,永远在一个很小的圈子里自得其乐,或许终其一生的思考结果都比不上一个古希腊人的成就,换来的也许就是一句:你说的这些几百年前就已经有了,因此只知思考而不学习新知识就会懈怠。这些古语其实是用另外一种方式告诉我们,思考的过程就是一个走迷宫的过程,是非常艰难的,而学习的过程就是验证前人走过的路的过程,这两种过程的复杂度差异是非常大的。

当我们面对一个问题说不可能的时候,或许答案是可能甚至简单的,这就是迷宫带给我们的启示。真实的世界远比我们想象中的更神奇,或许真的存在某种神奇的途径或算法,可以将不可能变成可能。更何况,我们口中的不可能有时候并不是真的不可能,就像经典计算机领域的RSA密码体系,原则上是可以破译的,只是最快的经典计算机需要计算几十亿年,这就把可能变成了不可能。经典计算机的这种算法与走迷宫也惊人的相似,算法极低的效率和指数增长的运算量保证了破解谜题需要漫长的时间,而我们一旦知道了答案,验证过程却出奇的简单。而且目前已经有了突破这种瓶颈的方案,有可能在短的多的时间内迅速找到迷宫的出口,显著提高走迷宫的效率,甚至有可能打破指数魔咒,解决一系列难题,这无疑给我们可爱的探索者们带来了希望。