夏農的“創意思維"在程式設計的應用

圖靈大盜發表於2018-03-22

Claude Shannon(克勞德·夏農)是現代計算機和資訊科技中的關鍵人物。或許在此之前你對這個名字還感到很陌生,但他卻是科學史上一位難得的天才。在他21歲時,Shannon在他的碩士論文中闡述瞭如何使用計算機中的二進位制來執行所有的邏輯功能,這在之後被Walter Isaacson稱為“所有數字電腦的基礎概念”。

不僅如此,在32歲那年,Shannon發表了《通訊的數學理論》一書,被譽為“資訊時代的法典”。書中介紹了二進位制資訊單位“位元”這個概念,講述了資訊可以如何被量化,也展示瞭如何能夠將電子資訊準確的在任何兩點之間被壓縮和傳送。

夏農的“創意思維"在程式設計的應用

△ Claude Shannon(圖片來源:Jimmy Soni and Rob Goodman)

我們現在能夠用電腦載入網頁和傳送電子郵件,都是得益於Shannon的資訊理論,它是使網際網路變得可能的原因。而Shannon提出這個概念的時間,卻是在數字時代到來的幾十年前。這不禁讓人想問——他到底是如何得到這樣的見解的?他又是如何能想到這些事情的?難道真的只是因為:天才的思維,我們常人無法揣測?

Shannon是一個內向的人,從孩童時期到成年後都有著害羞靦腆的性格。Shannon有大多數天才共有的高智商,在一份舊檔案中,人們發現了一份Shannon的未發表過的文章。這是他在1952年3月去貝爾實驗室演講的一份文字記錄,這份文件裡記錄了這位謙和的科學家罕見的向大家講述:一位優秀的科研人員應具有的“創意思維(Creative thinking)”。

夏農的“創意思維"在程式設計的應用

△ Claude Shannon 未發表的談話記錄,為了解他的思想過程提供了新見解。(圖片來源:J. Soni, R. Goodman)

在 Shannon 看來,有三個基礎條件是從事科學工作的人不可或缺的。第一個是培訓和經歷,這一點是顯而易見的,術業有專攻在科學研究上有著毋庸置疑的重要性。第二點是具備一定的才能和智商,Shannon 認為一個好的科學家或工程師至少有高於平均值100的智商,因此說科學工作除了後天努力,天分其實也很重要。

而良好的專業素養和聰明的頭腦還不足以讓人成為優秀的科學家,Shannon 認為最重要的第三點為動機(Motivation),或者說是種積極性,這正是愛因斯坦和牛頓等這些大科學傢俱有的最強之處:如果沒有這種積極的驅使,即便你具有再精良全面的培訓和超高的智商,都無法提出和解決問題。Shannon 在演講中說,好奇心是一個科學家必備的素養,當發現未知的問題時,或事情看起來不太對時,會產生一點點“不滿足感”——這種不滿足不是對我們常以為的對周遭環境不滿的負面情緒,而是一種積極的帶有建設性的不滿。

Shannon 甚至直白地說:“雖然不具備這種動機驅使的人同樣可以在許多其他領域獲得成功,但是對科學研究者來說,那種讓人不在意是早晨5點、不介意通宵達旦、不介意用週末的時間尋找答案的那種精神,是非常重要的。”

假設你已經具備以上所說的這三點條件,那有什麼技巧和策略能有助於你從事像科研這種創造性的工作呢?甚至可以更廣泛的適用於任何涉及“問題解決”的工作呢?Shannon 說這種技巧應該可以被列成一條長長的列表,但是他要強調的是他在科研過程中最受用的幾點。

1. 簡化問題

解決一個難題的第一步,是想辦法簡化它。Shannon 提到,無論是數學問題、物理問題還是工程設計,幾乎每一個遇到的問題都與許多無關的資訊混雜在一起,因此去除這些不那麼重要的條件、將最主要最根本的問題篩選出來,能讓我們更清楚地看到自己想要做到的是什麼。

Shannon 說雖然這種將問題“大事化小”的策略有可能會讓一個大問題變成面目全非的問題,但這也正是這個步驟的目的。他說:“雖然有可能出現被簡化後的問題與最初的問題不夠相似,但如果每次都能解決一個簡單問題,我們就能在這個解決方案上增添限制條件,直到恢復到最初想要解決的問題的方案為止。”

資訊理論學家Robert Gallager曾是Shannon的一位研究生,他目睹過Shannon如何運用這個激進的簡化過程來思考問題。他回憶起有一天他帶著一份新的研究方案來到Shannon的辦公室,但Shannon認為這個方案中的許多內容是都是干擾,於是他開始一一去除一些問題。

Gallager 回憶起那段情景說:“他看著研究方案,困惑的說:‘你真的需要這個假設嗎?’我回答:‘我想應該可以在沒有這個假設的情況下考慮這個問題。’過了一會兒,他又說:‘這個假設也需要嗎?’......他一直這樣重複做了五六次,讓我一度甚至感到很沮喪,因為我看到這個原本想要提出的問題似乎已經變得微不足道了。但這個過程卻讓我們倆都意識到了該如何解決這個問題,於是我們逐步把所有的小假設加回來,突然間我們就看到了整個問題的解決方向。這就是Shannon的工作方式。”

2. 尋找類似的問題

