【專欄】跟波利亞學解題(11)
解題練習的最重要目的不是將特定的題目解出來,而是在于反思解題過程中的一般性的,跨問題的思維法則。而解不出來,看答案然后“哦”的一聲更是等同于沒有收獲,因為“理解”和“運用”相差何止十萬八千里。
7.總結的意義
解題練習的最重要目的不是將特定的題目解出來,而是在于反思解題過程中的一般性的,跨問題的思維法則。簡單的將題目解出來(或者解不出來看答案,然后 “恍然大悟”),只能得到最少的東西,解出來固然能夠強化導致解出來的那個思維過程和方法,但缺少反思的話便不能抽取出一般性的東西供更多的題目所用。而解不出來,看答案然后“哦”的一聲更是等同于沒有收獲,因為“理解”和“運用”相差何止十萬八千里。每個人都有過這樣的經歷:一道題目苦思冥想不得要領,經某個人一指點其中的關鍵一步,頓時恍然大悟——這是理解。但這個理解是因為別人已經將新的知識(那個關鍵的一步)放到你腦子里了,故而你才能理解。而要運用的話,則需要自己去想出那關鍵的一步。因此,去揣測和總結別人的思維是如何觸及那關鍵的一步,而你自己的思維又為什么觸及不到它,有一些一般性的原則可以指導你下次也能想到那個“關鍵的一步”嗎,是很有意義的。我們很多時候會發現,一道題目,解不出來,最終在提示下面解出來之后,發現其中并沒有用到任何自己不知道的知識,那么不僅就要問,既然那個知識是在腦子里的,為什么我們當時愣是提取不出來呢?而為什么別人又能夠提取出來呢?我怎么才能像別人那樣也提取出相應的知識呢?實際上這涉及到關于記憶的最深刻的原理,實際上文中已經提到了一些。(有興趣的建議參考以下幾本書:《追尋記憶的痕跡》,《找尋逝去的自我》,《Synaptic Self》,《Psychology of Problem Solving》)一般性的思維法則除了對于輔助聯想(起關鍵的知識)之外,另一個作用就是輔助演繹/歸納(助探),一開始學解題的時候,我們基本上是先讀懂題目條件,做可能的一些顯然的演繹。如果還沒推到答案的話,基本就只能愣在那里等著那個關鍵的步驟從腦子里冒出來了。而所謂的啟發式思維方法,就是在這個時候可以運用一些一般性的,所有題目都適用的探索手法,進一步去探索問題中蘊含的知識,從而增大成功解題的可能性。啟發式的思維方法有很多,從一般到特殊,最具一般性的,在波利亞的《How to Solve It》中已經基本全部都介紹了。一些更為特殊性的(譬如“如果全局搜索空間沒有遞歸結構,那么考慮分割搜索空間”,譬如那些“看到XX,要想到YY”的聯系),則需要自己在練習中不斷抽象總結。
作者:劉未鵬 出版:電子工業出版社
一句結尾
“我想我就在這里結束”——如果你知道我在說什么的話:-)
(此文的修訂版已收錄《暗時間》一書,由電子工業出版社2011年8月出版。作者于2009年7月獲得南京大學計算機系碩士學位,現在微軟亞洲研究院創新工程中心從事軟件研發工程師工作。)
擴展閱讀:
1 波利亞介紹請參見:http://en.wikipedia.org/wiki/Polya
2 啟發式方法請參見: http://en.wikipedia.org/wiki/Heuristics
3 單純形算法請參見:http://en.wikipedia.org/wiki/Simplex_algorithm
網絡編輯:小碧