小屋創作

日誌2014-02-22 20:46

【閒聊】讓複雜問題變簡單的方法 ─ 「分而治之」

作者:JiJIkopo




分而治之


前言:

在日常生活中,我們時常碰到許多問題。在學校時,大部分的問題在瞭解原理的情況下,再加上一些練習便可迎刃而解,選擇題和填充題容易、證明題和申論題稍難,但掌握了絕竅和專業知識的話,難度也不高,是有規律、有接近正確解的問題。然而,現實生活中的問題並不僅此而已,有更多面向,問題也趨近於複雜化,我們很難用單一方法去解決。

這裡舉一個例子,假設我今天為一個籃球初學者,我想要學會「帶球上籃」這件事。粗淺來切割問題,就是要學會「運球流暢」和「拋投」技巧吧?同時達到「運球流暢」、「拋投」兩件事對一個初學者來說,難度可能太高,那先針對「運球流暢」來下功夫,「運球流暢」這件事可分為「原地運球」、「跑動運球」和「跑動時護球」。而其中仍可以再細分下去,這其中的精神即為─Divide and conquer.

啊,標題的名字是我直接拿成語來延伸的,原本的意思請參照wikipediaMBA

內文

Divide and conquer為解決問題的基礎。將一個問題(problem)分成許多子問題(subproblem),其過程像細胞分裂,特別是減數分裂(meiosis),將一個較大的問題,切割成許多相關的子問題,若問題仍太複雜,就繼續切割成更小的問題。分割問題、予以各個擊破,再合併為原來問題的解,這就是Divide and conquer的精神。



而著重的點就在於要如何切割問題,如何將問題切得簡單,並且容易解決,這得依靠自己的經驗和接受過的訓練,在處理繁複的問題時,若有幸能發現問題是彼此相關連,則可以運用到recurrence來創造出一套公式,稱為遞迴公式( recurrence formula )或遞迴關係( recurrence relation ) 。

Example:
輾轉相除法(Euclidean algorithm)

由於兩數必為最大公因數(greatest common divisor)的倍數,故其差值也必定是GCD的整數倍所構成,不論兩數如何輾轉相減或輾轉得到餘數,那餘數皆為GCD的倍數。在觀察步驟後發現這過程不僅切個成較小的數字,且不斷地重覆同一個動作。



如此一來,不僅能有系統的解決,問題也能變簡單很多。不過許多問題的recurrence 經常是難以發現的,有句話說「To iterate is human, to recurse is divine.」通常得靠經年累月的經驗,以及自己的智慧和靈感才有辦法達成。其他的例子還有傅利葉分析和十分逼近法等,不過這裡不著墨於數學和直覺培養的介紹,所以就直接跳過去了,改天有興趣再來敲鍵盤吧(喂

簡單問題的應用:

1.我想要認識他人
將問題分為「我想認識他人」、「他人想認識的我」,「我想認識他人」分為「他人的興趣」、「他人的習慣」。「他人想認識的我」分為「我的優勢」、「我待改善的缺點」。「他人的興趣」分為「廣而淺的範圍」、「窄而深的範圍」,「他人的習慣」分為「常見的習慣」、「特殊的習慣」,「我的優勢」分為「易展現和易分享」、「不易展現卻易分享」、「易展現但不易分享」、「不易展現且不易分享」,「我待改善的缺點」分為「顯而易見且討厭」、「顯而易見但無妨」、「隱性且討厭」、「隱性但無妨」...

再細分下去的話,遲早能得到更細部的結論,例如簡單的微笑和招呼,主動的詢問和聊天,積極地處理共同問題。雖然這過程因人而異,但這樣簡單的分析下,不僅能簡單地瞭解自己,處理起來也會乾淨俐落。



2.我想要學業進步
可分為「擅長的學科」、「不擅長的學科」,「擅長的學科」就不談了,這不是進步的主因,只可能是附加的的動力(例:心情隨著考高分而變得更好,連帶其他科的信心也提升。)「不擅長的學科」可分為解題的部分,「不擅長題型」、「不擅長敘述」、「不擅長推導」;讀書的部分,「不擅長定義」、「不擅長記憶」、「不擅長閱讀」、「不擅長時間分配」;心態的部分,「考試緊張」等。

「不擅長題型」和「不擅長敘述」,通常就是對題型不熟悉,就多練習吧,在有時間壓力的模擬下,考古題或模擬考多作幾次。另外,敘述問題通常是無法抓到題目的重點,在解題時也必須著重於抓重點的部分。

「不擅長推導」要練習的就是抓題目字裡行間的關鍵句,數理科就回歸定義來思考;文科則利用題目來反推;社會科就利用有印象的年代和史實來找關聯,一樣可藉由練習來加強。



「不擅長定義」和「不擅長記憶」就牽扯到記憶和理解的問題,盡量將生冷的文字轉換成圖型、故事、勤做筆記或是練習自己解釋一遍來加深印象,都是很不錯的記憶方法。主動學習會比被動學習來得更有效率。

「不擅長閱讀」、「不擅長時間分配」這就是習慣問題,不擅長閱讀,那可藉由聽CD、朗誦或藉由多向師長同學發問,來提升理解和記憶,此外,找尋與有興趣的事物的關聯來記憶,也是一大利多。時間分配的干擾因素很多,擬訂一個嚴謹但有彈性的計畫表,盡量維持正常作息,其中的損益評估,自己滿意即可。

如果都把上述弱點克服大部分了,那
「考試緊張」就是多餘項了。有時解決單一問題,也會一併解決其他問題,或是一口氣將整個問題給搞定。雖然是件幸運的結果,不過不是什麼神奇的事情,因為原本就是彼此關聯的子問題。



結論:

這話題是趁今年的春節時,在Carnegie Mellon參觀,我和其中一名教授在對話中的啟發,那時我們談到divide and conquer,今天剛好想到類似的東西,就借部分觀念來使用了。我們時常忽略看起來自然而然的細節,或錯將好運當成慣例,造成在解決問題時漏洞百出,自然以上的想法並不是最佳解,更不是萬靈丹,只能說是一種概念。

「複雜的問題用複雜的方法解決,我們稱為研究;複雜的問題用簡單的方法解決,我們稱為創意。」雖然這樣的定義不嚴謹,不過制式的想法和處理過程,一定不是創意的手法。多接觸不同領域,不同性格的人,能使自己的思考活化。雖然是很簡單的想法,不過也能將問題簡單化,在解決特別棘手的問題時,也別將自己逼得太緊,試著切割問題。今天比昨天做得好一些,明天比今天更好一些,這樣踏踏實實地活著,才是充實的生活。




59

20

LINE 分享

相關創作

【閒聊】程式設計的美學─作業系統與設計哲學

[達人專欄] 妳那才不是樸素,而是整個角色都死掉啦!─「不起眼女主角培育法」

【問卷】來聊聊吧~巴哈小屋調查員

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】