最近想看《離散數學》方面的書,這本是啥名?

2021-09-06 08:28:15 字數 4743 閱讀 2455

找一找,然後當當下當。

紙質書有感覺。

順便進兩本big data的書看看。。

綜觀世界的文明史,人類經濟發展到每乙個階段,都產生出這階段的物質文明和精神文明,都產生代表這階段的科學技術,並存在一種通用的學科表達語言,以客觀地描述人們所了解的一些發展規律。在原始經濟時代,由於產品的交換需要一種被稱為算術的學科表達語

言,描述了人們在物質交換時所帶來的一些學科(主要是計數)問題;在原始經濟向農業經濟

過度時,人們發現算術語言已不能完全表達有如土地丈量等一些經濟活動了,例如直角邊為1

的直角等腰三角形的斜邊不能用算術語言表達,因此產生了幾何語言(歐基里得幾何)。工

業革命使人類進入了工業經濟時代,顯然歐基里得幾何並不能描述工業革命的核心部分,例

如能量轉換、動力、瞬時速度、運動加速度、運動與運動之間的關係等,在產生牛頓力學的

基礎上,產生了微積分,有關能量轉換、動力、瞬時速度、運動加速度、運動與運動之間的

關係等問題可以在分析這個層面上統一認識,許多有關工業經濟中的問題可以通過解方程的

方法進行求解,可以這樣說微積分和在此基礎上發展起來的現代數學語言是工業革命和工業

經濟時期的學科表達語言。

20 世紀中的計算機出現,帶動了世界性的資訊革命的偉大程序,人們開始從工業經濟

時代向知識經濟時代邁進。資訊科學和技術的發展以及由資訊科學技術的發展帶動的智慧型科

學和技術、生命科學和技術等的發展,是知識經濟科學技術發展的重要標誌。從工業革命初

期開始,人們就開始找尋工業經濟的學科表達語言,毫無疑問現代數學語言(包括統計學、

計算數學、數量和非數量代數學、運籌學、微分幾何、張量分析、泛涵分析等等)和用這些

語言描述一切系統理論(包括理論物理、量子力學、統計物理、電動力學、計算化學、生物

數學等等)對在工業經濟時代科學技術的發展和經濟活動等起著重要的的作用,在知識經濟

的產生與發展也產生了重大的影響,但在資訊革命中,用現代的數學語言關於資訊革命的實

踐的描述就並不一定是那麼有效了。例如,資訊革命是以知識為中心的革命,現代數學語言

就沒有關於知識概念,也不可能用數**算的方法去描述知識的應用;作為現代資訊革命的

靈魂和知識產品的體現的計算機軟體至今也還不能用現代數學語言來描述。

電腦科學在資訊革命中的學科地位有如牛頓力學在工業革命中的學科地位一樣,由計

算機出現帶動的資訊革命當然電腦科學將起著主導的作用。在今後的幾百年內,人們將計

算機科學迅速發展進一步完善,會象在牛頓力學的基礎上發展出微積分以及現代數學語言一

樣,在電腦科學的基礎上發展出資訊革命的學科表達語言。電腦科學是在計算機帶動的

資訊革命的實踐中產生和發展的,反過來電腦科學的發展又大大推動了資訊革命的程序。

當前電腦科學在自己的發展過程面對著如下兩個問題:一是資訊革命的要求電腦科學要

將計算機的應用擴大到包含所有的問題領域和深入到每個問題領域的深處而越來越細緻越

來越複雜;二是一旦讓計算機去解決問題,那麼計算機應自動地在有限和有效的時間內得出

解。前者指出電腦科學的任務就是要用計算機的硬體、外設和軟體構成乙個系統,使得許

多不同領域的問題都能在這樣的計算機系統中得到解決。為了完成這個任務,就必須用一種

