如何學習離散數學和在電腦科學中應用

來源:互聯網
上載者:User

標籤:離散數學

引言

離散數學的定義及其在各學科領域的重要作用。離散數學(Discrete mathematics)是研究離散量的結構及其相互關係的數學學科,是現代數學的一個重要分支。它在各學科領域,特別在電腦科學與技術領域有著廣泛的應用,同時離散數學也是電腦專業的許多專業課程,如程式設計語言、資料結構、作業系統、編譯技術、人工智慧、資料庫、演算法設計與分析、理論電腦科學基礎等必不可少的先行課程。通過離散數學的學習,不但可以掌握處理離散結構的描述工具和方法,為後續課程的學習創造條件,而且可以提高抽象思維和嚴格的邏輯推理能力,為將來參與創新性的研究和開發工作打下堅實的基礎。

隨著資訊時代的到來,工業革命時代以微積分為代表的連續數學佔主流的地位已經發生了變化,離散數學的重要性逐漸被人們認識。離散數學課程所傳授的思想和方法,廣泛地體現在電腦科學技術及相關專業的諸領域,從科學計算到資訊處理,從理論電腦科學到電腦應用技術,從電腦軟體到電腦硬體,從人工智慧到認知系統,無不與離散數學密切相關。

由於數字電子電腦是一個離散結構,它只能處理離散的或離散化了的數量關係, 因此,無論電腦科學本身,還是與電腦科學及其應用密切相關的現代科學研究領域,都面臨著如何對離散結構建立相應的數學模型;又如何將已用連續數量關係建立起來的數學模型離散化,從而可由電腦加以處理。由此可見,離散數學在電腦科學中具有廣泛的應用.

如何學習離散數學 

學習離散數學有兩項最基本的任務:其一是通過學習離散數學,使學生瞭解和掌握在後續課程中要直接用到的一些數學概念和基本原理,掌握電腦中常用的科學論證方法,為後續課程的學習奠定一個良好的數學基礎;其二是在離散數學的學習過程中,培訓自學能力、抽象思維能力和邏輯推理能力,以提高專業理論水平。因此學習離散數學對於電腦、通訊等專業後續課程的學習和今後從事電腦科學等工作是至關重要的。但是由於離散數學的離散性、知識的分散性和處理問題的特殊性,使部分學生在剛剛接觸離散數學時,對其中的一些概念和處理問題的方法往往感到困惑,特別是在做證明題時感到無從下手,找不到正確的解題思路。因此,對離散數學的學習方法給予適當的指導和對學習過程中遇到的一些問題分析是十分必要的。

認知離散數學

