弦图 学习笔记

2025-10-16 23:31:43

弦图 学习笔记

定义

弦图中任意 \(k\ge 4\) 阶环都有弦,等价于对于任意导出子图都不是 \(k\ge 4\) 阶环。

单纯点

单纯点的邻域是团。

完美消除序列(aka peo)

点的排列,使得 \(\forall i, v_i\) 在 \(\{v_i, v_{i + 1}, ..., v_n\}\) 的诱导子图中是单纯点。

点割集

\((u, v)\) 的点割集是点集,使得删除点割集之后的诱导子图中 \(u, v\) 不连通。

性质

弦图的诱导子图是弦图(Lemma 1)。

弦图中 \((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\) 无边则不是弦图,得证。

弦图有至少一个单纯点,且非完全图有至少 2 个不相邻单纯点(Lemma 3)。

证明:

归纳。

任取不相邻 \(u, v\),由于对称,证明 \(V_1\) 有一个单纯点即可。

如果 \(V_1\) 是团,显然成立,否则根据归纳假设,\(V_1\cup A\) 中有二不相邻单纯点,其中必有一个在 \(V_1\) 中,证毕。

图 \(G\) 是弦图当且仅当 \(G\) 拥有完美消除序列。

证明:必要性显然。

充分性:根据 Lemma 1,3,不断选取弦图中的单纯点即可。

求完美消除序列

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是无限序列,假设不成立,得证。

MCS 算法

每次选取邻域被确定点最多的点。

可以简单地用优先队列带个 log 或用桶做到线性。

判定弦图

定义 \(u\) 邻域为 peo 在 \(u\) 后面且与 \(u\) 相邻的点集。

求出完美消除序列,从后往前类似归纳地每次对于一个点 \(u\),选择它最近的邻域点,判断此点邻域是否被 \(N(u)\) 包含。

NP-Hard 问题在弦图上的解决

最大团,\(\omega(G)\)

色数,\(\omega(G) \le X(G)\)

最大独立集,\(\alpha (G)\)

最小团覆盖,\(\alpha(G)\le K(G)\)。

在弦图中这些不等式都取等号。

色数

从后往前对peo贪心,每点颜色取邻域色 \(\text{mex}\)。

最大独立集

从前往后对peo贪心,每次给邻域打标记。

求所有极大团

观察:极大团是 \(v\cup N(v)\) 形式的。

则考虑标记非极大团。

对于 \(u\),定义 \(C(u) = u\cup N(u)\),若 \(\exists v, v < u, C(v)\supseteq C(u)\),则 \(u\) 非极大团。

等价于 $\exists w, w < u, u = \text{arcmin} N(w), C(w)\supseteq C(u) $,则 \(u\) 非极大团。

等价于 \(\exists w, w < u, u = \text{arcmin} N(w), |N(w)| = |N(u)| + 1\),则 \(u\) 非极大团。

根据以上引理可以得到求出所有极大团的线性算法,即从前往后扫,打标记。