離散數學的應用


http://www.360doc.com/content/14/0808/15/17799864_400345159.shtml

1、平面圖和印刷電路板的設計
      有時候,實際問題要求我們把圖畫在平面上,使得不是節點的地方不能有邊交叉,這在圖論中就是判斷一個圖是否是平面圖的問題。
      像印刷電路板(Printed Circuit Board,PCB)(單層印刷電路板,多層印刷電路板)幾乎會出現在每一種電子設備中。PCB的主要功能是提供上頭各項零件的相互電氣連接。隨着電子設備越來越復雜,需要的元件越來越多,PCB上頭的導線與元件也越來越密集了。
      板子本身的基板是由絕緣隔熱、不易彎曲的材料制作而成。在表面可以看到的細小線路材料是銅箔,原本銅箔是覆蓋在整個板子上的,而在制造過程中部份被蝕刻處理掉,留下來的部份就變成網狀的細小線路了。這些線路被稱作導線或布線,並用來提供PCB上元件的電路連接。
      因此在設計和制造印刷電路板時,首先要解決的問題是判定一個給定的電路圖是否能印刷在同一層板上而使民線不發生短路?若可以,怎樣給出具體的布線方案?
      將要印刷的電路圖看成是一個無向簡單連通圖G,其中頂點代表電子元件,邊代表導線,於是上述問題歸結為判定G是否是平面圖?若G是平面圖,由怎樣給出它的一個平面表示來?
      平面圖的判斷問題,在數學上已由波蘭數學家庫拉托夫斯基(Kuratowski) 於1930年解決。庫拉托夫斯基定理給出的充要條件看似簡單,但實現起來很難。但是許多研究拓撲圖論的數學家提出了比較有效的圖的平面性判定的准則,如DMP方法以就是其中的一個有代表性方法。

      2、圖的着色和四色問題
      圖的着色起源於“四色問題”。四色問題又稱四色猜想,是世界近代三大數學難題之一。
      四色問題是說畫在紙上的每張地圖只需要用4種顏色就能使具有共同邊界的國家不會有相同的顏色。用數學語言表示,就是將平面任意地細分為不相重迭的區域,每一個區域總可以用1,2,3,4這四個數字之一來標記,而不會使相鄰的兩個區域得到相同的數字。
      這里所指的相鄰區域,是指有一整段邊界是公共的。如果兩個區域只相遇於一點或有限多點,就不叫相鄰的。因為用相同的顏色給它們着色不會引起混淆。
      四色猜想的提出來自英國。1852年,畢業於倫敦大學的格思里(F.Guthrie)來到一家科研單位搞地圖着色工作時,發現了一種有趣的現象:“看來,每幅地圖都可以用四種顏色着色,使得有共同邊界的國家都着上不同的顏色。”這個現象能不能從數學上加以嚴格證明呢?他和在大學讀書的弟弟格里斯決心試一試。兄弟二人為證明這一問題而使用的稿紙已經堆了一大疊,可是研究工作沒有進展。
      1852年10月23日,他的弟弟就這個問題的證明請教了他的老師、著名數學家德?摩爾根(De Morgan),摩爾根也沒有能找到解決這個問題的途徑,於是寫信向自己的好友、著名數學家漢密爾頓爵士(W.R. Hamilton)請教。漢密爾頓接到摩爾根的信后,對四色問題進行論證。但直到1865年漢密爾頓逝世為止,問題也沒有能夠解決。
      起初,這個問題並沒有引起數學家們的注意,認為這是一個不證即明的事實。但經過一些嘗試之后,發現並不是那么回事。1878年,英國當時最著名的數學家凱利(A. Cayley)正式向倫敦數學學會提出了這個問題,於是四色猜想成了世界數學界關注的問題。世界上許多一流的數學家都紛紛參加了證明四色猜想的大會戰。
      1878~1880年兩年間,著名的律師兼數學家肯普(Kempe)和泰勒(Taylor)兩人分別提交了證明四色猜想的論文,宣布證明了四色定理,大家都認為四色猜想從此也就解決了。
      但是后來人們發現他們都錯了。后來,越來越多的數學家雖然對此絞盡腦汁,但一無所獲。於是,人們開始認識到,這個貌似容易的題目,其實是一個可與費馬大定理相媲美的難題。
      不過肯普的證明雖然失敗了,但它在證明中提供的思想和方法仍然是后來許多數學家沖擊四色問題的基礎。美國數學家富蘭克林於1939年證明了22國以下的地圖都可以用四色着色。1950年,有人從22國推進到35國。1960年,有人又證明了39國以下的地圖可以只用四種顏色着色;隨后又推進到了50國。但是這種推進仍然十分緩慢。
      電子計算機問世以后,由於演算速度迅速提高,加之人機對話的出現,大大加快了對四色猜想證明的進程。1976年6月,美國伊利諾大學的阿佩爾(Appel)、哈肯(Haken)和柯齊(Koch)三人合作編制了一個程序,在美國伊利諾斯大學的兩台不同的電子計算機上,用了1260個小時,作了100多億次邏輯判斷,給出了四色猜想證明,轟動了世界。
      這是一百多年來吸引許多數學家與數學愛好者的大事,當兩位數學家將他們的研究成果發表的時候,當地的郵局在當天發出的所有郵件上都加蓋了“四色足夠”的特制郵戳,以慶祝這一難題獲得解決。
      “四色問題”的被證明不僅解決了一個歷時100多年的難題,而且成為數學史上一系列新思維的起點。在“四色問題”的研究過程中,不少新的數學理論隨之產生,也發展了很多數學計算技巧。如將地圖的着色問題化為圖論問題,豐富了圖論的內容。不僅如此,“四色問題”在有效地設計航空班機日程表、設計計算機的編碼程序上都起到了推動作用。
      不過不少數學家並不滿足於計算機取得的成就,他們認為應該有一種簡捷明快的書面證明方法。直到現在,仍由不少數學家和數學愛好者在尋找更簡潔的證明方法。

      3、運輸網絡
      自從克希霍夫運用圖論從事電路網絡的結構分析以來,網絡理論的研究和應用就越來越廣泛。特別是近幾十年來,電路網絡、運輸網絡、通訊網絡等與工程和應用密切相關的課題受到了高度的重視。
      無自回路的有向賦權圖稱為網絡(Network)。在一個網絡中,有向邊上的權稱為容量(Capacity)。網絡中入度為0的結點稱為源(Source),用字母s表示;出度為0的結點稱為匯(Trap),用字母t表示。
      在某些問題,只考慮有單一源和單一匯的網絡(即運輸網絡),而在另一些問題中(如通訊網絡),根本就不考慮源和匯。
      運輸網絡的實際意義可以用公路網、鐵路網、和供水系統、電網等來說明,也就是“貨物從產地s,通過若干中轉站,到達目的地t”這類情形的一般模型。這里將源和匯分別看成是貨物的產地和目的地,其他結點是中轉站,有向邊是連接兩站的道路(公路、鐵路、水管或電線等),容量則是某一段道路允許的通行能力的上限。
      在運輸網絡中要考慮的是從源到匯的實際流通量,顯然它與每條有向邊的容量有關,也和每個結點的轉運能力有關。對運輸貨物來講,除了容量之外,每條邊還被賦予一個非負實數,這一組數若滿足以下條件:單位時間內通過每條道路運送的貨物總量不能超過道路的容量;每一個中轉站的流入量等於流出量;源的流出量等於匯的總流入量(即網絡的流量(Discharge))。則稱這組數為該運輸網絡的一個流(Flow)。
      一個運輸網絡中具有可能的最大值的流稱為最大流。在一個運輸網絡中,可能不止一個最大流,即可能有幾個不同的流,都具有最大值。
      給定運輸網絡求其最大流的問題,就是怎樣使給定網絡在單位時間運輸量最大的問題,並且確定當網絡的流量最大時的流。
      最大流問題的解決顯然在現實生活中有很重大的應用價值。

      4、通訊網絡
      網絡應用的另一重要方面是通訊網絡,如電話網絡、計算機網絡、管理信息系統、醫療數據網絡、銀行數據網絡、開關網絡等等。這些網絡的基本要求是網絡中各用戶能夠快速安全地傳遞信息,不產生差錯和故障,同時使建造和維護網絡所需費用低。
      通訊網絡中最重要的整體問題是網絡的拓撲結構。根據用途和性能指標的不同要求,通訊網絡有不同的拓撲結構,如環形網絡、樹形網絡、星形網絡、分布式網絡、網狀網絡及混合型網絡等等。通訊網絡是一個強連通的有向圖。
      除了網絡的拓撲結構之外,通訊網絡還要考慮流量和控制問題、網絡的可靠性等問題。圖論中的連通度在通訊網絡中有着重要的應用,是大規模互連容錯網絡可靠性的有效性分析的基礎。當然網絡的可靠性涉及的因素很多,但是從通訊網絡作為一個強連通的有向圖來說,一個具有最佳連通性的網絡就不易出現阻礙問題。

      5、二元樹的應用----前綴碼(哈夫曼編碼)
      在通訊系統中,常用二進制來表示字符。但由於字符出現的頻率不一樣以及為了保密的原因,能否用不等長的二進制數表示不同的字符,使傳輸的信息所用的總碼元盡可能少呢?
      但是不等長的編碼方案給編碼和譯碼帶來了困難。為了解決這個問題,我們引入了前綴碼(哈夫曼編碼)。
      設ab…cd為一個長為n的字符串,則a,ab,…,ab…c分別為它的長為1,2,…,n-1的前綴(Prefix)。
      設A是一個字符串集,若其中的任一字符串都不是其它字符串的前綴,則稱A為一個前綴碼(哈夫曼編碼)(Prefixed Code)。若組成A的字符串的只有字符0和1,則稱A為二元前綴碼(Binary Prefixed Code)。如{000,001,01,10,110,111}是一個二元前綴碼,而{000,001,01,10,11,111}不是一個二元前綴碼。
      那么如何構造一個二元前綴碼並用它進行編碼和譯碼呢?
      我們利用二元樹來產生一個二元前綴碼:
      1) 構造一棵二元樹,樹根的左側用0標記,右側用1標記;
      2)分支點v的左側(右側)的標記就是標記v的二進制數最右端加上0(1);
      3)任一片樹葉的標記串不是其它樹葉的標記串的前綴;
      4)將所有樹葉的標記串取來就可構成一個二元前綴碼。
然后對要發送的信息中的每個字符分別用這個二元前綴碼中的字符串代表,當然應該用越長的字符串代表出現頻率越最低的字符串。
      當接收方接到發送方發過去的信息(實際上是二進制位組成的一個序列),他也將按照那棵標記過的二元樹來進行譯碼,還原出真正的信息。過程如下:
      接收方一邊接收一邊譯碼,從第一個接收的二進制位開始,按接收到的是0還是1,分別從當前結點的左子樹和右子樹往下走。如果遇到一片樹葉,說明已得到一個字符的碼元。從下一個接收的位開始又從根結點起重復上述過程。
      如我們由一棵二元樹得到一個二元前綴碼{010(確),011(實),11(愛),10(我),00(你)}對應的二元樹,現將下列二進制串“101100100100111100”譯碼。譯碼的結果是:10,11,00,10,010,011,11,00。翻譯成中文就是“我愛你,我確實愛你。”


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM