为了将这些想法变得更加正式,不妨先来回忆一下英国伟大诗人亚历山大·蒲柏(Alexander Pope)为牛顿撰写的那篇著名的墓志铭中的一个金句:“自然与自然的法则都隐藏在茫茫黑暗之中;上帝说,让牛顿来!于是,一切变得光明。”
现在,把这句话隐含的意思扩展为一个更加普通的观点,那就是,人们如何看待问题的方式决定了这些问题的难度。牛顿清楚地看到了各种物理现象:他看到了白光是由所有颜色组成的;他看到了按轨道运行的星体是有引力的。神秘的面纱被揭开,困难也变得容易了。我们可以给出以下结论:
一个待解决问题的难度,取决于对它进行编码的视角。
这是什么意思?从形式上来说,这意味着可以通过对问题进行适当地编码,使它们变得更加容易。当然,也可以不适当地编码,使它们变得很难。为了更准确地阐明这一点,下面先介绍一下“崎岖景观”这个概念。
试想一下这个情形:想要生成一个关于某栋房子的视角,以便确定它的价格是否合理。我们在2005年秋天浏览了房产中介网站,了解了一下艾奥瓦州西布兰奇市在售的14栋房子的情况。这些房子的价格从最低的88 500美元到最高的319 000美元不等。可以构建一个“建筑面积视角”来考察这些房子的价格,把14栋房子按建筑面积从小到大排列起来,然后把它们的价格作为排列序号的纵坐标。1号房子是最小的房子,2号房子是次小的房子……以此类推,如图1-16所示。
可以把这个图形看作一个“景观”:海拔越高,房价越高。这个景观有几个局部高峰(local peak)。局部高峰对应着景观上的这样一个点:你从该点向任何方向移动,高度都会下降。是的,这个点确实是一座山的山峰。与局部高峰相对的是全局高峰(global peak),它对应着价格最高的那个点,即最高的山峰。例如,在地球上,华盛顿山是局部高峰,那是一个多风的地方,但珠穆朗玛峰才是全局高峰。
图1-16 西布兰奇市的房价(建筑面积视角)
建筑面积视角想成为一个好视角的条件是,这个视角下的景观只有唯一一个局部高峰,并且它就是全局高峰。但是,正如在图1-16中所看到的那样,现在这个景观是相当“崎岖”的,存在好几个局部高峰。13也就是说,这个视角并没有呈现一个像富士山那样优雅的、唯一的高峰,而是带来了很多起起伏伏的局部高峰。沿着它移动,就像在阿迪朗达克山上徒步旅行。存在多个局部高峰,也就意味着建筑面积视角没能很好地将房价信息组织起来。想找到一栋最便宜的房子(假设不能从网站上获得相关信息),如果使用建筑面积视角,那么可能会从最小的房子开始搜寻。如果观察次小的房子,会发现它价格更高。那么这时也许会认为,最小的那栋房子是最便宜的,但是事实并非如此。第五小的那栋房子才是最便宜的。因此,建筑面积视角在这里并没有帮助。
最好的视角是那种能够生成只包含一个高峰的视角,这就是说,用这种视角组织信息的方式,能够使一个明显的解决方案变得水落石出。对此,不难想象这样一种情景:一个徒步旅行者沿着一路上的各种闪烁标志(即数据点)不断向前走,直到登上山顶。但是如果使用在西布兰奇市找房子时所用的建筑面积视角,就出现了很多个局部高峰(准确地说有5个),这可能会使徒步旅行者陷入困境。或者,也可以想象一下,在前面举过的冰激凌例子中,将冰激凌杯按照第一位顾问的热量视角排列整齐,假设有一个人手里拿着一把勺子边走边品尝,直到吃到最美味的冰激凌为止,这似乎是一份挺不错的工作。借用著名英国诗人泰德·休斯(Ted Hughes)的华丽语言,将那个高峰称为“冰激凌之峰”,也就是说左右两边的冰激凌味道都比不上它。
对于西布兰奇市的那14栋房子,即使只考虑一维的视角,例如按照房子与道路的距离来排序,也可以构建8 192个不同的单峰视角。你可能会问,我们怎么知道有8 192个这样的视角?这里是利用一个关于可能数量的视角来得出这个数字的。诀窍在于:给每栋房子分配一个介于1~14之间的编号,只要能保证房子的编号随着价格而上涨就可以。于是,14号房子的价格最高,而1号房子的价格最低。请注意,这是一种与上面的按建筑面积排序不同的编号方法。任何一个一维的视角都可以被认为是这14个数字的一个列表。如果某个视角生成了一个单峰景观,那么其列表中的房屋编号必定是从小逐渐增加到14,然后又逐渐减少。例如,视角1、4、5、6、9、11、14、13、12、10、8、7、3、2是单峰景观;但是视角1、2、3、4、13、5、6、7、8、9、14、12、11、10却不是。后者在“13”那里出现了第二个山峰。每个不同的单峰景观都有一个唯一的、位于14号房子左边的子集。所以,要想计算出能够生成单峰景观的视角数量,只需要计算从1到13这几个数字的唯一子集数量,而这就等于213。14我们可以将这个逻辑推广到以任意数量为对象的更为普遍的情境中。15
因此,无论看待什么问题,相应的“富士山”都是存在的。事实上,还存在着许多“富士山”。可以把这一点总结为一个正式的结论,即学者存在性定理(Savant Existence Theorem)。16
定理
学者存在性定理:
对于任何一个问题,都存在着许多能够创造“富士山”景观的视角。
这个定理与上面的例子很相似。根据所有解决方案的价值来排序,给它们编号,编号随着解决方案价值的增大而上升,最佳解决方案的编号最大,然后一路下降。这将创建一个富士山景观。这种方法看上去似乎让人难以置信。确实如此,要运用这种方法,需要先得知每种可能解决方案的价值。而如果掌握了所有这些信息,也就不需要任何一个视角了,只需直接选择价值最高的解决方案就行了。
不过,这并不意味着这个定理不重要。它非常重要。这个定理给了我们希望,它告诉我们,无论对于什么问题,总会有某个牛顿式的专家出现,把一切都弄清楚,并能在南达科他州的荒野上创造一座富士山。不过,对于某些问题,已有的视角并不好,而且可能永远都无法得到好的视角。我们在等待戈多。
学者存在性定理有一个很大的缺点:它带来的视角数量是极其巨大的。因此,可能找不到能够创造出富士山的那一个视角。再回过头去观察西布兰奇市的房地产市场,对房屋的排序不施加任何限制,也就是说,可以选择14栋房子中的任何一栋排在第一位,然后在其余的13栋房子中选择任何一栋排在第二位,以此类推,那么排序总数就等于14×13×12×10×9×8×…×1所有这些数字相乘的积为87 178 291 200。所以,有一个能够创造出富士山的视角,就有千百万个无法创造出富士山的视角。怎么办呢?
一般来说,N个对象的一维视角数量等于N的阶乘,即N×(N–1)×(N–2)×(N–3)×…×1,以此类推,数学家将这记为N!。与这个数字相比,能够创造“富士山”景观的视角的数量2N-1就小得多了。这些计算似乎有点技术性,但是它们不是没有作用的。这表明,拥有一个独特的视角可能并不像有些人想象的那么难。对于房子,可以根据它们与道路的距离进行排序,也可以根据它们自己的编号进行排序,这两个视角都是独一无二的。这还表明,对于任何问题,许多视角都能使问题变得更加简单。它们可以创造出富士山景观,只需步步紧跟景观标记就可以到达山顶。
然而,相对于视角的总数来说,这种能够简化问题的视角并不算多。只有少数视角能够使问题变得简单,它们弥足珍贵。绝大多数视角都不能创造出有意义的结构。也正因为如此,发现这种能够创造出富士山景观视角的那些人很可能会被人们永远载入史册。共同拥有的视角越多,找到富士山的机会就越大。