日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

關(guān)于解題思維的雜感三則(思維、類(lèi)比、啟發(fā)法)

 昵稱(chēng)116320 2009-07-13
TopLanguage上關(guān)于解題的討論已經(jīng)進(jìn)行了一段時(shí)候了,有很多收獲。我們的討論目的不是將題目解出來(lái),而是在于反思解題過(guò)程中的一般性的,跨問(wèn)題的思維法則。簡(jiǎn)單的將題目解出來(lái)(或者解不出來(lái)看答案,然后“恍然大悟”),只能得到最少的東西,解出來(lái)固然能夠強(qiáng)化導(dǎo)致解出來(lái)的那個(gè)思維過(guò)程和方法,但缺少反思的話(huà)便不能抽取出一般性的東西供更多的問(wèn)題所用。而解不出來(lái),看答案然后“哦”的一聲更是等同于沒(méi)有收獲,因?yàn)?#8220;理解”和“運(yùn)用”相差何止十萬(wàn)八千里。每個(gè)人都有過(guò)這樣的經(jīng)歷:一道題目苦思冥想不得要領(lǐng),經(jīng)某個(gè)人一指點(diǎn)其中的關(guān)鍵一步,頓時(shí)恍然大悟?!@是理解。但這個(gè)理解是因?yàn)閯e人已經(jīng)將新的知識(shí)(那個(gè)關(guān)鍵的一步)放到你腦子里了,故而你才能理解。而要運(yùn)用的話(huà),則需要自己去想出那關(guān)鍵的一步。因此,去揣測(cè)和總結(jié)別人的思維是如何觸及那關(guān)鍵的一步,而你自己的思維又為什么觸及不到它,是很有意義的。我們很多時(shí)候會(huì)發(fā)現(xiàn),一道題目,解不出來(lái),最終在提示下面解出來(lái)之后,發(fā)現(xiàn)其中并沒(méi)有用到任何自己不知道的知識(shí),那么不僅就要問(wèn),既然那個(gè)知識(shí)是在腦子里的,為什么我們當(dāng)時(shí)愣是提取不出來(lái)呢?而為什么別人又能夠提取出來(lái)呢?我怎么才能像別人那樣也提取出相應(yīng)的知識(shí)呢?實(shí)際上這涉及到關(guān)于記憶的最深刻的原理。(我個(gè)人對(duì)此有一點(diǎn)總結(jié)和猜測(cè),但并不成熟。有興趣自己考察的建議參考以下幾本書(shū):《追尋記憶的痕跡》,《找尋逝去的自我》,《Synaptic Self》,《Psychology of Problem Solving》)一般性的思維法則除了對(duì)于輔助聯(lián)想(起關(guān)鍵的知識(shí))之外,另一個(gè)作用就是輔助演繹/歸納(助探),一開(kāi)始學(xué)解題的時(shí)候,我們基本上是先讀懂題目條件,做可能的一些顯然的演繹。如果還沒(méi)推到答案的話(huà),基本就只能愣在那里等著那個(gè)關(guān)鍵的步驟從腦子里冒出來(lái)了。而所謂的啟發(fā)式思維方法,就是在這個(gè)時(shí)候可以運(yùn)用一些一般性的,所有題目都適用的探索手法,進(jìn)一步去探索問(wèn)題中蘊(yùn)含的知識(shí),從而增大成功解題的可能性。啟發(fā)式的思維方法有很多,從一般到特殊,最具一般性的,在波利亞的《How to Solve It》中已經(jīng)基本全部都介紹了。一些更為特殊性的(譬如下文最后一個(gè)例子中關(guān)于分割搜索空間的法則),則需要自己在練習(xí)中總結(jié),抽象,整理。
以下是兩篇發(fā)在討論組上的雜記(不是總有時(shí)間寫(xiě)像《跟波利亞學(xué)解題》這樣的長(zhǎng)文的:P)。
[一] 兩道經(jīng)典算法題的幾種思維方法分析
題目各有各的不同,但背后的思維方式大抵都是一樣的。如何在每一道題目中總結(jié)出最多一般性的思維法則,就決定了練習(xí)的效率。
下面是非常經(jīng)典,且廣為流傳的兩道題目,知道答案的也許會(huì)認(rèn)為再分析這樣的題目沒(méi)有任何價(jià)值,但是題目的價(jià)值不在于新舊,而在于到底能從中總結(jié)出多少東西。這兩道題目的價(jià)值就在于,他們的求解過(guò)程中涉及到的思維法則都非常典型,而且并不是太難。
問(wèn)題1描述:名人問(wèn)題
一個(gè)名人就是指這樣一個(gè)人:所有其他人都認(rèn)識(shí)他,并且他不認(rèn)識(shí)任何其他人?,F(xiàn)在有一個(gè)N個(gè)人的集合,以及他們之間的認(rèn)識(shí)關(guān)系。求一個(gè)算法找出其中的名人(如果有的話(huà))或者判斷出沒(méi)有名人(如果沒(méi)有的話(huà))。
思維方法一:特例法??紤]兩個(gè)人。發(fā)現(xiàn),如果A、B如果互相認(rèn)識(shí),或互相不認(rèn)識(shí),則他們都不可能是名人。如果其中之一認(rèn)識(shí)另一個(gè)(不失一般性我們令A(yù)認(rèn)識(shí)B),則A被淘汰。
思維方法二:倒推法。假設(shè)名人已經(jīng)出現(xiàn),考慮名人的定義,一個(gè)名人P是指滿(mǎn)足如下兩個(gè)條件的人:
任取一個(gè)人Q,Q認(rèn)識(shí)P。
任取一個(gè)人Q,P不認(rèn)識(shí)Q。
接著,出于對(duì)“哪些人不符合名人的標(biāo)準(zhǔn)從而可以在我們搜索解空間的時(shí)候直接淘汰掉呢?”這個(gè)問(wèn)題的詢(xún)問(wèn)。我們考察以上條件的反面。即“如果__則P不是名人”這個(gè)填空:
存在一個(gè)人Q,Q不認(rèn)識(shí)P。
存在一個(gè)人Q,P認(rèn)識(shí)Q。
根據(jù)這兩個(gè)條件,我們實(shí)際上就可以?xún)?yōu)化窮舉式的搜索,因?yàn)楫?dāng)比較兩個(gè)人P1和P2的關(guān)系的時(shí)候,我們發(fā)現(xiàn)利用上面兩個(gè)規(guī)則,其中最多只能有一個(gè)人具有“名人潛質(zhì)”,因?yàn)楦鶕?jù)以上規(guī)則,不管這兩人之間出現(xiàn)認(rèn)識(shí)還是不認(rèn)識(shí)關(guān)系,總有一個(gè)人要被刷掉。
思維方法三:聯(lián)想法。聯(lián)想的可能性有
這是一個(gè)涉及n的問(wèn)題,嘗試用歸納法,即考慮其子問(wèn)題。如何定義子問(wèn)題??jī)蓚€(gè)明顯的辦法:1,二分為兩個(gè)n/2規(guī)模的子問(wèn)題。一個(gè)名人必然是這兩個(gè)子問(wèn)題里面的名人,所以問(wèn)題歸約為求解兩個(gè)子問(wèn)題,并在最后一個(gè)環(huán)節(jié)合并這兩個(gè)子問(wèn)題的解。2,考慮n-1階的子問(wèn)題。一個(gè)名人必然是n-1階子問(wèn)題中的名人,問(wèn)題被歸約為求解n-1階子問(wèn)題,然后其結(jié)果——n-1階名人與最后一個(gè)人的關(guān)系進(jìn)行比較。最后,不管采用兩種歸納法中的哪一個(gè),最后一步優(yōu)化都是一樣的,即將遞歸方案轉(zhuǎn)化為迭代方案。
這是一個(gè)涉及n的問(wèn)題,直接聯(lián)想到遞歸算法,于是試圖去湊一個(gè)遞歸的程序,結(jié)果同上面的第2種方案一樣。
由于是在n個(gè)人中“爭(zhēng)”出一個(gè)名人,因此聯(lián)想到競(jìng)賽,試著往傳統(tǒng)競(jìng)賽算法上湊,即一個(gè)個(gè)的比并淘汰的方案,并因此發(fā)現(xiàn)內(nèi)中的淘汰規(guī)則。
etc. (有人補(bǔ)充嗎?)
問(wèn)題2描述:和最小連續(xù)子序列問(wèn)題
有N個(gè)數(shù),其中有正有負(fù),求出其中和最小的連續(xù)子序列。(連續(xù)子序列就是a[i]~a[j]所有連續(xù)元素形成的序列,其中i,j任?。?/div>
思維方法一:倒推。假設(shè)最小和子序列已經(jīng)找到,我們?cè)囍ケM量挖掘這個(gè)最小和子序列的性質(zhì),每個(gè)性質(zhì)都有助于我們更“智能地”在解空間中進(jìn)行搜索。我們不難發(fā)現(xiàn),這個(gè)假想的最小和子序列的兩端元素必然是負(fù)的,否則我們可以削掉它們求得一個(gè)更小和的子序列。再進(jìn)一步我們會(huì)發(fā)現(xiàn),事實(shí)上這個(gè)最小和子序列從任意一段算起的一個(gè)前綴/后綴的和必然也是負(fù)的,否則我們也可以將其削掉來(lái)求得一個(gè)更小和的子序列。此外,與這個(gè)最小和子序列兩端緊鄰著的任意一段區(qū)間的和必然是正的,否則我們必然可以將其添加到我們假設(shè)的最小和序列上,以求得一個(gè)更小和的子序列。一旦挖掘出了以上三個(gè)被蘊(yùn)含在結(jié)論中的條件,我們就可以更為智能地搜索解空間了。
思維方法二:這是一個(gè)涉及n的問(wèn)題,試著考察其子問(wèn)題。我們能將問(wèn)題降到n-1階嗎?n階問(wèn)題里面的最小和子序列與n-1階里面的最小和子序列有什么關(guān)聯(lián)嗎?如果n階問(wèn)題里面的最小和子序列不含有最后一個(gè)元素,那么它肯定同樣也是n-1階問(wèn)題中的最小和子序列。這種情況下我們就完全將問(wèn)題降到了n-1階。但如果它包含最后一個(gè)元素,那么一個(gè)自然的問(wèn)題就是,n-1階問(wèn)題中的最小和子序列含在n階最小子序列切掉最后一個(gè)元素之后剩下的那個(gè)序列內(nèi)嗎?如果是的話(huà),這種情況下問(wèn)題也可以歸約為n-1階,也就是說(shuō)只有n-1階中的最小和序列才具有潛質(zhì)成長(zhǎng)為n階的最小和序列。然而,第二種情況下的答案卻是否定的(試著找一個(gè)反例)。所以看上去這條路行不通。一般來(lái)說(shuō),一條路行不通之后,首先要做的就是反省一下思路,看看到底什么地方出了什么問(wèn)題,也許有可能修修補(bǔ)補(bǔ)之后就能夠得到正確答案——想一想,我們剛才是在試著將問(wèn)題降到n-1階。那么,為什么一定要是n-1階呢?譬如二分法就是試圖將問(wèn)題降到兩個(gè)n/2階子問(wèn)題。為什么這里將問(wèn)題降到n-1階是不奏效的?因?yàn)檫@樣的降階無(wú)法保證我們solve了n-1階的子問(wèn)題之后能夠根據(jù)它的解來(lái)構(gòu)造n階問(wèn)題的解。再仔細(xì)看看我們的方法,我們也許會(huì)發(fā)現(xiàn),問(wèn)題實(shí)質(zhì)上出在最小和子序列可能會(huì)從n-1階跨越到n階,換句話(huà)來(lái)說(shuō),問(wèn)題的可能解會(huì)跨越兩個(gè)子問(wèn)題,這樣的子問(wèn)題分解得到的是不完全的子問(wèn)題,我們除了需要solve兩個(gè)子問(wèn)題之外,還需要考慮跨越這兩個(gè)子問(wèn)題的潛在解,這可是個(gè)麻煩事兒。最好的子問(wèn)題分解是只需要直接solve掉子問(wèn)題就結(jié)了,舉個(gè)例子,我們熟悉的快速排序,快速排序?qū)⒁粋€(gè)區(qū)間根據(jù)一個(gè)中軸元素分解為兩個(gè)區(qū)間之后,就將問(wèn)題分解為了兩個(gè)子問(wèn)題,然后就只需要solve這兩個(gè)子問(wèn)題(將這兩個(gè)區(qū)間排序),就直接了結(jié)了。它的兩個(gè)子問(wèn)題是完全分離的,我們不必?fù)?dān)心任何左區(qū)間內(nèi)的元素和右區(qū)間內(nèi)的元素會(huì)出現(xiàn)亂序的情況。那么,我們的這個(gè)問(wèn)題,關(guān)鍵就在于應(yīng)該也將它分解為兩個(gè)完全子問(wèn)題,我們?cè)O(shè)想有某種手法,能夠?qū)⑽覀僴個(gè)數(shù)分解為兩段,其中要想求全局的最小和子序列,我們只需要對(duì)這兩段分別求其中的最小和子序列,然后看看哪個(gè)小即可。我們無(wú)需考察跨越這兩個(gè)區(qū)間的子序列。這樣一來(lái)我們就可以非常省心的將問(wèn)題一步步分解為完全的子問(wèn)題了。然而,到底怎樣才能分解出這樣的兩個(gè)區(qū)段來(lái)呢?看看我們的未知數(shù)是什么。我們的未知數(shù)是要尋找這樣的切分。但我們現(xiàn)在很茫然,n-1后面切一刀不行,二分法也不行,到底怎么切呢?看來(lái)這樣盲目嘗試是不行的。試試倒推吧。我們假設(shè)這樣的切割已經(jīng)出現(xiàn)了,它滿(mǎn)足“最小和序列肯定不會(huì)跨越其切割邊界”這個(gè)條件,即任取一個(gè)跨越其切割邊界的子序列,都必然不是最小和序列。那么要怎樣才能讓一個(gè)序列不是最小和序列呢?想想上面思維方法一里面推導(dǎo)出的結(jié)果,最小和序列的任意前綴后綴序列必然和為負(fù);且兩端向外擴(kuò)展的序列和必然為正。所以,要想讓一個(gè)序列和不是最小,我們只要讓情況不滿(mǎn)足這兩個(gè)條件即可?;谶@個(gè)條件,細(xì)心耐心一點(diǎn)很快就會(huì)推導(dǎo)出這個(gè)切割所需滿(mǎn)足的性質(zhì)了。
思維方法三:直接聯(lián)想到動(dòng)態(tài)規(guī)劃。然后往動(dòng)態(tài)規(guī)劃上硬套。硬套的過(guò)程中必然會(huì)受挫(看了下面的做法你就知道為什么不是簡(jiǎn)單的動(dòng)態(tài)規(guī)劃了),也許經(jīng)過(guò)一定的試錯(cuò),會(huì)聯(lián)想到Introduction to Algorithms里面那個(gè)關(guān)于排課的問(wèn)題,從而想到將區(qū)間按照結(jié)尾元素的不同來(lái)分類(lèi):(這個(gè)思路是網(wǎng)上抄來(lái)的,關(guān)鍵是“考慮以某個(gè)a[x]終止的所有子序列”這一步很是摸不著頭緒。有誰(shuí)能夠提供這個(gè)做法背后的思維過(guò)程嗎?)
設(shè)f[x] 為以a[x] 終止且包含 a[x] 的最小序列的和,有:
   f[1] = a[1];
   f[x+1] = f[x] < 0 ? f[x] + a[x+1] : a[x+1]
