跳到內容

圖論/定義

來自華夏公益教科書,開放的書籍,為開放的世界

圖、節點和邊

[編輯 | 編輯原始碼]
一個具有三個頂點和三條邊的簡單無向圖。每個頂點的度數為二,因此它也是一個正則圖。

一個是一個有序對 ,其中:

  • V 是頂點集,其元素是圖的頂點或節點。這個集合通常用 或簡寫為 表示。
  • E 是邊集,其元素是圖的邊或頂點之間的連線。這個集合通常用 或簡寫為 表示。如果圖是無向的,個體邊是無序對 ,其中 中的頂點。如果圖是有向的,邊是有序對

兩個圖 被認為相等,當

圖的階數是指圖中頂點的數量,通常用 表示,有時也用 表示。圖的邊數是指圖中邊的數量,用 表示,有時也用 表示。如果 ,該圖被稱為空圖零圖。如果 ,該圖被稱為平凡圖。如果 ,該圖被稱為離散圖

無向圖

[edit | edit source]

無向圖是指邊沒有方向的圖。邊 (a, b) 與邊 (b, a) 相同,即它們不是有序對,而是頂點 {uv}(或 2-多重集)的集合。

有向圖

[edit | edit source]
有向圖

有向圖有向圖是一個有序對 D = (VA) ,其中

  • V 是一個集合,其元素被稱為頂點節點,並且
  • A 是一個頂點有序對的集合,稱為有向邊箭頭

a = (xy) 被認為是從 x 指向 y 的;y 被稱為弧的頭部x 被稱為弧的尾部y 被稱為 x直接後繼x 被稱為 y直接前驅。如果一條路徑從 xy,則 y 被稱為 x後繼,並且可以從 x 到達,而 x 被稱為 y前驅。弧 (yx) 被稱為弧 (xy) 反向

如果對於 D 中的每個弧,相應的反向弧也屬於 D,則有向圖 D 被稱為對稱。一個對稱的無環有向圖 D = (VA) 等價於一個簡單的無向圖 G = (VE),其中 A 中的反向弧對一一對應於 E 中的邊;因此,G 中的邊數量 |E| = |A|/2,即 D 中弧數量的一半。

這個定義的一個變體是有向圖,其中 (xy) 和 (yx) 中最多隻有一個可以是弧。

示例

[edit | edit source]
一個帶標籤的圖形在 6 個頂點和 7 個邊上的繪製。

在影像中,你可以看到一個圖。

圖的頂點集是 .

圖的邊集是 .

該圖的階數是 .

該圖的大小是 .

子圖、收縮和圖的次圖

[edit | edit source]

子圖

[edit | edit source]

給定一個圖 和一個圖 的子圖當且僅當 。由此可以明顯看出,每個圖 至少包含空圖和自身作為子圖,因為空圖 的頂點集和邊集都是空集,它們都是所有集合的子集,並且 。此外,某個圖 的所有子圖 都可以透過從 中進行一系列邊刪除和頂點刪除操作來構造。形式上,存在一個序列 ,其中 ,對於每個 ,都是透過從 中刪除一條邊或一個頂點來構造的。

邊收縮

[edit | edit source]

給定一個圖 ,以及圖中頂點 之間的某條邊 ,透過收縮得到的圖是圖 ,其頂點集等於 ,其中 是收縮 所形成的頂點,它與 的所有鄰居以及 的所有鄰居相鄰。

圖的子圖

[edit | edit source]

給定一個圖 ,以及另一個圖 被稱為 ,如果 是透過在 的邊中插入度數為 2 的頂點形成的。這個過程稱為 **細分**, 的頂點被稱為 的 **分支頂點**,而 中的其他頂點被稱為 **細分頂點**。現在,如果某個圖 包含 作為子圖,那麼 被稱為具有 作為 **拓撲小圖**。

給定一個圖 ,以及另一個圖 被稱為一個 ,如果 是由 透過用連通圖替換 的頂點形成的,使得如果一個頂點 被一個連通圖 替換,則存在連線 到替換 中相鄰的頂點的每個圖的邊,並且僅限於那些圖。這個過程稱為 **膨脹**,因此用一個 來表示它,而替換 中頂點的圖被稱為 的 **分支集**。現在,如果某個圖 包含一個 作為子圖,那麼 被認為具有 作為 **次要圖**,記為

