单位圆盘图中最小支配集问题的多项式时间近似方案
在图论和计算机科学领域,最小支配集问题(MDS)是一个经典的NP难题。对于单位圆盘图(UDG),我们可以找到一种有效的多项式时间近似方案(PTAS)来解决这个问题。接下来,我们将详细探讨这个方案的原理和实现。
基本概念
- 支配集 :对于图 (G=(V, E)) 中的一个顶点子集 (W \subset V),如果存在一个顶点子集 (D(W)),使得对于 (W) 中的每个顶点 (w),要么 (w \in D(W)),要么存在一条边 ((u, w) \in E) 且 (u \in D(W)),则称 (D(W)) 支配 (W)。显然,(W \subset N(D(W))) 且 (D(W) \subset N(W))。
- 2 - 分离子集集合 :设 (S = {S_1, \ldots, S_k}) 是图 (G) 中顶点子集的集合,对于任意两个不同子集 (S_i) 和 (S_j) 中的顶点 (s \in S_i) 和 (\overline{s} \in S_j),都有 (d(s, \overline{s}) > 2),则称 (S) 是一个 2 - 分离子集集合。
局部支配集性质
-
引理 1
:对于图 (G=(V, E)) 中的一个 2 - 分离子集集合 (S = {S_1, \ldots, S_k}),有 (|D(V)| \geq \sum_{i=1}^{k} |D(S_i)|)。
- 证明 :对于每个子集 (S_i \in S),考虑其邻域 (N(S_i))。由于 2 - 分离性质,这些邻域两两不相交。并且,任何不在 (N(S_i)) 中的顶点到 (S_i) 中所有顶点的距离都大于 1。因为 (D(V)) 支配整个顶点集 (V),所以 (D(V) \cap N(S_i)) 必须支配 (S_i) 中的所有顶点。而 (D(S_i) \subset N(S_i)) 是以最小顶点数支配 (S_i) 的集合,因此 (|D(V) \cap N(S_i)| \geq |D(S_i)|)。将所有子集的情况相加,即可得到 (|D(V)| \geq \sum_{i=1}^{k} |D(V) \cap N(S_i)| \geq \sum_{i=1}^{k} |D(S_i)|)。
-
推论 1
:设 (S = {S_1, \ldots, S_k}) 是图 (G=(V, E)) 中的一个 2 - 分离子集集合,(T_1, \ldots, T_k) 是 (V) 的子集,且 (S_i \subset T_i) 对于所有 (i = 1, \ldots, k) 成立。如果存在一个常数 (\rho \geq 1),使得 (|D(T_i)| \leq \rho \cdot |D(S_i)|) 对于所有 (i = 1, \ldots, k) 成立,并且 (\bigcup_{i=1}^{k} D(T_i)) 是图 (G) 中的一个支配集,那么 (\bigcup_{i=1}^{k} D(T_i)) 是图 (G) 中最小支配集的一个 (\rho) - 近似。
- 证明 :(|\bigcup_{i=1}^{k} D(T_i)| \leq \sum_{i=1}^{k} |D(T_i)| \leq \rho \cdot \sum_{i=1}^{k} |D(S_i)| \leq \rho \cdot |D(V)|)。
合适子集的高效构造
算法的基本思想是计算顶点邻域的局部支配集,并不断扩展邻域,直到满足所需的界限。具体步骤如下:
1. 从任意顶点 (v \in V) 开始,考虑 (r = 0, 1, 2, \ldots) 时的 (r) 阶邻域 (N^r(v))。
2. 从 (N^0(v) = {v}) 开始,计算这些邻域的最小支配集,直到 (|D(N^{r + 2}(v))| > \rho \cdot |D(N^r(v))|) 不成立为止。
3. 记满足上述不等式不成立的最小 (r) 为 (\hat{r}
1)。
4. 对于图 (G) 中由 (V
{i + 1} := V_i \setminus N^{\hat{r}
i + 2}(v_i)) 诱导的子图,重复上述步骤,其中 (V_1 := V),(v_i \in V_i) 是邻域的任意中心顶点。
5. 重复这个过程,直到 (V
{i + 1}) 中不再包含顶点。
以下是该算法的流程图:
graph TD;
A[开始] --> B[选择任意顶点 v ∈ V];
B --> C[r = 0];
C --> D[计算 D(N^r(v))];
D --> E{是否 |D(N^{r + 2}(v))| > ρ · |D(N^r(v))|};
E -- 是 --> F[r = r + 1];
F --> D;
E -- 否 --> G[记录 \(\hat{r}_1\)];
G --> H[更新 \(V_{i + 1} := V_i \setminus N^{\hat{r}_i + 2}(v_i)\)];
H --> I{ \(V_{i + 1}\) 是否为空};
I -- 否 --> J[选择 \(v_{i + 1} \in V_{i + 1}\) 作为中心顶点];
J --> C;
I -- 是 --> K[结束];
算法性质
-
引理 2
:由上述算法创建的邻域集合 ({N_1, \ldots, N_k}),其支配集的并集 (D = \bigcup_{i=1}^{k} D(N_i)) 是输入图 (G) 的一个支配集。
- 证明 :因为 (V_{i + 1} = V_i \setminus N_i) 且 (N_i \subset V_i),所以 (V_i = V_{i + 1} \cup N_i)。当算法停止时,(V_{k + 1} = \varnothing),这意味着 (V_k = N_k)。通过归纳法可得 (\bigcup_{i=1}^{k} N_i = V),因此 (D) 支配 (V)。
-
引理 3
:算法创建的子集 (N^{\hat{r}_i}(v_i)),(i = 1, \ldots, k),构成图 (G) 中的一个 2 - 分离子集集合 (N = {N^{\hat{r}_1}(v_1), \ldots, N^{\hat{r}_k}(v_k)})。
- 证明 :通过归纳法证明。初始时,({N^1, V_2}) 是 2 - 分离的,因为 (V_2 = V \setminus N(N(N^1)))。假设 ({N_1, \ldots, N_{i - 1}, V_i}) 是 2 - 分离的,考虑 (V_{i + 1} = V_i \setminus N(N(N^i))),可以证明 (V_{i + 1}) 和 (N_i) 都满足 2 - 分离性质,所以 ({N^1, \ldots, N^i, V_{i + 1}}) 是 2 - 分离的。
- 推论 2 :上述算法返回的支配集 (\bigcup_{i=1}^{k} D(N_i)) 的基数不超过图 (G) 中最小支配集大小的 ((1 + \varepsilon)) 倍。
多项式时间复杂度分析
为了证明算法具有多项式时间复杂度,我们需要证明两个关键结论:
1.
最小支配集的多项式时间计算
:对于单位圆盘图,当 (r) 为常数或多项式有界时,我们可以在多项式时间内计算 (D(N^r(v)))。
-
独立集
:对于图 (G) 中的顶点子集 (W \subset V),如果一个顶点子集 (I \subset W) 中任意两个顶点之间都没有边相连,则称 (I) 是 (W) 中的一个独立集。如果不能再向 (I) 中添加 (W) 中的其他顶点而不破坏独立性,则称 (I) 是 (W) 中的一个极大独立集。显然,任何极大独立集都支配其所在的顶点子集。
-
引理 4
:对于单位圆盘图 (G=(V, E)) 中的任意顶点 (v \in V) 和其 (r) 阶邻域 (N^r(v)) 中的独立集 (I_r),有 (|I_r| \leq (2r + 1)^2 = O(r^2))。
-
证明
:设 (f: V \to \mathbb{R}^2) 是图 (G) 的几何表示。根据单位圆盘图的定义,对于 (N^r(v)) 中的任意顶点 (w),有 (|f(v) - f(w)| \leq 2r)。因此,(I_r) 中的顶点可以看作是半径为 (2r + 1) 的圆盘内两两不相交的单位圆盘,所以 (|I_r| \leq \pi(2r + 1)^2 / \pi = (2r + 1)^2)。
-
推论 3
:(|D(N^r(v))| \leq (2r + 1)^2 = O(r^2))。由于最小支配集的基数上界是极大独立集的基数,而极大独立集的基数是多项式有界的,所以当 (r) 固定或多项式有界时,可以通过完全枚举在 (O(n^{\vartheta})) 时间内计算 (D(N^r(v))),其中 (\vartheta = O(r^2))。
2.
邻域直径的常数界
:存在一个常数 (c = c(\rho)),使得 (\hat{r}_1 \leq c),即算法迭代过程中需要考虑的最大邻域直径是有界的。
-
引理 5
:证明分两种情况讨论 (r) 为偶数和奇数的情况。当 (r) 为偶数时,((2r + 1)^2 \geq |D(N^r(v))| > \rho|D(N^{r - 2}(v))| > \cdots > \rho^{\frac{r}{2}}|D(N^0(v))| = (\sqrt{\rho})^r);当 (r) 为奇数时,((2r + 1)^2 \geq |D(N^r(v))| > \rho|D(N^{r - 2}(v))| > \cdots > \rho^{\frac{r - 1}{2}}|D(N^1(v))| = (\sqrt{\rho})^{r - 1})。由于 (\rho > 1),所以上述不等式最终会被破坏,且 (\hat{r}_1) 的界只取决于 (\rho),而不取决于图的大小。简单计算表明 (c = O(\frac{1}{\varepsilon} \log \frac{1}{\varepsilon}))。
综上,如果输入图是单位圆盘图,算法的每次迭代都具有多项式时间复杂度,因此该算法是最小支配集问题的多项式时间近似方案,其整体时间复杂度为 (O(n^c)),其中 (c = O(\frac{1}{\varepsilon} \log \frac{1}{\varepsilon}))。
单位圆盘图中最小支配集问题的多项式时间近似方案
算法的鲁棒性
该算法不仅能在单位圆盘图中有效工作,还具有一定的鲁棒性。对于任意无向图,算法都能返回一个满足所需界限的支配集,或者给出输入图不是单位圆盘图的证明。
当输入图是单位圆盘图时,算法总能在多项式时间内返回一个 ((1 + \varepsilon)) - 近似的支配集。对于一般的无向图,虽然也能返回近似支配集,但不能保证多项式时间复杂度。
若输入图不是单位圆盘图,算法通过以下方式检测:
1. 算法在计算过程中,若找到一个邻域 (N^r(v)),使得无法找到大小小于或等于 ((2r + 1)^2) 的最小支配集,就终止算法。
2. 输出该邻域 (N^r(v)) 作为证明,表明输入图不是单位圆盘图。因为对于这个邻域构造的极大独立集会违反引理 4,从而说明输入图不符合单位圆盘图的性质。
需要注意的是,为了保证算法的鲁棒性,不需要明确考虑邻域 (N^r(v)) 直径的界限 (r \leq c),因为这个界限是由邻域中支配集的多项式界限推导出来的。
算法的扩展
该算法可以很容易地扩展到其他相关几何对象的交集图,例如使用其他几何范数定义的单位圆盘图。对于几何交集图中最小支配集问题存在多项式时间近似方案的一个充分条件是,构成交集图的对象的最大几何直径与最小体积之比存在多项式界限(见引理 4)。
这意味着所考虑的对象不一定需要具有相同的大小或形状,例如单位圆盘可以被半径有固定上下界的圆盘所替代。这种扩展包括准单位圆盘图,它可以为无线自组织网络提供更现实的模型。此外,算法也可以直接扩展到维度 (d > 2) 的情况。
总结
本文提出了一种新的多项式时间近似方案来解决单位圆盘图中的最小支配集问题。该算法不需要图的几何表示就能计算出 ((1 + \varepsilon)) - 近似的支配集。实际上,它可以接受任意无向图作为输入,并返回满足所需界限的支配集,或者给出输入图不是单位圆盘图的证明。
算法的核心思想是将图划分为局部邻域,在保证直径有界的邻域内寻找局部最优解。具体步骤如下表所示:
|步骤|操作|
|----|----|
|1|从任意顶点 (v \in V) 开始,考虑 (r = 0, 1, 2, \ldots) 时的 (r) 阶邻域 (N^r(v))。|
|2|从 (N^0(v) = {v}) 开始,计算这些邻域的最小支配集,直到 (|D(N^{r + 2}(v))| > \rho \cdot |D(N^r(v))|) 不成立为止。|
|3|记满足上述不等式不成立的最小 (r) 为 (\hat{r}
1)。|
|4|对于图 (G) 中由 (V
{i + 1} := V_i \setminus N^{\hat{r}
i + 2}(v_i)) 诱导的子图,重复上述步骤,其中 (V_1 := V),(v_i \in V_i) 是邻域的任意中心顶点。|
|5|重复这个过程,直到 (V
{i + 1}) 中不再包含顶点。|
算法的整体时间复杂度为 (n^{O(\frac{1}{\varepsilon} \log \frac{1}{\varepsilon})})。以下是整个算法流程的总结流程图:
graph TD;
A[开始] --> B[输入图 G = (V, E) 和 ε];
B --> C[初始化 k = 0, V_1 = V];
C --> D{V_{k + 1} 是否为空};
D -- 否 --> E[选择 v_k ∈ V_{k + 1} 作为中心顶点];
E --> F[r = 0];
F --> G[计算 D(N^r(v_k))];
G --> H{是否 |D(N^{r + 2}(v_k))| > (1 + ε) · |D(N^r(v_k))|};
H -- 是 --> I[r = r + 1];
I --> G;
H -- 否 --> J[记录 \(\hat{r}_k\)];
J --> K[V_{k + 1} := V_k \setminus N^{\hat{r}_k + 2}(v_k)];
K --> L[k = k + 1];
L --> D;
D -- 是 --> M[输出 \(\bigcup_{i = 1}^{k} D(N_i)\)];
该算法的优点在于其通用性和鲁棒性,能够处理多种类型的图,并在单位圆盘图中保证多项式时间复杂度。同时,它的可扩展性使得它在不同的几何模型和维度中都有应用潜力,为解决实际问题提供了有效的工具。
超级会员免费看
24

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



