图论中的收缩与平面性测试算法
1. 图收缩问题
1.1 分裂图收缩判断
对于固定图 $H$,判断给定分裂图 $G$ 是否能收缩到 $H$ 这一问题可在多项式时间内解决。具体分析如下:
设 $G$ 是具有分裂划分 $(C_G, I_G)$ 的分裂图,且 $G$ 是 $H$ - 可收缩性问题的输入图。由于收缩分裂图的任何边都会得到另一个分裂图,所以 $G$ 能收缩到图 $H$ 的必要条件是 $H$ 是分裂图且 $|V(G)| \geq |V(H)|$,这可在与 $H$ 大小成线性关系的时间内检查,因为 $H$ 大小是常数。
假设 $H$ 是分裂图,其分裂划分为 $(C_H, I_H)$。根据引理,$G$ 能收缩到 $H$ 当且仅当 $G$ 包含一个 $H$ - 兼容集。$I_G$ 中基数为 $|I_H|$ 的不同子集数量为 $\binom{|I_G|}{|I_H|} \leq |V(G)|^{|I_H|}$。对于每个这样的子集,根据引理 3 可在 $f(|V(H)|) \cdot |V(G)|^3$ 时间内测试其是否为 $H$ - 兼容。因为图 $H$ 是固定的,所以能在关于 $|V(G)|$ 的多项式时间内判断 $G$ 是否能收缩到 $H$。
1.2 收缩算法流程
以下是判断 $U$ 是否为 $H$ - 兼容集的算法流程:
1. 对于集合 $B$ 中的元素 $M$:
- 检查 $M$ 是否满足属性 (iv) 和 (v)。
- 若满足,则 $M$ 是 $U$ 的基本集合,算法得出 $U$ 是 $H$ - 兼容的结论。
- 若不满足,取消 $C_G$ 中所有顶点的标记($I_G \setminus
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