離散數學是電腦科學基礎理論的核心課程之一,是電腦及應用、通訊等專業的一門重要的基礎課。它以研究量的結構和相互關係為主要目標,其研究對象一般是有限個或可數個元素,充分體現了電腦科學離散性的特點。學習離散數學的目的是為學習電腦、通訊等專業各後續課程做好必要的知識準備,進一步提高抽象思維和邏輯推理的能力,為電腦的應用提供必要的描述工具和理論基礎。

  • 定義和定理多 離散數學是建立在大量定義、定理之上的邏輯推理學科,因此對概念的理解是學習這門課程的核心。在學習這些概念的基礎上,要特別注意概念之間的聯絡,而描述這些聯絡的實體則是大量的定理和性質。在考試中有一部分內容是考查學生對定義和定理的識記、理解和運用,因此要真正理解離散數學中所給出的每個基本概念的真正的含義。比如,命題的定義、五個基本連接詞、公式的主析取範式和主合取範式、三個推斷規則以及反證法;集合的五種運算的定義;關係的定義和關係的四個性質;函數(映射)和幾種特殊函數(映射)的定義;圖、完全圖、簡單圖、子圖、補圖的定義;圖中簡單路、基本路的定義以及兩個圖同構的定義;樹與最小產生樹的定義。掌握和理解這些概念對於學好離散數學是至關重要的。
  • 方法性強 在離散數學的學習過程中,一定要注重和掌握離散數學處理問題的方法,在做題時,找到一個合適的解題思路和方法是極為重要的。如果知道了一道題用怎樣的方法去做或證明,就能很容易地做或證出來。反之,則事倍功半。在離散數學中,雖然各種各樣的題種類繁多,但每類題的解法均有規律可循。所以在聽課和平時的複習中,要善於總結和歸納具有規律性的內容。在平時的講課和複習中,老師會總結各類解題思路和方法。作為學生,首先應該熟悉並且會用這些方法,同時,還要勤于思考,對於一道題,進可能地多探討幾種解法。
  • 抽象性強 離散數學的特點是知識點集中,對抽象思維能力的要求較高。由於這些定義的抽象性,使初學者往往不能在腦海中直接建立起它們與現實世界中客觀事物的聯絡。不管是哪本離散數學教材,都會在每一章中首先列出若干個定義和定理,接著就是這些定義和定理的直接應用,如果沒有較好的抽象思維能力,學習離散數學確實具有一定的困難。因此,在離散數學的學習中,要注重抽象思維能力、邏輯推理能力的培養和訓練,這種能力的培養對今後從事各種工作都是極其重要的。在學習離散數學中所遇到的這些困難,可以通過多學、多看、認真分析講課中所給出的典型例題的解題過程,再加上多練,從而逐步得到解決。在此特彆強調一點:深入地理解和掌握離散數學的基本概念、基本定理和結論,是學好離散數學的重要前提之一。所以,同學們要準確、全面、完整地記憶和理解所有這些基本定義和定理。
  • 內在聯絡性 離散數學的三大體系雖然來自於不同的學科,但是這三大體系前後貫通,形成一個有機的整體。通過認真的分析可尋找出三大部分之間知識的內在聯絡性和規律性。如:集合論、函數、關係和圖論,其解題思路和證明方法均有相同或相似之處。
認知解題規範

一般來說,離散數學的考試要求分為:瞭解、理解和掌握。瞭解是能正確判別有關概念和方法;理解是能正確表達有關概念和方法的含義;掌握是在理解的基礎上加以靈活應用。為了考核學生對這三部分的理解和掌握的程度,試題類型一般可分為:判斷題、填空題、選擇題、計算題和證明題。判斷題、填空題、選擇題主要涉及基本概念、基本理論、重要性質和結論、公式及其簡單計算;計算題主要考核學生的基本運用技能和速度,要求寫出完整的計算過程和步驟;證明題主要考查應用概念、性質、定理及重要結論進行邏輯推理的能力,要求寫出嚴格的推理和論證過程。

學習離散數學的最大困難是它的抽象性和邏輯推理的嚴密性。在離散數學中,假設讓你解一道題或證明一個命題,你應首先讀懂題意,然後尋找解題或證明的思路和方法,當你相信已找到瞭解題或證明的思路和方法,你必須把它嚴格地寫出來。一個寫得很好的解題過程或證明是一系列的陳述,其中每一條陳述都是前面的陳述經過簡單的推理而得到的。仔細地寫解題過程或證明是很重要的,既能讓讀者理解它,又能保證解題過程或證明準確無誤。一個好的解題過程或證明應該是條理清楚、論據充分、表述簡潔的。針對這一要求,在講課中老師會提供大量的典型例題供同學們參考和學習。

通過離散數學的學習和訓練,能使同學們學會在離散數學中處理問題的一般性的規律和方法,一旦掌握了離散數學中這種處理問題的思想方法,學習和掌握離散數學的知識就不再是一件難事了。

學習離散數學的目的