當你面臨的問題與一個已有答案的問題相類似時,可以將這兩個問題相結合,再推斷出兩者間答案或許能有什麼共同之處。說到這裡時,Shannon在黑板上寫了一個“P”和一個“S”,分別代表問題和解決方案。他說:“如果你在這個領域裡有一定的經驗了,你很可能就能找到一個跟P很像的問題,P',以及它的解決方案S',你要做的就是找出P與P'的相似處,再以相同的類比推論出S和S'的相似處。這也是為何在一個工作領域的經驗有多麼重要,因為如果你經驗豐富,你能知道上千種已被解決的問題。你的‘思維矩陣’中會充滿了各種相關與不相關的P和S。”

Shannon經常能發現原本看似毫無關聯的領域之間的相關之處。例如在他的博士論文中,他將代數應用於遺傳學上,儘管他並沒有任何學習生物學或遺傳學的背景,但在一年之內就得到了可發表的結果。

或許我們能做到在自己熟悉的領域找到與相鄰領域間的相關性,但是我們很少願意花時間去深入瞭解另一個領域。畢竟成為一個領域的新手、或被突然空降到某個還未開發領域的感覺並不是那麼愜意。

跳出這種舒適圈的方法可以是擴充套件閱讀範圍。Shannon 的“P”和“S”的策略之所以能成功,是因為他有一個非常豐富的“思想矩陣”。他所吸收的知識與資訊是多種多樣的,他的日常不只閱讀與數學和工程方面相關的書籍和文獻,他同樣喜歡閱讀詩歌、哲學、甚至是音樂。其實Shannon的這一習慣應該激勵更多人才對:我們應該增強各類見聞,即便是那些看似和我們的工作並沒有什麼關聯的內容,但我們仍可能從其中汲取到對我們有用的解決方案。

3. 多角度解決問題

接下來,Shannon 說到了從不同角度、顛覆性地看待問題的價值。改變問題中的某些詞、某個觀點,或許就能擊破那些製造障礙的固有思維。這一點實際操作起來很困難,但是我們必須嘗試,因為如果不這樣做,我們很容易陷入思維困局。

Shannon 認為對一個領域的熟悉同時也可能導致一定的思維僵化,而顛覆性思考問題的價值就在於它能打破這種思維僵局。用 Shannon 的話來說:“當你已經在一個問題上卡了好幾個月時,一個對該問題毫無經驗的人或許能夠幫助你解決這個問題。因為他在這個問題上沒有受到任何由時間累積起的思維固化,有的更多的是新穎的觀點。”

4. 逆向思維

不能通過分析而解決的問題,仍可能被“反向”解決。如果你不能使用已有的條件來證明你的結論,或許可以先假設這個結論已經是成立的,再看看會發生什麼。Shannon 說他常用這種方式來解決數學問題和設計問題。

5. 將大問題拆解成多個小問題

Shannon認為,改變對問題的觀察視角的最有力的方式就是“結構分析”,換句話說就是將一個無比困難的大問題拆解成許多的小問題。比如說你需要通過兩個大步驟來解決的一個問題,你可以做的是把這兩個大步驟分解成許多個小步驟。Shannon 指出:“許多數學定理的證明實際上是通過極其迂迴的過程找到的。”

擅長解決問題的人,都習慣將一項大挑戰視為一系列小挑戰,避免一下子被巨大的問題壓倒,做到逐個擊破,組合解決。

這種方法不僅對數學是有效, Shannon 表示這一點也可常被用於設計工作。他的機器和設計工作都受益於這種方法:“如果你設計的某一件事情的運作方式明顯很笨拙累贅,比如使用了過多的儀器;你可以在真正上手之後再開始思考如何去掉那些多餘的步驟。並不需要在一開始就做到這一步。”

6. 最大限度的延伸解決方案

最後,一旦你找到了解決方案,就花點時間來看看它還能走多遠,這在科學研究中有著非常強大的力量。正如Shannon所說:“一個數學理論的發展通常是為了證明一個孤立的特殊結果或定理,但總會有人希望將其一般化。例如,把一個二維問題延伸到 N 維,把某一種代數問題轉變成普通代數問題。而這一點其實不難做到,只要每當你找到一個問題的答案時,都記得問你自己這個答案是否可以被一般化,讓它能適應於更廣泛的問題。”所以為什麼我們不自己去做這個人呢?

天才從何而來?

雖然 Shannon 這段演講的主要針對的是科研工作者,但他提出的解決問題的方法在許多領域中都可以有非常靈活的運用。Shannon 詳細描述的並非那些他豐富的精神世界所創造出的光輝的成果,而是他如何得到那些成果的過程。這種過程是每一個追求用理性思維解決問題的人都可以學習和使用的。

天才的定義不在於他們能否像百科全書一樣知道許多問題的答案,而是一種驅使、一種好奇心、一種找尋答案和想要推進事件的渴望。或許對天才來說,最大的回饋是解決一個難題後的那種滿足感。

Shannon 說:“我認為如果你們能下意識的將這些技巧運用到解決問題上,在很多情況下應該都會發現問題解決的速度比平時要更快了。我也認為好的研究人員會在不知不覺中使用這些技巧,讓這一系列操作自然發生。”

得到像 Shannon 如此詳盡的描述自己思考和解決問題的步驟剖析無疑是寶貴的,我們可以從現在起訓練自己讓這些技巧成為一種習慣、一種本能,讓它們真正住進內心。Shannon 異於常人之處正在於他強大的簡化、分解、和反轉問題的能力。

或許擁有能與Shannon媲美的智商和天賦的人並不多,甚至也不太具備那種“積極性不滿”的品質,但好習慣還是可以強迫自己學習一下的,萬一一不小心就成了一位後天“天才”呢?

相關文章