計算機系的高數,離散,線代都是用在哪些方面的?

高數非數學系的話,按現在的話來講基本就是指就是微積分。我想知道這三門數學的分支在互聯網和軟體業都發揮著哪些作用,如果以後想從事開發遊戲的工作,哪個比較貼切。


吳軍博士的書數學之美 (第二版) 回答了你的問題。

(吳軍老師的知乎專欄:文明之光 )

推薦幾篇書評供參考:

一本信息領域大學生必讀的好書 (評論: 數學之美)

摘錄

我們本科階段學習的那些"線代、統計、圖論、通信原理時常常會懷疑這些理論到底有什麼用呢?讀了這本書算是長了見識,原來這些理論還可以這麼玩。比如計算機自然語言處理可以抽象成非常簡單的通信模型和統計學模型,然後一個簡單條件概率公式加上一個馬爾可夫假設就可以做到機器翻譯和語音識別......比如簡單的布爾代數就是支撐搜索引擎索引的數學基礎,一個漂亮的page rank矩陣乘法迭代加上一個非常符合直覺卻有資訊理論支撐的TF-IDF公式,就可以非常大程度地改善搜索結果的質量......比如餘弦公式竟然能夠用來做新聞分類!?線性代數除了可以用來解方程組,那些莫名其妙不知幹嘛用的特徵值、奇異值居然可以用作內容聚合分類!

讀了這本書之後才真心信服,原來這些數學知識除了用作科學家們的頭腦遊戲以外,確實有非常令人驚嘆的實際應用。得益於吳軍博士深入淺出的宏觀講解,和恰到好處的細節展現,讀者很容易能感受到,數學縱使在計算和證明上有許多繁瑣巧妙的細節,但數學模型本身卻是高度簡潔高度具有概括力的,一些看似毫不相關的領域居然可以用同一個簡單的數學模型來構建(比如新聞分類背後的餘弦定理)——我想,這大概就是所謂的數學之"美」了吧,它是紛繁技術細節背後最曼妙的骨架,沒有一絲累贅,簡潔、和諧、有力。

完全改變了我對數學的印象 (評論: 數學之美)

摘錄:

說實話,因為初中高中荒廢了太多時間,我的英文和數學基礎比較差,我大學的數學都是勉強修過的。一直以來數學對我是一個很恐怖的學科,也不知道為什麼計算機專業對數學要求比較高。我個人就是數學分數很低,但是專業課學的還不錯,唯一好點的數學科目就是離散數學吧,另外的工科數學分析和高等代數都是慘不忍睹的

看完這本書後,我發現我還真是低估了數學的作用,一個複雜的語言識別過程,用統計語言模型竟然用那麼簡單的數學模型就解決了,這對我的衝擊很大。另一個對我影響比較大的就是餘弦定理和新聞的分類。以前那些各種三角函數的變換、三角函數,各種向量,各種空間圖形在我印象中就只能用於畫設計圖,或者搞空間物理化學等基礎學科的應用上,想著「這種東西和計算機編程有什麼關係?要計算角度,庫里不都提供了嗎?」,哪成想到改變一下思路,改變一下方法,就簡單的把那麼複雜的分裂問題給解決了。現在想想我當初想法還真是幼稚啊,可惜覆水難收,過去的時間已經回不來了,但至少我現在明白了數學的重要性,總能想辦法彌補的。

不得不說國內的教科書還真是太死板了。很多書上,先不說沒講應用領域和這個能幹嗎,有些教科書連推導過程也沒說明白。像我大學時候的那幾本高代高數的教科書,在某一步關鍵的過程寫一句「顯而易見」,然後就莫名其妙的出現了結果,這讓我們基礎差的人情何以堪啊,更何況我問了那些數學好的,他們想推導出那一步也要想好久。後來換了一下同濟大學版,發現同樣的定理,同樣的範圍,就是理解起來容易了不少。果然好書和差一點的書差別真不少。所以我就在網上整理了一些好的數學書籍,等會兒就貼到文後,以後慢慢補。

"技術分為術和道兩種,具體的做事方法是術,做事的原理和原則是道。這本書的目的是講道而不是講術。很多具體的搜索技術很快會從獨門絕技到普及,再到落伍,追求術的人一輩子工作很辛苦。只有掌握了搜索的本質和精髓才能永遠遊刃有餘。」 ,然後吳軍先生用搜索反作弊的例子漂亮的解釋了這兩種差別。我以前做過的項目里,如果出現沒想過的情況,就加一個異常處理處理特殊情況,本來很簡單的東西,愣是被我搞複雜了。現在想回來,那時候境界太低,連開始的本質和原理都沒弄清楚,就埋頭搞下去了,以後要多注意點。

突然明白,不是那一摞摞的教材面目可憎,實在是授課老師面目可憎。把一個深奧的問題講的簡單很難,需要相當的功底,所以很多人都是反著來的,把簡單的問題講複雜。——美在重構 (評論: 數學之美)

