一点思考(8)

而启发式方法的局限性也存在于这两个方面:

1)有些联系是不管怎样“启发”也想不起来的。譬如“当布被刺破了,干草堆就重要了”,你怎么解释这句话?如果有人提示一下“降落伞”,每个人都会恍然大悟。这是因为从“布”到“降落伞”之间的单向联系是近乎不存在的。而且就算运用启发法,譬如考虑所有布做的东西,也基本绝无可能想到降落伞,因为同样,从“布做的东西”到“降落伞”之间的关联也是极其微弱的。我们脑子里只能保留那些最最重要的联系(如果一提到布,“降落伞”和“衣服”、“被单”、“窗帘”等日常物品以同等重要级别闪现,就乱套了)。那为什么从降落伞我们能想到布呢?我们实际上不能,我们为什么有些时候能,是因为譬如有人叫你“考虑降落伞的材料”,后者就激发了“降落伞之材料”这个语意,后者又指导了我们去考察降落伞的材料构成,于是我们想到是布。否则“布”是不会直接被激发起来的。那为什么在我们的这个问题中,一旦有人提到降落伞,我们就能建立从布到降落伞的关联呢?这是因为“降落伞”和“布”这两个语意单元的同时兴奋增大了它们之间关联的可能性,就好比是加大另一端的电压从而发生了“击穿”一样。从本质上,解数学题也是如此,费马大定理的求解过程是一个很好的例子,谷山志村猜想,就相当于那个“降落伞”的提示。我们还听到很多这样的故事(或者自己经历):苦思冥想一个问题不得要领,某一天在路上走,看到某个东西或听到某句话,然后忽然,一道闪电划破长空,那个问题解开了(阿基米德是因为躺在浴缸里从而想到浮力原理的吗?)。我敢保证,如果一个人早就把那个问题从脑海里扔到九霄云外去了(不再处于兴奋状态了),那么就算线索出现,也是不可能发生顿悟的。我们都知道,带着一个问题(使其在大脑中处于兴奋状态)去寻找答案更可能找到,即便不是有意去寻找,只要问题还在脑子里,任何周围的有可能与它相关的线索都不会被大脑漏掉,因为“问题”和“周围的其他线索”同时的兴奋增大了关联的可能性。如果问题早就被从大脑(意识或潜意识)中撤下了,即便周围出现提示也不会被捕捉到。

2)许多hard knowledge是不能被启发探索出来的。至少是不能被“直接命中目标”地探索出来的。一个问题有可能跟三角函数有关,也许你只能带着问题去探索三角函数的所有性质,从而最终发现那个关键的性质。费马大定理与椭圆方程有关,也许只能去探索椭圆方程的所有性质,这个过程在一定程度上是盲目的、试错的、遍历的。而不是直接面向目标的。再聪明的人也无法从费马大定理直接反推到谷山志村猜想。在这些时候,启发式方法最多只能提供一个探索的大致方向:譬如,探索三角函数的性质,并随时注意其中哪个可能对我这个问题有帮助。或者,探索模运算的性质,看看哪些性质可能会有用。或者,探索椭圆曲线的性质,等等。启发式方法并不能使我们的探索精准地命中目标,而只能划定一个大致的范围。也难怪有人说数学是盲目的。

但话说回来,启发式方法的局限性并不能否认在大量场合启发式方法的巨大帮助,许多时候,单靠启发式方法就能带来突破。而且,一旦知识性的东西掌握的是一样多的,能否运用更优秀的思维方法就决定了能力的高下。

7.总结的意义。解题练习的最重要目的不是将特定的题目解出来,而是在于反思解题过程中的一般性的、跨问题的思维法则。简单地将题目解出来(或者解不出来看答案,然后 “恍然大悟”),只能得到最少的东西,解出来固然能够强化导致解出来的那个思维过程和方法,但缺少反思便不能抽取出一般性的东西供更多的题目所用。而解不出来,看答案然后“哦”的一声更是等同于没有收获,因为“理解”和“运用”相差何止十万八千里。每个人都有过这样的经历:一道题目苦思冥想不得要领,经某个人一指点其中的关键一步,顿时恍然大悟 — 这是理解。但这个理解是因为别人已经将新的知识(那个关键的一步)放到你脑子里了,故而你才能理解。而要运用的话,则需要自己去想出那关键的一步。因此,去揣测和总结别人的思维是如何触及那关键的一步,而你自己的思维又为什么触及不到它,有一些一般性的原则可以指导你下次也能想到那个“关键的一步”吗,这是很有意义的。我们很多时候会发现,一道题目,解不出来,最终在提示下面解出来之后,发现其中并没有用到任何自己不知道的知识,那么不仅就要问,既然那个知识是在脑子里的,为什么我们当时愣是提取不出来呢?而为什么别人又能够提取出来呢?我怎么才能像别人那样也提取出相应的知识呢?实际上这涉及到关于记忆的最深刻的原理,实际上文中已经提到了一些(有兴趣的读者建议参考以下几本书:《追寻记忆的痕迹》,《Searching For Memory》,《Synaptic Self》,《Psychology of Problem Solving》)。一般性的思维法则除了对于辅助联想(联想起关键的知识)之外,另一个作用就是辅助演绎/归纳(助探),一开始学解题的时候,我们基本上是先读懂题目条件,做可能的一些显然的演绎。如果还没推到答案的话,基本就只能愣在那里等着那个关键的步骤从脑子里冒出来了。而所谓的启发式思维方法,就是在这个时候可以运用一些一般性的,所有题目都适用的探索手法,进一步去探索问题中蕴含的知识,从而增大成功解题的可能性。启发式的思维方法有很多,从一般到特殊,最具一般性的,在波利亚的《How to Solve It》中已经基本全部都介绍了。一些更为特殊性的(譬如“如果全局搜索空间没有递归结构,那么考虑分割搜索空间”,或者那些“看到XX,要想到YY”的联系),则需要自己在练习中不断抽象总结。

读书导航