計算機與數學的關係

2021-04-15 06:21:40 字數 2020 閱讀 4133

電腦科學和數學的關係有點奇怪。二三十年以前,電腦科學基本上還是數學的乙個分支。而現在,電腦科學擁有廣泛的研究領域和眾多的研究人員,在很多方面反過來推動數學發展,從某種意義上可以說是孩子長得比媽媽還高了。

但不管怎麼樣,這個孩子身上始終流著母親的血液。這血液是the mathematical underpinning of computer science(電腦科學的數學基礎),-- 也就是理論電腦科學。

現代電腦科學和數學的另乙個交叉是計算數學/數值分析/科學計算,傳統上不包含在理論電腦科學以內。所以本文對計算數學全部予以忽略。最常和理論電腦科學放在一起的乙個詞是什麼?答:離散數學。這兩者的關係是如此密

切,以至於它們在不少場合下成為同義詞。

傳統上,數學是以分析為中心的。數學系的同學要學習三四個學期的數學分析,然後是復變,實變,泛函等等。實變和泛函被很多人認為是現代數學的入門。在物理,化學,工程

上應用的,也以分析為主。

隨著電腦科學的出現,一些以前不太受到重視的數學分支突然重要起來。人們發現,這些分支處理的數學物件與傳統的分析有明顯的區別:分析研究的物件是連續的,因而微分

,積分成為基本的運算;而這些分支研究的物件是離散的,因而很少有機會進行此類的計算。人們從而稱這些分支為「離散數學」。「離散數學」的名字越來越響亮,最後導致以

分析為中心的傳統數學分支被相對稱為「連續數學」。

離散數學經過幾十年發展,基本上穩定下來。一般認為,離散數學包含以下學科:

1) 集合論,數理邏輯與元數學。這是整個數學的基礎,也是電腦科學的基礎。

2) 圖論,演算法圖論;組合數學,組合演算法。電腦科學,尤其是理論電腦科學的核心是演算法,而大量的演算法建立在圖和組合的基礎上。

3) 抽象代數。代數是無所不在的,本來在數學中就非常重要。在電腦科學中,人們驚訝地發現代數竟然有如此之多的應用。

但是,理論電腦科學僅僅就是在數學的上面加上「離散」的帽子這麼簡單嗎?一直到大約十幾年前,終於有一位大師告訴我們:不是。

d.e.knuth(他有多偉大,我想不用我廢話了)在stanford開設了一門全新的課程concrete mathematics。 concrete這個詞在這裡有兩層含義:

第一,針對abstract而言。knuth認為,傳統數學研究的物件過於抽象,導致對具體的問題關心不夠。他抱怨說,在研究中他需要的數學往往並不存在,所以他只能自己去創造一些數學。為了直接面向應用的需要,他要提倡「具體」的數學。

在這裡我做一點簡單的解釋。例如在集合論中,數學家關心的都是最根本的問題--公理系統的各種性質之類。而一些具體集合的性質,各種常見集合,關係,對映都是什麼樣的,數學家覺得並不重要。然而,在電腦科學中應用的,恰恰就是這些具體的東西。knuth能夠首先看到這一點,不愧為當世計算機第一人。

第二,concrete是continuous(連續)加上discrete(離散)。不管連續數學還是離散數學,都是有用的數學!

前面主要是從數學角度來看的。從計算機角度來看,理論電腦科學目前主要的研究領域包括:可計算性理論,演算法設計與複雜性分析,密碼學與資訊保安,分布式計算理論,平行計算理論,網路理論,生物資訊計算,計算幾何學,程式語言理論等等。這些領域互相交叉,而且新的課題在不斷提出,所以很難理出乙個頭緒來。

下面隨便舉一些例子。

由於應用需求的推動,密碼學現在成為研究的熱點。密碼學建立在數論(尤其是計算數論),代數,資訊理論,概率論和隨機過程的基礎上,有時也用到圖論和組合學等。

很多人以為密碼學就是加密解密,而加密就是用乙個函式把資料打亂。這就大錯特錯了。現代密碼學至少包含以下層次的內容:

第一,密碼學的基礎。例如,分解乙個大數真的很困難嗎?能否有一般的工具證明協議正確?

第二,密碼學的基本課題。例如,比以前更好的單向函式,簽名協議等。

第三,密碼學的高階問題。例如,零知識證明的長度,秘密分享的方法。

第四,密碼學的新應用。例如,數字現金,叛徒追蹤等。

現代社會科學技術高速發展,數學學科的發展也已經到了非常抽象的地步,但是計算機所應用的數學依然是之前的經典東西,怎麼樣學好數學,通過計算機這個平台用好數學,將計算引入世界的每乙個角落,無時無可得都在運算,用於提高人類的生活質量,這將是我們計算機學科從業人員的終極目的和追求。

計算機與數學的關係

說明 這是 別人的一篇文章,可能沒有什麼實際的指導性意義,但我個人認為,計算機學習的不僅僅是應用,還有思想 一種數學思維 管理學思維,數學是學好 學精計算機技術的前提,無數圖靈獎獲得者都是數學界的專家足以證明這一點。為此,我特定收集了一些與計算機有關的數學資料,希望對大家有所幫助。電腦科學和數學的關...

計算機與數學

個人認為,計算機與數學是想通的。兩者都是對於乙個現實問題抽象化,抽象的過程中要充分考慮所有影響因素,從而得到乙個模型。對該模型使用用方程式 資料結構進行描述,設計計算方法 演算法 其中多數為最優化問題 人工 程式來證明計算結果。然而由於計算機本身的侷限性 集合 線性 樹形 圖形結構的限制 和複雜性 ...

計算機與數學

電腦科學和數學的關係有點奇怪。二三十年以前,電腦科學基本上還是數學的乙個分支。而現在,電腦科學擁有廣泛的研究領域和眾多的研究人員,在很多方面反過來推動數學發展,從某種意義上可以說是孩子長得比媽媽還高了。但不管怎麼樣,這個孩子身上始終流著母親的血液。這血液是the mathematical under...