《數學之美 (第二版)》試讀

另薦:有哪些可以提高程序員技術檔次的書或博客?

相似問題:

學習高等數學的意義在哪?(為評論轉

怎麼看待數學和編程的關係? (推薦了 @田淵棟 博士的《數學的用處》系列)在如何簡單形象又有趣地講解神經網路是什麼? 里,引用了《數學之美》第二版中「Google大腦與人工神經網路」的部分內容,有興趣的同學或可一讀。


看Effective Java的時候,說到每個類最好都覆蓋equals()方法,這時就提到了幾個準則:自反性,對稱性,可傳遞性等等,而學過離散數學的大一學生都知道,這幾個性質正是判斷等價關係的條件。所以,這些數學都是基礎,如果你沒學過它們,當然也可以寫代碼,不過想要再深入,可能就會有些困難了。


給題主分享一下我收藏的一個優酷專輯,應該能解答你的一些疑惑。是幾分鐘長的介紹性的簡短視頻,主要介紹大學的那幾門數學課在工業界的具體應用。視頻是浙大CS學院做的,個人感覺不錯。

視頻封面計算機中的數學[01]_《數學分析(一):導數》視頻 我只放其中一個視頻,它是一個專輯,題主自己挑感興趣的來看。

看完視頻後能對計算機數學的應用有直觀的印象,自己心裡也就能有個譜啦。 p.s.周筠老師推薦的《數學之美》很贊,值得一看。


離散:各種基本經典演算法的實現,各種調度演算法,自動分詞,自然語言識別

線代:圖像處理,數據挖掘。另外矩陣在解決很多問題的時候也是個很有用的工具

概率論:數據挖掘與機器學習

微積分還不了解,感覺算是一種計算工具吧,就像加減乘除一樣

強烈推薦《數學之美》一書。

已經讀了兩遍了,每一次都有新的收穫

另外推薦一篇文章

譯言網 | 程序員怎樣學數學

個人一點愚見,還請大神批評指正


其實這些理論性的東西,實際上用不到,但是這些高大上的理論能支撐計算機的各種演算法,演算法,解決問題的思路。


高數:信號圖形音頻處理

離散:圖論演算法

線代:空間變換3D

這僅僅是我所知道的一小部分,單純的從計算機本身來看確實用不到太多的數學,但是一旦和具體應用結合起來就可能會用到大把大把的數學,到時候可別後悔大學沒好好學數學啊!


只推薦書:

《數學之美》(話說吳軍的書除了《文明之光》,其餘的我都喜歡讀。)(這本書讓我喜歡上離散的。)

《離散數學及其應用》 原書第6版-(美)羅森著 機械工業出版社http://book.douban.com/subject/2130743/(這本書我沒讀過。看豆瓣評價不錯。)


如果你想看明白《演算法導論》,掌握好演算法基礎的話,是需要高等數學、離散數學和線性代數基礎的,還有概率論的知識。可以參考《演算法導論》的附錄。


基本上,數學就是給計算機提供演算法和解題思想的。

如果後續職業與演算法接觸不是很緊密,數學必要性沒有那麼強

如果是一些專註演算法,將就效率的一些搜索、遊戲等領域,那是比較重要的


矩陣論:圖像稀疏編碼

因為我最近在搞這個。。。


我目前想學 OpenGL,但在此之前我需要先回顧高數、微積分、線性代數,學習微分幾何和計算機圖形學……


一般編碼用不到,不過像機器學習,圖形學對數學要求就比較高了。


如果有這些理論知識作為基礎,在工作中,如果遇到什麼問題能夠根據自己的知識尋找方法和搭建框架。如果沒有這些知識,大多只能去借鑒別人的。而別人的又不能完全適用,調整和更改之後,自己估計都很難知道它的正確性和可行性。這樣的員工估計永遠只能是打下手的吧?


做遊戲的話都很有用

比如一個物體在2D或3D空間運動,就會用到很多高數的東西,《憤怒的小鳥》就是一種彈道學的應用。

離散數學的應用就更多了,離散數學本身就有很強烈的遊戲感,是很多益智類遊戲的基礎

跟遊戲緊密相關的物理學,圖形學,圖像學,人工智慧....都會用到很多數學

你說的這三門數學課是基礎,還沒有提及另外一些重要的數學比如概率論和隨機過程,總之不要提前偏廢任何科目


「一個單子(Monad)說白了不過就是自函子範疇上的一個幺半群而已,這有什麼難以理解的? 」不想被這種話碾壓的話還是好好讀書吧


推薦閱讀:

「計算」會改變信息量么?
中文字元Unicode和UTF-8的編碼為什麼不能一樣?
在可遇見的未來中,有什麼高科技產品將會被淘汰?
怎麼理解《無名師的 GUI 論》?

TAG:互聯網 | 編程 | 大學 | 計算機科學 | 計算機專業 |