那么最小子序列的和就是f[1] .. f[n] 中最小的一個(gè)。
Update: 鄧鋆在討論組里面提到一個(gè)很好的point:
關(guān)于動(dòng)態(tài)規(guī)劃,我提醒部分習(xí)慣于看到動(dòng)態(tài)規(guī)劃就以直接寫(xiě)出函數(shù)為目標(biāo)的同學(xué)們:部分動(dòng)態(tài)規(guī)劃題目不適合直接將最終答案當(dāng)作函數(shù)值來(lái)設(shè)計(jì)遞推函數(shù),往往用一些中間的結(jié)果。比如我們要找整個(gè)解空間的最優(yōu)解,但整個(gè)解空間的最優(yōu)解不存在直接的遞推關(guān)系,那么可否考慮設(shè)計(jì)比如"以該位置結(jié)尾"的解空間,其最優(yōu)解很大可能存在遞推關(guān)系。隨后將解空間綜合比較,可得到整體的最優(yōu)解。(當(dāng)然,在算法中,可以一邊求一邊解)用這種方法,在思考算法的時(shí)候,一定要確保你的遞推過(guò)程遍歷到了整個(gè)解空間。
顯然,如果我在之前腦子里就有以上的原則的話(huà),應(yīng)該是能想到根據(jù)區(qū)間結(jié)尾來(lái)劃分搜索空間的。但事后總結(jié)不代表就是事前真正發(fā)生的事情。對(duì)于這道題目,事后總結(jié)固然得到一條非常重要的原則(即上面這段),但難道最初解出題目的人由于還不知道這個(gè)原則,就沒(méi)法解出來(lái)嗎?雞和蛋的問(wèn)題。顯然,最初想到這個(gè)法子的人也許使用了更一般的思維方法。而我們?cè)谥懒艘坏李}目的答案之后,除了總結(jié)這道題目提供的領(lǐng)域知識(shí)性的原則之外,更重要的還要總結(jié)更一般層面上的,跨問(wèn)題的,思維性質(zhì)的法則。
[二] 抽象在類(lèi)比聯(lián)想中的作用一例
《Psychology of Problem Solving》里面舉了一個(gè)例子,說(shuō)明了對(duì)問(wèn)題本質(zhì)的抽象能夠增加后來(lái)遇到本質(zhì)類(lèi)似(但表面不類(lèi)似)的題目的時(shí)候聯(lián)想到前一道題目的可能性。我在這里提到了這個(gè)例子,摘錄如下:
《Psychology of Problem Solving》的第11章舉了這樣一個(gè)例子:先讓被試(皆為大學(xué)生)閱讀一段軍事材料,這個(gè)材料是說(shuō)一小撮軍隊(duì)如何通過(guò)同時(shí)從幾個(gè)不同方向小規(guī)模攻擊來(lái)?yè)魸⒁粋€(gè)防守嚴(yán)實(shí)的軍事堡壘的。事實(shí)上這個(gè)例子的本質(zhì)是對(duì)一個(gè)點(diǎn)的同時(shí)的弱攻擊能夠集聚成強(qiáng)大的力量。然后被試被要求解決一個(gè)問(wèn)題:一個(gè)醫(yī)生想要用X射線(xiàn)殺死一個(gè)惡性腫瘤,這個(gè)腫瘤只可以通過(guò)高強(qiáng)度的X射線(xiàn)殺死,然而那樣的話(huà)就會(huì)傷及周?chē)牧己媒M織。醫(yī)生應(yīng)該怎么辦呢?在沒(méi)有給出先前的軍隊(duì)的例子的被試中只有10%想到答案,這是控制基線(xiàn)。然后,在先前學(xué)習(xí)了軍隊(duì)例子的被試中,這個(gè)比例也僅僅只增加到30%,也就是說(shuō)只有額外20%的人"自動(dòng)"地將知識(shí)進(jìn)行了轉(zhuǎn)移。最后一組是在提醒之下做的,達(dá)到了75%,即比"自動(dòng)"轉(zhuǎn)移組增加了45%之多。這個(gè)例子說(shuō)明,知識(shí)的表象細(xì)節(jié)會(huì)迷惑我們的眼睛,阻礙我們對(duì)知識(shí)的運(yùn)用,在這個(gè)例子中是阻礙問(wèn)題之間的類(lèi)比。
不過(guò)這個(gè)例子稍微有點(diǎn)人為的味道。下面則是一個(gè)更為“現(xiàn)實(shí)”的例子:
問(wèn)題:求N個(gè)數(shù)中最大的K個(gè)數(shù)。
分析:首先很多人都能夠聯(lián)想到一個(gè)類(lèi)似的問(wèn)題:求N個(gè)數(shù)中的最大數(shù)。不過(guò),關(guān)于后者的表面知識(shí)(譬如算法的詳細(xì)過(guò)程和細(xì)節(jié))是不能直接借用的。這很大程度上會(huì)阻止利用既有問(wèn)題的解來(lái)解決新的問(wèn)題。對(duì)算法的非本質(zhì)(表面)細(xì)節(jié)了解的越多越細(xì),就越是可能妨礙類(lèi)比聯(lián)想。
然而,如果在當(dāng)時(shí)吸收第一道題目的知識(shí)的時(shí)候就進(jìn)行了抽象,提取出了其中的本質(zhì):只要有一個(gè)數(shù)小于任何另一個(gè)數(shù),它就肯定不是最大的了,從而可以淘汰。就不難將其運(yùn)用到就求最大K數(shù)上:只要有一個(gè)數(shù)小于任何K個(gè)數(shù),它就肯定不屬于最大K個(gè)數(shù)之列了,從而可以淘汰。這里的抽象元素有兩個(gè),分別是:"淘汰法",以及"一個(gè)淘汰的準(zhǔn)則"。(抽象越是含糊越好(只要不過(guò)于含糊),因?yàn)榛旧希胶某橄?,越是接近本質(zhì),聯(lián)想空間也越大。也許這里可以套用愛(ài)因斯坦的一句話(huà):抽象應(yīng)該盡量含糊,只要不過(guò)于含糊。)
(當(dāng)然,這個(gè)題目還有其它思考方法。譬如運(yùn)用上文提到的倒推法,我們假設(shè)一個(gè)屬于最大K數(shù)的數(shù)已經(jīng)找到,令為X,我們來(lái)考察它具有什么性質(zhì):至多有K-1個(gè)數(shù)大于它。將這個(gè)性質(zhì)“反”一下,我們便得到一條能更為智能搜索解空間的性質(zhì):只要出現(xiàn)任何K個(gè)數(shù)大于X,X即可被淘汰出搜索空間。此外還可以從“N”這個(gè)變量聯(lián)想到分治(基本上凡是涉及到N的問(wèn)題都可以考慮分治——?jiǎng)討B(tài)規(guī)劃和貪婪等方法是分治的特例),即考慮問(wèn)題的子問(wèn)題:N-1個(gè)數(shù)中的最大K個(gè)數(shù)是怎樣的?與全局最大K數(shù)有什么關(guān)系?除了分解為N-1階子問(wèn)題,還有其他分解方法嗎?N/2?或者根據(jù)某種規(guī)則進(jìn)行劃分?等等。)
這樣的例子還有很多。(注:這道題目被收錄在《編程之美》中)
[三] 啟發(fā)法的局限性
(注:不太清楚什么是啟發(fā)法的,歡迎參考波利亞的《How to Solve It》或wikipedia(搜索heuristics),以及這篇。)
首先肯定的是,啟發(fā)法一定(也許很大)程度上是可以代償知識(shí)的不足的(這里的知識(shí)主要是指大腦中的“聯(lián)系”,下面還會(huì)提到另一種知識(shí),即hard knowledge)。譬如,一道題目,別人直接就能通過(guò)類(lèi)比聯(lián)想到某道解過(guò)的題目,并直接使用了其中的一個(gè)關(guān)鍵的性質(zhì)把題目給解出來(lái)了。你并沒(méi)有做過(guò)那道題目,這導(dǎo)致兩種可能的結(jié)果:一,你就是不知道那個(gè)性質(zhì)。二,你雖然“知道”那個(gè)性質(zhì),但并沒(méi)有在以前的解題經(jīng)歷中將那個(gè)性質(zhì)跟你手頭的這個(gè)問(wèn)題中的“線(xiàn)索”聯(lián)系起來(lái),所以你還是“想不到”。后一種可以稱(chēng)為soft knowledge,即你“知道”,但就是聯(lián)想(聯(lián)系)不起來(lái)。所謂不能活學(xué)活用,某些時(shí)候就是這種情況,即書(shū)本上提供什么樣的知識(shí)聯(lián)系,腦子里也記住什么,而沒(méi)有事后更廣泛地去探索知識(shí)之間的本質(zhì)聯(lián)系(總結(jié)的作用)。前一種則可以稱(chēng)為hard knowledge,即你就是不知道,它不在你的腦子里。
而啟發(fā)式方法在兩個(gè)層面上起作用:
輔助聯(lián)想起soft knowledge:譬如,特例法是一種啟發(fā)式思考方法,它通過(guò)引入一個(gè)簡(jiǎn)單的特例,特例中往往蘊(yùn)含有更多的“線(xiàn)索”,通過(guò)這些線(xiàn)索,有可能就會(huì)激發(fā)起對(duì)既有的知識(shí)的聯(lián)想。另外一種強(qiáng)大的輔助聯(lián)想辦法就是對(duì)題目進(jìn)行變形,變形之后就產(chǎn)生了新的視覺(jué)和語(yǔ)意線(xiàn)索,比如式子的對(duì)稱(chēng)性、從直角坐標(biāo)到極坐標(biāo)從而引發(fā)對(duì)后者的知識(shí)的聯(lián)想等等。大量的啟發(fā)式方法實(shí)際上的作用就是輔助聯(lián)想,通過(guò)對(duì)題目中的線(xiàn)索的發(fā)掘,激起大腦中已知相關(guān)知識(shí)的浮現(xiàn)。在這個(gè)意義上,相對(duì)于那些能夠直接聯(lián)想到某個(gè)性質(zhì)的人,那些不知道但可以通過(guò)啟發(fā)式思維聯(lián)想到的,啟發(fā)式思維就提供了一種“曲徑通幽”的策略性聯(lián)想。還是以經(jīng)典的例子來(lái)說(shuō):磚頭的用途。有人立即能夠直接聯(lián)想到“敲人”。有人也許不能。然而啟發(fā)式聯(lián)想策略“抽象”就能夠幫助后者也能夠聯(lián)想到“敲人”,因?yàn)?#8220;抽象”策略啟發(fā)人去考慮磚頭的各個(gè)性質(zhì)維度,如“質(zhì)地”,“形狀”,當(dāng)你考察到“質(zhì)地堅(jiān)硬”,“棱角”,離“敲人”的功能還會(huì)遠(yuǎn)么?本質(zhì)上,能夠直接聯(lián)想到“敲人”功能的人是因?yàn)榇竽X中從磚頭到敲人這兩個(gè)概念之間的神經(jīng)通路被走過(guò)了很多遍(譬如由于經(jīng)常拿磚頭敲人),神經(jīng)元之間的聯(lián)系相當(dāng)“粗”(形象的說(shuō)法,嚴(yán)格的事實(shí)請(qǐng)參考《追尋記憶的痕跡》),而不經(jīng)常拿磚頭敲人的人呢,這個(gè)聯(lián)系就非常的弱,乃至于根本激不起一次神經(jīng)沖動(dòng)。那么為什么通過(guò)啟發(fā)式方法又能聯(lián)想到呢?因?yàn)閱l(fā)式方法相當(dāng)于帶入了一種新的神經(jīng)調(diào)控回路,首先它增加你聯(lián)系到磚頭的屬性維度上的可能性,使得“質(zhì)地堅(jiān)硬”、“棱角”這兩個(gè)語(yǔ)意概念被激活起來(lái)(注意,如果沒(méi)有啟發(fā)式方法的參與,這是不會(huì)發(fā)生的),一旦后者被激活起來(lái),從后者到“敲人”的聯(lián)系就被激活起來(lái)了。從本質(zhì)上,解題中的啟發(fā)聯(lián)想方法做的也就是這個(gè)工作。而越是一般性的啟發(fā)式方法就越是能對(duì)廣泛的問(wèn)題有幫助(譬如《How to Solve It》中介紹的那些,譬如分類(lèi)討論、分治、乃至我認(rèn)為很重要的一個(gè)——寫(xiě)下自己的思維過(guò)程,詳細(xì)分解各個(gè)環(huán)節(jié),考察思維路徑中有無(wú)其它可能性(我們很容易拿到一道題目便被一種沖動(dòng)帶入到某一條特定的思路當(dāng)中,并且遵循著“最可能的”推導(dǎo)路徑往下走,往往不自覺(jué)的忽略其它可能性,于是那些可能性上的聯(lián)想就被我們的注意力“抑制”了。))。
輔助探索出hard knowledge:倒推法是一種啟發(fā)式思考方法,它將你的注意力集中到問(wèn)題的結(jié)論中蘊(yùn)含的知識(shí)上,一旦你開(kāi)始關(guān)注可能從結(jié)論中演繹出來(lái)的知識(shí),你就可能得到hard knowledge,即并不是早先就存在你腦子里,但是可以通過(guò)演繹獲得的。上文中的最小和子序列中的倒推方法就是一個(gè)例子。
而啟發(fā)式方法的局限性也存在于這兩個(gè)方面:
有些聯(lián)系是不管怎樣“啟發(fā)”也想不起來(lái)的。譬如“當(dāng)布被刺破了,干草堆就重要了”,你怎么解釋這句話(huà)?如果有人提示一下“降落傘”,每個(gè)人都會(huì)恍然大悟。這是因?yàn)閺?#8220;布”到“降落傘”之間的單向聯(lián)系是近乎不存在的。而且就算運(yùn)用啟發(fā)法,譬如,考慮所有布做的東西,也基本絕無(wú)可能想到降落傘,因?yàn)橥瑯?,?#8220;布做的東西”到“降落傘”之間的關(guān)聯(lián)也是極其微弱的。我們腦子里只能保留那些最最重要的聯(lián)系。(如果一提到布,“降落傘”和“衣服”、“被單”、“窗簾”等日常物品以同等重要級(jí)別閃現(xiàn),就亂套了。)那為什么從降落傘我們能想到布呢?我們實(shí)際上不能,我們?yōu)槭裁从行r(shí)候能,是因?yàn)槠┤缬腥私心?#8220;考慮降落傘的材料”,后者就激發(fā)了“降落傘之材料”這個(gè)語(yǔ)意,后者又指導(dǎo)了我們?nèi)タ疾旖德鋫愕牟牧蠘?gòu)成,于是我們想到是布。否則“布”是不會(huì)直接被激發(fā)起來(lái)的。那為什么在我們的這個(gè)問(wèn)題中,一旦有人提到降落傘,我們就能建立從布到降落傘的關(guān)聯(lián)呢?這是因?yàn)?#8220;降落傘”和“布”這兩個(gè)語(yǔ)意單元的同時(shí)興奮增大了它們之間關(guān)聯(lián)的可能性,就好比是加大另一端的電壓從而發(fā)生了“擊穿”一樣。從本質(zhì)上,解數(shù)學(xué)題也是如此,費(fèi)馬大定理的求解過(guò)程是一個(gè)很好的例子,谷山志村猜想,就相當(dāng)于那個(gè)“降落傘”的提示。我們還聽(tīng)到很多這樣的故事(或者自己經(jīng)歷):苦思冥想一個(gè)問(wèn)題不得要領(lǐng),某一天在路上走,看到某個(gè)東西或聽(tīng)到某句話(huà),然后忽然,一道閃電劃破長(zhǎng)空,那個(gè)問(wèn)題解開(kāi)了(阿基米德是因?yàn)樘稍谠「桌飶亩氲礁×υ淼膯??)。我敢保證,如果一個(gè)人早就把那個(gè)問(wèn)題從腦海里扔到九霄云外去了(不再處于興奮狀態(tài)了),那么就算線(xiàn)索出現(xiàn),也是不可能發(fā)生頓悟的。我們都知道,帶著一個(gè)問(wèn)題(使其在大腦中處于興奮狀態(tài))去尋找答案更可能找到,即便不是有意去尋找,只要問(wèn)題還在腦子里,任何周?chē)挠锌赡芘c它相關(guān)的線(xiàn)索都不會(huì)被大腦漏掉,因?yàn)?#8220;問(wèn)題”和“周?chē)钠渌€(xiàn)索”同時(shí)的興奮增大了關(guān)聯(lián)的可能性。如果問(wèn)題早就被從大腦(意識(shí)或者潛意識(shí))中撤下了,即便周?chē)霈F(xiàn)提示也不會(huì)被捕捉到。
許多hard knowledge是不能被啟發(fā)探索出來(lái)的。至少是不能被“直接命中目標(biāo)”地探索出來(lái)的。一個(gè)問(wèn)題有可能跟三角函數(shù)有關(guān),也許你只能帶著問(wèn)題去探索三角函數(shù)的所有性質(zhì),從而最終發(fā)現(xiàn)那個(gè)關(guān)鍵的性質(zhì)。費(fèi)馬大定理與橢圓方程有關(guān),也許只能去探索橢圓方程的所有性質(zhì),這個(gè)過(guò)程一定程度上是盲目的,試錯(cuò)的,遍歷的。而不是直接面向目標(biāo)的。再聰明的人也無(wú)法從費(fèi)馬大定理直接反推到谷山志村猜想。在這些時(shí)候,啟發(fā)式方法最多只能提供一個(gè)探索的大致方向:譬如,探索三角函數(shù)的性質(zhì),并隨時(shí)注意其中哪個(gè)可能對(duì)我這個(gè)問(wèn)題有幫助。譬如,探索模運(yùn)算的性質(zhì),看看哪些性質(zhì)可能會(huì)有用。譬如,探索橢圓曲線(xiàn)的性質(zhì)...等等。啟發(fā)式方法并不能使我們的探索精準(zhǔn)地命中目標(biāo)。而只能劃定一個(gè)大致的范圍。也難怪有人說(shuō)數(shù)學(xué)是盲目的。
但話(huà)說(shuō)回來(lái),啟發(fā)式方法的局限性并不能否認(rèn)在大量場(chǎng)合啟發(fā)式方法的巨大幫助,許多時(shí)候,單靠啟發(fā)式方法就能帶來(lái)突破。而且,一旦知識(shí)性的東西掌握的是一樣多的,能否運(yùn)用更優(yōu)秀的思維方法就決定了能力的高下。有很多介紹思維方法的書(shū)。
 
 
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/pongba/archive/2008/05/07/2412144.aspx

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多