除了傳統(tǒng)的理論計算機科學,現(xiàn)代計算機科學和數(shù)學還有另外一個交叉領(lǐng)域,這就是計算數(shù)學、數(shù)值分析和科學計算。雖然這些領(lǐng)域并不被理論計算機科學包含,但它們在實際應(yīng)用中起著重要的作用。
離散數(shù)學是與理論計算機科學最緊密相關(guān)的領(lǐng)域。傳統(tǒng)數(shù)學的研究重點主要側(cè)重于分析。數(shù)學專業(yè)的學生需要學習數(shù)學分析、復(fù)變、實變、泛函等內(nèi)容。實變和泛函是現(xiàn)代數(shù)學的入門,廣泛應(yīng)用于物理學、化學和工程學中。但是,當計算機科學出現(xiàn)后,一些之前不太受重視的數(shù)學分支變得極為重要。人們發(fā)現(xiàn),這些分支處理的數(shù)學對象與傳統(tǒng)的分析不同,由此而形成了“離散數(shù)學”的概念。
離散數(shù)學經(jīng)過幾十年的發(fā)展,已經(jīng)基本穩(wěn)定下來。它通常包含以下幾個學科:集合論、數(shù)理邏輯、元數(shù)學、圖論、算法圖論、組合數(shù)學、組合算法和抽象代數(shù)。這些學科都是計算機科學的基礎(chǔ)。
盡管理論計算機科學和數(shù)學緊密相關(guān),但它們之間并不是一直都很簡單。直到十多年前,大師D.E.Knuth才告訴我們:不是這樣的。他在斯坦福大學開設(shè)了一門全新的課程叫做“Concrete Mathematics”(具體數(shù)學)。他認為傳統(tǒng)數(shù)學過于抽象,而具體的數(shù)學更能夠滿足應(yīng)用需求。在計算機角度來看,理論計算機科學目前的主要研究領(lǐng)域包括可計算性理論、算法設(shè)計與復(fù)雜性分析、密碼學與信息安全、分布式計算理論、并行計算理論、網(wǎng)絡(luò)理論、生物信息計算、計算幾何學、程序語言理論等等。這些領(lǐng)域相互交叉,新的課題不斷涌現(xiàn)。
現(xiàn)代密碼學已經(jīng)成為研究的熱點。它建立在數(shù)論、代數(shù)、信息論、概率論和隨機過程的基礎(chǔ)上,并有時也用到圖論和組合學等。與人們一般認為的加密不同,現(xiàn)代密碼學包含的層次非常多,包括密碼學的基礎(chǔ)、密碼學的基本課題、密碼學的高級問題以及密碼學的新應(yīng)用等?,F(xiàn)代密碼學已經(jīng)不僅僅是簡單的加密和解密,而包含著廣泛的研究內(nèi)容和應(yīng)用場景。
以上是計算機科學和數(shù)學的關(guān)系、離散數(shù)學、理論計算機科學以及現(xiàn)代密碼學等方面的內(nèi)容。