解決問題的方法——拆分(分而治之)
當我們遇到問題時,如果能力大於問題,直接用能力解決。
當能力小於問題,我們該怎麼辦呢?
有兩大方法可以解決問題:
1)降低問題難度。將問題的難度降低到自己的能力之下,這樣能力大於問題難度,問題就可以解決了。
2)提高解決問題的能力。提高自己解決問題的能力,使得能力大於問題的難度,這樣問題也可以解決(如圖0所示)。
圖0 通用方法論
在降低問題難度上,主要有四種方法:拆分(分而治之)、聯想、類比和追本溯源,這四種方法簡單而高效。
本節我們主要介紹拆分這種方法。
拆分,也可以稱為分而治之,是降低難度最簡單和普遍的方法。拆分指的是將整體的事物拆開分解,這樣難度就降低了,當能力大於問題,就可以把問題解決(如圖1所示)。
圖1 拆分的思維導圖
我們按照知識三問的方式來分析拆分,即拆分是什麼?為什麼?怎麼用?
(一)拆分是什麼?
拆分,也稱為分而治之,它是一種各個學科通用的方法,拆分是將問題拆分成可以解決的小問題,然後各個擊破。哲學家、物理學家笛卡爾說:「將面臨的所有問題儘可能地細分,細至能用最佳的方式將其解決為止」。
拆分的應用隨處可見。比如你買了一個西瓜,你不會直接用嘴去啃西瓜,因為西瓜太大了,不好下嘴,即使是西瓜沒有皮也不好下嘴。這相當於難度大於嘴的能力,用刀將西瓜切成一塊一塊的,然後再吃,這就是拆分(如圖2所示)。
圖2 拆分西瓜
那麼要拆分到什麼程度呢?至少要使得能力大於問題的難度,這時問題才能被能力所解決。比如對於大人,西瓜可以拆分成較大的塊,而對於老人和孩子,拆分的塊應該小一點,這樣才更利於他們吃西瓜。
在軍事學上,分散敵人的兵力,然後集中自己的兵力進行打擊,這也是拆分。《戰爭藝術概論》戰略四原則的第三條原則是:「正面突破分割敵人,然後各個擊破。」這條原則就是拆分,或者叫分而治之。
均勢理論是國家追求安全最普遍的一種手段。均勢理論包括:分而治之、補償政策、軍備、聯盟和權力均衡的「掌控者」,其中分而治之指的是通過分裂競爭對手或使之保持分裂的狀態,以此達到削弱對手力量的目的。
在管理學上,很多理論本質就是拆分,比如金字塔原理的MECE原則和波士頓矩陣。
MECE原則指的是,對於議題,能夠做到不重疊、不遺漏的分類,而且能夠藉此有效把握問題的核心,並解決問題的方法。其原則為:相互獨立,完全窮盡,通俗的說就是「不重不漏」 (如圖3所示)。
圖3 金字塔原理的MECE原則
波士頓矩陣也稱為四象限分析法,就是按照銷售增長率和市場佔有率將產品分為四個部分,然後每一個部分採用不同的方法。四象限時間管理法也是拆分,原理和波士頓矩陣相同(如圖4所示)。
圖4 波士頓矩陣
精益生產的價值流也使用了拆分,將產品從原料到生產拆分成一個一個環節,然後對每一個進行分析,各個擊破,消除不產生價值的不必要活動,從而使得產品的成本大幅降低,生產周期大幅縮短(如圖5所示)。
圖5 價值流
工業工程的代表人物弗蘭克吉爾布雷斯被公認為「動作研究之父」。動作研究是將動作拆分為最小單位,研究各種工作所需要的最少動作組合,消除無用動作,增加產出數量。吉爾布雷斯夫婦發明了一個「動素」的概念,把人的所有動作拆分成17個動素,後來,美機械工程師學會增加了「發現」,這樣動素分析基本要素就有了18種。如手腕動作稱為一個動素,就可以把所有的作業分解成一些動素的和(如圖6所示)。
圖6 動素的分類和符號
對每個動素做了定量研究之後,消除可以消除的無效動作,縮短其他動作時間,就可以大幅度減少作業時間了。弗蘭克吉爾布雷斯說:「世界上最大的浪費,莫過於動作的浪費。」
美國質量管理權威朱蘭說:「美國值得向全世界誇耀的東西就是IE,美國之所以打贏第一次世界大戰,又有打贏第二次世界的力量,就是因為美國有IE。」富士康科技集團CEO郭臺銘說:「沒有工業工程就沒有我郭臺銘的今天。」日本大野耐一說:「豐田生產方式就是豐田式工業工程」。
(二)拆分為什麼有效?
從最直觀的邏輯來說,拆分相當於把大難度變成小難度,難度降低了,這樣當能力大於拆分後的難度時,就可以把問題解決了。
如果對拆分進行更深入的考察,你會發現還原論,一個哲學上的方法。拆分可以在某種程度上看做是還原論的通俗說法。還原論認為世界萬物是由基本粒子組成,這種組合性決定了它可以被拆分。
還原論或還原主義(英語:Reductionism,又譯化約論),是一種哲學思想,認為複雜的系統、事物、現象可以將其化解為各部分之組合來加以理解和描述
還原論方法是經典科學方法的內核,將高層的、複雜的對象分解為較低層的、簡單的對象來處理;世界的本質在於簡單性。
牛頓以來,運用還原論研究自然,再把獲得的知識納入公理化體系進行表達,已經成為科學的標準操作。所謂科學方法,本質上就是還原論方法;整個近代科學中,所有科學分支都以牛頓的力學理論為基石,用還原論方法來研究各自的對象,用公理化理論(至少是追求用這樣的理論)解釋自然。
牛頓們總結的這些方法原則日益成為廣泛的共識,貫徹到科學活動中發展成為一套具體操作方法,以科學實驗、定量方法來支撐,像拆機器、剝洋蔥一樣,把研究對象一層一層地進行分解、還原。化學原子―分子學說、生物細胞學說甚至進化學說,能量守恆原理等等,都深深打上還原論方法的烙印。
還原論方法最大的成功之處在於,用這種方法建立起來的科學理論,不僅具有精確嚴密的特質,還具有強大的預言能力,這種預言經得起實驗的檢驗。無論是哈雷彗星的發現與確認,海王星的發現,大量新基本粒子的發現認證,大爆炸學說的檢驗,還是各類化學藥物的發明與臨床驗證,直至認識生命本質、遺傳工程,奔月工程、地下資源開發等等,所有這些都是以科學理論為指導,在科學實踐中取得成功的,而這些科學理論無不是還原論方法的成功應用。與此同時,公理演繹體系的成功則在於,人類對於自然認識的每一個事實、每一個概念和理論推演,都被納入一個前後關聯的邏輯統一體中,使得人類的關於自然的認識和思考,成為知識體系。
近現代幾百年科學研究實踐的歷史的經驗證明,科學家們自覺使用的還原論方法不但已經建立起幾乎全部的關於自然的知識,而且這種方法還正在繼續顯示出強大的生命力。它的生命力顯現在它的不斷創新、不斷貢獻給人們新知識的過程中。
當代還原論認為,儘管整個世界分成不同的層次,但都是基本科學的分支,嚴格來說,只有一種科學,那就是物理學。現代物理學有比較成熟和完善的理論,自然界中的各種現象都可以通過物理學來解釋。物理學解釋被認為是真正的解釋,具有解釋的優先性。
笛卡爾認為真理並不是彼此孤立的、平列的,而是一些有主有從的原理,構成一個有機的體系。他要找出這個大體系,所以不肯只是一筆一筆地記流水帳,一定要算清總帳。他說,「整個哲學好像一棵大樹,樹根是形上學,樹幹是物理學,從這樹幹上發出的枝條是各種其他科學」他所謂樹根,是指最根本的哲學原理,首先是關於人類認識的原理。
笛卡爾說的哲學是廣義的哲學,我們可以將形上學為狹義的哲學,這樣哲學是樹根,比如還原論;物理學是樹幹,比如牛頓力學;其他學科是樹枝,比如經濟學、管理學、軍事學、醫學、工學、理學和教育學等。
物理學建立在哲學這個樹根上,然後分化出其他學科。哲學的還原論是物理學核心的方法,現代物理學幾乎都是建立在還原論之上的。還原論也可以直接用於其他學科,只是稱呼變成了拆分或者分而治之,比如分治算法和均勢理論的分而治之。
美國哲學家卡爾普納說:「物理學語言是科學的普遍語言。這也就是說,科學的任何領域內的語言可以保存原來的內容翻譯成為物理學語言。因此,可以作出這樣的結論:科學是一個統一的系統,在這個系統之內並無在原則上不同的對象領域,因此,自然科學與精神科學並不是分裂的。這就是統一科學的論點(如圖7所示)。」
圖7 哲學之樹
除了哲學的還原論,哲學還有很多方法可以應用於其他學科,比如哲學三問和三種美德。哲學三問是:我是誰?我從哪裡來?我要到哪裡去?這三問也適用於一個國家,我是誰?我在哪?我該怎麼辦?文明衝突解決了「我是誰」的問題;地緣政治解決了「我在哪」的問題均勢理論解決了「我該怎麼辦」的問題。也就產生了分析國際政治的三大工具,可以翻一翻經典的國際政治書籍,比如《大棋局》、《國家間的政治》等,都離不開這三大工具。
哲學三問還可以得到知識三問:是什麼(What)?為什麼(Why)?怎麼用(How)?對於任意一種知識,只要搞清楚這三個問題,基本上就把這個知識學會了。後來有人又增加了人物(Who),時間(When)和地點(Where),就形成了5W1H方法,也被稱為六何分析法,這個特別適合用來拆分一個事件(如圖8所示)。
圖8 哲學對其他學科的影響
哲學有三種美德,這三種美德影響著人類的選擇和發展,三種美德包括:審慎(利己)、合宜(克己)和慈善(利他)。經濟學建立在利己條件下,比如博弈論經典的囚徒困境,兩個囚徒都是利己的,但是世界上存在利己、克己和利他三種人,如果囚徒是克己或者慈善的,就可以跳出囚徒的困境。
亞里斯多德和孔子都推崇中庸,屬於合宜,也就是克己,有限度的利己。
很多宗教都是建立在慈善的基礎上,教眾們模仿神的慈善行為,希望升華到直接與神交匯溝通的偉大目的。
(三)拆分怎麼用?
其實拆分的邏輯比較簡單,就是將問題拆分到可以解決的最小單元,然後各個擊破。所以拆分解決就分為了兩步,第一步是拆分,第二步是各個擊破。
笛卡爾在《談談方法》中給出了探求真理的四條原則:「
第一條:凡是我沒有明確地認識到的東西,我決不把它當成真的接受,也就是說,要小心避免輕率的判斷和先入之見,除了清楚分明地呈現在我心裡、使我根本無法懷疑的東西外,不要多放別的東西到我的判斷裡。
第二條:把我所審查的每一個難題按照可能和必要的程度分成若干部分,以便一一妥為解決。
第三條:按次序進行我的思考,從最簡單、最容易認識的對象開始,一點一點逐步上升,直到認識最複雜的對象;就連那些本來沒有先後關係的東西,也給它們設定一個次序。
第四條:在任何情況下,都要儘量全面地考察、儘量普遍地考察,做到確信毫無遺漏。」
笛卡爾的第二條和第三條分別對應於拆分和各個擊破,或者說第二條對應於分,第三條對應於治之,即分而治之。
笛卡爾的第一條是只相信明確的東西,有些批判性思維的意味。這條其實也很有用,因為人們容易人云亦云。比如思想家亞里斯多德認為女人的牙齒比男人少,很多人信以為真。古希臘數學家歐幾裡得所著的《幾何原本》是一本劃時代的著作,那麼它裡邊的原理就都是真的嗎?書裡邊有五大公設,前四條公設都可以用《幾何原本》中的其餘公設、公理和推論證明,而人們始終相信歐氏幾何是物理空間的正確理想化,所以眾多數學家就嘗試用前4個公設、5個公理以及由它們推證出的命題來證明第五公設,然而都沒有成功。羅巴切夫斯基反其道行之,首先把第五公設變成否定命題,然後進行推導,如果推導出矛盾,則證明否定命題是錯誤的。可是結果並沒有推導出任何矛盾,否定的第五公設和其他四條公設沒有矛盾,從而產生了非歐幾何。
笛卡爾的第四條要做到全面考察,不遺漏。如果你知道金字塔MECE的核心原則是不重不漏,你就會發現金字塔原理的不漏其實笛卡爾早都說過。
笛卡爾探求真理四原則可以簡化為:
1)只接受明確的東西;
2)拆分問題;
3)從簡單到複雜各個擊破;
4)全面考察無遺漏。
這四個原則和流程圖的思維類似,可以畫一張流程圖來表示這四條原則,或者將它們看做解決問題的四個步驟(如圖9所示)。
圖9 拆分四步驟
比如針對一個問題,首先靠辨別哪些是事實,哪些不是,比如很多陳訴都是觀點而不是事實。只接受明確的東西,這使得你分析的基礎是建立在穩固的基礎上的,而不是建立在沙子上。例如基於地心說建立的理論,無論你建立的多麼完美,到最後都是會倒塌。第二步對問題進行拆分,拆分到可以解決的程度,第三步從簡單到複雜各個擊破被拆分的小問題,第四步對整個過程進行考察,看看是否有遺漏的地方。
(四)拆分的案例分析
1)搬運大家具
如何將大的組合家具從舊房搬到新房呢?
大的家具不方便整體搬運,所以人們首先把組合家具進行拆分,拆分成可以方便搬運的最小單元,然後使用汽車將拆分完家具從舊房運到新房,最後再組裝就可以了。搬運家具就可分為三個步驟:拆分家具、運輸家具和組合家具(如圖10所示)。
圖10 搬運家具三步驟
我們還可以擴展思考一下,為什麼老一輩的榫(sǔn)卯結構的家具幾乎被淘汰了,而現在的家具都是板式家具呢?
榫卯結構製作成本高,製作難度大,安裝難度大,家具不易拆分運輸,所以這種結構不容易大面積推廣。
壓板技術的發明使得板材可以大批量、快速、低成本的進行生產,這樣板材就很容易取代之前的實木。然後三合一連接件的發明,使得板材之間的連接更加的簡單、快速,並且成本低廉,這就使得板材家具得到大規模普及(如圖11所示)。
圖11 板式家具和三合一連接件
三合一連接件包括偏心輪、連接件和預埋件,看似簡單,但是卻可以方便的連接不同的板材,並且這種工作不需要培訓都可以操作。這樣,客戶就可以去家具店買回自己心儀的家具,由於都是平板,很容易運輸,然後回到家中就可以自己組裝了。
2)背誦《孫子兵法》
如何背誦《孫子兵法》?
我是從2010年開始對兵法感興趣的,《孫子兵法》我看了很多遍也沒看明白,就想著把它背下來,這樣只要有時間我就可對其進行思考了。別人可能有更好的背誦方法,而我採用的方法就是拆分。《孫子兵法》有13篇,共6000多字,由於是古文,背誦難度不小。我不是一下子背誦13篇的,我首先背誦每一篇的篇名,然後在依次背誦每一篇。對於每一篇,我也採用的是拆分的方法,而不是一下子就把這一篇全背下來。我是把這一篇分成幾段,先背誦每一段的第一個字,這樣這一篇的結構就記住了,有點類似於索引。然後再分別背誦每一段,直到這一段背熟了我再背誦下一段。
比如《始計》篇分為5段,我先記住這5段的第一個字為:孫故將兵夫,然後在背誦第一段「孫子曰:兵者,國之大事,死生之地,存亡之道,不可不察也(如圖12所示)。」
圖12 背誦孫子兵法
背熟了再背誦下一段,這樣我在工作之餘,大約花了一個月,把《孫子兵法》完全背誦下來了。
3)物質的組成
拆分在物理學中有著更重要的作用,拆分是還原論的俗稱。沒有還原論,也就沒有今天先進的物理學和科技。
比如對於水這種物質,物理學將水首先拆分成了水分子,然後再把水分子拆分成1個氧原子和2個氫原子,氧原子由電子和氧原子核構成,氧原子核由8個質子和8個中子構成,質子由2個上夸克和1個下夸克構成,中子由1個上夸克和2個下夸克構成(如圖13所示)。
圖13 水的拆分
夸克也不僅僅只有上夸克和下夸克,還有奇夸克、粲夸克、底夸克和頂夸克,每種夸克還有一種反夸克,並且都有三種顏色,總計有32種夸克。包括各種夸克在內,現在發現的一共有61種基本粒子。
物理學的這種拆分被稱為還原論,德國物理學家赫姆霍茲曾提出下面的口號:「自然科學的終極目的是將自然界的一切過程還原成作為這些過程基礎的運動並探索它們的推動力,也就是說,把它們還原成力學。」機械唯物主義可以概括為「所有自然現象都可以用力學原理進行解釋。」
這種大統一的思想是很多物理學家的畢生追求,比如愛因斯坦的大統一理論。現在大統一理論是要統一四種力,由於微觀粒子之間僅存在四種相互作用力,萬有引力、電磁力、強相互作用力、弱相互作用力。理論上宇宙間所有現象都可以用這四種作用力來解釋。通過進一步研究四種作用力之間聯繫與統一,尋找能統一說明四種相互作用力的理論或模型稱為大統一理論。
我使用廣義動量定理和系統思考來分析經濟學,管理學和軍事學,其實也是希望將它們進行統一,使用廣義動量定理和系統思考解釋它們所以的現象和理論,這樣就可以降低大家學習和理解的成本。
4)顏色的拆分——三原色
在17世紀,23歲的牛頓就發現經過三稜鏡的折射,一束陽光被分解為一道連續的彩色光譜,牛頓是發現光是有紅橙黃綠青藍紫,七個顏色組成的,這便是著名的色散現象(如圖14所示)。
圖14 光被拆分成7種顏色
英國物理學家託馬斯·楊第一個測量了7種光的波長,最先建立了三原色原理:指出一切色彩都可以從紅、綠、藍這三種原色中得到(如圖15所示)。
圖15 光的三原色
牛頓將陽光拆分成了7種顏色,而託馬斯楊將所有顏色拆分到紅、綠和藍。所有顏色都可以通過三原色來組合而成。我們使用的各種軟體來調整顏色,也都是基於三原色。
5)特斯拉電池拆分
馬斯克舉了以下這個例子:"在特斯拉早期研製電動汽車的時候,我們遇到了電池高成本的難題。當時儲能電池的價格是每千瓦時600美元,因為它過去就是這麼貴,它未來也不可能變得更便宜。那麼我們從第一性原理角度進行思考:電池組到底是由什麼材料組成的?這些電池原料的市場價格是多少?電池的組成包括碳、鎳、鋁和一些聚合物。如果我們從倫敦金屬交易所購買這些原材料然後組合成電池,需要多少錢?天哪,你會發現只要80美元/千瓦時。"
馬斯克使用的第一性原理來分析電池成本,從而將電池成本大幅降低。我們也可以使用拆分的思維來分析,正好可以使用笛卡爾探求真理的四原則。首先是市場上電池的價格是每千瓦時600美元,很多人直接就接受了這個價格,那麼製造出來的電動車將相當昂貴,不可能大規模推廣,也就不符合馬斯克的目標。按照笛卡爾的第一條原則,只接受確實的東西,那麼電池的成本是否真的很高,才導致電池價格昂貴呢?這是可以進行懷疑的。然後就像馬斯克一樣,將電池拆分成各種原料,然後各個擊破來核算每種的重量是多少,每千克價格是多少,進行匯總就是電池的極限成本(如圖16所示)。
圖16 特斯拉電池拆分
最後進行全面考察,除了電池的原料成本,還需要生產和人工等成本,加在一起就得到了電池的總成本。馬斯克在計算電池成本上使用的方法和拆分很相似,這兩種方法都能推出電池的成本,進而知曉電池的售價究竟是否合理。
我們也可以按照現在特斯拉的售價,估算馬斯克到底將電池的成本降到了多少。2020年Model 3的標準版電池是53千瓦時,售價29.18萬。按照《電池技術解讀及電池包拆解——特斯拉Model 3》中的估計,Model 3的電池成本可以降低到155美元/千瓦時,也就是1085元/千瓦時。
如果電池價格為600美元/千瓦時,美元兌人民幣按照7來計算,那麼標準版光電池就需要600×7×53=22.26萬,而Model 3標準版的售價才29.18萬,這是不可能的。
我們也可以計算一下馬斯克通過他的方法,把電池價格降到了原來的多少。1085/(600×7)×100%=26%,也就是說馬斯克將電池成本降到了原來的26%。
Space X的火箭成本降低以及殖民火星計劃等,都可以通過拆分來分析。
在曹衝稱象的故事中,稱的能力小於稱象的難度,所以曹衝採用了降低難度的方法,將難度進行拆分。大象不能殺了進行拆分,那麼就通過等量替換原理,記錄大象在船上的吃水深度,然後往船上裝石頭到吃水深度,這樣就將大象重量在替換成一大堆石頭,也就相當於把大象的體重進行了拆分,然後對每個石頭進行各個擊破,稱量完每個石頭然後進行累加,就得到了大象的體重。所以曹衝稱象從邏輯上分了三步:等量替換、拆分稱重和組合重量。
6)李彥宏的分而治之
李彥宏說:「你首先要想清楚你自己最care(關心)的是什麼?你最想要的東西是什麼,把這個想清楚了,再看我要想獲得這個東西,我需要做什麼,這些東西再一一地去分解。我們搞電腦的,上學的時候學過一個算法,叫做divide and conquer,叫做分而治之。一個宏偉的目標看上去遙不可及,這怎麼可能做成呢?但是你把這些目標分解成一個一個的小目標,小目標再往下分解,分解到最後,分解成細枝末節時你會發現,這事其實是可以做的。這個做成了再往下走一步,做更大點的事,最後不知不覺,你可能把這宏偉的目標就做成了。」
李彥宏的方法就是分而治之,也就是拆分。
7)計算機的分治算法
分治算法也是採用了分而治之的思維,它是常用的經典算法。分治算法的設計思想是:將一個難以直接解決的大問題,分割成一些規模較小的相同問題,以便各個擊破,分而治之。
五大常用算法包括:貪婪算法,動態規划算法,分治算法,回溯算法,分支限界算法。
分治策略是:對於一個規模為n的問題,若該問題可以容易地解決(比如說規模n較小)則直接解決,否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞歸地求解這些子問題,然後將各子問題的解合併得到原問題的解。這種算法設計策略叫做分治算法(如圖17所示)。
圖17 計算機的分治算法
分治算法的步驟是拆分、求解與合併,這個和搬運大家具的拆分、運輸與組合類似。
在100個硬幣中找出偽幣
有100個硬幣,其中有1個偽幣,它除了質量比真幣輕一點之外,沒有別的區別,如何通過天平快速找到這個偽幣。
如果每次使用2個硬幣進行對比,那麼需要使用50次天平。
分治算法採用將問題進行拆分,使用6次就可以找到偽幣。首先是將100個硬幣分成兩個50,使用天平進行衡量,然後確定偽幣在比較輕的那50個裡,接著再將50分成2個25,將25分成兩個12和1個1,將12分成2個6,將6分成2個3,將3分成3個1,這樣6次就可以找到偽幣,比50次少很多(如圖18所示)。
圖18 尋找偽幣過程
騙子如何使用分治算法呢?以下來自網上一個經典的例子。
2014年世界盃期間,32支豪門躍躍欲試。世界盃的影響範圍已經不僅僅局限於球迷之間,更是輻射了以球場為中心的一大片商業活動。就從賭球來說吧,想必各大博彩網站早已恭候多時,同時各大天台上也開始預訂站席。
這是一場球迷的狂歡,同時也是騙子的節日。就拿賭球來說,有這麼一個經典的騙局。
小劉是一名鐵桿球迷,同時也是博彩愛好者。2014年小組賽期間,他憑著自己的感覺參與了多次投注,都是小虧小賺。他看著網上各路大神賺得盆滿缽滿,心裡很是痒痒,憑什麼大家都看了這麼些年球,有的人能如此順風順水,難道真的是有內幕嗎?
偶然一次他收到一份匿名郵件,上面赫然寫著自己有內部消息,下面一場哥倫比亞踢烏拉圭,哥倫比亞準贏。小劉覺得完全就是無稽之談,我蘇神蘇亞雷斯豈是浪得虛名?隨後不屑地點擊了刪除鍵。
然而後來那場比賽確實哥倫比亞2:0大勝烏拉圭。小劉一邊吐槽著一邊想起了前幾天的郵件,覺得這件事好像有點蹊蹺。
過了兩天小劉又收到一份郵件,斷定下一場荷蘭贏墨西哥,小劉經不住誘惑決定嘗試一下,便投注了比利時500元,等待的時間是漫長的,好不容易等到了凌晨的比賽,這次小劉有點無心看球,心思全在那封郵件上。最終比賽的記分板停留在荷蘭2:1墨西哥,小劉也因此賺到了幾千,他覺得這真是天大的好事,背後有高人相助的感覺就是不一樣,小劉開始期待著那封匿名郵件的到來。
四分之一決賽第一場,法國對戰德國。果不其然,小劉又收到了郵件,這次郵件裡斷定德國獲勝,並聲明這是最後一次免費郵件,想要得知後續的勝負情況,需要匯款一萬元。
小劉這次大膽了一些,增加了錢數押寶在德國隊身上,那場球賽十分緊張,但小劉心裡居然多了一絲穩健。90分鐘的膠著之後,德國隊獲勝。小劉賺到了5000元。金錢使他徹底信服了,賭徒心態衝昏了他的理智,他毫不猶豫地匯款一萬給郵件裡的帳戶。
四分之一決賽中,小劉依靠「高人」相助直接將成本全部收回還倒賺幾萬。但後來事情的發展就不像他想像的那樣了,半決賽中,小劉將自己幾年的身家按照郵件提示押在巴西身上,結果德國7:1豪取巴西。小劉不僅被騙子騙了1萬元,還因為相信騙子的郵件,將全部身家輸光了。
在去天台的路上,小劉還是想不通,為什麼會這樣呢?
如果是你,連續接到5次預測正確的郵件,你會相信嗎?
假設每場輸贏的概率都是50%,那麼5次都猜對的概率是0.5×0.5×0.5×0.5×0.5×100%=3%,這種概率太低了,所以很多人都會相信。那騙子真的是這麼聰明,能連續預測對這麼多場比賽嗎?
其實騙子用的就是分治算法。
假設有50萬真球迷,1/8決賽有8場,1/4決賽有4場,半決賽有3場,決賽有1場。
1/8決賽有8場,不必每場都發,選擇其中比較熱門的4場,最終將會有31250人收到四次完全正確的郵件,而他們也即將成為你的潛在付費用戶。
1/4決賽第一場提供最後一次免費預測,並開始提及收費。此時可以在郵件中提供主流博彩網站的當前賠率,刺激用戶欲望。最終將會剩下15625名潛在付費用戶。
經過5次的洗腦,我相信會有很多「小劉」甘願為此掏錢。
騙子的操作其實非常簡單,首先將50萬拆分為兩個25萬,然後向25萬球迷發A隊會贏,向另外25萬發B隊會贏,然後在這場比賽之後,就有25萬人收到了猜對的郵件。然後再把這25萬人分成2個12.5萬,向其中的12.5萬發C隊會贏,另外12.5萬發D隊會贏,這樣在這場比賽結束之後,有12.5萬人收到了正確郵件。然後騙子繼續上述操作,接到越多的正確郵件,球迷的信任程度也就增加的越多,然後就可以欺騙這些球迷了(如圖19所示)。
圖19 足彩郵件騙局
流氓不可怕,就怕流氓有文化。學習知識是有用的,否則就會像小劉一樣,直到被騙了都不知道自己怎麼被騙的。
對於大數據來說,數據的難度大於單個電腦的處理能力,所以就需要將數據進行拆分,然後進行解決。
MapReduce是一種處理大數據的方法,他由Google公司提出,MapReduce是一種計算模型,該模型可以將大型數據處理任務分解成很多單個的、可以在伺服器集群中並行執行的任務,而這些任務的計算結果可以合併在一起來計算最終的結果。
MapReduce是一種分布式計算框架,以一種可靠的,具有容錯能力的方式並行地處理上TB級別的海量數據集。主要用於搜索領域,解決海量數據的計算問題。MapReduce有兩個階段組成:Map和Reduce,Map負責把一個大的block塊進行切片並計算。Reduce負責把Map切片的數據進行匯總、計算。也就是MAP負責拆分和求解子問題,Reduce負責合併子解(如圖20所示)。
圖20 MapReduce算法流程
MapReduce如何統計一個文本中每個單詞出現的次數。MapReduce首先將輸入的數據進行拆分,拆分成3行,然後對每一行統計每個單詞的次數,接下來進行洗牌,將相同的單詞放到一起,經過reducing合併結果,就完成了對大數據的分而治之。
8)廣義動量定理的拆分
從廣義動量定理Fαt=MV的角度來說,影響成果有4種要素,包括力的大小、力的方向,作用點和時間,也就是說,任何變化都是由力引起的,所以能使用力進行分析(如圖21所示)。
圖21 廣義動量定理四要素
我們將影響成果的要素拆分成了四種,就可以使用這4鍾要素來分析各種理論為什麼有效,每種理論也都會有側重點,不會每個要素都強調。比如聚焦理論和定位理論,強調的就是作用點不同,產生的成果不同。作用點越關鍵,產生的成果越大。我們可以使用凸透鏡引燃火柴的例子進行類比理解。
用凸透鏡將陽光的焦點聚焦於火柴杆,火柴沒有被點燃。將陽光的焦點聚焦於火柴頭,火柴被引燃。作用點的改變導致成果的改變(如圖22所示)。
圖22 凸透鏡引燃火柴
在需求定律中,商品的價值和價格決定了商品的需求量,而這兩者皆可以看做是力,由這兩種力共同決定了需求量這個成果,其中商品的價值是購買的動力,價格是購買的阻力,二者的合力決定需求量這個成果,也就對應於廣義動量定理中的F。科斯定理中的產權和交易費用也可以這樣進行分析。
9)軍事學拆分敵人兵力
世界十大兵書的《戰爭藝術概論》有戰略四原則,其中第三條原則是:正面突破分割敵人,然後各個擊破。這條原則的本質就是拆分敵人,各個擊破。
我們可以舉一個例子進行理解。
假設我軍和敵軍各有4名士兵,雙方進行槍戰,2發子彈打死一個敵人。如果我軍和敵軍都將4人投入戰鬥,那麼我方和敵方勝負各半。
如果我方將敵人分成2個部分進行各個擊破,那麼我方會獲得勝利。我方首先將敵人拆分成2個部分,然後使用4人進攻其中的2人,我方每人打出1發子彈,共4發子彈,將敵軍的2個人打死;敵軍每人打出1發子彈,我軍有2人各中1發子彈。然後我軍再使用這4人攻擊敵人剩餘的2人,我方每人打出1發子彈,共4發子彈,將敵軍的2個人打死;敵軍每人打出1發子彈,將我方上一輪中1槍的2人打死,這樣我軍剩餘2人,敵軍剩餘0人。
如果我方拆分敵人,敵人被拆分的人也參加了戰鬥,我方是否還有辦法獲得勝利?
有辦法,可以通過聰明的拆分方式來打敗敵人。克勞塞維茨在《戰爭論》中給出了方法,使用3/4的兵力攻擊敵人1/3的兵力,使用1/4的兵力牽制敵人2/3的兵力,即使一勝一負,對於我方還是有利的,因為我方消滅了敵人1/3兵力,而敵人只消滅了我方1/4的兵力。
他在《戰爭論》中寫道:「如果我們打算用3/4的兵力進行主要戰鬥,用1/4的兵力牽制未受攻擊的敵軍,那麼真正受攻擊的那部分敵軍的兵力應該佔總兵力的1/4以上,即為1/3左右。在這種情況下,如果兩處的結果是一勝一負,那麼我們用3/4的兵力打敗了敵軍1/3的兵力,而敵軍用2/3的兵力只打敗了我軍1/4的兵力,這顯然對我們是有利的。如果我們比敵人佔很大優勢,以致我們用3/4的兵力就可以戰勝敵軍1/2的兵力,那麼我們獲得總成果的把握就更大。」
這或許不那麼好理解,我們來列舉一個實際的例子進行分析。假設敵我雙方都有1200人,裝備和能力相同。按照克勞塞維茨的比例,我方以300人牽制敵人800人,以900人進攻敵人400人(如圖23所示)。
圖23 聰明的拆分敵人
我們可以使用蘭切斯特法則進行分析,第一法則,遠距離作戰時:戰鬥力=武器性能×兵力數,即E=mv。第二法則,近距離作戰時:戰鬥力=武器性能×兵力數的平方,即E=mv2。
如果兩場戰鬥都是遠距離作戰,那麼敵人在一場戰鬥中損失300人,換取我方300人;在另一場戰鬥中,我方損失400人換取敵人400人,這樣敵我雙方都剩餘500人,勝負各半。
如果兩場戰鬥都是近距離作戰的話,在殺傷力趨近於0的情況下,可以使用蘭切斯特第二法則進行計算。在我方300人和敵人800人的戰鬥中,我方300人全部死亡,敵人剩餘人數
在另一場戰鬥中,敵人的400人全部死亡,我方剩餘人數
這樣我方再以806人和敵方的742人戰鬥,我方獲得勝利,我方剩餘人數
蘭切斯特第二法則是一個極端,槍的殺傷力越高,越趨近於第一法則,比如1槍就打死1個敵人;殺傷力越低,越趨近於第二法則,現在戰鬥在第一法則和第二法則之間,也就是說克勞塞維茨的這種拆分方式,槍的殺傷力越低越容易獲勝。
如果是完全協同,並且槍的殺傷力非常低,那麼可以使用蘭切斯特第二法則進行計算。我們的戰鬥剩餘806人,敵人的戰鬥剩餘741人。然後我方以806人進攻敵人741人,最後我方勝利,剩餘316人。
10)國際政治的分而治之
分而治之是國際政治常用的一種方法,它屬於均勢理論的一部分,也就是將對手分成幾部分,從而降低對手的實力。
分而治之,是通過分裂競爭對手或使之保持分裂的狀態,以此達到削弱對手力量的目的。從十七世紀到第二次世界大戰結束,法國外交政策的一項不變原則,就是贊成德意志帝國分裂成若干小的獨立國家,或者阻止這類小國聯合成一個統一的國家。法國的政策就是分而治之,從而減少德國的力量。
一些大國為了控制其他國家,也是採用分而治之的方式,比如通過在對方國家培植反對派,從而將其分而治之。
《孫子兵法》在《兵勢》篇說:「治眾如治寡,分數是也」,意思是說治理大部隊就像治理小部隊一樣有效,是依靠合理的組織、結構、編制。這也是分而治之,龐大的軍隊難以管理,通過將軍隊拆分成幾個部分,每個部分由將領管理,每個部分還可以進行拆分,再由低級將領管理,這就形成了軍隊的層級式結構,使得管理更加有效(如圖24所示)。
圖24 先秦兵制
比如一個軍的10000人拆分為4個師,每個師2500人,設立師帥;每個師分成5個旅,每個旅500人,設立旅帥。這樣一個將軍管理4個師帥就可以管理10000人了。
國家為了方便管理,也是把國家進行行政區拆分,分為省、市、縣等,這樣管理的難度就降低了。
11)系統思考的拆分
系統思考也同樣會用到拆分的方法。比如對一個系統,我們會對照系統思考的要素,把這個系統拆成各個組成部分。負反饋包括目標輸入、控制、輸出、反饋、偏差等要素。
以用水杯接水為例,我們想要接80%左右的水,我們是如何操作的呢?首先我們把杯子放到龍頭下邊,擰水龍頭,水流入杯子中,我們用眼睛觀察杯中水位和80%水位差多少,當杯中的水位達到80%水位時,我們關閉水龍頭,完成接水過程。
我們可以按照負反饋的要素,將接水過程進行拆分。
目標輸入:水杯裝80%的水;
控制:擰水龍頭;
輸出:實際水位;
反饋:用眼睛檢測實際水位;
偏差:目標水位-實際水位(如圖25所示)
圖25 水杯接水和負反饋
因為接水過程是按照偏差進行控制的,也就是說目標和反饋是不同號的,即相減關係,那麼這個接水過程就是負反饋過程。目標輸入是正號,連接到比較器上,然後比較器連接到控制,也就是擰水龍頭上,控制輸出的是實際水位,反饋是用眼睛檢測實際水位,反饋是負號,連接到比較器上,接水的負反饋圖就畫好了(如圖26所示)。
圖26 水杯接水的方框圖
我們將系統拆分成各個系統要素,然後根據這些要素的功能就可以分析整個系統。比如眼睛的功能是檢測反饋實際水位,如果不用眼睛看,就不知道實際水位在哪,相當於系統沒有反饋環節,就不能完成接80%的閉環控制任務。
12)費米估算的拆分
費米是義大利裔的美國物理學家,曾在1938年獲得諾貝爾物理學獎,而他被世人所更為熟知的,則是他在芝加哥大學課堂上憑空拋出的一個看似荒謬的問題:
「芝加哥有多少個鋼琴調音師?」
聽到這個問題的學生都是一臉茫然,費米則提示遇到這樣看似龐大的問題,可以把這個問題分解成一些便於操作和認知的小問題,根據猜測和假設去估算問題。
這也就是費米問題思想的核心:拆分。
也就是說把一個龐大的、抽象的、複雜的問題,逐級拆解為微小的、具體的、簡單的問題,然後再將這些小問題進一步拆解,只要保證了邏輯關係,那麼將這些可以回答的小問題答案,逐步反推到費米問題上,就可以得到最終的準確答案。
芝加哥有多少個鋼琴調音師?
我們怎麼解答這個讓人無從下手的問題呢?我們可以使用拆分的方法,大問題無法解決,我們就把它拆分成小問題,拆分到可以解決為止。
問題問的是鋼琴調音師的人數,那麼我們可以把這個問題拆分成2個,一個是總的工作時間,另一個是1個調音師一年的工作時間,它倆相除,就能得到調音師的人數。
每個調音師每年工作時間又可以拆分為3個小問題,每年52周,每周工作5天,每天工作8小時,這樣就得到了一個調音師每年工作時間為2080小時。
對於總的調音時間,也可以拆分為3個小問題,包括有多少架鋼琴,每架鋼琴每年調音幾次,每次調音多長時間。我們發現這3個小問題我們還不能解決,那我們就繼續拆分。
對於鋼琴的總數量,這個一般是以家庭為單位進行購買的,在當時的美國,鋼琴屬於半稀缺物品,擁有鋼琴的家庭應該不會超過1/2,也不會低於1/10,因此費米估算為1/3。家庭的數量和芝加哥的總人口以及每個家庭平均幾口人有關,芝加哥總人數大約是300萬,考慮一下身邊實際情況,費米估算每個家庭平均為4人,這樣就能計算出鋼琴的總數量了(如圖27所示)。
圖27 芝加哥有多少個調音師
對於每架鋼琴每年的調琴次數,調音師不是常見的崗位,調音次數應該不會超過1年3次,也不會低於10年1次,因此費米估算為3年1次,也就是每年0.33次。
調音一次要花多久,不會超過10小時,也不會低於1小時,因此可以估算為2小時。
這樣就可以得到總的工作時間為:3000000/4×1/3×0.33×2=165000小時,每人每年工作2080小時,這樣就可以得到調音師為165000/2080=79人。
這個答案準不準呢?後來費米找到了一張芝加哥調音師的名單,上面一共有83人,有的人名還是重複的。要知道,費米是估算出來的,已經相當準了。
費米估算為什麼比較接近真實結果,因為:平均律。他的原理是在任何一組計算中,估算帶來的錯誤都可以相互抵消,所做的假設越多,被抵消的概率就會越大。
另外由於我們把不能解決的問題進行了拆分,並且拆分到能解決為止,比如一個家庭平均有幾口人,我們按照常識會估算4個或者5個,而不會估算出20個或者100個,我們的估算也是接近現實的。
絕大部分時候,我們並不需要完全精確的答案,或者我們根本沒辦法獲得精確的答案,一個接近現實的答案就能滿足我們的需求。
13)學習方法中的拆分
西蒙學習法、思維導圖、番茄工作法和八大思維圖示法中,都是用了拆分。在西蒙學習法中,將一門學問進行拆分,然後使用6個月時間各個擊破,就能掌握這門學問。在思維導圖中,壓縮、拆分和聯想是思維導圖的三種主要思維。在番茄工作法中,通過將複雜的任務進行拆分,然後利用多個番茄鍾來各個擊破,就能解決複雜的任務。在八大思維圖示法中,括號圖使用的思維就是拆分(如圖28所示)。
圖28 學習方法中的拆分
拆分是降低難度最重要、最有效的方法,人們總會遇到難度大於能力的問題,所以就需要拆分這種方法,把問題難度降低,從而使得能力大於問題難度,把問題解決。