計算機與數學

2022-07-01 15:39:08 字數 1609 閱讀 5459

電腦科學和數學的關係有點奇怪。二三十年以前,電腦科學基本上還是數學的乙個分支。而現在,電腦科學擁有廣泛的研究領域和眾多的研究人員,在很多方面反過來推動數學發展,從某種意義上可以說是孩子長得比媽媽還高了。但不管怎麼樣,這個孩子身上始終流著母親的血液。這血液是the mathematical underpinning of computer science(電腦科學的數學基礎),-- 也就是理論電腦科學。現代電腦科學和數學的另乙個交叉是計算數學/數值分析/科學計算,傳統上不包含在理論電腦科學以內。所以本文對計算數學全部予以忽略。

最常和理論電腦科學放在一起的乙個詞是什麼?

答:離散數學。這兩者的關係是如此密切,以至於它們在不少場合下成為同義詞。傳統上,數學是以分析為中心的。數學系的同學要學習三四個學期的數學分析,然後是復變,實變,泛函等等。實變和泛函被很多人認為是現代數學的入門。在物理,化學,工程上應用的,也以分析為主。

隨著電腦科學的出現,一些以前不太受到重視的數學分支突然重要起來。人們發現,這些分支處理的數學物件與傳統的分析有明顯的區別:分析研究的物件是連續的,因而微分,積分成為基本的運算;而這些分支研究的物件是離散的,因而很少有機會進行此類的計算。人們從而稱這些分支為「離散數學」。「離散數學」的名字越來越響亮,最後導致以分析為中心的傳統數學分支被相對稱為「連續數學」。

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

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

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

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

但是,理論電腦科學僅僅就是在數學的上面加上「離散」的帽子這麼簡單嗎?

一直到大約十幾年前,終於有一位大師告訴我們:不是。d.e.knuth(他有多偉大,我想不用我廢話了)在stanford開設了一門全新的課程concrete mathematics。 concrete這個詞在這裡有兩層含義:

第一,針對abstract而言。knuth認為,傳統數學研究的物件過於抽象,導致對具體的問題關心不夠。他抱怨說,在研究中他需要的數學往往並不存在,所以他只能自己去創造一些數學。為了直接面向應用的需要,他要提倡「具體」的數學。在這裡我做一點簡單的解釋。例如在集合論中,數學家關心的都是最根本的問題--公理系統的各種性質之類。而一些具體集合的性質,各種常見集合,關係,對映都是什麼樣的,數學家覺得並不重要。然而,在電腦科學中應用的,恰恰就是這些具體的東西。knuth能夠首先看到這一點,不愧為當世計算機第一人。

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

都是有用的數學!

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

下面隨便舉一些例子。

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

計算機與數學

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

計算機數學

資料區對數的意義 平時在一些資料處理中,經常會把原始資料取對數後進一步處理。之所以這樣做是基於對數函式在其定義域內是單調增函式,取對數後不會改變資料的相對關係,取對數作用主要有 縮小資料的絕對數值,方便計算。例如,每個資料項的值都很大,許多這樣的值進行計算可能對超過常用資料型別的取值範圍,這時取對數...

計算機與數學的關係

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