一般來說,離散數學內容廣泛且高度抽象,可以說是一門既難教又難學的課程,這無疑給教師的教學和學生的學習帶來了一定的難度。一方面,離散數學不僅 是為專業服務的基本理論,而且通過該課程可以培養學生的抽象思維和縝密概括的能力,但其概念多,理論性強,高度抽象性的特點卻令許多學生望而生畏。學生在 學習這門課程時,往往看不到離散數學在電腦科學中的具體應用,因而放鬆對離散數學的學習,失去學習的興趣。

離散數學的生命力在於其深刻的理論和廣泛的應用。其實,深刻的理論和廣泛的應用是相輔相成的。學生之所以對離散數學的學習興趣不高,除了離散數學本身理論性 強、比較抽象以外,還有一個原因就是對於這些理論方面的知識,學生在學習過程中並不會切實地感受到學好它的作用和成效,因此只把應付考試作為學習這門課程 的目的。作為老師,我們在教學之初就應該向學生們指明,學習離散數學的目的在於培養學生的抽象推理、邏輯思維和歸納構造等能力,提高學生利用數學方法解決問題的技能,以及為後續課程作必要的準備,為學生的進一步學習奠定電腦數學的基礎。它所涉及的概念、方法和理論,大量地應用在數字電路、編譯原理、資料結構、作業系統、資料庫、演算法等領域。

離散數學在電腦科學應用

在人工智慧中的應用

人工智慧是電腦學科中一個非常重要的方向,離散數學在人工智慧中的應用主要是數理邏輯部分在人工智慧中的應用。數理邏輯包括命題邏輯和謂詞邏輯,命題邏輯就是研究以命題為單位進行前提與結論之間的推理,而謂詞邏輯就是研究句子內在的聯絡。大家都知道,人工智慧共有兩個流派,串連主義流派和符號主義流派。其中在符號主義流派裡,他們認為現實世界的各種事物可以用符號的形式表示出來,其中最主要的就是人類的自然語言可以用符號進行表示。語言的符號化就是數理邏輯研究的基本內容,電腦智能化的前提就是將人類的語言符號化成機器可以識別的符號,這樣電腦才能進行推理,才能具有智能。由此可見數理邏輯中重要的思想、方法及內容貫穿到人工智慧的整個學科。

在人工智慧的研究與應用領域中,邏輯推理是人工智慧研究中最持久的子領域之一。邏輯是所有數學推理的基礎,對人工智慧有實際的應用。採用謂詞邏輯語言的演繹過程的形式化有助於我們更清楚地理解推理的某些子命題。邏輯規則給出數學語句的準確定義。離散數學中數學推理和布爾代數章節中的知識就為早期的人工智慧研究領域打下了良好的數學基礎。許多非形式的工作,包括醫學診斷和資訊檢索都可以和定理證明問題一樣加以形式化。因此,在人工智慧方法的研究中定理證明是一個極其重要的論題。在這裡,推理機就是實現(機器)推理的程式。它既包括通常的邏輯推理,也包括基於產生式的操作。推理機是使用知識庫中的知識進行推理而解決問題的。所以推理機也就是專家的思維機制,即專家分析問題、解決問題的方法的一種演算法表示和機器實現。

在資料庫系統理論中的應用

集合論是離散數學中極其重要的一部分,它在資料庫中有著廣泛的應用。我們可以利用關係理論使資料庫從網路型、層次型轉變成關係型,這樣使資料庫中的資料容易表示,並且易於儲存和處理,使邏輯結構簡單、資料獨立性強、資料共用、資料冗餘可控和操作簡單。當資料庫中記錄較多時,集合中的笛卡兒積方便了記錄的查詢、插入、刪除和修改。 關聯式資料庫中的資料管理系統向使用者提供使用的資料庫語言稱為資料子語言,它是以關係代數或謂詞邏輯中的方法表示。由於用這種數學的方法去表示,使得對這些語言的研究成為對關係代數或邏輯謂詞的研究,最佳化語言的表示變成為對關係代數與謂詞邏輯的化簡問題。由於引入了數學表示方法,使得關聯式資料庫具有比其它幾種資料庫較為優越的條件。正因為如此關聯式資料庫迅速發展成為一種很有前途、很有希望的資料庫。另外,離散數學中的笛卡兒積是一個純數學理論,是研究關聯式資料庫的一種重要方法,顯示出不可替代的作用。不僅為其提供理論和方法上的支援,更重要的是推動了資料庫技術的研究和發展。關係資料模型建立在嚴格的集合代數的基礎上,其資料的邏輯結構是一個由行和列組成的二維表來描述關係資料模型。在研究實體集中的域和域之間的可能關係、表結構的確定與設計、關係操作的資料查詢和維護功能的實現、關係分解的無損串連性分析、串連依賴等問題都用到二元關係理論。

