【專欄】跟波利亞學解題(10)

啟發式方法的局限性并不能否認在大量場合啟發式方法的巨大幫助,許多時候,單靠啟發式方法就能帶來突破。而且,一旦知識性的東西掌握的是一樣多的,能否運用更優秀的思維方法就決定了能力的高下。

6.啟發法的局限性。首先肯定的是,啟發法一定(也許很大)程度上是可以代償知識的不足的(這里的知識主要是指大腦中的“聯系”,下面還會提到另一種知識,即hard knowledge)。譬如,一道題目,別人直接就能通過類比聯想到某道解過的題目,并直接使用了其中的一個關鍵的性質把題目給解出來了。你并沒有做過那道題目,這導致兩種可能的結果:一,你就是不知道那個性質。二,你雖然“知道”那個性質,但并沒有在以前的解題經歷中將那個性質跟你手頭的這個問題中的“線索”聯系起來,所以你還是“想不到”。后一種可以稱為soft knowledge,即你“知道”,但就是聯想(聯系)不起來。所謂不能活學活用,某些時候就是這種情況,即書本上提供什么樣的知識聯系,腦子里也記住什么,而沒有事后更廣泛地去探索知識之間的本質聯系(總結的作用)。前一種則可以稱為hard knowledge,即你就是不知道,它不在你的腦子里。

而啟發式方法在兩個層面上起作用:


作者:劉未鵬 出版:電子工業出版社

1)輔助聯想起soft knowledge:譬如,特例法是一種啟發式思考方法,它通過引入一個簡單的特例,特例中往往蘊含有更多的“線索”,通過這些線索,有可能就會激發起對既有的知識的聯想。另外一種強大的輔助聯想辦法就是對題目進行變形,變形之后就產生了新的視覺和語意線索,比如式子的對稱性、從直角坐標到極坐標從而引發對后者的知識的聯想等等。大量的啟發式方法實際上的作用就是輔助聯想,通過對題目中的線索的發掘,激起大腦中已知相關知識的浮現。在這個意義上,相對于那些能夠直接聯想到某個性質的人,那些不知道但可以通過啟發式思維聯想到的,啟發式思維就提供了一種“曲徑通幽”的策略性聯想。還是以經典的例子來說:磚頭的用途。有人立即能夠直接聯想到“敲人”。有人也許不能。然而啟發式聯想策略“抽象”就能夠幫助后者也能夠聯想到“敲人”,因為“抽象”策略啟發人去考慮磚頭的各個性質維度,如“質地”,“形狀”,當你考察到“質地堅硬”,“棱角”,離“敲人”的功能還會遠么?本質上,能夠直接聯想到“敲人”功能的人是因為大腦中從磚頭到敲人這兩個概念之間的神經通路被走過了很多遍(譬如由于經常拿磚頭敲人),神經元之間的聯系相當“粗”(形象的說法,嚴格的事實請參考《追尋記憶的痕跡》),而不經常拿磚頭敲人的人呢,這個聯系就非常的弱,乃至于根本激不起一次神經沖動。那么為什么通過啟發式方法又能聯想到呢?因為啟發式方法相當于帶入了一種新的神經調控回路,首先它增加你聯系到磚頭的屬性維度上的可能性,使得“質地堅硬”、“棱角”這兩個語意概念被激活起來(注意,如果沒有啟發式方法的參與,這是不會發生的),一旦后者被激活起來,從后者到“敲人”的聯系就被激活起來了。從本質上,解題中的啟發聯想方法做的也就是這個工作。而越是一般性的啟發式方法就越是能對廣泛的問題有幫助(譬如《How to Solve It》中介紹的那些,譬如分類討論、分治、乃至我認為很重要的一個——寫下自己的思維過程,詳細分解各個環節,考察思維路徑中有無其它可能性(我們很容易拿到一道題目便被一種沖動帶入到某一條特定的思路當中,并且遵循著“最可能的”推導路徑往下走,往往不自覺的忽略其它可能性,于是那些可能性上的聯想就被我們的注意力“抑制”了。))。

2)輔助探索出hard knowledge:倒推法是一種啟發式思考方法,它將你的注意力集中到問題的結論中蘊含的知識上,一旦你開始關注可能從結論中演繹出來的知識,你就可能得到hard knowledge,即并不是早先就存在你腦子里,但是可以通過演繹獲得的。上文中的最小和子序列中的倒推方法就是一個例子。