定理:如果 的拓撲次要圖,那麼

證明:由於 的拓撲次圖,因此存在 的子圖。將該 稱為 。將 的分支頂點從 編號。現在,對於 中的每個細分頂點 ,將 新增到包含距離 最小的分支頂點的分支集中。如果 具有兩個距離最小的分支頂點,則將其新增到包含編號較小的分支頂點的分支集中。現在,每個頂點都在一個分支集中,並且分支集是不相交的,並且每個分支集都是連通的。這產生了 的子圖,因此

關聯、鄰接、度

[編輯 | 編輯原始碼]

關聯的概念將邊與由該邊連線的節點相關聯。例如,邊 與節點 關聯。

如果一條邊連線了兩個節點,我們就說這兩個節點是相鄰的。更正式地說, 如果 相鄰。節點 v 的鄰域,記為 ,是所有與它相鄰的節點的集合。

節點 v 的,記為 ,是與它關聯的邊的數量。在一個有向圖中,入度和出度分別計算進入和離開頂點的有向邊的數量。

最小度,記為 ,是 ,即 中所有頂點的度數的最小值。

類似地,圖 最大度,記為 ,是 ,即 中所有頂點的度數的最大值。

握手引理

[edit | edit source]

握手引理是度數和公式(有時也稱為握手引理)的結果,

證明 尤拉證明度數和公式使用了雙重計數技巧:他用兩種不同的方法計算了關聯對 的數量,其中e是邊,頂點v是它的一個端點。頂點v屬於 deg(v) 個對,其中 deg(v)(v 的度數)是與它關聯的邊的數量。因此,關聯對的數量是度數的總和。然而,圖中的每條邊都屬於正好兩個關聯對,一個對應它的每個端點;因此,關聯對的數量是 2|E|。由於這兩個公式計算的是同一組物件,因此它們的值必須相等。

在整數的和中,和的奇偶性不受和中偶數項的影響;當奇數項的數量為偶數時,總和為偶數;當奇數項的數量為奇數時,總和為奇數。由於度數和公式的一側是偶數 2|E|,因此另一側的和必須包含偶數個奇數項;也就是說,必須存在偶數個奇度頂點。

曼特爾定理

[edit | edit source]

一個n個頂點的無三角形圖中邊的最大數量是

證明

假設 是一個有 個頂點的圖。我們來算一下這個圖最多可以有多少條邊。

對於每條邊,如果存在一個與 都相鄰的頂點 ,那麼就會形成一個三角形。因此我們知道這樣的頂點不存在,也就是說 的鄰域與 的鄰域不相交。

這意味著任何其他頂點要麼與 相鄰,要麼與 相鄰。當我們計算 的度數時,我們發現它們的和最多為 ,因為一個頂點要麼被計入 的鄰域,要麼被計入 的鄰域。

上面的不等式對於每條邊都成立。因此我們有與邊數一樣多的不等式。如果我們將所有這些不等式加起來,我們會發現每個頂點的度數 會出現 次,所以我們必須加上 。不等式變為

因為每條邊都有兩個端點,所以所有頂點的度數之和恰好是邊數的兩倍。

在具有標準內積的 中,柯西-施瓦茨不等式為

上面兩個公式推匯出

解出 ,得到

遍歷

[edit | edit source]

在研究圖時,我們經常需要知道從一個頂點到另一個頂點的各種路徑,以及這些路徑的不同型別。為了理解遍歷的概念,我們可以想象圖中的節點是城市裡的方塊,邊是連線這些方塊的道路。假設你必須從一個方塊步行到另一個方塊,並且在你的目的地之間有一些中間方塊。你可以寫下所有你必須經過的道路的列表,路徑的概念就是對這個直觀概念的正式化。

路徑、閉路徑、迴路和圈

[edit | edit source]
  • 一個 *u-v* **路徑** 定義為一個從 *u* 開始到 *v* 結束的頂點序列,其中序列中連續的頂點是圖中相鄰的頂點。
    一個帶標籤的圖形在 6 個頂點和 7 個邊上的繪製。
    • 一個 **閉路徑** 是一個路徑,其中第一個和最後一個頂點相同。
  • 一個 *u-v* **跡** 是一個 *u-v* 路徑,其中沒有邊被重複(每條邊最多使用一次)。
    • 一個 **迴路** 或者 **閉跡** 是一個跡,其中第一個和最後一個頂點相同。
  • 一個 *u-v* **通路** 是一個 *u-v* 路徑,其中沒有頂點被重複(每個頂點最多使用一次)。
    • 一個 **圈** 是一個閉合通路,其中第一個和最後一個頂點相同。

