計算機專業的數學應學到什麼水平?應該學習數學的那些分支?

本人是數學系的, 但其實真正的愛好是計算機. 當年報志願的時候不知聽誰說了句, 學計算機, 想搞軟件就去學數學, 想搞硬件就去學物理, 然後就報了數學. 在數學系, 感覺思維確實受到了訓練, 但所學的課程卻大多與計算機沒什麼"直接"聯繫. 要真的搞計算機, 還是需要自己多折騰計算機的課程, 還有多實踐. 其實我覺得在計算機中用到數學, 主要是設計,選擇和分析算法的時候會用得到.如果你只是想"設計"好的程序, 可能並不需要太多數學. 但是要是想成爲計算機科學者或工程師, 恐怕還是要學一學數學的.

首先談談應用比較廣泛的基礎課:

像大家提到的微積分, 線性代數,概率論,數理統計, 隨機過程什麼的都是基礎中的基礎, 在各個學科中都有着廣泛應用的.

微積分除去作爲 "基礎" 的作用不談, 在用計算機建立模型的時候常常會用到.

線性代數就更有用了, 像著名的 page rank 就是特徵值理論的一個重要應用. 很多問題最終都能化爲求解線性方程組問題(例如, 用有限差分法或有限元法解偏微分方程, 用最小二乘法求最佳逼近,等等). 線性代數知識還常在機器學習或數據挖掘中被用來降低數據的維度. 還有很多其他的應用.

概率論,數理統計,隨機過程在最近的人工智能的各個領域則是非常重要的基礎, 很多機器學習算法都是基於統計模型的, 像 Bayes 統計什麼的應用極爲廣泛(例如垃圾郵件過濾.)

離散數學和數值分析什麼的和計算機的關係就比較容易看出來了. 離散數學不同的書選取的內容不大一樣, 不過一般都有邏輯阿, 圖論阿, 有的還有自動機什麼的, 一看就和計算機關係緊密. 數學理論大多是抽象的, 想在計算機上用就離不開數值分析了; 用數值方法解一些無法求出解析解的方程也很有實用價值.

再談談和不同專業相關的數學知識:

像是信息安全, 編碼方面的, 數論知識自然不可缺少, 建議多學一些代數知識, 也包括代數幾何啊什麼的. (複變函數什麼的都是基礎啊....)

像是(離散)算法方面的, 可以學學 Knuth 的具體數學, 另外還得學些運籌學, 圖論, 組合數學什麼的.

像是圖形處理方面, 恐怕就需要很多幾何知識了, 學幾何這玩意代數和分析都得好, 像解析幾何, 射影幾何, 微分幾何, 黎曼幾何, 代數幾何, 拓撲學呀都在這個領域用的上. 還得熟悉樣條理論, 曲線與曲面的表示啊等等.

圖像處理, 也需要不少數學. 最近利用偏微分方程,反問題啊來研究圖像處理的很熱門. 還有傅立葉分析, 小波分析呀都很有用.

人工智能相關的話, 得把概率, 統計, 隨機過程什麼的學的更深入一些.

我也不是計算機專業出身, 上面的計算機領域列的不一定足夠. 如果大家有什麼疑問歡迎在評論中提出, 我會幫大家調研然後補上的.

謝謝觀賞~~~ :)

https://m.guokr.com/question/146597/answer/515550

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章