而啟發式方法的局限性也存在于這兩個方面:

1)有些聯系是不管怎樣“啟發”也想不起來的。譬如“當布被刺破了,干草堆就重要了”,你怎么解釋這句話?如果有人提示一下“降落傘”,每個人都會恍然大悟。這是因為從“布”到“降落傘”之間的單向聯系是近乎不存在的。而且就算運用啟發法,譬如,考慮所有布做的東西,也基本絕無可能想到降落傘,因為同樣,從“布做的東西”到“降落傘”之間的關聯也是極其微弱的。我們腦子里只能保留那些最最重要的聯系。(如果一提到布,“降落傘”和“衣服”、“被單”、“窗簾”等日常物品以同等重要級別閃現,就亂套了。)那為什么從降落傘我們能想到布呢?我們實際上不能,我們為什么有些時候能,是因為譬如有人叫你“考慮降落傘的材料”,后者就激發了“降落傘之材料”這個語意,后者又指導了我們去考察降落傘的材料構成,于是我們想到是布。否則“布”是不會直接被激發起來的。那為什么在我們的這個問題中,一旦有人提到降落傘,我們就能建立從布到降落傘的關聯呢?這是因為“降落傘”和“布”這兩個語意單元的同時興奮增大了它們之間關聯的可能性,就好比是加大另一端的電壓從而發生了“擊穿”一樣。從本質上,解數學題也是如此,費馬大定理的求解過程是一個很好的例子,谷山志村猜想,就相當于那個“降落傘”的提示。我們還聽到很多這樣的故事(或者自己經歷):苦思冥想一個問題不得要領,某一天在路上走,看到某個東西或聽到某句話,然后忽然,一道閃電劃破長空,那個問題解開了(阿基米德是因為躺在浴缸里從而想到浮力原理的嗎?)。我敢保證,如果一個人早就把那個問題從腦海里扔到九霄云外去了(不再處于興奮狀態了),那么就算線索出現,也是不可能發生頓悟的。我們都知道,帶著一個問題(使其在大腦中處于興奮狀態)去尋找答案更可能找到,即便不是有意去尋找,只要問題還在腦子里,任何周圍的有可能與它相關的線索都不會被大腦漏掉,因為“問題”和“周圍的其他線索”同時的興奮增大了關聯的可能性。如果問題早就被從大腦(意識或者潛意識)中撤下了,即便周圍出現提示也不會被捕捉到。

2)許多hard knowledge是不能被啟發探索出來的。至少是不能被“直接命中目標”地探索出來的。一個問題有可能跟三角函數有關,也許你只能帶著問題去探索三角函數的所有性質,從而最終發現那個關鍵的性質。費馬大定理與橢圓方程有關,也許只能去探索橢圓方程的所有性質,這個過程一定程度上是盲目的,試錯的,遍歷的。而不是直接面向目標的。再聰明的人也無法從費馬大定理直接反推到谷山志村猜想。在這些時候,啟發式方法最多只能提供一個探索的大致方向:譬如,探索三角函數的性質,并隨時注意其中哪個可能對我這個問題有幫助。譬如,探索模運算的性質,看看哪些性質可能會有用。譬如,探索橢圓曲線的性質…等等。啟發式方法并不能使我們的探索精準地命中目標。而只能劃定一個大致的范圍。也難怪有人說數學是盲目的。

但話說回來,啟發式方法的局限性并不能否認在大量場合啟發式方法的巨大幫助,許多時候,單靠啟發式方法就能帶來突破。而且,一旦知識性的東西掌握的是一樣多的,能否運用更優秀的思維方法就決定了能力的高下。

(待續;此文的修訂版已收錄《暗時間》一書,由電子工業出版社2011年8月出版。作者于2009年7月獲得南京大學計算機系碩士學位,現在微軟亞洲研究院創新工程中心從事軟件研發工程師工作。)

網絡編輯:小碧

{{ isview_popup.firstLine }}{{ isview_popup.highlight }}

{{ isview_popup.secondLine }}

{{ isview_popup.buttonText }}
午夜宅男在线,中视在线直播,毛片网站在线,福利在线网址