例如,在右邊的圖中, 是一個行走。而 是迴圈。

圖中的距離

[edit | edit source]

現在,我們需要在圖中定義一個距離的概念;這有助於我們在圖中編碼更多資料。

行走的長度
在特定行走中使用的邊的數量。

如果一條邊被使用多次,那麼它就被計算多次。
平凡行走是長度為 0 的行走。

定理

[edit | edit source]

如果圖G包含一個長度為 的 u-v 行走,那麼G包含一個長度 ≤ 的 u-v 路徑。

證明

P是長度最短的u-v行走。我們斷言P是一條路徑(因為是最短的,所以它消除了重複的頂點)。
假設不是。假設P不是一條路徑。然後,至少有一個頂點被重複(使用兩次)。然後,設定 ,其中 P的長度。
並且,我們知道 對於某些
然後,刪除重複的頂點(頂點)得到 。但是,然後我們得到P'的長度小於P的長度,這與我們假設P最短長度的行走相矛盾。
所以,P必須是一條路徑,而且它比任何其他在P中具有頂點的行走都要短。
因此,存在一個長度最多為 u-v路徑。

圖距離

[edit | edit source]

兩個頂點 之間的圖距離 是連線它們的路徑的最小長度。也是圖測地線的長度。
圖中兩個頂點之間最短的路徑被稱為測地線
如果不存在這樣的路徑(如果頂點位於不同的連通分量中),則距離設定為.

測地線

[編輯 | 編輯原始碼]

對於圖G中的任意兩個頂點uvuv之間的距離定義為uv之間最短路徑的長度,記為d(u,v)

長度為d(u,v)的路徑被稱為測地線

d(u,v)的性質:
對於測地線P:u=u0u1u2...uk=v和一些0≤i,j≤k

  1. d(u0uk) = k
  2. d(uiui) = 0(沒有移動)
  3. d(u0ui) = i
  4. d(uiuj) = |j-i|

更多圖引數

[編輯 | 編輯原始碼]

利用d(u,v),我們可以找到圖G的其他引數

  • 直徑:直徑diam(G)連通圖中任意兩個頂點之間最大的距離d(u,v);即直徑是max{d(u,v)},對於V(G)中的所有u,v集合。


圖偏心率

圖中頂點的偏心率是連通圖與其他任何頂點之間最大的圖距離。
對於非連通圖,所有頂點定義為具有無限偏心率。

  • 圖直徑 : 最大的圖偏心率
  • 圖半徑 : 最小的圖偏心率


連通性

[編輯 | 編輯原始碼]

是否可以從圖中的一個頂點遍歷到另一個頂點,取決於圖的連通性

連通性的定義

[編輯 | 編輯原始碼]
  1. 如果在G中存在一條u-v路徑,那麼我們說uv是連通的
  2. 如果在G中對於每一對頂點uv都存在一條u-v路徑,那麼我們說G是連通的

關於連通性的定理

[編輯 | 編輯原始碼]

定理:G是一個至少有3個頂點的圖。如果在G中存在不同的頂點uv,使得G-uG-v都是連通的,那麼G也是連通的。

證明:wG中的一個頂點,它不同於uv。我們要證明連通性,即對於G中每對頂點(x,y),在G中存在一條x-y路徑。我們可以考慮三種(部分重疊)情況

  • 如果xy都不是u,那麼在G-u中存在一條x-y路徑,這在G中也是一條x-y路徑。
  • 如果xy都不是v,那麼在G-v中存在一條x-y路徑,這在G中也是一條x-y路徑。
  • 如果{x,y} = {u,v},那麼根據前兩種情況我們可以看到,存在一條u-w路徑和一條w-v路徑。將它們組合起來就得到一條u-v路徑。

頂點和邊連通性

[編輯 | 編輯原始碼]

如果對於圖 *G* 中的任意一個子集 ,只要 仍然連通,並且 ,那麼稱圖 *G* 為 *k* 連通圖。