符號語言構成乙個包括了不同領域的通用模型。離散數學就是指出構成乙個包括了不同領域的通用模型的思維方法,並且告訴我們怎樣用不同的語言(符號語言、圖形語言、邏輯語言等)從最簡單的物件(集合)出發表示通用模型。後者指出電腦科學必須了解讓計

算機去解決問題在通用模型中的結構,由於要求在有限和有效時間內計算機自動完成,那麼

問題求解的方法必然是構造性的,所了解的結構必然是一種離散結構。離散數學中的求解問

題的方法就是基於離散結構的構造性思維方法。

當然,離散數學不一定成為資訊革命的學科表達語言,也不一定能夠成為電腦科學

的學科表達語言,從離散數學的基本內容和計算學科的發展情況來看,許多計算學科的問題,

都可以在離散數學的範圍中表達,都可以試驗抽象為離散數學的問題,不能否認離散數學在

較通用的層面上描述了計算學科所表現出來的資訊革命的許多模型,為現代計算學科的發展

和應提供了理論基礎。從學習的角度來看,離散數學的思維方法能夠為電腦科學所用,「離

散數學能夠使我們在更高的高度去了解和學習電腦科學」

因此可以說高等數學將大家從中學的傳統的歐基里得的思維方式帶進高等教育的基於工業革命的學科表達語言的富於創造性的思維方式,而離散數學將大家帶進資訊革命的學

科表達語言中去發展和創造具有時代特點的先進的思維方式。

㈡從電腦科學學生能力培養的角度看離散數學的作用。計算機出現的五十多年間,人

們追求著和出現了許多計算機資訊革命帶來的資訊產品,但是資訊產品受工業產品的觀念

上的影響,使得電腦科學的學科發展帶來了偏差,使得整個學科的發展都是「軟體跟著

硬體走」。這種情況不僅僅表現在人們根據電子元件的發展來劃定計算機發展的時代,而

且最集中表現的是日本提出來的第五代計算機的發展計畫:這個日本為了改變自己在科技

界形象的、計畫化錢最多的計算機發展計畫,就是因為軟體的原因宣告失敗。早在60 年代

一些有識之士就指出了這一點,但電腦科學商品化發展的驚人的速度使得一直到1991

年,由91 教學大綱中才提出了「硬體必須跟著軟體走」的提法。我們不能將自己的學生培

養成計算機系統的奴隸,而應該培養成計算機系統的主人,我們的學生不能給計算機系統

所塑造,將他們變成計算機,而是教育學生怎樣地塑造計算機系統。在電腦科學知識掌

握的過程中應是「硬體跟著軟體走,軟體跟著模型走,模型跟著學科實際應用走;學科實

際應用跟著自然走」。而最主要的培養環節應該是軟體跟著模型走,模型跟著學科實際應

用走。關於學生的培養目標就是要培養自己的學生能夠根據實際應用問題提出計算機應用

的模型,並用硬體和軟體資源去構造計算機系統去完成模型中所提出來的工作。換言之,

關於「計算機」的研究並不是將自己的學生培養成計算機,而是將自己的學生培養成為怎

樣去根據實際應用問題去塑造計算機系統,成為計算機系統的主人。

因此,我們的學生需要如下三個方面的能力:構造模型的能力;演算法設計的能力;程式設計的能力。

所謂構造模型的能力就是在通用的語言(例如數量代數和非數量代數的語言、符號邏輯

語言、數理統計語言等)中構造解決實際問題的模型的能力。換言之,用通用語言關於現

實需要計算機求解的實際問題進行編碼,使現實需要計算機求解的實際問題描述成領域性

模型(如管理模型、控制模型、推理模型、學習模型等),離散數學中的大部分內容是討

論構造或生成領域性模型的基本方法。

所謂演算法設計的能力是應用計算機的基本能力,也是計算機應用學科的計算機應用基礎

和應用技術的乙個基本問題。讓計算機來解決問題,目前人們不僅要告訴計算機需要做什

