圖論中，無向圖的樹寬（treewidth）是描述圖與樹的距離的正整數。樹寬為 1 的圖就是樹或森林。樹寬不大於 2 的圖叫做系列並行圖。樹寬恰為 k 的最大圖稱作 k 樹，樹寬不大於 k 的圖稱作部分 k 樹。很多有充分研究的圖族的樹寬也是有界的。 樹寬可用幾種等價方式正式定義：圖的樹分解中最大頂點集的大小、圖的弦補全中最大團的大小、描述圖上追逃對策的港的最大階數、刺藤（bramble，相互接觸的連通子圖的集合）的最大階數。 樹寬常用作圖演算法的引數複雜性分析中的引數。對一般圖 NP 困難的許多演算法，將樹寬固定於常數時就變得容易了。 樹寬的概念最初由提出，叫做 維度（dimension）。後來，根據樹寬和哈德維格數的共同屬性，重新發現了樹寬。又重新發現了樹寬，自此才獲得了學界的關注。 定義 圖 GV E 的樹分解是結點為 X_1 dots X_n 的樹 T，其中 X_i 都是 V 的子集，滿足下列性質 section 123（為避免與 G 的頂點混淆，結點 僅指樹 T 的頂點）： bigcup_i X_iV 即，圖頂點至少包含在一個樹結點中。 若 X_i X_j 共同包含頂點 v，則在 X_i 到 X_j 的（唯一）路徑上，T 的所有結點 X_k 也都包含 v。即，包含頂點 v 的樹結點構成 T 的連通子樹。 對圖中每條邊 v w，存在同時包含 v、w 的子集 X_i。即，只有當相應的子樹有共同結點時，圖頂點才是相鄰的。 樹分解的寬是其最大集 X_i 的大小減一。圖 G 的樹寬 rm twG 等於 G 的樹分解的最小寬度，按這定義，最大集的大小減一，樹的樹寬才能等於一。 等價地，G 的樹寬等於團數最小的含 G 弦圖中最大團的大小減一。在 G 中屬於 X_i 的兩頂點間新增一條邊，就可得到團大小相符的弦圖。 樹寬也可用港描述，其是在圖上定義的追逃對策中逃逸策略的函式。若有至多 k1 階的港 函式 beta，將 G 中最多 k 個頂點的集合 X 對映到 Gbackslash X 的一個連通分量中，並且具有 Xsubseteq YRightarrow beta Ysubseteqbeta X 的單調性，就稱圖 G 的樹寬為 k。 使用刺藤（bramble）也可做出類似描述。刺藤是指一族相互接觸的連通子圖（即共享一個頂點，或由一條邊連線）。 刺藤的階數是子圖族的最小命中集（hitting set），圖的樹寬等於刺藤最大階數減一。 例子 完全圖 K_n 的樹寬為 n1。這用樹寬的弦圖定義很容易看出來：完全圖已經是弦圖，新增更多邊不能減小最大團的大小。 當且僅當至少 2 頂點的連通圖是樹，連通圖的樹寬為 1。樹的樹寬為 1，與完全圖同理（即它已經是弦圖，且最大團大小為 2）。反之，若圖中有迴圈，則所有弦補全都至少包括一個由迴圈的 3 個連續頂點組成的三角形，由此可見其樹寬至少為 2。 有界樹寬 有界樹寬圖族 樹寬不大於常數 k 的圖稱作部分 k 樹。其他具有有界樹寬的圖族，有仙人掌圖、偽森林、系列並行圖、外平面圖、哈林圖、阿波羅尼奧斯網路等。 在結構化程式設計的編譯階段出現的控制流圖，樹寬也是有界的，使暫存器配置之類任務可在其上高效執行。 平面圖的樹寬不一定有界，因為 ntimes n 格圖是樹寬恰為 n 的平面圖。於是，若 F 是樹寬有界的子式閉圖族，則它不可能包含所有平面圖。反之，若某平面圖不能作為 F 族中圖的子式出現，則存在常數 k，使 F 中所有圖的樹寬不大於 k。即，以下 3 個條件等價： F 是樹寬有界圖的子式閉圖族； 表徵了 F 的有限多禁子式（forbidden minor）中，有一個是平面的； F 是不含平面圖的子式閉圖族。 禁子式 對每個有限值 k，樹寬不大於 k 的圖都可用禁子式的有限集表示（即，任意樹寬大於 k 的圖，都包含集合中的一個圖作為子式）。每個這樣的禁子式集都包含平面圖。 對於 k1，唯一的禁子式是 3 頂點迴圈圖。 對於 k2，唯一的禁子式是 4 頂點完全圖 K_4。 對於 k3，有 4 個禁子式：K_5、八面體圖、五稜柱圖、瓦格納圖。其中兩個多面體圖是平面圖。 對更大的 k，禁子式的增長速度不小於 k 的平方根指數。但已知的禁子式的大小與數量的上界遠高於這個下界。 演算法 計算樹寬 判斷給定圖 G 的樹寬是否不大於給定值 k 的問題，是 NP 完全的。而當 k 為任意固定常數時，可線上性時間內識別出樹寬為 k 的圖，併為之構造出樹寬為 k 的樹分解。 這演算法的耗時對 k 是指數級的。 由於樹寬在眾多領域中的作用，人們開發了計算樹寬的各種演算法。根據具體的應用，我們可以選擇更好的近似率，或執行時間與輸入或樹寬大小更相關的演算法。 下表概述了一些樹寬演算法。其中，k 是樹寬，n 是輸入圖 G 的頂點數。每種演算法都能在 f kcdot g n 的時間內輸出寬度等於 近似 欄中的分解圖。例如，的演算法在 2O k3cdot n 時間內，要麼為輸入圖 G 構建樹寬不大於 k 的樹分解，要麼報告 G 的樹寬大於 k。相似地，的演算法在 2O kcdot n 時間內，要麼為輸入圖 G 構建樹寬不大於 5k4 的樹分解，要麼報告 G 的樹寬大於 k。在同樣執行時間內，將其改進到 2k1。 近似 f k g n 參考文獻 精確 O 1 O nk2 4k3 O 33k O n2 8k7 2O klog k nlog2n 5k4text 或 7k6 2O klog k nlog n 精確 2O k3 O n O left k cdot sqrt log k right O 1 nO 1 45k4 23k n2 frac 113 k4 236982k n3log4n 精確 O 1 O 17347n 3k2 2O k O nlog n 5k4 2O k O n k2 O k7 O nlog n 5k4 28765k O nlog n 2O k 2O k O n 5k4 26755k O nlog n 精確 2O k2 n4 1varepsilon k kO kvarepsilon n4 目前還不知道確定平面圖樹寬的問題是不是 NP 完全的，也不知道其樹寬能否在多項式時間內計算出來。 實踐中，的演算法可以確定頂點數最多為 100、樹寬最多為 11 的圖的樹寬，並以最優樹寬找到這些圖的弦補全。 對更大的圖，可以用基於搜尋的技術，如分支定界搜尋（BnB）與最佳優先搜尋，以計算樹寬。它們是任意時間演算法，提前停止時會輸出樹寬的上界。 第一個計算樹寬的 BnB 演算法叫做 QuickBB 演算法，是 Gogate 與 Dechter 提出的。BnB 演算法的質量在很大程度上取決於所用下限的質量，Gogate 與 Dechter 還提出了一種計算樹寬下界的新演算法，稱作 minorminwidth。圖的樹寬絕不大於最小度數或其圖子式，minorminwidth 演算法利用這一事實，在高層次上得出了樹寬的下界。minorminwidth 演算法透過收縮最小度頂點與鄰頂點間的邊，反覆構造圖子式，直到僅剩一個頂點。所構造子式中，最小度的最大值是圖樹寬的下界。 Dow、Korf 使用最佳優先搜尋改進了 QuickBB 演算法，在某些圖上快了一個數量級。 解小樹寬圖上的其他問題 20 世紀 70 年代初，人們發現，只要圖的 維度 有界，就可透過非序列動態規劃，高效解決一大類定義在圖上的組合最佳化問題。的研究表明，維度 等同於樹寬。後來，多名學者在 80 年代末獨立觀察到， 很多對任意圖來說 NP 完全的問題，對樹寬有界的圖來說，可用動態規劃，利用樹分解高效解決。 舉例來說，k 樹寬圖的著色問題可透過對樹分解使用動態規劃演算法解決。將 X_i（樹分解的所有集合）的頂點劃分為顏色類，演算法會結合儲存在結點的相似類資訊確定著色是否有效、擴充套件到樹分解中所有的子結點。由此產生的演算法能在 O kkO 1 n 時間內找到 n 頂點圖的最優著色，這個時間約能束使問題固定引數可解。 古賽爾定理 對於一大類問題，如果提供具有有界常值樹寬的樹分解，就可用線性時間演算法求解。具體來說，古賽爾定理；指出，若圖問題可用一元二階邏輯表為圖的邏輯，就可在樹寬有界圖上用線性時間求解。一元二階邏輯是一種描述圖屬性的語言，有下列結構： 邏輯運算，如 wedge vee neg Rightarrow 成員檢驗，如 ein E vin V 對頂點、邊、頂點集和 或邊集的量詞，如 forall vin V exists ein E exists Isubseteq V forall Fsubseteq E 鄰接檢驗（如 u 是 e 的端點），及一些允許最佳化的擴充套件。 例如，考慮 3 著色問題。對圖 GV E，此問題是說，有沒有可能為每個頂點 vin V 分配 3 種顏色中的一種，使得相鄰頂點總被分配不同顏色。 這個問題用一元二階邏輯表為： exists W_1 subseteq V exists W_2 subseteq V exists W_3 subseteq V forall v in V v in W_1 vee v in W_2 vee v in W_3 wedge forall v in V forall w in V vw in E Rightarrow neg v in W_1 wedge w in W_1 wedge neg v in W_2 wedge w in W_2 wedge neg v in W_3 wedge w in W_3 其中 W_1 W_2 W_3 分別代表 3 種顏色的頂點子集。於是，根據古賽爾定理，對具有有界常值樹寬的樹分解的給定圖，3 著色問題可線上性時間內求解。 相關引數 徑寬 圖的徑寬也是經過樹分解定義的，不過其底樹是徑圖，也可透過區間圖定義，類似於由弦圖定義樹寬。因此，圖的徑寬總不小於樹寬，但只能比樹寬大一個對數因子。另一個引數是頻寬，其定義與緊合區間圖類似，徑寬是其下界。其他相關引數還有樹深，當且僅當子式閉圖族中包含路徑時有界；以及退化度，這是衡量圖稀疏程度的指標，最多等於樹寬。 格子式大小 由於 ntimes n 格圖的樹寬為 n，圖 G 的樹寬總大於等於 G 的最大方格子式的大小。在另一個方向上，Robertson 與 Seymour 的格子式定理表明，存在無界函式 f 使得最大方格子式的大小至少為 f r，其中 r 是樹寬。Robertson Seymour Graph minors V Excluding a planar graph f 的已知最佳區間：對某常數 d0，下界為 Omega rd，上界為 O left sqrt r log r right 關於下界中的 Ω 記號，見大 O 符號。對有約束的圖族，區間也更嚴。雙維理論為這些圖族上的很多圖最佳化問題提供了高效演算法。 哈林格定理提供了無限圖的樹寬與格子式大小關係的類比。 直徑與區域性樹寬 若圖族 F 在取子圖下封閉，其中圖的樹寬有以直徑為函式的上界，則稱它們具有有界區域性樹寬或直徑樹寬性。若假設該族在取圖子式下也封閉，則當且僅當 F 的一個禁子式是頂點圖（apex graph），F 才有有界的區域性樹寬。這一結果的最初證明顯示，無頂點子式圖族的樹寬作為直徑的函式，最多呈 2 倍指數增長； 後來降為單倍指數增長，最後抵達線性的界。有界區域性樹寬與雙維理論密切相關， 一階邏輯中可定義的圖屬性都可用略微超線性的時間來決定一個無頂點子式圖族。 對取子式不封閉的圖族，也有可能具有有界的區域性樹寬。特別是對一族有界度圖來說，這是一定成立的，因為有界直徑子圖的大小有界。另一個例子是 1 平面圖，即可在平面上繪製的、每條邊有 1 交叉的圖，以及更廣義地說，可在虧格有界的曲面上繪製的、每條邊有一定交叉點的圖。與區域性樹寬有界的子式閉圖族一樣，這一特徵為圖的高效近似演算法指明瞭方向。 哈德維格數與 S 函式 定義了一類叫做 S 函式 的圖引數，其中包括樹寬。這些函式從圖對映到整數，無邊圖對映到 0，具有子式單調性（若對函式 f、G 的子式 H，總有 f Hle f G，則稱 f 是 子式單調 的），在與所有現有頂點相鄰的位置新增新頂點時，函式值加 1，並從團分隔兩側的兩子圖中取較大值。所有此種函式的集合在逐元素最小、最大化運算下，形成了完全格，當中的頂元素是樹寬，底元素是哈德維格數，即給定圖中最大完全子式的大小。 註釋 參考文獻 Category 圖論 Category 圖常量