類似地,如果對於圖 *G* 中的任意一個子集 ,只要 仍然連通,並且 ,那麼稱圖 *G* 為 邊連通。

*G* 的**連通度**是使 *G* 為 *k* 連通的最大的 *k*,記作

類似地,*G* 的**邊連通度**是使 *G* 為 邊連通的最大的 ,記作

連通度定理

[edit | edit source]

定理: 設 *G* 是一個 *k* 連通圖,那麼對於任意自然數 ,*G* 都是 *i* 連通的。

證明: 因為 *G* 是 *k* 連通的,所以對於所有子集 是連通的。由於 ,因此對於所有子集 也是連通的。


定理:G為非平凡圖。 則,.

證明:G中度數為的頂點v。 然後,移除G中與v關聯的所有邊將v與圖的其餘部分分離,前提是。 因此,G不能是邊連通的,因此.


練習:連通性
  • 如果G邊連通的,證明G也是i邊連通的.

同構

[edit | edit source]

GH同構GH的頂點集之間的雙射

使得G中的任意兩個頂點uvG中相鄰當且僅當ƒ(u)和ƒ(v)在H中相鄰。 這種雙射通常被稱為“邊保持雙射”,這與同構的一般概念是保持結構的雙射相一致。

在上述定義中,圖被理解為無向非標記非加權圖。 然而,同構的概念可以應用於圖概念的所有其他變體,方法是新增保持相應結構元素的要求:弧方向、邊權重等,但以下情況除外。 當談論具有唯一標籤的圖標籤時,通常從整數範圍 1,...,n 中獲取,其中n 是圖的頂點數,兩個標記圖被稱為同構,如果對應的底層未標記圖是同構的。

如果兩個圖之間存在同構,那麼這兩個圖被稱為同構,我們寫。 在雙射是圖到自身的對映的情況下,即當GH是同一個圖時,雙射被稱為G自同構

圖同構是圖上的等價關係,因此它將所有圖的劃分為等價類。 一組相互同構的圖被稱為圖同構類

示例

[edit | edit source]

下面顯示的兩個圖是同構的,儘管它們的繪製方式不同。

圖 G 圖 H 同構
G 和 H 之間
ƒ(a) = 1

ƒ(b) = 6

ƒ(c) = 8

ƒ(d) = 3

ƒ(g) = 5

ƒ(h) = 2

ƒ(i) = 4

ƒ(j) = 7

動機

[edit | edit source]

“同構”的正式概念,例如“圖同構”,捕捉了非正式的概念,即一些物件具有“相同的結構”,如果忽略所討論物件的“原子”元件的個體區別,請參見上面的示例。 每當“原子”元件(對於圖,頂點和邊)的個體性對於正確表示由圖建模的內容很重要時,模型會透過對結構施加額外的限制來改進,並且使用其他數學物件:有向圖、標記圖、彩色圖、有根樹等等。 同構關係也可以針對所有這些圖的概括來定義:同構雙射必須保留定義所討論的物件型別的結構元素:、標籤、頂點/邊顏色、有根樹的根等等。

“圖同構”的概念使我們能夠區分圖本身的結構固有的圖屬性與與圖表示相關的屬性:圖繪製、圖資料結構、圖標籤等等。 例如,如果一個圖只有一個迴圈,那麼它同構類的所有圖也只有一個迴圈。 另一方面,在頂點由整數 1、2、... N表示)的常見情況下,則表示式

對於兩個同構圖可能不同。

補圖

[edit | edit source]
左邊是彼得森圖,右邊是它的補圖。

G補圖逆圖是一個具有相同頂點的圖H,其中H的兩個頂點相鄰當且僅當它們在G中不相鄰。也就是說,為了生成一個圖的補圖,需要填充所有形成完全圖所需的缺失邊,並刪除之前存在的邊。然而,它並不是圖的集合補;只有邊被補充了。

正式構造

[編輯 | 編輯原始碼]

的補圖是圖 ,使得對於所有頂點對 ,存在邊 當且僅當 。如果我們令 ,我們發現

應用和示例

[編輯 | 編輯原始碼]