在資料結構中的應用

電腦要解決一個具體問題,必須運用資料結構知識。對於問題中所處理的資料,必須首先從具體問題中抽象出一個適當的數學模型,然後設計一個解此數學模型的演算法,最後編出程式,進行測試、調整直至得到問題的最終解答。而尋求數學模型就是資料結構研究的內容。尋求數學模型的實質是分析問題,從中提取操作的對象,並找出這些操作對象之間含有的關係,然後用數學的語言加以描述。資料結構中將操作對象間的關係分為四類:集合、線性結構、樹形結構、圖狀結構或網狀結構。資料結構研究的主要內容是資料的邏輯結構,實體儲存體結構以及基本運算操作。其中邏輯結構和基本運算操作來源於離散數學中的離散結構和演算法思考。離散數學中的集合論、關係、圖論、樹四個章節就反映了資料結構中四大結構的知識。如集合由元素組成,元素可理解為世上的客觀事物。關係是集合的元素之間都存在某種關係。例如僱員與其工資之間的關係。圖論是有許多現代應用的古老題目。偉大的瑞士數學家列昂哈德·歐拉在18 世紀引進了圖論的基本思想,他利用圖解決了有名的哥尼斯堡七橋問題。還可以用邊上帶權值的圖來解決諸如尋找交通網路裡兩城市之間最短通路的問題。而樹反映對象之間的關係,如組織機構圖、家族圖、二進位編碼都是以樹作為模型來討論。

在編譯原理中的應用

編譯器是電腦的一個十分複雜的系統程式。一個典型的編譯器一般都含有八個部分:詞法剖析器、文法剖析器、語義剖析器、中間代碼產生程式、代碼最佳化程式、目標代碼產生程式、錯誤檢查和處理常式、各種資訊表格的管理程式。離散數學裡的計算模型章節裡就講了三種類型的計算模型:文法、有限狀態機器和圖靈機。具體知識有語言和文法、帶輸出的有限狀態機器、不帶輸出的有限狀態機器、語言的識別、圖靈機等。短語結構文法根據產生式類型來分類:0 型文法、1 型文法、2 型文法、3 型文法。以上這些在離散數學裡講述到的知識點在編譯原理的詞法分析及文法分析中都會用到。因此,離散數學也是編譯原理的前期基礎課程。

在電腦硬體設計中的應用

數字邏輯作為電腦的一個重要理論,在很大程度上起源於離散數學的數理邏輯中的命題與邏輯演算,其在電腦硬體設計中的應用更為突出。利用命題中各關聯詞的運算規律把又電平表示的各訊號之間的運算於位元之間的運算聯絡起來,使得我們可以用與非門或者用或非門來解決電路設計問題,使得整個設計過程更加直觀、系統化。數理邏輯在程式設計中起到花間的作用,當一個程式初稿拿出來以後,如果我們想分析一下其中是否有冗餘存在,這時就用到了離散數學中命題演算的基本等式。

在電腦錯誤修正碼中的應用

