某道图论题中的数学原理

参考博客。一句话解释:图的回路空间与割空间互为正交补。

  • 边空间:即幂集 \(2^{E}\),可视为 \(\mathbb{GF}(2)\) 上的线性空间。
  • 回路空间:使得每个点的度数为偶数的边集的子集。可视为 “边空间” 的子空间,记为 \(\mathcal C\)
  • 割空间:所有 \(\{(u,v):u\in S,\;v\notin S\}\),其中 \(S\subseteq V\) 。也可以视为 “边空间” 的子空间,记为 \(\mathcal D\)
    Proof. 注意到 \(S\) 的割边集就是 \(S\) 内每个点的邻边集的对称差,因此 \(\mathcal D\)\(\oplus\) 封闭。\(\blacksquare\)

给出图的任意生成树 \(T\) 。有如下性质。

  • 非树边 \((a,b)\)\(T\)\(a\leadsto b\) 的路径的并集被称为 “基环”。则所有 “基环” 构成 \(\mathcal C\) 的基。
  • 任意给 \(T\) 定根,\(T\) 的子树 \(S\) 对应的割被称为 “基础割”。则所有 “基础割” 构成 \(\mathcal D\) 的基。
  • 内积 \(E_1\cdot E_2=|E_1\cap E_2|\bmod 2\),毕竟基域为 \(\mathbb{GF}(2)\) 。则 \(\forall c\in\mathcal C,d\in\mathcal D\)\(c\cdot d=0\)
    Proof. 根据割 \(d\) 构造二部图,显然环 \(c\) 必须经过 “边界线” 偶数次。\(\blacksquare\)
  • 边集 \(x\subseteq E\) 满足 \(x\in\mathcal D\) 当且仅当 \(\forall c\in\mathcal C\)\(x\cdot c=0\) 。——即 \(\mathcal D\)\(\mathcal C\) 的正交补。

Proof. 注意到 \(\dim\mathcal C=|E|-|V|+1\)\(\dim\mathcal D=|V|-1\),二者都在 \(\dim=|E|\) 的 “边空间” 内,由上一条知 \(\mathcal D\) 恰为 \(\mathcal C\) 的正交补。\(\blacksquare\)

课后习题:试证明,边空间是 \(\mathcal C\)\(\mathcal D\) 的直和,当且仅当生成树数量为奇数。按:我不会。


回到原题上,需判定是否有 \(d\subseteq x\) 满足 \(d\in\mathcal D\) 。设 \(S_x\) 为哪些基环与 \(x\) 的内积为 \(1\),则条件等价于 \(\exists d\subseteq x\) 使得 \(\bigoplus_{i\in d}S_i=\varnothing\) 。相当于询问集合内的元素是否都成对出现。

于是有经典做法:给每个元素赋随机权 \(\omega_x\),令 \(\omega(S):=\bigoplus_{i\in S}\omega_i\),则 \(\bigoplus_{i}\omega(A_i)=0\)\(\bigoplus_{i}A_i=\varnothing\) 可以被认为是相同的(单次错判的概率是 \(2^{-k}\) 其中 \(k\)\(\omega_x\)\(\rm bit\) 长度)。然后只要检测是否线性无关。

\(e\) 是树边时,\(S_e\) 就是 “经过 \(e\) 树边” 的非树边对应的基环;当 \(e\) 是非树边时,\(S_e\) 就是 \(e\) 对应的基环。因此可以用树上差分求出所有 \(\omega(S_x)\) 了。

时间复杂度 \(\mathcal O(n+qk+q\log_2{1\over\epsilon})\),其中 \(\epsilon\) 是被容许的错误率,如 \(10^{-18}\)


\(\rm matroid\) 出发,可以得到相同的结论。目标是判断 \(x\) 是否在图拟阵的对偶拟阵中独立。

根据拟阵相关知识,我们知道图拟阵是正则拟阵,可以在 \(\mathbb{GF}(2)\) 上被线性表出。任取生成树 \(T\),设其为前 \((n{-}1)\) 条边,则 \((n{-}1)\times m\) 的线性表出矩阵 \(A\) 满足:前 \((n{-}1)\times(n{-}1)\) 方阵是 \(I\),后 \((m{-}n{+}1)\) 列上每列为 \(1\) 的元素是与该非树边构成环(“基环”)的树边。

因此 \(\mathcal M^\ast\)\((n{-}m{+}1)\times m\) 线性表出矩阵为:前 \((n{-}1)\) 列上,每列为 \(1\) 的元素是与该树边构成基环的非树边(即 “经过该树边” 的非树边基环),后 \((m{-}n{+}1)\times(m{-}n{+}1)\) 方阵是 \(I\)

不难发现这和上面的结论是相同的。

posted @ 2022-07-13 09:43  OneInDark  阅读(100)  评论(0编辑  收藏  举报