幾個圖論概念透過補圖彼此相關

  • 無邊圖的補圖是完全圖,反之亦然。
  • 任何無三角圖的補圖是無爪圖
  • 自補圖是與自身補圖同構的圖。
  • 互補圖的定義是可以透過不相交併集和補運算構建的圖,它們構成一個自補圖族:任何互補圖的補圖是另一個(可能不同的)互補圖。

是一種連通圖。有向圖如果連通且無環,則為樹。無向圖如果連通,有 條邊,且無環(滿足其中兩個性質的圖也滿足所有三個性質)。

練習:等價定義

證明以下是對樹的等價定義

  • 具有最小邊數且連通的圖。
  • 具有最大邊數且無環的圖。
  • 無環,新增任何邊都會產生環的圖。
  • 具有 n 個節點和 n-1 條邊且連通的圖。
  • 任何兩個節點都透過唯一路徑連線的圖(路徑邊只能遍歷一次)。

提示:為了使總證明簡短,以合適的順序排列定義,然後證明 A=>B=>C=>D=>E=>A。對具有零個和一個節點的圖要特別小心。

有根樹

[編輯 | 編輯原始碼]

如果一個頂點被指定為,則樹被稱為有根樹,在這種情況下,邊具有自然的定向,朝向遠離根。樹序是樹頂點的偏序關係,其中uv 當且僅當從根到v 的唯一路徑經過u。如果某個圖G 的子圖是有根樹,並且G 中的每條邊的端點在該樹序中都是可比較的,那麼這個有根樹就是正常樹

在有根樹中,頂點的父節點是連線到它的通往根的路徑上的頂點;除根之外的每個頂點都只有一個父節點。頂點v子節點是指以v 為父節點的頂點。

在有根樹中,所有頂點最多隻有一個父節點。

完全圖

[編輯 | 編輯原始碼]

完全圖是指所有頂點對都由邊連線的圖。具有 個頂點的完全圖表示為

任何包含與 同構的子圖的圖都是非平面的。

練習:平面性
  • 可以畫在環面上嗎?
  • 可以畫在克萊因瓶的表面上嗎?


練習:子圖和同構
  • 中包含了多少個不同的 的副本?
  • 有多少個 自同構

二部圖

[編輯 | 編輯原始碼]

如果圖 的頂點集 可以被劃分為兩個不相交的子集,使得對於每條邊 位於相反的子集中,那麼這個圖就是二部圖

此外,一個圖是二部圖當且僅當它不包含奇環。

證明

是一個任意的、固定的圖,它包含一個奇環。

是二部圖 不包含奇環

為了反證法,假設 包含一個奇環。
是兩個不相交的子集,它們在 上形成二部劃分。
選擇一個奇數環 中,並且,不失一般性地,選擇一個節點 來自 。從 開始遍歷 ,注意根據二分圖的定義,每個節點都在與它的鄰居不同的子集中
遍歷的最後一個節點,,必須在 中,因為 是一個奇數環。然而, 相鄰,根據環的定義,這與 包含兩個相鄰節點相矛盾,所以 不能包含奇數環。
由於我們已經查看了任意的 ,並且不失一般性地從 中選擇了 ,我們已經證明了蘊含關係。

不包含奇數環 是二分圖

我們提供一個演算法將節點排序成兩個不相交的集合。
  • 固定一個任意節點
  • 對於圖中的每個節點 ,計算從 的最短路徑。
  • 為節點集合,使得從 的最短路徑分別為偶數和奇數。
為了證明該演算法的正確性,我們不妨僅考慮集合
假設存在兩個相鄰的節點 。設 分別表示從 的最短路徑。
  • 如果 不相交,則 構成一個奇數長度的環,因為 顯然具有相同的奇偶性,這與假設矛盾。
  • 如果 相交,我們選擇與 最近的交點 。注意 不能是 ,因為從 的最短路徑不會有相同的奇偶校驗。觀察到 的距離必須相同,否則到 的最短路徑將穿過另一個節點。然而,這是一個矛盾,因為 將是一個奇數環。
因此, 中的任何兩個節點都不能相鄰,並且由於我們無損一般性地考慮了 ,我們已經證明了演算法的正確性,因此反向蘊涵也成立。

完全二部圖

[edit | edit source]

完整二分圖 是一個圖,它由兩個不相交的子集 組成,它們的基數分別為 ,使得 包含 中每個節點和 中每個節點之間的邊。

華夏公益教科書