為什麼我們需要數學

2022-02-10 19:46:02 字數 1431 閱讀 9667

買菜的大媽可能很難理解數學的好處,只要簡單的加減乘除就可以了,為什麼還要讓自家娃學習那麼複雜的數學!三角函式,二元一次方程,微積分,數論,這些到底能有什麼用處啊?!以前我也不理解這個問題,後來上學直到後來工作,才逐漸發現,數學實在是太有用了。 

因為有三個魔鬼,所以怎麼都無法脫離數學。本來看著挺簡單的事情,遇到這三個魔鬼,難度立刻指數形式增長。乙個叫自動化,另外乙個叫優化,還有乙個是終極boss:證明。

讓人類區分蘋果和西紅柿,那簡單的不得了。但是讓機器去處理,就變得異常複雜。即使能夠準確的採集兩種水果的資訊,但還要確定選擇哪些較好的特徵,確定特徵後還要建立模型,判斷先驗概率和條件概率的形式,以及對應的引數,還要計算錯誤代價。最後最好能建立反饋,修改引數,調整分類器設計。這每一步,都需要驚人複雜的概率論知識,公式推導讓人眼花繚亂。 

網頁爬蟲做起來並不複雜,是程式設計師入門程式設計時的有趣課題。可是,讓計算機發現網頁中「有用的資料」,並將其分割抓取下來就變得異常複雜了。這裡需要分析資料的格式,出現的模式,如何翻頁,如何防反爬蟲,如何去廣告,複雜極了。 

乃至於發現abcabcabc這樣的規律,人眼一眼就看出來了。但機器卻做不到。更何況那個經典的例子:讓機器的手去抓雞蛋。最難的可能並不是開發乙個程式讓機器抓雞蛋,而是如何讓機器學習抓雞蛋的方法...

另外乙個魔鬼叫優化。本來給出乙個問題的解答並不複雜,然而更好的解答卻需要成倍的努力。比如想去七個國家旅遊,不同時間段內的機票**都不一樣,起飛時間,景點門票**都會有波動,想找出一條最好的方案,那會是幾十個引數同時優化的複雜問題。 

乙個倉庫存多少貨,倉儲成本比較低,能夠較快響應調貨需求,這都容易解決。但如果是分布在全國的不同倉庫,物流,儲存成本,不同地域的**差,消費者需求量,想找到乙個盡可能好的方案需要大量的計算。 

即使是最簡單的例子,乙個老農想讓自己的收益最大化,到底該怎麼分配西紅柿和黃瓜的種植比例,都需要二元線性規劃。 

優化是個無底洞,做過**優化的人都知道,最難的不在於找到最優解,而是最優解只是多個因素權衡之後的結果,合理的策略和洞見,比數值的計算更重要。

如果前面兩者已經讓你退卻了,那最終的boss更是難以撼動,證明!在面試時給出乙個方案,似乎挺完美,但面試官提出乙個問題,你如何證明它是最優的?馬上頭上就沁出滴滴汗珠。 

證明要給出嚴謹的推導,或者構造巧妙的結構,或者有趣的反證,或是逐步推進的數學歸納。如何證明1+1=2? 如何證明nlogn是排序的效能上界?如何證明某種魔方旋轉方法是步驟最少的?讓我暈一會。

從上面的討論,我們能到的兩個有益的啟發。解決問題並不難,難的是更好的解決問題。其中的區別,很大程度的區別來自於數學和思維能力。所以有機會還是多看看數學吧。 

從另外乙個角度,如果想把產品推向市場,雖然「做到極致」是很多人的口頭禪,但是這也會付出上百倍的代價。如何在最短時間內給出乙個近似完美的方案,這也是乙個有趣的「優化」問題,不要讓自己的精力浪費在確實複雜但對最終結果幫助不大的因素上。 

推薦程式設計師看《具體數學》,直接看英文版,啃下來之後,程式設計功力提公升兩個檔次。

我們為什麼需要睡眠

隨著時光的消逝,你是否發覺眼角的皺紋逐漸加深?變得越來越粗糙黯淡?記憶力也開始衰退?這個時候很多人都會感慨 時光易逝,容顏易老 並且開始習慣接受自己已慢慢變老,提前加入老人的行列。其實,這一切也許只是因為你長時間睡眠不足造成的。如果能夠早些了解這些常識,並引起足夠重視,你的青春也許還能保留十年。睡眠...

我們為什麼需要睡眠

隨著時光的消逝,你是否發覺眼角的皺紋逐漸加深?變得越來越粗糙黯淡?記憶力也開始衰退?這個時候很多人都會感慨 時光易逝,容顏易老 並且開始習慣接受自己已慢慢變老,提前加入老人的行列。其實,這一切也許只是因為你長時間睡眠不足造成的。如果能夠早些了解這些常識,並引起足夠重視,你的青春也許還能保留十年。睡眠...

我們為什麼需要Map Reduce?

在討論我們是否真的需要map reduce這一分布式計算技術之前,我們先面對乙個問題,這可以為我們討論這個問題提供乙個直觀的背景。我們先從最直接和直觀的方式出發,來嘗試解決這個問題 先偽一下這個問題 select count distinct surname from big name file 我...