1 圖論概述算法
1.1 發展歷史oop
1736:歐拉發表首篇關於圖論的文章,研究了哥尼斯堡七橋問題,被稱爲圖論之父優化
1750:提出了拓撲學的第一個定理,多面體歐拉公式:V-E+F=2ui
1852: Francis Guthrie提出四色問題spa
1856: Thomas P. Kirkman & William R.Hamilton研究了哈密爾頓圖component
1878: Alfred Kempe給出給出四色定理證實ip
1890: 希伍德(Heawood)推翻原有四色定理證實ci
1891: 彼得森(Petersen 丹麥)給出關於圖論的理論知識的第一篇論文rem
1936: 哥尼格(Dénes Kőnig Hungarian), 寫出第一本圖論專著《有限圖與無限圖的理論》,圖論成爲了一門獨立學科it
1941: F. P. Ramsey開創 Extremal graph theory
1959: Erd˝os and Rényi 引入隨機圖理論 (邊的存在的機率爲p)
1976: Kenneth Appel & Wolfgang Haken使用計算機最終證實了四色問題
1.2 參考教材
Graph Theory with Application - J.A. Bondy and U.S.R. Murty, Elsevier, 1976
《圖論及其應用》 經典教材,吳望名譯,有電子版
Graph theory - J.A. Bondy and U.S.R. Murty, Springer, 2008
《圖論》GTM244,能夠認爲是 「Graph Theory with Application」 的第二版,推薦教材
Graph Theory, 5th - Reinhard Diestel, Springer, 2017
《圖論》GTM173,有電子版
Introduction to Graph Theory, 2nd- Douglas B. West, 2017
入門教材
2 ,圖的初步知識
(注:通常考慮simple graph (no graph loops or multiple edges), 且階大於等於2)
2.1 規則圖
Definition: 全部頂點的度相同的圖叫不規則圖 (irregular graph)
Definition: 只有一對頂點的度相同的圖叫幾乎不規則圖 (almost irregular graph)
Theorem:
1)不規則圖不存在
2)剛好存在兩個階數相同的幾乎不規則圖,且互爲補圖(頂點相同,邊合起來是徹底圖)
3)對於任意最大值爲n的正整數集合,存在n+1階的圖,使其頂點數正好等於這些整數
(以上結論不適用於多重圖和加權圖)
2.2 正則圖
Definition: 全部頂點的度爲r的圖叫 r-正則圖 (r-regular graph)
e.g. 單連通的0-regular是單個點,單連通的1-regular是一條邊的圖,單連通的2-regular是一個圈,單連通的3-regular稱爲立方圖
Theorem: n階r正則圖存在,只要r, n不都是奇數,且r<=n-1
經常使用正則圖:
Kn: n階徹底圖,r = n-1
Cn: n(n>=3)階圈, r = 2
Qn: 2^n階的超立方體(n-cube), r = n
Kr,r: 2r階的二分圖
2.3 二分圖(bipartite graph)
Definition:頂點被分爲兩個集合,全部邊只在兩個集合之間鏈接的圖叫二分圖
Theorem:圖G是二分圖 <=> G中無奇圈
2.4 子圖
圖G,子圖(subgraph)H
subgraph ---> spanning subgraph
---> induced subgraph ---> vertex-delete subgraph
spanning subgraph: 生成子圖,H和G的頂點相同
induced subgraph: 誘導子圖,H = G[S] (從圖中去除1個或多個頂點)
vertex-delete subgraph: 去頂點子圖,從圖中去除1個頂點
Theorem:任意圖均可以表示爲某個正則圖的導出子圖
未解問題:給定某一圖G的全部去頂點子圖,是否可以重構出惟一的圖G(同構意義上是惟一的)?該
2.5 距離
Definition:連通圖(connected),由多個連通分支(component)構成的圖爲不連通圖(disconnected)。
G-v 比 G有更多的連通分支,則v稱爲G的割點(cut-vertex)
G-e 比 G有跟多的連通分支,則e稱爲G的橋(bridge)
Theorem:
連通圖G,e是橋 <=> e不屬於G的任何一個圈 <=> 存在頂點u,v,使得任意路徑u-v的路徑通過e
連通圖G,w是割點 <=> 存在頂點u,v,使得任意路徑u-v的路徑通過w
Definition:
頂點x-y之間的距離(distance):全部x-y路徑的最小長度。
頂點v的離心率(eccentricity):v到距離v最遠頂點u的距離,u被稱爲v的離心頂點(eccentric vertix)
中心頂點:G中離心率最小的頂點
2.6 Tree
Definition:不包含圈的連通圖爲樹(Tree)
Theorem:圖G是樹 <=> G中任意兩個頂點都有且只有一條連通路徑
n階樹有n-1條邊
在G內添加任意一條邊,就會造成一個迴路。
去掉任意一條邊,就再也不連通。
G內的任意兩個頂點能被惟一路徑所連通。
一顆樹的每個節點均可以做爲根
Definition:葉子(leaf):樹中度爲1的節點
Theorem:樹至少有兩個節點
Definition:生成樹(spanning graph):圖G的生成子圖T是樹,則T稱爲G的生成樹
最小生成樹:加權邊之和最小的生成樹
克魯克斯算法:依次選擇最小權的邊,但保證不造成圈,能夠生成最小生成樹
3,圖的遍歷
Definition:
對於某個頂點序列(v1,v2,..., vk)
通路 (walk) ---> 路徑 (path) ---> 圈 (circle)
| |
v v
---> 跡 (trail) ---> 迴路 (circuit)
閉合的含義:v1=vk
walk: 全部 vi-vi+1 都是圖的邊
path: 全部的頂點不重複,閉合path爲circle
trail: 全部邊不重複. 閉合trail爲circuit
注:path -> trail, circle -> circuit
3.1 歐拉圖問題(遍歷全部邊不能重複,一筆畫問題)
歐拉回路 (Eulerian circuit): 包含G中全部邊的迴路
歐拉跡 (Eulerian trail or Eulerian tour): 包含G中全部邊的跡
包含一個歐拉回路的連通圖爲歐拉圖
Theorem:
連通圖G是歐拉的 <=> 每一個頂點的度是偶數,(注:G能夠是多重圖)
連通圖G含有歐拉跡 <=> 圖G中剛好有兩個頂點是奇數度 (注:G能夠是多重圖,歐拉跡從這兩個奇數度的頂點開始和結束)
3.2 中國郵遞員問題(遍歷全部邊能夠重複)
Definition:歐拉通路:通過G的全部邊的最短閉通路
找到歐拉通路的方法:對奇數度的頂點添加多重邊,使每一個頂點的度都是偶數
Theorem:歐拉通路必定通過G中的橋兩次 (注:也便是是說講橋複製爲歐拉多重圖)
注:加權圖也能夠用相似思路解決
3.3,哈密爾頓問題 (遍歷全部點不能重複)
Definition:通過圖中全部頂點的圈爲哈密爾頓圈,包含哈密爾頓的圈爲哈密爾頓圖。
尚未任何理論能夠精確斷定一個圖是不是哈密爾頓圖,但已有以下結論
Theorem:
設G是一個n階圖,每一個頂點的度>=n/2, 則G爲哈密爾頓圖;
(奧爾定理)若是n階圖G中任意一對不相鄰的頂點的度數和大於等於n,則G是哈密爾頓圖;
若是G是哈密爾頓圖,那麼任意去掉G的k個頂點,剩餘的圖最多含有k個連通分支;
3.4 旅行商問題 (遍歷全部點能夠重複)(TSP)
TSP(Traveling Salesman Problem),經過優化算法求解
4,圖的匹配和分解
4.1 匹配(Matching)
(研究二分圖中兩個集合中元素的配對問題)
Definition: 一組互不相鄰的邊組成的集合叫作匹配(matching)(匹配的概念能夠用於全部的圖)
相異表明系:n個非空集合,每一個集合挑出一個元素,這n個元素互不相同。所以,集合繫有相異表明系,等價於對應的二分圖(集合系和元素組成二分圖的頂點集合)含有大小爲n的匹配。
(霍爾定理 Philip-Hall's Theorem)n個非空集合存在相異表明系 <=> 任意k個集合的並,含有很多於k個元素 (k=1,…,n)。
Definition: G中包含邊最多的匹配爲最大匹配
Definition: 匹配覆蓋了圖中全部的頂點的匹配爲完美匹配 (n階圖的完美匹配的大小爲n/2)
(塔特定理) 圖G有完美匹配 <=> 對於任意一個頂點的真子集S,都有 k0(G-S) <= |S|, 其中k0(G)表示G中奇數階連通分支的數量
1-regular graph有完美匹配
2-regular graph有完美匹配 <=> G中每一個連通分支都是一個偶階圈
3-regular graph(立方圖) (彼得森定理)每一個無橋立方圖含有一個完美匹配
4.2 正則圖的1-因子分解
Definition:
圖G的1-正則生成子圖稱爲1-因子圖 (1-因子圖的邊爲圖G的完美匹配)
圖G的邊集合能夠表示爲多個1-因子圖的劃分,則G稱爲1-因子分解圖
由定義可知,每一個1-因子分解圖一定是一個偶數階的r-正則圖
注:反之不成立,例如彼得森圖(10階3-正則圖)不是1-因子分解圖
Theorem:偶數階徹底圖是1-因子分解圖;
猜測:若G是n階r-正則圖,且r>=n/2,則G是1-因子分解圖。可分解爲r個1-因子圖
4.3 正則圖的2-因子分解(圈分解)
Theorem:
(彼得森給出證實)圖G是2-因子分解圖 <=> G是r-正則,r爲偶數;
徹底圖的分解定理(2012年證實,以前爲阿爾斯波猜測)
(布萊恩特-霍斯利-彼得森定理)
1,n爲奇數 (n>=3),m1+m2+…+mt = n(n-1)/2, Kn能夠分解爲Cm1, Cm2, … , Cmt;
2,n爲偶數 (n>=4),m1+m2+…+mt = n(n-2)/2, Kn-M能夠分解爲Cm1, Cm2, … , Cmt ,其中M是Kn中的一個完美匹配;
推論:n爲奇數,且m能夠整除n(n-1)/2,那麼Kn爲Cm-可分解圖;
再推論:n爲奇數,Kn是哈密爾頓因子分解圖(每一個圈是哈密爾頓圈)
應用:
斯坦納三元系(Steiner triple systems)問題
n個元素,每3個元素爲一組(稱爲三元組), 每一對元素剛好落在一個三元組中,這個分組稱爲斯坦納三元系
等價於將Kn分解爲多個C3
5,圖的畫法(可平面圖,交叉點數)
Definition:若是圖G能在平面上畫出來,且任何兩條邊不相交,則稱G爲可平面圖(planar graph),將可平面圖在平面上畫出獲得的圖爲平面嵌入圖(planar embedding)或平面圖;
Three Houses and Three Utilities Problem等價爲K3,3 是否是可平面圖
最大平面圖的區域都是三角形
歐拉多面體公式:V-E+F=2
多面體能夠投影到平面上造成多面體的平面圖
歐拉恆等式:G是連通的平面嵌入圖,有n個頂點、m條邊、r個區域,則n-m+r=2
Theorem:平面圖G,則m<=3n-6,其中n爲階數,m爲邊數
推論:每一個平面圖都包含一個不超過5度的頂點;
(如下兩個定理等價)
庫拉托夫斯基定理:圖G是可平面圖 <=> G不包含K5和K3,3的剖分子圖做爲其子圖
注:在圖G的邊上插入任意個(能夠是0個)2度的頂點獲得的圖稱爲G的剖分子圖
瓦格納定理:圖G是可平面圖 <=> K5和K3,3都不是G的縮圖
注:將圖G中的某條邊收縮爲一個頂點,並刪除重疊的頂點和邊,造成的圖爲縮圖(剖分圖,則H是G的縮圖)
縮圖定理:對於任意一個含有無限個圖的圖集合,一定有一個圖是另外一個圖的縮圖
Definition:把圖G畫在平面上,產生的最少交叉點數目稱爲圖G的交叉數cr(G) (crossing number)
Definition:把圖G用直線畫在平面上,產生的最少交叉點數目稱爲圖G的直線段交叉數cr_(G) (rectilinear crossing number)
Theorem:cr(G) >= m-3n+6
cr(Kn) <= ¼ floor(n/2) floor((n-1)/2) floor((n-2)/2) floor((n-3)/2), 其中,當n<=12,上式中的等號成立
(法裏定理)可平面圖能夠用直線畫法無交叉點,即cr_(G) = 0
6,圖的着色(頂點着色,邊着色)
四色定理:每一個可平面圖的頂點可以以四種或更少的顏色被着色,且每兩個相鄰頂點的顏色不一樣