在解決實際問題的過程中,最首要也是最關鍵的一步是定義問題的對象。定義對象的過程就是所謂的抽象。在上一篇中,也反覆提到系統設計的核心就在於對特定領域的合理抽象。

系統設計的演繹歸納法:開坑?

mp.weixin.qq.com

舉個可能稍顯偏題的例子。很多人分不清經濟學和金融學的區別。但其實只需要兩個很簡單的關鍵字就可以立馬讓你感覺到他們的不同。經濟學的關鍵詞是「供需」,可以說大部分複雜的宏觀古典經濟學的概念就是建立在對「供需」的研究之上。換言之,供需關係決定了經濟學研究這一領域的抽象思路。而對於金融學來說,這個關鍵詞就是「無套利均衡」。這裡不過多對於經濟學和金融學的概念進行贅述,只想用來說明合理的領域抽象思路是識別問題的關鍵。

需要注意的是,我們一般會認為抽象的結果決定之後的具體操作。但實際上,更常見的情況是我們先有合適的操作方法或者工具,反過來將問題抽象成適合這種操作方法和工具的對象。這有點像我們常說的,「當你有一把鎚子,你會把一切都看成釘子」。這句話本意是用來提醒不要刻舟求劍。但我們必須也要承認,有鎚子肯定是比什麼都沒有,或者需要現造一把工具的情況好得多。我們需要避免的是「只有一把鎚子」的情況。當你的工具箱里有足夠多的工具並且懂得怎麼使用它們的時候,憑藉操作手段反過來決定問題抽象是最高效的做法

再來一個例子。我們有請航空史上有名的奇葩戰鬥機米格25同學,就是下圖裡這個貨。

米格25的最大空速可以達到3.2馬赫。這是個什麼概念?意思就是當時的導彈都沒它快。在3.2馬赫速度下,因為空氣摩擦造成的表面溫度在300攝氏度以上。而當時(20世紀70年代)的鋁合金製造工藝最高耐熱只能達到180攝氏度。當時外界分析蘇聯肯定是使用了非常高級的鈦合金工藝,才能得到這種驚人的性能。但實際上,當時蘇聯的材料科學遠遠落後美國,根本不可能有成熟的鈦合金機體製造工藝。耐高溫的秘訣是,米格25的機體使用了不鏽鋼。沒錯,就是你家臉盆一樣材質的不鏽鋼。不鏽鋼的耐熱性極好,可以達到上千攝氏度,300度的空氣摩擦就是小意思了。不過這個設計缺陷也很多,最明顯的就是不鏽鋼太重,直接造成了米格25空重超標,非常不靈活。但為了高空高速的首要指標,這些都只能暫且忽略了。

這個例子只是用來說明,在有鎚子的時候,就算鎚子不怎麼好用,但是也能湊合著用。本來系統設計就充滿了無處不在的妥協,使用現有工具和方法來達到主要的設計目的往往要比堅決不妥協一定要找到完美解決方案要好得多。

當問題變得越來越複雜的時候,簡單的抽象往往不能直接被現有的方法解決。這也是非常常見的現象。廣義上來說,所有的研究其實都是為了找出新的方法來解決新出現的複雜問題。但我們必須看到,開創性的研究和新方法是昂貴的。實際上,在復用現有方法的情況下,不到萬不得已我們是不會去開闢一條嶄新的道路。所以在決定」現做一把新的工具「之前,我們總會想方設法地把複雜問題的抽象進行簡化或者分解,使其能夠適用於現有的工具和方法。這就是我們常說的「不重複造輪子」。這也是為什麼變換在系統設計中那麼重要。

變換的目的大致有如下兩種:

  • 簡化問題對象的表達,便於理解
  • 凸顯問題對象的某一種或幾種特徵,便於操作

對於第一種,很好理解,大家平時做的各種圖表就是屬於這種變換形式。通過這種簡單的變換可以幫助分析和簡化問題。第二種可能對大家來說不是很直觀。這裡用工程領域中非常基本的傅里葉分析來舉例。傅里葉變換可以把時域中的信號轉換成為頻域中的信號。很多沒有工科背景知識的同學看到這裡可能就一臉懵逼了。我們不去糾結什麼叫時域和頻域,重點是這個變換是個什麼意思,有什麼作用。直接上圖:

這個圖解釋了傅里葉分解的概念,即看似複雜時域信號(右)可以分解成多個簡單的周期信號(左)。如此,對於複雜信號的處理就可以簡化成為對於各個簡單周期信號的處理。本來複雜的問題就可以被拆解成一個個小問題。日常生活中所有和聲音、電磁波相關的信號處理其實都是以這個理論為基礎的。

在遇到很多複雜、難以下口的問題時,最重要的還是能找到合理的變換手段。當然如果真的覺得「蠻力」可解也是一種手段。所謂「一力降十會」,真有一把超強力的「鎚子」確實也能以不變應萬變。


公眾號:花椒哥HJ

推薦閱讀:

相关文章