電腦中,常常需要將位元字訊號進行傳遞。這種傳遞的距離近則數米、數毫米,遠則超過數千公裡。在傳遞過程中,由於存在各種幹撓,常常會使二進位訊號產生失真現象。而利用離散數學的集合論、群論和數理邏輯來分析研究電腦錯誤修正碼的錯誤修正能力,是離散數學在電腦科學中的一個重要應用方面。代數系統在電腦中的應用廣泛,例如有限機,開關線路的計數等方面。但最常用的是在錯誤修正碼方面的應用。在電腦和資料通訊中,經常需要將位元字訊號進行傳遞,這種傳遞常常距離很遠,所以難免會出現錯誤。通常採用錯誤修正碼來避免這種錯誤的發生,而設計的這種錯誤修正碼的數學基礎就是代數系統。錯誤修正碼中的一致校正矩陣就是根據代數系統中的群概念來進行設計的,另外在群碼的校正中,也用到了代數系統中的陪集。

在生物資訊學中的應用

生物資訊學是現代電腦科學中一個嶄新的分支,它是電腦科學與生物學相結合的產物。目前,在美國有一個國家實驗室Sandia國家實驗室,主要進行組合編碼理論和密碼學的研究,該機構在美國和國際學術界有很高的地位。另外,由於DNA是離散數學中的序列結構,美國科學院院士,近代離散數學的奠基人Rota教授預言,生物學中的組合問題將成為離散數學的一個前沿領域。而且,IBM公司也將成立一個生物資訊學研究中心。在1994年美國電腦科學家阿德勒曼公布了DNA電腦的理論,並成功地運用DNA電腦解決了一個有向哈密爾頓路徑問題,這一成果迅速在國際產生了巨大的反響,同時也引起了國內學者的關注。DNA電腦的基本思想是:以DNA堿基序列作為資訊編碼的載體,利用現代分子生物學技術,在試管內控制酶作用下的DNA序列反應,作為實現運算的過程;這樣,以反應前DNA序列作為輸入的資料,反應後的DNA序列作為運算的結果,DNA電腦幾乎能夠解決所有的NP完全問題。 

在其他方面的應用

 對謂詞演算公理系統的研究使得美國數理邏輯學家羅賓遜於1965 年創立了“消解原理”的演算法,在此演算法的基礎上,法國馬賽大學的柯爾密勒設計並實現了一種基於謂詞演算的邏輯程式設計語言PROLOG(programming in logic) ,該語言不久即在眾多電腦上得以實現. 這樣一來,現實世界中的問題只要能用謂詞演算公理系統方式表示出來,就可以將它寫成PROLOG程式,然後在電腦上得以實現。


參考文獻

[1] Discrete mathematics From Wikipedia, the free encyclopedia

[2] Discrete mathematics at the utk.edu Mathematics Archives, providiing links to syllabi, tutorials, programs, etc.

[3] Weisstein, Eric W., "Discrete mathematics", MathWorld.
[4]  Biggs, Norman L. (2002), Discrete mathematics, Oxford Science Publications (2nd ed.), New York: The Clarendon Press Oxford University Press, p. 89, ISBN 9780198507178, MR 1078626, Discrete Mathematics is the branch of Mathematics in which we deal with questions involving finite or countably infinite sets.

[5] Wilson, Robin (2002). Four Colors Suffice. London: Penguin Books. ISBN 978-0-691-11533-7.

[6] Samuel R. Buss (1998). Handbook of Proof Theory. Elsevier. p. 13. ISBN 978-0-444-89840-1.

[7] 耿素雲,屈婉玲,離散數學[M].北京:高等教育出版社,1998.

[8] 左孝淩,李永監,劉永才編著.離散數學[M].上海:上海科學技術文獻出版社,2004.

[9] 朱一清.離散數學[M].北京:電子工業出版社,2004


關於Discrete Mathematics更多討論與交流,敬請關注本部落格和新浪微博songzi_tea.

如何學習離散數學和在電腦科學中應用

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.