麼?而且還要告訴計算機怎樣做?當領域性模型化為計算機能懂的計算模型後,將需要計

算機解決的問題寫成規劃過程告訴計算機做什麼和怎樣做,使得計算機根據這個規劃各步

驟能自動地得到問題的解,這種規劃就是解決這個問題的演算法。演算法過程的控制是演算法設

計的關鍵,它決定演算法的存在性和演算法的效率。演算法過程的控制是由計算模型的結構來決

定的。離散數學中所討論的離散結構(例如線性結構、良序結構、鍥型結構、群、環、域、

各種代數格、置換、範疇等)以及這些結構的同態、同構等,在演算法設計中都起著重要的

作用。

㈢關於電腦科學的思維方法看離散數學的思維訓練。既然我們要作為計算機系統的主

人去塑造能滿足實際應用的計算機系統,那麼怎樣地塑造計算機系統呢?怎樣才有能力去

塑造計算機系統呢?去塑造計算機系統需要什麼樣的思維方法呢?

首先,計算機系統要解決的問題並不是個別的問題,也並不是某個領域上的特殊問題,

要解決某個領域的所有能用計算機進行計算的問題,因此,關於電腦科學的思維方法必

須是在足夠通用的層面上的思維方法。如果所掌握或所習慣的思維方法僅限制在是某些特

殊的領域,那麼,隨著計算機應用的不斷擴大和計算機資訊革命的不斷擴大,將會使得思

維的方法帶有很大的侷限性。當然,最通用的層面是自然層面,然而,自然層面上的物件

還不能為現代計算機(現代計算模型)所了解。因為,我們選擇塑造計算機系的的層面既帶有

最大的通用性,又能為現代計算機系統所了解的層面。在現代計算技術的支援下,這個層

面就是符號處理層面。

其次,我們是要去塑造計算機系統,我們的所有思維都要立足於能「塑造」性,因此,

思維的可構造性,即在考慮構成計算機系統的所有物件都必須能夠有某種方法在有限的時

間內構造出來。因此塑造計算機系統的基本思維是構造性思維。

再其次,構造性思維建立在怎樣的結構上,換言之,找尋滿足構造性思維的物件結構。

顯然在連續結構上是很難進行構造性思維的,在連續結構上存在著不能用符號完全表示的對

象。例如,乙個無理數它不能用完全表示出來。因

為計算機只認識符號,所以塑造計算機系統的構造性思維在某種離散結構上進行。

因此,電腦科學的基本思維是在符號處理的通用層面上的基於離散結構的構造性思

維。離散數學就是在符號處理的通用層面上討論滿足構造性思維的離散結構。

離散數學 筆記

1.復合命題的真值只取決於各原子命題的真值,而與它們的內容 含義無關,與原子命題之間是否有關係無關。2.命題公式 1 重言式 2 矛盾式 3 可滿足式 1.重言式 給定一命題公式,若無論對分量作怎樣的指派,其對應的真值永為真,則稱該命題為重言式或永真式 2.給定一命題公式,若無論對分量作怎樣的指派,...

《離散數學》關係

為什麼要研究乙個關係的演算法?我總是在想這個 難道是現實世界關係的模型對於我們來說,都是數學中研究的關係 關係把世界連線為了乙個巨大的網 一,關係的定義以及性質 從數學的角度來說,關係是笛卡兒的子集,就是乙個二維表,還可以是乙個矩陣,乙個有向圖。關係有一些性質,自反 a,b有相同的父母 對稱 a,b...

離散數學 樹

本人是新人,對樹的概念還是不太清楚,故寫個學習概念的文章,來幫助自己學習樹這一資料結構。定義1.樹是沒有簡單迴路的連通無向圖。定理1.乙個無向圖是樹當且僅當在它的每對頂點間存在唯一簡單迴路。定義2.有根樹是指乙個頂點 指所有節點 作為根並且每條邊的方向都離開根的樹。關於孩子,父母與深度和高度什麼的,...