380 likes | 519 Views
Graph Theory Part II Applications in daily life. 報告人:王文斕. Outline. 圖的點著色 (Vertex Coloring) 最小生成樹 (Minimum Spanning Tree) 最短路徑問題 (Shortest Path) 最大流量問題 (Maximum Flow). 圖的點著色 (Vertex Coloring). 圖的點著色 (Vertex Coloring). Question : 對一已知圖形的點著色 , 若相鄰兩點的顏
E N D
Outline • 圖的點著色(Vertex Coloring) • 最小生成樹(Minimum Spanning Tree) • 最短路徑問題(Shortest Path) • 最大流量問題(Maximum Flow)
圖的點著色(Vertex Coloring) • Question : 對一已知圖形的點著色, 若相鄰兩點的顏 色不能相同, 則最少需要多少種不同的顏 色才能填滿所有的點. • 此問題可用廣度搜尋法解決 三部圖 二部圖
圖的點著色(Vertex Coloring) • 日常生活中的例子 廣播頻道的選擇 • 選擇最少的頻道滿足最多的廣播電台, 而且彼此間不互相干擾
圖的點著色(Vertex Coloring) More in Vertex Coloring : • T—著色問題(T-coloring) 對圖上每一點著色, 使相鄰兩點的顏色差(每種顏色被賦予一個值)不等於某幾個預設值 • 連續T—著色問題(No-hole T-coloring) 相似於T—著色問題, 但所用顏色的賦予值必須連續
最小生成樹(Minimum Spanning Tree) • Question : Given一個點集合和各點之間的連線(被 賦予不同的數值), 求出一條路徑使所有 的點相連且路徑上所有加權值的總和最 小. Main Algorithms: 1. Kruskal Algorithm 2. Prim Algorithm
最小生成樹(Minimum Spanning Tree) • Kruskal Algorithm(用邊集) 由小到大排序為:ab, bc, de, fg, ad, be, dg, ce, bd, cf, eg, ef
最小生成樹(Minimum Spanning Tree) • Kruskal Algorithm(用邊集) 由小到大排序為:ab, bc, de, fg, ad, be, dg, ce, bd, cf, eg, ef
最小生成樹(Minimum Spanning Tree) • Kruskal Algorithm(用邊集) 由小到大排序為:ab, bc, de, fg, ad, be, dg, ce, bd, cf, eg, ef
最小生成樹(Minimum Spanning Tree) • Kruskal Algorithm(用邊集) 由小到大排序為:ab, bc, de, fg, ad, be, dg, ce, bd, cf, eg, ef
最小生成樹(Minimum Spanning Tree) • Kruskal Algorithm(用邊集) 由小到大排序為:ab, bc, de, fg, ad, be, dg, ce, bd, cf, eg, ef
最小生成樹(Minimum Spanning Tree) • Kruskal Algorithm(用邊集) 由小到大排序為:ab, bc, de, fg, ad, be, dg, ce, bd, cf, eg, ef
最小生成樹(Minimum Spanning Tree) • Kruskal Algorithm(用邊集) 由小到大排序為:ab, bc, de, fg, ad, be, dg, ce, bd, cf, eg, ef
最小生成樹(Minimum Spanning Tree) • Kruskal Algorithm(用邊集) 由小到大排序為:ab, bc, de, fg, ad, be, dg, ce, bd, cf, eg, ef
最小生成樹(Minimum Spanning Tree) • Kruskal Algorithm
最小生成樹(Minimum Spanning Tree) • Prim Algorithm(用點集)
最小生成樹(Minimum Spanning Tree) • Prim Algorithm(用點集)
最小生成樹(Minimum Spanning Tree) • Prim Algorithm(用點集)
最小生成樹(Minimum Spanning Tree) • Prim Algorithm(用點集)
最小生成樹(Minimum Spanning Tree) • Prim Algorithm(用點集)
最小生成樹(Minimum Spanning Tree) • Prim Algorithm(用點集)
最小生成樹(Minimum Spanning Tree) • Prim Algorithm(用點集)
最小生成樹(Minimum Spanning Tree) • Prim Algorithm(用點集)
最小生成樹(Minimum Spanning Tree) • Prim Algorithm
最小生成樹(Minimum Spanning Tree) • 日常生活中的例子 電信局配接電纜問題 電信總局要如何配接電纜才能使各電信局能互通訊息, 但同時令配線經費最低?
最小生成樹(Minimum Spanning Tree) • 日常生活中的例子 大公司部門與部門之間的溝通管道
最短路徑問題(Shortest Path) • Question :Given 一圖, 求出從某一點到其他各點 的最短路徑(每邊可賦予不同的加權值). Main Algorithms: Dijkstra Algorithm 利用此演算法即可求出一網路中任兩點的最短路徑!
最短路徑問題(Shortest Path) • Dijkstra Algorithm
最短路徑問題(Shortest Path) • 日常生活中的例子 在 Internet 中 router 用來建 forwarding table 所用的routing protocol – Link State routing protocol.
最大流量問題(Maximum Flow) • Question : 已知一網路(每條邊上都有一流量值), 求 出由某點a (source)至另一點b (sink)所 能運載的最大流量. Main Algorithms: The Ford-Fulkerson method
最大流量問題(Maximum Flow) • 日常生活中的例子 石油運輸管線— 若每條石油輸送管都有不同的最大負載量, 那麼要如何分配輸送量才能一次輸送最多石油到目的地呢?
結論 • 圖論是一種較為直接明暸的演算法 • 圖論涵蓋的範圍很廣, 內容也很豐富, 單就學術方面而言, 已有很大的發展空間和研究價值 • 在日常生活中, 我們經常可以找到與圖論息息相關的內容, 利用圖論我們可以更有效地解決問題
References • Introduction To Algorithms, Ch.22-26, 2nd Edition, MIT Press • 沿著歐拉的足跡—圖論初探 • 哥尼斯堡七橋問題與數學抽象 • 簡介圖論演算法, 數學傳播季刊 第19卷 第三期