首先簡單介紹一下離散數學的定義及其在各學科領域的重要作用。離散數學(discrete mathematics)是研究離散量的結構及其相互關係的數學學科,是現代數學的乙個重要分支。它在各學科領域,特別在電腦科學與技術領域有著廣泛的應用,同時離散數學也是計算機專業的許多專業課程,如程式語言、資料結構、作業系統、編譯技術、人工智慧、資料庫、演算法設計與分析、理論電腦科學基礎等必不可少的先行課程。通過離散數學的學習,不但可以掌握處理離散結構的描述工具和方法,為後續課程的學習創造條件,而且可以提高抽象思維和嚴格的邏輯推理能力,為將來參與創新性的研究和開發工作打下堅實的基礎。
隨著資訊時代的到來,工業革命時代以微積分為代表的連續數學佔主流的地位已經發生了變化,離散數學的重要性逐漸被人們認識。離散數學課程所傳授的思想和方法,廣泛地體現在計算機科學技術及相關專業的諸領域,從科學計算到資訊處理,從理論電腦科學到計算機應用技術,從計算機軟體到計算機硬體,從人工智慧到認知系統,無不與離散數學密切相關。
由於數字電子計算機是乙個離散結構,它只能處理離散的或離散化了的數量關係,因此,無論電腦科學本身,還是與電腦科學及其應用密切相關的現代科學研究領域,都面臨著如何對離散結構建立相應的數學模型;又如何將已用連續數量關係建立起來的數學模型離散化,從而可由計算機加以處理。
由此可見,離散數學在電腦科學中具有廣泛的應用,下面我將一一陳述。
1 離散數學在關聯式資料庫中的應用
關聯式資料庫中的資料管理系統向使用者提供使用的資料庫語言稱為資料子語言,它是以關係代數或謂詞邏輯中的方法表示。由於用這種數學的方法去表示,使得對這些語言的研究成為對關係代數或邏輯謂詞的研究,優化語言的表示變成為對關係代數與謂詞邏輯的化簡問題。由於引入了數學表示方法,使得關聯式資料庫具有比其它幾種資料庫較為優越的條件。正因為如此關聯式資料庫迅速發展成為一種很有前途、很有希望的資料庫。另外,離散數學中的笛卡兒積是乙個純數學理論,是研究關聯式資料庫的一種重要方法,顯示出不可替代的作用。不僅為其提供理論和方法上的支援,更重要的是推動了資料庫技術的研究和發展。關係資料模型建立在嚴格的集合代數的基礎上,其資料的邏輯結構是乙個由行和列組成的二維表來描述關係資料模型。在研究實體集中的域和域之間的可能關係、表結構的確定與設計、關係操作的資料查詢和維護功能的實現、關係分解的無損連線性分析、連線依賴等問題都用到二元關係理論。
2 離散數學在資料結構中的應用
計算機要解決乙個具體問題,必須運用資料結構知識。對於問題中所處理的資料,必須首先從具體問題中抽象出乙個適當的數學模型,然後設計乙個解此數學模型的演算法,最後編出程式,進行測試、調整直至得到問題的最終解答。而尋求數學模型就是資料結構研究的內容。尋求數學模型的實質是分析問題,從中提取操作的物件,並找出這些操作物件之間含有的關係,然後用數學的語言加以描述。資料結構中將操作物件間的關係分為四類:集合、線性結構、樹形結構、圖狀結構或網狀結構。資料結構研究的主要內容是資料的邏輯結構,物理儲存結構以及基本運算操作。其中邏輯結構和基本運算操作**於離散數學中的離散結構和演算法思考。離散數學中的集合論、關係、圖論、樹四個章節就反映了資料結構中四大結構的知識。如集合由元素組成,元素可理解為世上的客觀事物。關係是集合的元素之間都存在某種關係。例如雇員與其工資之間的關係。圖論是有許多現代應用的古老題目。偉大的瑞士數學家列昂哈德·尤拉在18 世紀引進了圖論的基本思想,他利用**決了有名的哥尼斯堡七橋問題。還可以用邊上帶權值的圖來解決諸如尋找交通網路裡兩城市之間最短通路的問題。而樹反映物件之間的關係,如組織機構圖、家族圖、二進位制編碼都是以樹作為模型來討論。
3 離散數學在編譯原理中的應用
編譯程式是計算機的乙個十分複雜的系統程式。乙個典型的編譯程式一般都含有八個部分:詞法分析程式、語法分析程式、語義分析程式、中間**生成程式、**優化程式、目標**生成程式、錯誤檢查和處理程式、各種資訊**的管理程式。離散數學裡的計算模型章節裡就講了三種型別的計算模型:文法、有限狀態機和圖靈機。具體知識有語言和文法、帶輸出的有限狀態機、不帶輸出的有限狀態機、語言的識別、圖靈機等。短語結構文法根據產生式型別來分類:0 型文法、1 型文法、2 型文法、3 型文法。以上這些在離散數學裡講述到的知識點在編譯原理的詞法分析及語法分析中都會用到。因此,離散數學也是編譯原理的前期基礎課程。
4離散數學在人工智慧中的應用
在人工智慧的研究與應用領域中,邏輯推理是人工智慧研究中最持久的子領域之一。邏輯是所有數學推理的基礎,對人工智慧有實際的應用。採用謂詞邏輯語言的演繹過程的形式化有助於我們更清楚地理解推理的某些子命題。邏輯規則給出數學語句的準確定義。離散數學中數學推理和布林代數章節中的知識就為早期的人工智慧研究領域打下了良好的數學基礎。許多非形式的工作,包括醫療診斷和資訊檢索都可以和定理證明問題一樣加以形式化[8]。因此,在人工智慧方法的研究中定理證明是乙個極其重要的論題。在這裡,推理機就是實現(機器)推理的程式。它既包括通常的邏輯推理,也包括基於產生式的操作。推理機是使用知識庫中的知識進行推理而解決問題的。所以推理機也就是專家的思維機制,即專家分析問題、解決問題的方法的一種演算法表示和機器實現。
5 離散數學在計算機硬體設計中的應用
數字邏輯作為計算機的乙個重要理論,在很大程度上起源於離散數學的數理邏輯中的命題與邏輯演算,其在計算機硬體設計中的應用更為突出。利用命題中各關聯詞的運算規律把又電平表示的各訊號之間的運算於二進位制數之間的運算聯絡起來,使得我們可以用與非門或者用或非門來解決電路設計問題,使得整個設計過程更加直觀、系統化。數理邏輯在程式設計中起到花間的作用,當乙個程式初稿拿出來以後,如果我們想分析一下其中是否有冗餘存在,這時就用到了離散數學中命題演算的基本等式。
6.代數系統在通訊方面的應用
代數系統在計算機中的應用廣泛,例如有限機,開關線路的計數等方面。但最常用的是在糾錯碼方面的應用。在計算機和資料通訊中,經常需要將二進位制數碼訊號進行傳遞,這種傳遞常常距離很遠,所以難免會出現錯誤。通常採用糾錯碼來避免這種錯誤的發生,而設計的這種糾錯碼的數學基礎就是代數系統。糾錯碼中的一致校驗矩陣就是根據代數系統中的群概念來進行設計的,另外在群碼的校正中,也用到了代數系統中的陪集。
7 離散數學在生物資訊學中的應用
生物資訊學是現代電腦科學中乙個嶄新的分支,它是電腦科學與生物學相結合的產物。目前,在美國有乙個國家實驗室sandia國家實驗室,主要進行組合編碼理論和密碼學的研究,該機構在美國和國際學術界有很高的地位。另外,由於dna是離散數學中的序列結構,美國科學院院士,近代離散數學的奠基人rota教授預言,生物學中的組合問題將成為離散數學的乙個前沿領域。而且,ibm公司也將成立乙個生物資訊學研究中心。在2023年美國計算機科學家阿德勒曼公布了dna計算機的理論,並成功地運用dna計算機解決了乙個有向哈密爾頓路徑問題,這一成果迅速在國際產生了巨大的反響,同時也引起了國內學者的關注。dna計算機的基本思想是:以dna鹼基序列作為資訊編碼的載體,利用現代分子生物學技術,在試管內控制酶作用下的dna序列反應,作為實現運算的過程;這樣,以反應前dna序列作為輸入的資料,反應後的dna序列作為運算的結果,dna計算機幾乎能夠解決所有的np完全問題。
8 結論
現在我國每一所大學的計算機專業都開設離散數學課程,正因為離散數學在電腦科學中的重要應用,可以說沒有離散數學就沒有計算機理論,也就沒有電腦科學。所以,應努力學習離散數學,推動離散數學的研究,使它在計算機中有著更為廣泛的應用。
《**離散數學在電腦科學中的應用》——齊齊哈爾大學學報
黃萬徽《離散數學在關聯式資料庫中的應用》
陶躍《離散數學在計算機糾錯碼中的應用》
陳敏,李**《離散數學在電腦科學中的應用》
王蕾,李永華《**離散數學在電腦科學中的應用》
耿素雲,屈婉玲,《離散數學》高等教育出版社,1998
左孝凌,李永監,劉永才,《離散數學》上海科學技術文獻出版社,2004
朱一清,《離散數學》電子工業出版社,2004
計算機專業基礎 離散數學基礎知識
目錄 集合論 問題 集合及其運算 圖論 近世代數 數理邏輯 集合論成了數學各分支的基礎,也是電腦科學非常重要的基礎知識。它的起源可追溯到16世紀末,主要是對數集進行了卓有成效的研究。但集合論實際發展是由19世紀70年代德國數學家康托 g.cantor 在無窮序列和分析的有關課題的理論研究中創立的。康...
電腦科學和數學的關係
電腦科學和數學的關係有點奇怪。二三十年以前,電腦科學基本上還是數學的乙個分 支。而現在,電腦科學擁有廣泛的研究領域和眾多的研究人員,在很多方面反過來推動 數學發展,從某種意義上可以說是孩子長得比媽媽還高了。但不管怎麼樣,這個孩子身上始終流著母親的血液。這血液是the mathematical und...
電腦科學和數學的關係
電腦科學和數學的關係有點奇怪。二三十年以前,電腦科學基本上還是數學的乙個分 支。而現在,電腦科學擁有廣泛的研究領域和眾多的研究人員,在很多方面反過來推動 數學發展,從某種意義上可以說是孩子長得比媽媽還高了。但不管怎麼樣,這個孩子身上始終流著母親的血液。這血液是the mathematical und...