优化近似界限与图问题复杂度研究
在计算机科学和图论领域,有两个重要的问题值得深入探讨,一个是 MAX - SPA - P 问题的近似算法优化,另一个是生成树拥塞问题的复杂度分析。下面我们将详细介绍这两个问题的相关内容。
1. MAX - SPA - P 问题的近似算法
MAX - SPA - P 问题旨在寻找最大稳定匹配。对于该问题,有一个名为 spa - p - approx - promotion 的算法,它是一个 1.5 近似算法。下面我们从算法分析的紧密度和不可近似性两方面来详细探讨。
1.1 算法分析的紧密度
为了证明对近似比的分析是紧的,我们给出一个具体实例。假设有三个学生 (s_1)、(s_2)、(s_3) 和一位讲师 (\ell_1),讲师提供三个项目 (p_1)、(p_2)、(p_3),每个项目容量为 1。学生和讲师的偏好如下:
| 学生/讲师 | 偏好列表 |
| ---- | ---- |
| (s_1) | (p_1) |
| (s_2) | (p_1) (p_2) |
| (s_3) | (p_2) (p_3) |
| (\ell_1) | (p_3) (p_2) (p_1) |
存在一个大小为 3 的稳定匹配 ({(s_1, p_1), (s_2, p_2), (s_3, p_3)}),但 spa - p - approx - promotion 算法执行后得到的稳定匹配大小为 2,即 ({(s_2, p_1), (s_3, p_2)}),执行步骤如下:
1. (s_1) 申请 (p_1) 并被接受。
2. (s_3) 申请 (p_2) 并被接受。
3. (s_2) 申请 (p_1) 被拒绝。
4. (s_2) 申请 (p_2) 被拒绝。
5. (s_2) 被提升。
6. (s_2) 再次申请 (p_1) 被接受,(s_1) 被拒绝。
7. (s_1) 被提升。
8. (s_1) 再次申请 (p_1) 被拒绝。
1.2 不可近似性
稳定婚姻问题(SM)是寻找稳定匹配的问题。当偏好列表允许出现平局且可能不完整时,寻找最大稳定匹配(MAX - SMTI)问题是 NP 难的,即使平局只出现在一侧(如男性列表必须完全有序),我们称这个受限问题为 MAX - SMTI - 1T。
MAX - SMTI - 1T 和 MAX - SPA - P 有相似性,我们可以将 MAX - SMTI - 1T 问题自然归约到 MAX - SPA - P 问题:
- 在 MAX - SMTI - 1T 实例 (I) 中,男性列表严格排序,女性列表可能包含平局。
- 在 MAX - SPA - P 实例 (I’) 中,学生和讲师分别对应 (I) 中的男性和女性。
- 对于每个女性 (w) 的列表,为列表中的每个平局创建一个项目,不在平局中的男性视为大小为 1 的平局。这些项目由对应女性 (w) 的讲师 (\ell_w) 提供,(\ell_w) 列表中项目的顺序与 (I) 中 (w) 的列表一致。
- 每个项目 (p) 对与该项目相关平局中的男性对应的学生是可接受的。学生偏好列表中项目的顺序自然地从对应男性(严格排序)的列表生成。
- 每个讲师和每个项目的容量为 1。
通过上述归约,我们可以证明 (I) 的最大稳定匹配大小和 (I’) 的最大无阻塞对匹配大小一致。但由于 SPA - P 稳定性定义中有无联盟条件,一般的 MAX - SMTI - 1T 实例到 MAX - SPA - P 的归约不能直接应用。不过,使用特定实例时这个问题可以解决,并且 MAX - SMTI - 1T 和 MAX - SPA - P 的最优解大小一致,因此 MAX - SMTI - 1T 的近似下界 (21/19) 也适用于 MAX - SPA - P。
我们还给出了从最小顶点覆盖问题(MVC)到 MAX - SPA - P 的直接归约,证明了对于任何 (\epsilon > 0) 和 (p < \frac{3 - \sqrt{5}}{2}),如果存在一个多项式时间算法能区分 MAX - SPA - P 实例 (I) 的以下两种情况,则 (P = NP):
1. (OPT (I) \geq \frac{2 + p - \epsilon}{3} N)。
2. (OPT (I) < \frac{2 + \max{p^2, 4p^3 - 3p^4} + \epsilon}{3} N)。
2. 生成树拥塞问题的复杂度分析
生成树拥塞是一个相对较新的图参数,下面我们从问题定义、复杂度结果和算法设计三方面来详细介绍。
2.1 问题定义
设 (G) 是一个连通图,(T) 是 (G) 的一棵生成树。对于边 ({u, v} \in E(G)),其迂回路径是 (T) 中唯一的 (u - v) 路径。我们定义 (e \in E(T)) 的拥塞 (cng_{G,T}(e)) 为 (G) 中迂回路径包含 (e) 的边的数量。(G) 在 (T) 中的拥塞 (cng_G(T)) 是 (T) 中所有边的最大拥塞。(G) 的生成树拥塞 (stc(G)) 是所有生成树中的最小拥塞。我们用 STC 表示确定给定图的生成树拥塞是否至多为给定 (k) 的问题,如果 (k) 固定,则用 (k) - STC 表示该问题。
2.2 复杂度结果
之前对 STC 和 (k) - STC 问题的复杂度研究主要集中在稀疏图类。本文证明了该问题即使对于链图和分裂图也是 NP 难的。链图是弦二分图,分裂图是弦图。链图的难度是出乎意料的,因为据我们所知,没有其他自然图参数对链图是 NP 难的。链图的难度也意味着团宽度至多为 3 的图的难度。
2.3 算法设计
为了应对问题的难度,我们提出了以下算法:
-
快速指数时间精确算法
:该算法运行时间为 (O^
(2^n)),而一个朴素的检查所有生成树的算法运行时间为 (O^
(2^m)) 或 (O^
(n^n)),其中 (n) 和 (m) 分别表示顶点数和边数。实现该运行时间的想法是枚举所有可能的割的组合而不是所有生成树。利用这个想法,我们可以设计一个基于动态规划的算法,运行时间为 (O^
(3^n)),然后通过仔细应用快速子集卷积方法,最终得到 (O^
(2^n)) 的运行时间。
-
常数因子近似算法
:对于 cographs(团宽度至多为 2 的图),我们提供了一个常数因子近似算法。
-
线性时间算法
*:对于弦 cographs,我们提出了一个线性时间算法。
下面是生成树拥塞问题算法设计的 mermaid 流程图:
graph LR
A[问题输入] --> B{图类型}
B -->|链图或分裂图| C[NP难问题]
B -->|cographs| D[常数因子近似算法]
B -->|弦cographs| E[线性时间算法]
C --> F[快速指数时间精确算法 O*(2^n)]
综上所述,我们对 MAX - SPA - P 问题和生成树拥塞问题进行了深入研究,提出了相应的算法和复杂度结果,为相关领域的研究提供了重要的参考。
优化近似界限与图问题复杂度研究(续)
3. 从最小顶点覆盖问题到 MAX - SPA - P 的归约详解
在前面提到了从最小顶点覆盖问题(MVC)到 MAX - SPA - P 的归约,下面详细介绍这个归约过程。
对于一个图 (G=(V, E)),一个顶点子集 (C \subseteq V) 被称为 (G) 的顶点覆盖,如果对于任何边,其至少一个端点在 (C) 中。MVC 问题就是为给定图找到最小大小的顶点覆盖。设 (OPT(G)) 是 (G) 的最小顶点覆盖的大小。
我们要在多项式时间内为图 (G) 构造一个 MAX - SPA - P 实例 (I_G),该归约满足以下条件:
- 条件 (i):(N = 3|V|),即 (I_G) 中的学生数量是 (G) 中顶点数量的 3 倍。
- 条件 (ii):(OPT(I_G) = 3|V| - OPT(G))。
具体的归约步骤如下:
1.
构造学生和讲师
:对于 (G) 中的每个顶点 (v_i),构造三个学生 (a_i)、(b_i) 和 (c_i),以及三个讲师 (x_i)、(y_i) 和 (z_i)。
2.
构造项目
:假设 (v_i) 与 (k) 个顶点 (v_{i1}, v_{i2}, \cdots, v_{ik}) 相邻((i_1 < i_2 < \cdots < i_k)),则构造 (k + 4) 个项目 (X_i)、(Y_i)、(Z_{i,-})、(Z_{i,i1}, \cdots, Z_{i,ik}) 和 (Z_{i,+})。其中 (X_i) 由 (x_i) 提供,(Y_i) 由 (y_i) 提供,(Z_{i,-})、(Z_{i,i1}, \cdots, Z_{i,ik})、(Z_{i,+}) 由 (z_i) 提供。每个项目和每个讲师的容量都为 1。
3.
定义项目对学生的可接受性
:
- 项目 (X_i) 仅对学生 (a_i) 可接受。
- 项目 (Y_i) 对学生 (a_i) 和 (b_i) 可接受。
- 项目 (Z_{i,-}) 仅对学生 (b_i) 可接受。
- 项目 (Z_{i,+}) 仅对学生 (c_i) 可接受。
- 对于每个 (j = 1, 2, \cdots, k),项目 (Z_{i,ij}) 仅对与相邻顶点 (v_{ij}) 对应的学生 (a_{ij}) 可接受。
4.
定义学生和讲师的偏好列表
:
- (a_i) 的偏好列表:(Y_i) (Z_{i1,i}) (Z_{i2,i}) (\cdots) (Z_{ik,i}) (X_i)。
- (x_i) 的偏好列表:(X_i)。
- (b_i) 的偏好列表:(Y_i) (Z_{i,-})。
- (y_i) 的偏好列表:(Y_i)。
- (c_i) 的偏好列表:(Z_{i,+})。
- (z_i) 的偏好列表:(Z_{i,-}) (Z_{i,i1}) (\cdots) (Z_{i,ik}) (Z_{i,+})。
下面我们来证明条件 (ii) 成立,即要证明:
- (A) 如果 (G) 存在一个顶点覆盖 (C),那么 (I_G) 存在一个稳定匹配 (M),使得 (|M| = 3|V| - |C|)。
- (B) 如果 (I_G) 存在一个稳定匹配 (M),那么 (G) 存在一个顶点覆盖 (C),使得 (|C| = 3|V| - |M|)。
3.1 证明 (A)
给定 (G) 的一个顶点覆盖 (C),我们按以下方式构造 (I_G) 的稳定匹配 (M):
- 对于每个顶点 (v_i),如果 (v_i \in C),则 (M(a_i) = Y_i),(M(b_i) = Z_{i,-}),并让 (c_i) 未分配。
- 如果 (v_i \notin C),则 (M(a_i) = X_i),(M(b_i) = Y_i),(M(c_i) = Z_{i,+})。
通过简单计算可得 (|M| = 2|C| + 3(|V| - |C|) = 3|V| - |C|)。下面证明 (M) 是稳定的,即没有阻塞对且没有联盟:
-
无阻塞对
:
- 当 (v_i \in C) 时,(a_i) 被分配到最偏好的项目,所以 (a_i) 不会形成阻塞对。(b_i) 被分配到第二个偏好的项目,但第一个偏好的项目 (Y_i) 和提供该项目的讲师 (y_i) 都已满,所以 (b_i) 也不会形成阻塞对。(c_i) 未分配,但提供 (c_i) 唯一可接受项目 (Z_{i,+}) 的讲师 (z_i) 已满且更喜欢 (c_i) 已分配的项目 (Z_{i,-}),所以 (c_i) 不会形成阻塞对。
- 当 (v_i \notin C) 时,(b_i) 和 (c_i) 都被分配到最偏好的项目。唯一可能形成阻塞对的是 (a_i) 与 (Y_i)、(Z_{i1,i})、(Z_{i2,i})、(\cdots)、(Z_{ik,i}) 中的某个项目。但 (Y_i) 不可能形成阻塞对,假设 (a_i) 与 (Z_{ij,i}) 形成阻塞对,那么存在边 ((v_i, v_{ij})),且讲师 (z_{ij}) 为项目 (Z_{ij,+}) 分配了学生 (c_{ij}),这意味着 (v_{ij} \notin C),这与 (C) 是顶点覆盖矛盾。
-
无联盟
:在 (M) 中,每个与 (G) 中顶点 (v_i) 对应的学生都被分配到与 (v_i) 对应的项目,这意味着任何联盟必须由与同一顶点对应的学生和项目组成。但在 (v_i \in C) 和 (v_i \notin C) 两种情况下,都可以很容易验证没有联盟。
3.2 证明 (B)
设 (M) 是 (I_G) 的一个稳定匹配。首先,如果项目 (Y_i) 未分配,那么 ((a_i, Y_i)) 和 ((b_i, Y_i)) 都会阻塞 (M),这是矛盾的,所以要么 (M(Y_i) = a_i) 要么 (M(Y_i) = b_i)。
- 假设 (M(Y_i) = a_i),那么 (M(b_i) = Z_{i,-}),否则 ((b_i, Z_{i,-})) 会阻塞 (M)。此时 (c_i) 未分配,(x_i) 和 (X_i) 在 (M) 中为空,我们称这种情况为 (v_i) 导致模式 1。
- 假设 (M(Y_i) = b_i),那么 (a_i) 在 (M) 中被分配,否则 ((a_i, X_i)) 会阻塞 (M)。由于 (Y_i) 已被 (b_i) 占用,(a_i) 有两种分配情况:(M(a_i) = X_i) 或 (M(a_i) = Z_{ij,i}) 对于某个 (j)。同样,如果 (z_i) 在 (M) 中为空,那么 ((c_i, Z_{i,+})) 会阻塞 (M),所以要么 (M(z_i) = c_i) 要么 (M(z_i) = a_{ij}) 对于某个 (j)。这样总共会有四种情况,分别称为模式 2 到模式 5。
通过引理 7 可以排除模式 3 或模式 4 的可能性,引理 7 表明每个顶点会导致模式 1、2 或 5。我们按以下方式构造顶点子集 (C):如果 (v_i) 导致模式 1 或 5,则 (v_i \in C),否则 (v_i \notin C)。
下面证明 (C) 是 (G) 的顶点覆盖。假设 (C) 不是 (G) 的顶点覆盖,那么存在 (V \setminus C) 中的两个顶点 (v_i) 和 (v_j),使得 ((v_i, v_j) \in E) 且它们都导致模式 2。那么 ((a_i, Z_{j,i})) 和 ((a_j, Z_{i,j})) 都会阻塞 (M),这与 (M) 的稳定性矛盾,所以 (C) 是 (G) 的顶点覆盖。并且显然有 (|M| = 2|C| + 3(|V| - |C|) = 3|V| - |C|)。
4. 相关结论与展望
通过上述研究,我们得到了以下重要结论:
- 对于 MAX - SPA - P 问题,spa - p - approx - promotion 是一个 1.5 近似算法,并且证明了该问题在近似比方面的分析是紧的。同时,证明了 MAX - SPA - P 问题的不可近似性,其近似下界为 (21/19)。
- 对于生成树拥塞问题,证明了该问题即使对于链图和分裂图也是 NP 难的。提出了快速指数时间精确算法、常数因子近似算法和线性时间算法来应对问题的难度。
未来的研究方向可以包括进一步改进 MAX - SPA - P 问题的近似上界。例如,一个最近的 MAX - SMTI - 1T 近似算法使用线性规划方法推广了 Király 的思想,其近似比 (25/17(\approx 1.4706)) 略优于 1.5,下一步可以验证这个思想是否能应用到 spa - p - approx - promotion 算法中。
下面是 MAX - SPA - P 问题和生成树拥塞问题研究结论的总结表格:
| 问题 | 结论 |
| ---- | ---- |
| MAX - SPA - P | spa - p - approx - promotion 是 1.5 近似算法,近似比分析紧,近似下界 (21/19) |
| 生成树拥塞问题 | 对链图和分裂图 NP 难,有 (O^*(2^n)) 精确算法、cographs 常数因子近似算法、弦 cographs 线性时间算法 |
通过对这两个问题的深入研究,我们为相关领域的理论和算法设计提供了重要的参考,也为未来的研究奠定了基础。
超级会员免费看
57

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



