本文的閱讀等級:高級
令 為一無向圖,其中
是頂點 (vertex) 集合,
是邊 (edge) 集合,頂點數
稱為圖
的階 (order)。每一條無向邊 (以下簡稱邊) 有兩個頂點為其端點 (endpoint)。因此,一邊
定義為
中兩頂點
和
組成的集合或無序對,記為
,我們稱頂點
和
鄰接 (adjacent),並稱頂點
和
與邊
有關聯 (incident)。以下考慮簡單圖,意思是不存在自環 (self-loop),即一邊的兩端點為同一頂點,並且不存在重邊 (multiedge),即任意兩相異頂點至多僅存在一連接邊。若一圖的任兩頂點之間存在一序列鄰接頂點構成的連通路徑 (path),則稱為連通圖 (connected graph)。若
且
,我們說
是圖
的一個子圖 (subgraph)。圖
的一個連通元件是指子圖
為一連通圖,但任意
和
之間不存在連通路徑。如果
是一個不含迴圈 (cycle) 的連通圖,則稱為一棵樹 (tree)。換一個說法,
是一棵樹的一個等價條件為
是連通圖且
。給定一連通圖
,最小生成樹 (minimal spanning tree) 是一個連通子圖
且
。若
不是連通圖,則不存在最小生成樹。標記頂點 (labeled vertex) 是指每一頂點都有一個識別記號 (例如
或
),具有標記頂點的圖稱為標記圖。本文討論一個經典的圖論問題:給定一簡單連通標記圖
,共有多少棵不同的最小生成樹?這個問題的答案稱為克希荷夫矩陣─樹定理 (Kirchhoff’s matrix-tree theorem)。下面介紹一個優美的線性代數證明,預備知識包括量空間分析、行列式、特徵值與特徵向量。
對應 階圖
,
,鄰接矩陣 (adjacency matrix)
為一
階矩陣,定義如下:
若
,否則
(見“線性代數在圖論的應用 (一):鄰接矩陣”)。因為
是簡單圖,每一
。明顯地,
,
是一對稱矩陣。對於頂點
,分支度 (度數,degree)
是與
有關聯的邊數,或者說與
鄰接的頂點數,即鄰接矩陣
的第
列 (row) 和,
。對應圖
,
稱為拉普拉斯矩陣 (Laplacian),其中
稱為分支度矩陣。因為
和
是對稱矩陣,
是對稱矩陣。拉普拉斯矩陣
的主對角元
等於頂點
的分支度
,非主對角元
若頂點
與
鄰接,否則
。見下例:
,其中
,
。
對應此 4 階圖的鄰接矩陣 、分支度矩陣
和拉普拉斯矩陣
分別是
。
拉普拉斯矩陣 具有下列性質 (見“線性代數在圖論的應用 (三):拉普拉斯矩陣”):
是半正定矩陣 (特徵值必不為負數),最小的特徵值為
,對應特徵向量
(由
的每一列和皆為零即可確認),且特徵值
的重數等於
的連通元件數。因為
是實對稱矩陣,故可正交對角化,推論
等於非零特徵值數 (見“幾何重數不大於代數重數的證明”)。因此,若
為一
階連通圖,則
的特徵值
的重數為
,即有
。若
不是連通圖,則
的特徵值
的重數大於
,即有
。我們將這個結論寫入定理一。
定理一:對於一 階圖
,沿用前述記號,若
,則
是連通圖;若
,則
不是連通圖。
給定一無向簡單圖 ,對於每一
,任意指定
為邊
的起始頂點,
為邊
的終止頂點。設
且
。我們定義圖
的
階有向關聯矩陣 (oriented incidence matrix)
,其中
若
是邊
的起始頂點,
若
是邊
的終止頂點,
若
不是邊
的一個端點 (見“線性代數在圖論的應用 (二):關聯矩陣”)。上例 4 階圖
的一個有向關聯矩陣為
。
定理二:對於一 階圖
,
。
有向關聯矩陣 的每一列有兩個非零元,
和
,
的第
行 (column) 的非零元的列指標對應與頂點
有關聯的邊。因為
的
元,記為
,是
的第
行與第
行的內積,故
等於頂點
的分支度
,且當
,
若
,否則
。所以,
。這個結果與下述事實相符:任一
階實對稱半正定矩陣
可分解為
,其中
是
階實矩陣,
(見“半正定矩陣的判別方法”)。
我們知道 階圖
的最小生成樹
必須滿足兩個條件:
是一個連通圖且
。在不造成混淆的情況下,以
代表子圖
,並約定
。因此,
是一最小生成樹的充要條件是
是一連通圖。令
為子圖
的拉普拉斯矩陣,其中
是
階有向關聯矩陣。定理一與定理二表明子圖
是
的一最小生成樹等價於
。考慮子圖
,
,如下所示:
對應 的
階有向關聯矩陣為
。
不難確認 ,故
是一最小生成樹。再看
,
,如下:
對應 的有向關聯矩陣為
,
其中第 2 列等於第 1 列與第 3 列的和,可知 ,故
不是最小生成樹。
計算 的矩陣秩固然得以判定
是否為一最小生成樹,但我們冀望更簡單的算法。因為
的每一列有兩個非零元,
和
,
維常數向量
滿足
,或表示為
,其中
代表
的第
個行向量。對於任一
,
可寫成其餘
個行向量的線性組合,即
,說明
的行空間為
。若
,則
的任何
個行向量組成一線性獨立集。反之,若
,則
的任何
個行向量組成一線性相關集。我們可以從
階矩陣
隨意選取
個行向量構造一個
階方陣,記為
。若
,則
是最小生成樹;若
,則
不是最小生成樹。還有一個小問題:如果
是最小生成樹,
的數值是多少?此數值是否隨著選取不同的
個行向量而改變?以前述最小生成樹
為例,使用基本列運算的取代、交換,並僅允許乘入
或
至各列,可得梯形矩陣:
上面 表示列等價 (row equivalent)。基本列運算將
轉換至梯形矩陣
的實際作為是移動
的邊使之成為一道路圖 (path graph)
,記為
,其中
,
。基本列運算不改變矩陣秩,故
,可知
是一個最小生成樹。不僅如此,我們使用限制乘數為
的基本列運算不改變
的大小,僅可能變更
的正負號,也就是說,
。明顯地,刪去梯形矩陣
的任何一個行向量後得到的方陣
是三角矩陣,且主對角元為
或
。因此,不論如何選取
的
個行向量,
。
定理三:對於一 階圖
,子圖
滿足
,
是
的任何一個
階子陣。若
,則
是一最小生成樹;若
,則
不是最小生成樹。
回到本文的問題,簡單連通標記圖 有多少個不同的最小生成樹?令
表示圖
的最小生成樹總數。令
表示每一元為
的常數矩陣,也就是說
,其中
。定理四說拉普拉斯矩陣
的伴隨矩陣 (adjugate,classical adjoint)
是一常數矩陣,每一元皆為
。
定理四:對於一標記圖 ,
。
下面是一些有用的伴隨矩陣性質 (見“伴隨矩陣”):令 和
是
階矩陣。
- 若
,則
。
- 若
,則
。
我們先證明 ,其中
是實數。設
是一
階簡單圖。若
是非連通圖,則
,因此
,即
(
)。若
是連通圖,則
。因為
,
可知 的每一行屬於
的零空間
。但
且
,推得
。所以,
的每一行可表示為
的倍數。又
是對稱矩陣,
也是對稱矩陣。以上結果可推論
。
剩下來的問題是計算 。伴隨矩陣
的
元等於
的
元的餘因子 (cofactor),即
,
其中 代表移除
的第
列和第
行之後得到的
階方陣。因為
,
,可考慮
,其中
,
代表刪除有向關聯矩陣
的第
行所得到的
階子陣。利用 Cauchy-Binet 公式 (見“Cauchy-Binet 公式”),
,
其中 表示從
個列選取
個的組合 (列指標集),共有
種選取方式,
是從
挑選對應
的
個列所形成的方陣。套用定理三,推得
,證畢。
繼續討論前,先看一個問題:包含 個頂點的標記樹共有多少個?答案是
,稱為 Cayley 公式。我們曾經介紹德國數學家普呂弗 (Heinz Prüfer) 提出的證明 (見“電影《心靈捕手》的數學問題 (三)”),下面說明如何利用定理四證明 Cayley 公式。每一個包含
個頂點的標記樹與
階完全圖 (complete graph) 的最小生成樹有一對一的對應關係 (完全圖是指任意兩相異頂點皆有一邊連接)。考慮等價的問題:
階完全圖,記為
,共有多少個最小生成樹?完全圖
的拉普拉斯矩陣為 (見“線性代數在圖論的應用 (三):拉普拉斯矩陣”)
。
這種特殊形態的矩陣稱為組合矩陣 (combinatorial matrix),一般形式如下:
。
若 是
階,則伴隨矩陣為 (見“特殊矩陣 (17):組合矩陣”)
。
代入 ,
,就有
,即得 Cayley 公式
。
定理四可推演出 的簡明公式,稱為克希荷夫矩陣─樹定理。
克希荷夫矩陣─樹定理::對於一 階簡單標記圖
,
。
使用 和
,寫出
等號兩邊取伴隨矩陣,左邊是
右邊是 (套用定理四) 。合併可得
。
等號兩邊左乘 ,
,繼續化簡為
,
比較 的係數即證明所求。
下面給出 的另一個表達式。考慮
階連通圖
,令
的非零特徵值為
。因為
是實對稱矩陣,所有的特徵向量
組成一正交集,其中
,且
,
。因此,
,且
,
。合併以上結果,
的特徵值為
,可知
,故圖
的最小生成樹總數為
。
最後我們計算前例 4 階圖的最小生成樹數。寫出
,
則 。另外,
的非零特徵值為
,由此亦可得
。讀者不妨自行畫出所有的最小生成樹。