弦圖 學習筆記

MoyouSayuki發表於2024-07-24

弦圖 學習筆記

定義

弦圖中任意 \(k\ge 4\) 階環都有弦,等價於對於任意匯出子圖都不是 \(k\ge 4\) 階環。

單純點

單純點的鄰域是團。

完美消除序列(aka peo)

點的排列,使得 \(\forall i, v_i\)\(\{v_i, v_{i + 1}, ..., v_n\}\) 的誘導子圖中是單純點。

點割集

\((u, v)\) 的點割集是點集,使得刪除點割集之後的誘導子圖中 \(u, v\) 不連通。

性質

  1. 弦圖的誘導子圖是弦圖(Lemma 1)。
  2. 弦圖中 \((u, v)\) 的極小點割集 \(A\) 是團(Lemma 2)。

證明:

設刪去點割集之後 \(u, v\) 所在連通塊是 \(V_1, V_2\)

觀察:點割集中任意點與 \(V_1, V_2\) 有連邊(否則可以刪去此點)。

對於點割集中任意兩點 \(x, y\),存在 \(x_1, y_1\in V_1\) 且與 \(x, y\) 相鄰,同理 \(x_2, y_2\)

則找到 \(x_1 \rightarrow y_1, y_2\rightarrow x_2\) 的最短路,此時形成環,若 \(x, y\) 無邊則不是弦圖,得證。

  1. 弦圖有至少一個單純點,且非完全圖有至少 2 個不相鄰單純點(Lemma 3)。

證明:

歸納。

任取不相鄰 \(u, v\),由於對稱,證明 \(V_1\) 有一個單純點即可。

如果 \(V_1\) 是團,顯然成立,否則根據歸納假設,\(V_1\cup A\) 中有二不相鄰單純點,其中必有一個在 \(V_1\) 中,證畢。

  1. \(G\) 是弦圖當且僅當 \(G\) 擁有完美消除序列。

證明:必要性顯然。

充分性:根據 Lemma 1,3,不斷選取弦圖中的單純點即可。

求完美消除序列

  1. LEX-BFS 演算法

從後往前確定 peo,先隨便選一個點作為 BFS 起點,然後每次選取一個點,使得它鄰域中已確定 peo 的點的 peo 字典序最大。

需要用點集分裂的思想,維護連結串列套連結串列,可以做到 \(O(n + m)\)

正確性證明:

如果對於 \(i\) 的鄰點 \(i_1, i_2\) 他們的 peo 在 \(i\) 後面,假設 \(i_1, i_2\) 無邊。

則一定存在 \(i_3\) 使得與 \(i_1\) 相鄰而不與 \(i\) 相鄰,此時 \(i_2, i_3\) 無邊否則非弦圖,則可以如此構造下去,peo是無限序列,假設不成立,得證。

image-20240724213915222

  1. MCS 演算法

每次選取鄰域被確定點最多的點。

可以簡單地用優先佇列帶個 log 或用桶做到線性。

判定弦圖

定義 \(u\) 鄰域為 peo 在 \(u\) 後面且與 \(u\) 相鄰的點集。

求出完美消除序列,從後往前類似歸納地每次對於一個點 \(u\),選擇它最近的鄰域點,判斷此點鄰域是否被 \(N(u)\) 包含。

NP-Hard 問題在弦圖上的解決

  1. 最大團,\(\omega(G)\)
  2. 色數,\(\omega(G) \le X(G)\)
  3. 最大獨立集,\(\alpha (G)\)
  4. 最小團覆蓋,\(\alpha(G)\le K(G)\)

在弦圖中這些不等式都取等號。

  1. 色數

從後往前對peo貪心,每點顏色取鄰域色 \(\text{mex}\)

  1. 最大獨立集

從前往後對peo貪心,每次給鄰域打標記。

  1. 求所有極大團

觀察:極大團是 \(v\cup N(v)\) 形式的。

則考慮標記非極大團。

對於 \(u\),定義 \(C(u) = u\cup N(u)\),若 \(\exist v, v < u, C(v)\supseteq C(u)\),則 \(u\) 非極大團。

等價於 $\exist, w, w < u, u = \text{arcmin} N(w), C(w)\supseteq C(u) $,則 \(u\) 非極大團。

等價於 \(\exist, w, w < u, u = \text{arcmin} N(w), |N(w)| = |N(u)| + 1\),則 \(u\) 非極大團。

根據以上引理可以得到求出所有極大團的線性演算法,即從前往後掃,打標記。

相關文章