圖是一種最簡單且直觀的語言,它透過點和線的組合來表達複雜系統中的關係。點代表物件或位置,線代表它們之間的連線或互動。這種簡潔的表達方式使得圖在眾多領域中具有強大的應用能力。無論是社交網路中的好友關係、城市中的交通系統,還是生物學中的基因網路,圖都能透過簡單的結構,呈現出直觀而深刻的系統關係。相比於複雜的數學公式,圖的優勢在於它的視覺化能力。透過圖示,人們可以直觀地觀察事物的關聯、路徑和層級,從而迅速理解系統的全貌,發現潛在的問題或最佳化空間。因此,圖不僅是科學研究中的強大工具,也是溝通和展示覆雜資訊的最有效模型之一。
哥尼斯堡七橋地理圖 | 哥尼斯堡七橋圖模型 |
---|---|
一、圖模型的起源和發展
哥尼斯堡的地圖上,七座橋將四片區域相互連線:兩片河岸與兩座島嶼。人們希望找到一種路徑,能夠不重複地走過每座橋。尤拉的聰明之處在於,他沒有試圖從物理地理上解決問題,而是從抽象的角度重新構建問題。他將地圖簡化為點和線的組合,分別代表區域和橋樑。這一簡單的抽象就是圖的雛形。哥尼斯堡七橋問題是圖論與網路科學發展的一個經典起點。這個問題源自於普魯士東部城市哥尼斯堡(現俄羅斯加里寧格勒)的地理結構。城市內普列格爾河分流,形成兩塊河中的小島,被七座橋連線。18世紀時,著名數學家尤拉(Leonhard Euler)受邀解決一個簡單的問題:能否從城市的某一點出發,走過這七座橋且每座橋只走一次,然後回到起點?
這個問題看似普通,卻長期困擾著人們。尤拉在1736年發表的一篇論文中解決了這個問題,他透過此問題引入了一種全新的數學模型:圖。這一成果不僅奠定了圖論的基礎,也標誌著拓撲學的誕生。在尤拉的簡化模型中,四片區域用四個頂點表示,橋用七條邊表示,問題就轉化為一個在圖中找尋“尤拉回路”的問題,即是否存在一個遍歷所有邊的路徑,並且每條邊只經過一次。尤拉證明了,對於一個圖來說,只有當圖中的每個頂點都是偶數次連線時,才存在這樣的路徑。而在哥尼斯堡的模型中,每個頂點都是奇數次連線,因此不可能找到這樣的路徑。尤拉的這一結論標誌著圖論的正式誕生。
圖是一種由頂點(點)和邊(線)組成的數學結構。頂點通常表示事物或位置,邊表示它們之間的關係或連線。在哥尼斯堡問題中,頂點表示城市的不同區域,邊則表示它們之間的橋。更廣泛地說,圖可以用來表示任何涉及連線的系統,如社交網路、電網、網際網路等。尤拉在哥尼斯堡七橋問題中的貢獻不僅僅是解決了一個具體的數學難題,還為數學界提供了一種處理複雜系統的工具。這一工具迅速在多個領域得到了應用,並發展成為一門獨立的學科:圖論。圖論研究的核心問題包括圖的遍歷、最短路徑問題、匹配問題、著色問題等。隨著時間的推移,圖的概念不斷擴充套件和深化。十九世紀末,數學家基爾霍夫(Gustav Kirchhoff)將圖論應用到電路分析中,奠定了網路分析的基礎。圖的研究逐漸深入到化學、物理、電腦科學、經濟學等多個領域。在這些領域,圖被用來描述分子結構、分析物理系統的連線性、最佳化網路流量等。
二、圖模型的有關概念
許多事物及其聯絡可以透過圖形來描述。我們可以將研究物件視為點,用連線(帶箭頭或不帶箭頭)表示物件之間的特定關係。為了區分,我們稱不帶箭頭的連線為邊,帶箭頭的連線為弧。
無向圖 | 有向圖 | 賦權圖 |
---|---|---|
2.1 圖的結構與術語
一個圖由以下兩個部分組成:
- 一個非空集合 V(頂點集合)
- 頂點集合中元素的無序(或有序)點對組成的集合 E(邊集合)或 A(弧集合)
由頂點集合 V 和邊集合 E 構成的圖稱為無向圖,記作 G = (V, E)。連線點 \(v_i\) 和 \(v_j\) 的邊 \(e_{ij}\) 可以表示為 \(e_{ij} = [v_i, v_j]\) 或 \(e_{ij} = [v_j, v_i]\)。由頂點集合 V 和弧集合 A 構成的圖稱為有向圖,記作 D = (V, A)。方向從 \(v_i\) 指向 \(v_j\) 的弧 \(a_{ij}\) 表示為 \(a_ij = (v_i, v_j)\)。邊可以認為是雙向的弧,從而有向圖和無向圖在不嚴格的應用場景中區別不大。
圖的有關術語
- 環:如果圖 G 中某個邊的兩個端點相同,則稱該邊為環。
- 多重邊:如果兩個點之間有多於一條的邊,則稱為多重邊。
- 簡單圖:無環、無多重邊的圖稱為簡單圖。
- 多重圖:無環但允許有多重邊的圖稱為多重圖。
- 點數:圖 G 或 D 中的點數記為 n = |V|。
- 邊(弧)數:邊(弧)數記為 m = |E| (對於有向圖,m = |A|)。
- 階:圖的點數 n 稱為圖的階。如果 n 是有限的,稱為有限階。
2.2 圖的基本概念
概念 | 定義 |
---|---|
點數p | 圖中頂點的數量。 |
邊數q | 圖中邊的數量。 |
關聯邊 | 連線兩個頂點的邊,這兩個頂點被稱為關聯的。 |
環 | 一個頂點到自身的邊。 |
多重邊 | 圖中連線相同頂點對的多條邊。 |
點的次(度)d(v) | 一個頂點關聯的邊的數量。在無向圖中即為該頂點的度數;在有向圖中,出度為從該頂點發出的弧數,入度為指向該頂點的弧數。 |
奇點 | 度數為奇數的頂點。 |
偶點 | 度數為偶數的頂點。 |
懸掛點 | 只有一條邊連線的頂點,即度數為1的頂點。 |
孤立點 | 度數為0的頂點,與其他頂點沒有連線。 |
懸掛邊 | 連線懸掛點的邊。 |
鏈 | 圖中頂點和邊交替出現的序列。 |
初等鏈 | 所有頂點都不相同的鏈。 |
簡單鏈 | 所有邊都不相同的鏈。 |
圈 | 兩個端點相同的鏈。 |
中間點 | 鏈中除了兩個端點以外的頂點。 |
連通圖 | 圖中任意兩個頂點都有路徑相連。 |
連通分圖 | 圖的一個子圖,它是連通的。 |
生成子圖 | 包含圖中所有頂點且連通的子圖。 |
基礎圖G(D) | 將有向圖D中的所有弧去掉箭頭後得到的無向圖。 |
始點 | 有向圖中弧的起點。 |
終點 | 有向圖中弧的終點。 |
弧 | 有向圖中連線兩個頂點的有向邊。 |
路 | 一條按照弧的方向前進的鏈。 |
迴路 | 起點與終點相同的路。 |
初等路 | 路中各頂點都不相同的路。 |
三、圖模型的一些應用
圖論作為數學中的一個重要分支,已經深刻影響了現代社會中的許多領域。它透過頂點和邊的簡單結構,提供了一種極為直觀且強大的工具,用於分析和解決各類複雜的現實問題。隨著電腦科學和資料分析技術的發展,圖論的應用不僅廣泛擴充套件,還催生了許多新興的研究領域。以下是圖論在現代社會中的一些典型應用與發展:
- 社交網路分析
社交網路是圖論最為直接且廣泛的應用場景之一。像Facebook、Twitter、LinkedIn等社交平臺,可以被視作巨大的圖模型。在這些網路中,每個使用者被看作是圖的一個頂點,而使用者之間的好友關係或關注關係則是圖中的邊。透過圖論的工具,我們可以分析使用者之間的社交結構,識別出那些在網路中處於關鍵位置的使用者節點。
圖論在社交網路中的一個重要應用是發現關鍵節點。這些關鍵節點往往是資訊傳播的樞紐,能夠加速資訊的擴散或控制資訊的流動。例如,某些使用者可能具有大量的連線,他們在資訊傳播鏈條中扮演著重要角色,若能影響這些節點,資訊的傳播將事半功倍。此外,社交網路的拓撲結構還可以揭示出不同使用者群體的緊密程度,從而為廣告投放、輿情分析等商業決策提供資料支援。
另一重要的應用是社交網路的社群檢測。透過分析社交網路的圖結構,圖論演算法可以將整個網路劃分為不同的社群,揭示出使用者之間的緊密關係。例如,基於模組度最佳化的社群檢測演算法可以幫助識別出特定興趣或主題的小群體,為營銷策略提供依據。
- 路徑規劃與導航
在現代交通和導航系統中,圖論的應用同樣無處不在。谷歌地圖、百度地圖等導航軟體中的道路網路可以被建模為一個圖,交叉路口或地標是頂點,而道路則是邊。透過這種建模方式,導航演算法能夠快速計算出從一個地點到另一個地點的最優路徑。
Dijkstra演算法是圖論中一個經典的最短路徑演算法。它能夠高效地計算出給定節點間的最短路徑,並廣泛應用於現代的GPS導航系統。此演算法在處理複雜的交通網路時具有極高的效率,可以實時響應使用者需求,避免交通擁堵,並且根據實時路況調整導航路徑。隨著技術的進步,圖論演算法也融入了動態調整的能力,可以根據交通流量和天氣等外部因素,重新計算和最佳化路徑,為使用者提供更加智慧化的導航服務。
此外,圖論在航空、鐵路等大規模交通網路中的最佳化也是至關重要的。無論是規劃航班路線、設計鐵路線路,還是管理貨運物流,圖論都提供了有效的解決方案。這類網路通常具有多重約束和目標,而圖論的靈活性使其可以應對這些複雜的要求。
- 電力網路與網際網路
電力系統和網際網路是現代社會最為複雜和重要的基礎設施之一,它們同樣可以被建模為圖。在電力網路中,發電站、變電站等可以看作是頂點,而輸電線路是圖的邊。透過圖論的分析工具,工程師可以研究電力網路的穩定性,分析網路的弱點以及設計高效的電力分配方案。
圖論在電力網路中的一個重要應用是研究網路的可靠性。如果某些關鍵的節點或邊出現故障,整個系統可能會崩潰。透過圖論中的“連通性”分析,可以找到系統中那些至關重要的節點,並採取措施加以保護。此外,圖論還可以幫助最佳化電網的拓撲結構,減少能量損耗,提高輸電效率。
網際網路也是一種典型的圖結構。路由器、伺服器等裝置是頂點,網路連線是邊。透過圖論,網路管理員可以分析網際網路的結構,最佳化資料傳輸路徑,提升網路的穩定性。尤其是在設計高效的路由協議時,圖論的最短路徑演算法、流量最佳化模型發揮了巨大的作用。
- 生物網路
在生物學中,圖論的應用日益廣泛,尤其是在基因網路、蛋白質相互作用網路等複雜系統的分析中。生物網路可以看作是由大量的分子(如基因、蛋白質)組成的複雜圖,每個分子是一個頂點,它們之間的相互作用則是邊。
透過圖論,生物學家可以研究疾病的傳播路徑。某些關鍵的基因或蛋白質在疾病的形成或傳播中扮演著重要的角色,如果能夠抑制這些關鍵節點,可能就能有效阻止疾病的擴散。例如,在癌症研究中,圖論被用來分析基因之間的相互作用,幫助找到潛在的靶點基因,以進行靶向治療。
此外,圖論還被用於藥物設計中。透過分析化學分子之間的相似性和相互作用,圖論可以幫助研究人員預測某些化合物的生物活性,從而加速藥物的研發過程。
- 市場與經濟網路
圖論在經濟學中的應用也越來越受到關注。市場中的公司、產品和消費者之間的關係可以用圖來表示。在這種圖中,公司和產品是頂點,它們之間的關係是邊。透過分析這些經濟網路,經濟學家可以揭示市場結構,分析競爭關係,預測產品的影響力等。
例如,經濟學家可以透過圖論分析公司之間的合作關係,識別出市場中的核心企業,這些企業往往是創新和資源集中的節點,對整個市場的發展起著重要的引領作用。此外,圖論還可以用於供應鏈最佳化,透過分析供應商與消費者的網路結構,找到潛在的瓶頸並加以解決,從而提高整個系統的效率。
四、圖的矩陣表示
圖是一種資料結構和模型,在計算機中儲存圖的最簡單有效方式就是矩陣。矩陣作為表達圖有效工具和手段,也便於運用代數的方法研究圖的性質(這才是重點!),例如,我們可以透過矩陣計算結果,判定圖的連通性/可達性等問題。
4.1 鄰接矩陣(adjacency matrix)
定義1 設 G = (V,E)是一個圖,節點集合\(V = \{ v_1, v_2, \dots, v_n\}\),令 $ A(G) = [a_{ij}]_{n\times n}$,其中:
則稱A(G)為\(G\) 的鄰接矩陣。
【例1】設G1 是有向圖、G2 是無向圖,分別如下圖(a)和(b)所示,寫出G1,G2 的鄰接矩陣。
\(A(G_1)\) | \(A(G_2)\) |
---|---|
$\begin{bmatrix} 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0\\ 1 & 1 & 0 & 0 \\ 0 & 0 & 1 & 1 \end{bmatrix} $ | \(\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 0 & 1 & 0\\ 1 & 1 & 0 & 1 \\ 1 & 0 & 1 & 1 \end{bmatrix}\) |
當節點編號次序不同時,同一個圖所得的鄰接矩陣可能不同,但可以透過有限次的行、列變換而得到相同的鄰接矩陣(同構的圖?)。
透過圖的鄰接矩陣運算,可以判斷圖的一些性質。
4.2 可達矩陣
定義2 設G=(V,E)是一個圖,節點集合\(V = \{ v_1, v_2, \dots, v_n\}\),令\(P(G) =[p_{ij}]_{n \times n}\) ,其中:
則稱 \(P(G)\) 為G 的可達矩陣。
可達矩陣用於描述一個圖中,任一節點到另一節點之間是否存在路。由於在圖中「兩個結點之間有路」,則「必存在長度小於等於 \(n−1\) 的通路」。另外,一般認為「同一個結點到自身可達」。因此,可用以下公式計算 $$P(G) = [p_{ij} ]_{n\times n} = A^0 \lor A^1 \lor \cdots \lor A^{n - 1}$$
其中,\(A^0\) 是$ n\times n$的單位矩陣, \(∨ \lor ∨\) 是析取(或邏輯加/並)運算。即「頂點 \(v_i\)到達\(v_j\)有長度為零的路、或有長度為1 的路、……、或有長度為 \(n−1\) 的路」,這些路可能是通路、可能不是,但其中至少存在一條通路。
【例2】設有向圖D=(V,E),請回答下列問題。
(1)圖 D 中\(v_1\)到\(v_3\) 長度為3的通路有多少條?
(2)圖 D 是哪種型別的連通圖?
解:
(1) D 的鄰接矩陣及其冪次為:
\(A^0\) | \(A^1\) | \(A^2\) | \(A^3\) |
---|---|---|---|
$\begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} $ | \(\begin{bmatrix} 0 & 1 & 1 & 1\\\ 1 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ 0 & 0 & 0 & 0 \end{bmatrix}\) | \(\begin{bmatrix} 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 2 \\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix}\) | \(\begin{bmatrix} 0 & 1 & 1 & 2\\ 1 & 0 & 1 & 1\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix}\) |
由 \(A^3[1][4] = 2\) 知, $v_1 $ 到\(v_4\) 共有兩條長度為3的路,計算過程如下:
\begin{aligned} A^3[1][4] &= A^2[1][1] \times A[1][4] + A^2[1][2] \times A[2][4] \\ &+ A^2[1][3] \times A[3][4] + A^2[1][4] \times A[4][4] \\ &= 1 \times 1 + 0 \times 0 + 1 \times 1 + 1 \times 0 = 2 \end{aligned}
\begin{aligned} A^2[1][1] &= A[1][1] \times A[1][1] + A[1][2] \times A[2][1] \\ &+ A[1][3] \times A[3][1] + A[1][4] \times A[4][1] \\ &= 0 \times 0 + 1 \times 1 + 1 \times 0 + 1 \times 0 = 1 \end{aligned}
\begin{aligned} A^2[1][3] &= A[1][1] \times A[1][3] + A[1][2] \times A[2][3] \\ &+ A[1][3] \times A[3][3] + A[1][4] \times A[4][3] \\ &= 0 \times 1 + 1 \times 1 + 1 \times 0 + 1 \times 0 = 1
\end{aligned}
即這兩條長度為 3 的路為\((v_1,v_2, v_1, v_4)\)和\((v_1,v_2, v_3, v_4)\) 。其中\((v_1,v_2, v_3, v_4)\) 是一條通路,所以 D 中 \(v_1\)到\(v_4\)長度為 3的通路有一條。
(2)計算 D 的可達矩陣。顯然D 不是強連通的,因為\(v_3\)到 $ v_1$是不可達的;D是單側連通的(即對於任意頂點偶對,至少一個節點到另一個節點是可達的)。
\(P\) | \(P^T\) | \(P\or P^T\) |
---|---|---|
\(P = A^0 \lor A^1 \lor A^2 \lor A^3=\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{bmatrix}\) | \(\begin{bmatrix} 1 & 1 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 1 & 1 & 0 \\ 1 & 1 & 1 & 1 \end{bmatrix}\) | \(\begin{bmatrix} 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \\ 1 & 1 & 1 & 1 \end{bmatrix}\) |
4.3 賦權矩陣
若為有向圖D=(V,E)的每條邊賦予一個權數,則稱D為加權有向圖。
設D=(V,E)是一個簡單加權有向圖,\(V = \{ v_1, v_2, \dots, v_n\}\),則D的鄰接矩陣 \(A=(a_{ij})_{n×n}\),其中
【例3】給出有向圖D=(V,E)的賦權矩陣。
圖D | 權矩陣 |
---|---|
2.4 關聯矩陣
設 G=(V,E)是一個無向圖,\(V=\{v_1,v_2,...,v_n\}\),\(E=\{e_1,e_2,...,e_m \}\),則 G的關聯矩陣 \(M=(m_{ij})_{n×m}\),
其中
無向圖的關聯矩陣每一列的元素之和為2,且第\(i\)行的元素之和是\(ν_i\)的次數,簡單圖的關聯矩陣是(0,1)矩陣。
【例4】給出無向圖D=(V,E)的關聯矩陣。
無向圖 | 關聯矩陣 |
---|---|
總結
哥尼斯堡七橋問題雖源自一個簡單的地理結構,卻揭示了隱藏在其背後的深刻數學原理。尤拉的創新思維將問題轉化為圖的形式,為現代圖論奠定了基礎。圖論的簡單結構蘊含著巨大的潛力,已成為解決現代社會中複雜問題的強大工具。無論是在社交網路分析、導航系統、電力網路管理,還是生物學和經濟學中,圖論都展現出其無可替代的作用。隨著資料量的不斷增加和計算能力的提升,圖論的應用範圍還將進一步擴充,為我們理解和最佳化複雜系統提供更加深入的洞見。今天,圖論已經成為處理複雜網路問題的基礎工具,透過分析和最佳化圖的結構,我們能夠更好地理解和應對現代社會中的複雜問題,圖論的應用潛力幾乎無處不在。
參考資料
- 圖與網路最佳化
- 哥尼斯堡七橋問題