基于路径长度和标签频率的标签割问题
The label cut problem with respect to path length and label frequency
申明
版权归原文作者及出版单位所有,如有侵权请联系删除。
摘要
给定一个定义在边上的标签集和源-汇对 ( s , t ) (s,t) (s,t)的图, s − t s-t s−t标签割问题要求找到最小数量的标签,使得删除带有这些标签的边将断开 s s s和 t t t之间的连接。类似地,全局标签割问题要求找到最小数量的标签,将整个图G断开连接。对于这两个问题,我们确定了两个有用的参数,即 l m a x l_{max} lmax,(任何) s − t s-t s−t路径的最大长度(仅适用于标签 s − t s-t s−t切割问题),和 f m a x f_{max} fmax,图中(任何)标签的最大出现次数(适用于这两个问题)。我们证明了 l m a x = 2 l_{max} = 2 lmax=2和 f m a x = 2 f_{max} = 2 fmax=2是标签s-t割问题的两个复杂性阈值。此外,我们提供了以下解决方案:(i) 一个 O ∗ ( c k ) O^∗(c^k) O∗(ck)时间参数化算法用于标签 s − t s-t s−t割问题,其中 l m a x l_{max} lmax从上方界限定,参数 k k k是解决方案中标签的数量, c c c是一个常数,满足 l m a x − 1 < c < l m a x l_{max} − 1 < c < l_{max} lmax−1<c<lmax;(ii) 一个组合 l m a x − l_{max}- lmax−近似算法用于标签 s − t s-t s−t割问题;(iii) 一个多项式时间精确算法用于全局标签割问题,其中 f m a x f_{max} fmax从上方界限定
1.介绍
标签
s
−
t
s-t
s−t割问题是一种边分类的最小
s
−
t
s-t
s−t割问题,定义如下:
标签
s
−
t
s-t
s−t割问题
实例:给定一个(有向或无向)图
G
=
(
V
,
E
)
G =(V,E)
G=(V,E),一个源-汇对
(
s
,
t
)
(s,t)
(s,t),和一个标签集合
L
L
L = {
l
1
,
l
2
,
.
.
.
,
l
q
\mathcal{l}1,\mathcal{l}2,..., \mathcal{l}q
l1,l2,...,lq}。每条边
e
∈
E
e ∈ E
e∈E都有一个标签
l
(
e
)
∈
L
\mathcal{l}(e) ∈ L
l(e)∈L。
目标:一个标签
s
−
t
s-t
s−t割
L
′
⊆
L
L' \subseteq L
L′⊆L是标签的一个子集,使得从
G
G
G中删除带有这些标签的所有边,会断开
s
s
s和
t
t
t之间的连接。问题的目标是找到最小大小的标签
s
−
t
s-t
s−t割。
最近,标签 s − t s-t s−t割问题吸引了研究人员的大量关注(参见[7,8,15,16,25,26,30])。正如[30]中所介绍的,该问题源自系统安全,特别是入侵检测和攻击图的生成与分析[16,25]。对于对该问题起源感兴趣的读者,可以参考[30]进行简要介绍。由于标签s-t割问题是NP-hard问题[16],人们通常寻求该问题的近似算法[7,26,30]和参数化算法。关键是,在标签 s − t s-t s−t切割问题中,许多边可以共享相同的标签。否则(每条边都有一个不同的标签),标签s-t割问题就退化成著名的最小 s − t s-t s−t切割问题(在输入图中找到一个断开 s s s和 t t t的最小容量切割)。
除了标签割问题,还有许多网络优化问题在边标签图中得到了研究,例如最小生成树问题[4,20,6],最小斯坦纳树问题[5],最大流问题[12],最短路径问题[13],完美匹配问题[21]和旅行商问题[28]。此外,定义全局标签割问题也是自然而然的。
全局标签割问题
实例:在该问题中,我们给定一个无向图
G
=
(
V
,
E
)
G = (V, E)
G=(V,E)和一个标签集合
L
=
{
l
1
,
l
2
,
.
.
.
,
l
q
}
L =\{\mathcal{l}1,\mathcal{l} 2, ..., \mathcal{l}q\}
L={l1,l2,...,lq}。每条边
e
∈
E
e ∈ E
e∈E都有一个标签
l
(
e
)
∈
L
\mathcal{l}(e) ∈ L
l(e)∈L。
目标:一个全局标签割 L ′ ⊆ L L' \subseteq L L′⊆L是一个标签子集,使得在移除所有带有标签 L ′ L' L′的边之后,图 G G G被断开。
问题的目标是找到尺寸最小的全局标签割。
全局最小标签割问题是标签割问题的全局版本。这类似于全局最小割问题(寻找切割输入图的最小容量)是最小 s − t s-t s−t割问题的全局版本。
符号说明:在整篇论文中,符号 l \mathcal{l} l代表标签集合 L L L中的一个标签,当我们写 l ( e ) \mathcal{l}(e) l(e)时,也代表从边映射到标签的映射。我们没有引入更多的符号来区分这两种情况。类似的情况也适用于符号 L L L:它代表输入的标签集合,同时也代表从 2 E 2^E 2E到 2 L 2^L 2L的映射。在后一种情况下,我们使用 L ( E ′ ) L(E') L(E′)来表示对于边子集 E ′ E' E′的集合 { l ( e ) : e ∈ E ′ } \{\mathcal{l}(e): e ∈ E'\} {l(e):e∈E′}.
1.1 我们的结果
在本文中,我们确定了标签 s − t s-t s−t割问题和全局标签割问题的两个参数,并展示了它们如何影响问题的复杂性。在几种情况下,我们得到了复杂性阈值和高效算法。
首先考虑参数 l m a x lmax lmax。这个参数仅适用于标签s-t割问题。
定义1.1 ( l m a x ) (l_{max}) (lmax):给定一个图 G = ( V , E ) G =(V,E) G=(V,E),其中源点 s ∈ V s ∈ V s∈V和汇点 t ∈ V t ∈ V t∈V,最大的 s − t s-t s−t路径长度 l m a x l_{max} lmax是指边的数量构成的最长简单 s − t s-t s−t路径的长度。
我们证明了即使在 l m a x = 2 l_{max} = 2 lmax=2的情况下,标签 s − t s-t s−t割问题仍然是NP难的(定理2.1)。由于 l m a x = 1 l_{max} = 1 lmax=1的问题是平凡的,这表明 l m a x = 2 l_{max} = 2 lmax=2是标签 s − t s-t s−t割问题的复杂性阈值(当 l m a x = 1 l_{max} = 1 lmax=1时, s s s和 t t t之间只有一条路径,其长度为1,这是一个平凡的情况)。然后,我们证明了当 l m a x l_{max} lmax被一个常数上界限制,并且标签 s − t s-t s−t割问题被参数 k k k(即解决方案中的标签数)参数化时,该问题是固定参数可解的,并且可以在 O ∗ ( c k ) O^∗(c^k) O∗(ck)的时间内解决(定理3.1),其中 c ∈ ( l m a x − 1 , l m a x ) c ∈(l_{max}−1,l_{max}) c∈(lmax−1,lmax)是一个常数。(在 O ∗ ( ) O^∗() O∗()符号中,我们省略了输入长度中的任何多项式因子)。这与使用标准的有深度限制的搜索树技术[23]的 O ∗ ( l m a x k ) O^∗(l ^k_{max}) O∗(lmaxk)时间参数化算法进行比较。我们指出,定理3.1的证明非常复杂,这个定理是我们的主要结果之一。此外,我们给出了标签 s − t s-t s−t割问题的 l m a x − l_{max}- lmax−近似算法(定理4.1)。该算法是纯粹组合的,比[26]中的 L P LP LP舍入算法更简单和更快,并且具有原始-对偶解释。
然后考虑参数 f m a x f_{max} fmax。这个参数适用于标签 s − t s-t s−t割问题和全局标签割问题。
定义1.2( f m a x f_{max} fmax):给定具有在边上定义的标签集 L L L的图 G G G,标签 l \mathcal{l} l ∈ L ∈ L ∈L的标签频率 f ( l ) f (\mathcal{l}) f(l)是指图G中标签为 l \mathcal{l} l的边的数量。最大标签频率 f m a x f_{max} fmax是所有标签 f ( l ) f (\mathcal{l}) f(l)中的最大值。
本文证明了当 f m a x = 2 f_{max} = 2 fmax=2时,Label s-t Cut问题是 N P NP NP难的(定理2.2)。由于当 f m a x = 1 f_{max} = 1 fmax=1时,Label s-t Cut退化为多项式时间可解的Min s-t Cut问题[1],这表明 f m a x = 2 f_{max} = 2 fmax=2是Label s-t Cut问题的复杂性阈值。此外,我们证明了当 f m a x f_{max} fmax受到常数的上界限制时,全局标签割问题是多项式时间可解的(定理3.2)。
当然,除了上述考虑的两个参数之外,对于Label s-t Cut问题,还有几个潜在的候选参数可以进行研究,例如输入图的树宽、最优标签s-t割中的边数等。我们之所以研究路径长度和标签频率与Label s-t Cut问题相关的原因,实际上已经通过我们的结果展示了。首先,这两个参数极大地影响了问题的计算复杂性。其次,在几种情况下,我们使用这两个参数得到了好的算法。
本文的初步版本的部分结果曾在第11届年度计算模型理论和应用会议(TAMC 2014)[29]的论文集中发表。本文是[29]的完整扩展版本。更重要的是,本文中的两个算法结果,即定理3.1和定理3.3,是全新的结果;我们在[29]发表后获得了它们。特别是,定理3.1是本文中最重要的算法结果。然而,根据“首先复杂性,然后算法”的顺序,我们将其在第3节中呈现,放在第2节的难度结果之后。
1.2 相关工作
在Set Cover问题中,众所周知有一个贪心多项式时间
(
1
+
l
n
n
)
(1 + ln n)
(1+lnn)-逼近算法,其中
n
n
n是底层集合的大小。通过对偶性,相同的算法可以转化为Hitting Set问题。
在[16]中,Jha等人将标签 s − t s-t s−t切割问题表示为隐式的Hitting Set问题,如下所示:令 U U U = { S : S S:S S:S是出现在 s − t s-t s−t路径上的标签集合};这些集合是需要击中的集合。一标签集是标签割,当且仅当它与 U U U中的每个 S S S相交(击中)。作者[16]随后将Set Cover的贪心算法转换为标签 s − t s-t s−t切割的逼近算法,并得到了近似保证为 1 + l n ∣ U ∣ 1 + ln |U| 1+ln∣U∣。问题在于一般情况下U的大小可能在标签 s − t s-t s−t切割输入图中的顶点数量的指数级。
在[30]中,Zhang等人提出了标签s-t切割问题的第一个(多项式时间)逼近算法。该算法的逼近比率是 O ( m 1 2 ) ) O(m^{\frac{1}{2})}) O(m21)),其中m是输入图中的边数。作者还证明了在任何常数 c < 1 2 c < \frac{1}{2} c<21的情况下,近似标签s-t切割问题在因子 2 ( l o g ∣ I ∣ ) 1 − ( l o g l o g ∣ I ∣ ) − c 2^{(log |\mathcal{I}|)^{1 - (log log |\mathcal{I}|)^{ - c}}} 2(log∣I∣)1−(loglog∣I∣)−c内是 N P NP NP难的,其中 ∣ I ∣ |\mathcal{I}| ∣I∣是问题的输入长度。基本上相同的近似难度结果独立地在[7]中出现。
在[26]中,Tang等人提出了第一个关于标签 s − t s-t s−t切割问题的逼近算法,其逼近因子与输入图中顶点数n有关。该算法的逼近因子是 O ( n 2 3 / O P T 1 3 ) O(n^{\frac{2}{3}}/OPT^{\frac{1}{3}}) O(n32/OPT31),其中OPT是问题的最优值。作者还提出了一个 O ( ( m / O P T ) 1 2 ) ) O((m/OPT)^{\frac{1}{2}})) O((m/OPT)21))的标签s-t切割问题的逼近算法,改进了[30]中 O ( m 1 2 ) O(m^{\frac{1}{2}}) O(m21)的结果。此外,他们还证明了用于标签 s − t s-t s−t切割问题的线性规划松弛,其逼近结果,对于任何小的常数 ϵ > 0 \epsilon > 0 ϵ>0,其整数间隙为 Ω ( ( m / O P T ) 1 2 − ϵ ) \Omega((m/OPT)^{\frac{1}{2} -\epsilon}) Ω((m/OPT)21−ϵ)。
Fellows等人在[8]中将标签 s − t s-t s−t切割问题视为参数化复杂性的问题。他们证明了在路径宽度最多为3的图中,当参数化为使用的标签数(即 s − t s-t s−t标签割 L ′ ⊆ L L' ⊆ L L′⊆L的 ∣ L ′ ∣ |L'| ∣L′∣)时,标签s-t切割问题是W[2]-难的;而当参数化为使用的边数(即标签 s − t s-t s−t切割 L ( E ′ ) L(E') L(E′)的 ∣ E ′ ∣ |E'| ∣E′∣)时,标签s-t切割问题是W[1]-难的。以上结果意味着在相应的图中,标签s-t切割问题不太可能是固定参数易处理的。
另一方面,全局标签切割问题的精确计算复杂性仍然未知。在[30]的会议版本发表后,Jegelka等人研究了一个更一般的切割问题,称为合作切割问题,该问题寻找一个全局切割,使得目标函数最小化,其中目标函数定义在 2 E 2^E 2E上,可以是任意的次模函数。很容易证明,合作切割是全局标签切割的泛化。Jegelka等人证明了合作割问题的NP难性。然而,这个难度结果不适用于全局标签切割。
2.难度结果
本节中,我们将展示标签 s − t s-t s−t切割问题相对于参数 l m a x l_{max} lmax和 f m a x f_{max} fmax的一些难度结果。
在以下定理2.1的证明中,我们将使用著名的顶点覆盖问题。给定一个无向图,顶点覆盖问题要求找到一个最小基数的顶点子集,使得图中的每条边至少有一个端点在该子集中。
定理2.1:在无向图和有向图中,即使 l m a x = 2 l_{max} = 2 lmax=2,标签 s − t s-t s−t切割问题仍是 N P NP NP难的。
证明:我们将一个顶点覆盖问题的实例约化为一个标签
s
−
t
s-t
s−t切割问题的实例。设
G
G
G是顶点覆盖实例中的图,
G
′
G'
G′是我们将构造的标签
s
−
t
s-t
s−t切割实例中的图。
最初,
G
′
G'
G′包含两个顶点
s
s
s和
t
t
t。然后,对于每条边
e
=
(
v
i
,
v
j
)
∈
E
(
G
)
e = (v_i, v_j) ∈ E(G)
e=(vi,vj)∈E(G),将一条长度为2的
s
−
t
s-t
s−t路径
P
i
j
P_{ij}
Pij加入到
G
′
G'
G′中。路径
P
i
j
P_{ij}
Pij上的两条边分别标记为
v
i
v_i
vi和
v
j
v_j
vj。见图1作为示例。标签集
L
L
L就是
G
G
G的顶点集。然后,
G
G
G的最小顶点覆盖对应于
G
’
G’
G’的最小标签
s
−
t
s-t
s−t切割,反之亦然。显然,图
G
′
G'
G′的
l
m
a
x
=
2
l_{max} = 2
lmax=2。
有向情况可以通过将图1中的每条边从 s s s定向到 t t t来容易地证明。✷
注释:
(i) 定理2.1的目的是找到最小的
l
m
a
x
l_{max}
lmax,使得标签
s
−
t
s-t
s−t切割问题是
N
P
NP
NP难的。答案是2。显然,
l
m
a
x
=
1
l_{max} = 1
lmax=1的标签
s
−
t
s-t
s−t切割问题是平凡的。另一方面,在定理2.1的证明中,如果我们使用一个从
V
C
(
3
)
VC(3)
VC(3)的约化,则知道即使在
l
m
a
x
=
2
l_{max} = 2
lmax=2和
f
m
a
x
=
3
f_{max} = 3
fmax=3的情况下,标签
s
−
t
s-t
s−t切割问题也是
N
P
NP
NP难的。这里,
V
C
(
d
)
VC(d)
VC(d)表示顶点度数最多为
d
d
d的图中的顶点覆盖问题。已知
V
C
(
3
)
VC(3)
VC(3)已经是
N
P
NP
NP难的问题[18]。
(ii) 实际上, V C ( 3 ) VC(3) VC(3)甚至是 A P X APX APX难的问题[2]。可以验证,在定理2.1的证明中,从顶点覆盖到标签 s − t s-t s−t切割的约化是一个 L L L-约化。利用这个约化, V C ( 3 ) VC(3) VC(3) L L L-约化到 l m a x = 2 l_{max} = 2 lmax=2, f m a x = 3 f_{max} = 3 fmax=3的标签 s − t s-t s−t切割问题。这意味着即使在限制为这种实例的情况下,标签s-t切割问题也是APX难的。作为结果,即使是在这种限制条件下,该问题也不具有PTAS(多项式时间近似方案),除非 P ≠ N P P \not = NP P=NP。
(iii) 从顶点覆盖的UG难度开始[19](UG表示“唯一游戏”),定理2.1已经暗示了当 l m a x = 2 l_{max} = 2 lmax=2时,Label s-t Cut问题在任何常数 ϵ > 0 \epsilon > 0 ϵ>0的情况下,不能在 2 − ϵ 2 -\epsilon 2−ϵ内进行近似,如果 P ≠ N P P \not = NP P=NP且唯一游戏猜想成立。
(iv) 定理2.1中的约化实际上是从以顶点数为参数化的顶点覆盖到以标签数为参数化的标签s-t切割的一种子指数约化(subexponential reduction family,参见[9,第16.1节])。这意味着,假设ETH成立,标签 s − t s-t s−t切割问题即使在 l m a x = 2 l_{max} = 2 lmax=2且q是标签数的情况下,也没有 2 o ( q ) 2^{o(q)} 2o(q)时间算法,其中q是标签数。这里,ETH表示指数时间假设[14],即对于3SAT问题,没有 2 o ( n ) 2^{o(n)} 2o(n)时间算法成立,其中n是问题中的变量数。
在接下来的定理2.2中,我们将使用经典的MAX SAT问题。给定一个
C
N
F
CNF
CNF(合取范式)公式
φ
φ
φ,MAX SAT问题要求找到一个对
φ
φ
φ中的变量的真值赋值,使得满足
φ
φ
φ中的子句数最大化。
定理2.2. 在无向图和有向图中,即使 f m a x = 2 f_{max} = 2 fmax=2,Label s-t Cut问题仍然是 N P NP NP难的。
证明:我们将MAX SAT问题约化到Label s-t Cut问题。尽管我们的约化灵感来自于[7](其中MAX E3SAT约化到Label Path问题),但[7]中没有提及
f
m
a
x
f_{max}
fmax的概念。
设
φ
φ
φ是MAX SAT实例中的CNF公式,其中包含
n
n
n个变量
x
1
,
x
2
,
.
.
.
,
x
n
x_1,x_2,...,x_n
x1,x2,...,xn和
m
m
m个子句
C
1
,
C
2
,
.
.
.
,
C
m
C_1,C_2,...,C_m
C1,C2,...,Cm。
对于每个变量
x
i
x_i
xi,出现在
n
i
n_i
ni个子句
C
j
1
,
C
j
2
,
.
.
.
,
C
j
n
i
C_{j1},C_{j2},...,C_{jn_i}
Cj1,Cj2,...,Cjni中(包括正和否出现),我们构建如图2(a)所示的变量图。在变量图中,我们有两组标签{
T
i
j
h
T_{ij_h}
Tijh,
T
i
j
h
′
T '_{ij_h}
Tijh′:
1
≤
h
≤
n
i
1 ≤ h ≤ n_i
1≤h≤ni}和{
F
i
j
h
F_{ij_h}
Fijh,
F
i
j
h
′
F '_{ij_h}
Fijh′:
1
≤
h
≤
n
i
1 ≤ h ≤ n_i
1≤h≤ni},其中
T
i
j
T_{ij}
Tij(
F
i
j
F_{ij}
Fij,分别为TRUE(FALSE)意味着在
C
j
C_j
Cj中
x
i
x_i
xi被赋值为TRUE(FALSE)。
T
i
j
′
T '_{ij}
Tij′和
F
i
j
′
F '_{ij}
Fij′的标签只是虚拟标签,实际上在下面的论证中并没有使用它们。我们引入它们是为了保持最终生成的图形为简单图,而不是多重图。
对于每个子句
C
j
C_j
Cj,其中包含
k
j
k_j
kj个文字,我们构建如图2(b)所示的子句图。该图包含反映子句中文字出现的
k
j
k_j
kj个标签;例如,如果
C
j
=
(
x
i
1
∨
x
i
2
∨
¬
x
i
3
)
C_j = (x_{i_1} ∨ x_{i_2} ∨ ¬x_{i_3})
Cj=(xi1∨xi2∨¬xi3),那么应该有三个标签
T
i
1
j
T_{i_1j}
Ti1j,
T
i
2
j
T_{i_2j}
Ti2j和
F
i
3
j
F_{i_3j}
Fi3j。
最后,我们将所有变量图中的顶点
s
s
s合并为单个源
s
s
s,将所有顶点
t
t
t合并为单个汇
t
t
t,完成了Label s-t Cut问题中图
G
G
G的构造。标签集
L
L
L就是在构造过程中出现的所有标签的并集。很容易验证,在生成的实例中,我们有
∣
L
∣
=
2
∑
n
i
|L| = 2 \sum n_i
∣L∣=2∑ni和
f
m
a
x
=
2
f_{max} = 2
fmax=2,并且可以在多项式时间内构造该实例。
设
m
∗
m^∗
m∗是MAX SAT实例的最优解,
q
∗
q^∗
q∗是Label s-t Cut实例的最优解。我们声称对于任意整数
m
′
≥
0
m' ≥ 0
m′≥0,
m ∗ ≥ m ′ ⟺ q ∗ ≤ ∑ i = 1 n n i + m − m ′ . ( 1 ) m^∗ ≥ m' \Longleftrightarrow q^∗ ≤\sum\nolimits^n_{i=1} n_i+ m − m'. (1) m∗≥m′⟺q∗≤∑i=1nni+m−m′.(1)
如果(1)成立,这显然将MAX SAT问题的决策版本约化到Label s-t Cut问题的决策版本,证明了Label s-t Cut问题是NP难的。
为了简化问题,让我们定义 L T i = T i j h : 1 ≤ h ≤ n i LT_i = {T_{ij_h}:1 ≤ h ≤ n_i} LTi=Tijh:1≤h≤ni和 L F i = F i j h : 1 ≤ h ≤ n i LF_i = {F_{ij_h}:1 ≤ h ≤ n_i} LFi=Fijh:1≤h≤ni,为每个变量 x i x_i xi的表示。
( ⟹ \Longrightarrow ⟹) 假设 φ φ φ有一个满足 ≥ m ′ ≥ m' ≥m′个子句的真值赋值 τ \tau τ。对于每个 x i x_i xi,如果 x i x_i xi为真,则选择 L T i LT_i LTi中的所有标签,否则选择 L F i LF_i LFi中的所有标签。这样我们一共选择了 n i n_i ni个标签,断开了所有的变量图。由于 τ \tau τ满足≥ m ′ m' m′个子句,通过上述选择的标签,至少已经断开了m’个子句图。对于剩下的未断开的子句图,选择其中的任何一个标签来断开该图。这样我们得到了一个大小 ≤ ∑ n i + m − m ′ ≤\sum n_i + m − m' ≤∑ni+m−m′的标签 s − t s-t s−t割。
( ⟸ \Longleftarrow ⟸) 假设 G G G有大小 ≤ ∑ n i + m − m ′ ≤ \sum n_i + m − m' ≤∑ni+m−m′的标签 s − t s-t s−t割 L ′ L' L′。注意, L ′ L' L′中的所有标签都出现在变量图中。不失一般性,我们可以假设 L ′ L' L′中没有 T i j ′ T'_{ij} Tij′或 F i j ′ F'_{ij} Fij′这样的标签。如果对于某些 i i i和 j j j, T i j T_{ij} Tij和 T ′ i j T'ij T′ij都出现在 L ′ L' L′中,我们可以将 T i j ′ T'_{ij} Tij′安全地从 L ′ L' L′中删除。如果对于某些 i i i和 j j j,只有 T i j ′ T'_{ij} Tij′出现在 L ′ L' L′中,我们可以用 T i j T_{ij} Tij替换 L ′ L' L′中的 T i j ′ T'_{ij} Tij′。通过这样做,结果的标签集仍然是标签 s − t s-t s−t割,而且其大小只能减小或保持不变。对于标签 F i j ′ F'_{ij} Fij′,如果 L ′ L' L′中有这样的标签,类似的论证也适用。
通过构造,变量图当且仅当所有的 L T i LT_i LTi或所有的 L F i LF_i LFi中的标签被选择时断开。这是因为如果 L T i LT_i LTi和 L F i L F_i LFi的一部分标签被选择在 L ′ L' L′中,那么 s s s仍然与 t t t连通。让 L ◦ L^◦ L◦是所有变量的这种标签集的并集(即如果 L T i ⊆ L ′ LT_i ⊆ L' LTi⊆L′,则为集合 L T i LT_i LTi,如果 L F i ⊆ L ′ LF_i ⊆ L' LFi⊆L′,则为集合 L F i LF_i LFi)。如果对于某个变量 x i x_i xi, L T i LT_i LTi和 L F i LF_i LFi都包含在 L ◦ L^◦ L◦中,则我们可以任意选择其中一个集合的所有标签,比如将 L T i LT_i LTi放入 L ◦ L^◦ L◦中。显然,我们有 L ◦ ⊆ L ′ L^◦ ⊆ L' L◦⊆L′。
L
◦
L^◦
L◦的目的是为了导出
φ
φ
φ中变量的真值赋值。通过
L
◦
L^◦
L◦的构造,
L
◦
L^◦
L◦中要么包含
L
T
i
LT_i
LTi,要么包含
L
F
i
LF_i
LFi。如果
L
T
i
⊆
L
◦
LT_i ⊆ L^◦
LTi⊆L◦,则
x
i
x_i
xi被赋值为TRUE,否则
x
i
x_i
xi被赋值为FALSE。用
τ
\tau
τ表示这个真值赋值。
注意,
L
◦
L^◦
L◦不一定是一个标签
s
−
t
s-t
s−t割。
由于所有变量在 φ φ φ中都出现了 ∑ n i \sum n_i ∑ni次,我们知道 ∣ L ◦ ∣ = ∑ n i |L^◦| =\sum n_i ∣L◦∣=∑ni,因此 ∣ L ′ − L ◦ ∣ ≤ m − m ′ |L' − L^◦| ≤ m − m' ∣L′−L◦∣≤m−m′。因此, L ′ − L ◦ L' − L^◦ L′−L◦最多断开 m − m ′ m − m' m−m′个子句图(即使 L ′ − L ◦ L' − L^◦ L′−L◦中的每个标签断开一个不同的子句图)。由于 L ′ L' L′断开了所有 m m m个子句图, L ◦ L^◦ L◦至少断开了 m ′ m' m′个子句图。这意味着 L ◦ L^◦ L◦表示的真值赋值 τ \tau τ满足 φ φ φ中的 ≥ m ′ ≥ m' ≥m′个子句。
有向情况可以通过将图2中的每条边从 s s s定向到 t t t来轻松证明。✷
注释:
(i) 定理2.2的主要目的是确定使得“标签
s
−
t
s-t
s−t割”问题成为
N
P
NP
NP难问题的最小
f
m
a
x
f_{max}
fmax值。当
f
m
a
x
f_{max}
fmax = 1时,“标签
s
−
t
s-t
s−t割”问题退化为众所周知的“最小
s
−
t
s-t
s−t割”问题,该问题可以通过几种方法在多项式时间内解决[1,第7章]。因此,
f
m
a
x
=
2
f_{max} = 2
fmax=2可作为“标签
s
−
t
s-t
s−t割”计算复杂性的阈值。
(ii) 在定理2.2的证明中,如果我们使用从“ M A X 3 S A T MAX\ \ \ 3SAT MAX 3SAT”进行的约化,其中“ M A X 3 S A T MAX\ \ \ 3SAT MAX 3SAT”是每个子句含有最多3个文字(literals)的“ M A X S A T MAX\ \ \ SAT MAX SAT”问题,那么我们可以知道即使在具有 l m a x = 4 l_{max} = 4 lmax=4和 f m a x = 2 f_{max} = 2 fmax=2的图G中,“标签 s − t s-t s−t割”问题也是 N P NP NP难问题。
(iii) 考虑“标签 s − t s-t s−t割”的无向版本。在定理2.1和定理2.2中的每个约化中,得到的图G都是一个串行并行图,其树宽为 t w ( G ) tw(G) tw(G)恰好为2。因为当 t w ( G ) = 1 tw(G) = 1 tw(G)=1时(即 G G G是一棵树),“标签 s − t s-t s−t割”问题可以轻松解决,所以 t w ( G ) = 2 tw(G) = 2 tw(G)=2是“标签 s − t s-t s−t割”计算复杂性的一个阈值。
(iv) 由于“标签 s − t s-t s−t割”问题在上界 l m a x l_{max} lmax、 f m a x f_{max} fmax或树宽上都是 N P NP NP难问题,想要寻求每个参数(假设 P ≠ N P P ≠ NP P=NP)的参数化算法是没有希望的。事实上,根据参数化复杂性理论,这些问题(带有上界 l m a x l_{max} lmax、 f m a x f_{max} fmax或树宽的“标签 s − t s-t s−t割”问题)被称为 p a r a − N P para-NP para−NP难问题(见[9,第2.2节])。
3.算法可解情况
3.1. 固定参数算法
当参数是解中标签的数量时,"标签s-t割"问题是W[2]-难问题[8]。在本节中,我们将展示当
l
m
a
x
l_{max}
lmax受到常数上界限制时,该问题可以用固定参数算法解决。
对于带有上界
l
m
a
x
l_{max}
lmax的"标签
s
−
t
s-t
s−t割"问题,我们可以通过使用标准的有界深度搜索树技术(参见,例如,[9,第1章]和[23,第8章])(译者注:参考另一篇翻译:击中集与有界搜索树法)得到一个直接的固定参数算法,类似于"顶点覆盖"问题的方法。假设
k
k
k是参数,即解中可以使用的标签数量。我们从图中选择任意一条
s
−
t
s-t
s−t路径
P
P
P;它最多有
l
m
a
x
l_{max}
lmax条边。我们在路径
P
P
P上的每一条边
e
∈
P
e ∈ P
e∈P处进行分支,通过移除
e
e
e以及所有具有与
e
e
e相同标签的其他边。这个根节点搜索树的深度最多为
k
k
k,每个内部节点的子节点数最多为
l
m
a
x
l_{max}
lmax。这表明,带有上界
l
m
a
x
l_{max}
lmax的"标签
s
−
t
s-t
s−t割"问题可以在
O
∗
(
l
m
a
x
k
)
O^∗(l^k_{max})
O∗(lmaxk)的时间内解决。
接下来,我们将展示一个更好的固定参数算法,对于带有上界 l m a x l_{max} lmax的"标签 s − t s-t s−t割"问题,它可以在 O ∗ ( c k ) O^∗(c^k) O∗(ck)的时间内解决,其中 l m a x − 1 < c < l m a x l_{max} − 1 < c < l_{max} lmax−1<c<lmax。我们从两个简单的引理开始。
引理3.1. 给定无向图中的两个顶点 s s s、 t t t和一条边 e e e,可以在多项式时间内找到通过边 e e e的 s − t s-t s−t路径 P P P,或报告不存在这样的路径。
证明:设 e = ( u , v ) e = (u, v) e=(u,v)。这等价于寻找图中分别针对顶点对 ( s , u ) (s, u) (s,u)和 ( v , t ) (v, t) (v,t)的两条顶点不相交路径,或者针对顶点对 ( s , v ) (s, v) (s,v)和 ( u , t ) (u, t) (u,t)的两条顶点不相交路径。根据[24],在无向图中可以找到常数个顶点不相交路径,并且可以在多项式时间内完成。 ✷
回顾在图论中,如果两条路径P1和P2没有共享任何公共顶点,那么它们被称为"顶点不相交"。
引理3.2. 给定无向图中的两个顶点 s s s、 t t t和两条边 e 1 = ( u 1 , v 1 ) e_1 = (u_1, v_1) e1=(u1,v1)和 e 2 = ( u 2 , v 2 ) e_2 = (u_2, v_2) e2=(u2,v2),可以在多项式时间内找到通过 e 1 e_1 e1和 e 2 e_2 e2的 s − t s-t s−t路径 P P P,或者报告不存在这样的路径。
证明. 这个证明很简单。这等价于在以下八种情况之一中为顶点对找到三条顶点不相交的路径:
(1) (s, u1), (v1, u2), (v2, t)
(2) (s, u1), (v1, v2), (u2, t)
(3) (s, v1), (u1, u2), (v2, t)
(4) (s, v1), (u1, v2), (u2, t)
(5) (s, u2), (v2, u1), (v1, t)
(6) (s, u2), (v2, v1), (u1, t)
(7) (s, v2), (u2, u1), (v1, t)
(8) (s, v2), (u2, v1), (u1, t)
根据[24],在无向图中可以找到常数个顶点不相交路径,并且可以在多项式时间内完成。 ✷
定理3.1. 当以参数 k k k表示,即需要移除的标签数目,对于标签 s − t s-t s−t割问题在上界限制 l m a x l_{max} lmax的无向图中,该问题是固定参数可解的,并且可以在 O ∗ ( c k ) O^∗(c^k) O∗(ck)的时间内解决,其中c是常数,满足 l m a x − 1 < c < l m a x l_{max} − 1 < c < l_{max} lmax−1<c<lmax。
证明:我们将通过给出一个针对在上界限制 l m a x l_{max} lmax的无向图中标签 s − t s-t s−t割问题的 F P T FPT FPT算法来证明该定理。该算法是一个搜索树算法,因此是递归的。递归在许多基本问题上终止,这些基本问题对应于算法对应的深度有界搜索树的叶子节点。为了分析算法的运行时间(最多(up to)多项式因子,输入大小的多项式),我们只需要计算搜索树中的节点数,因为扩张到每个节点处的时间都是输入大小的多项式。此外,由于搜索树的每个内部节点至少有两个子节点,其节点数不超过其叶子节点数的两倍。因此,我们只需要计算搜索树中的叶子节点数。记为 T k T_k Tk。
现在我们描述 F P T FPT FPT算法。为简单起见,用 b b b表示 l m a x l_{max} lmax。
首先,我们移除所有不在任何 s − t s-t s−t路径上的边。根据引理3.1,这可以在多项式时间内完成。然后,我们选择两条标签相同的边 e 1 e_1 e1和 e 2 e_2 e2。如果不存在这样的边对,那么标签 s − t s-t s−t割问题就简化为最小 s − t s-t s−t割问题。
然后,我们找到一条 s − t s-t s−t路径 P 1 P_1 P1,该路径经过边 e 1 e_1 e1。
注意这样的路径必定存在。根据引理3.1, P 1 P_1 P1可以在多项式时间内找到。
接下来,我们检查是否存在一个标签 l \mathcal{l} l,该标签被分配给 P 1 P_1 P1中至少两条边。
如果存在这样的标签,路径 P 1 P_1 P1包含最多 b − 1 b − 1 b−1个不同的标签。由于至少应该移除 P 1 P_1 P1中的一个标签,我们尝试对 P 1 P_1 P1中的每个标签 l ∈ L ( P 1 ) \mathcal{l} ∈ L(P_1) l∈L(P1)进行分支(即,将标签 l \mathcal{l} l添加到当前解,并从当前图中移除所有带有标签 l \mathcal{l} l的边,得到图 G − l G_{−\mathcal{l}} G−l),并且对于参数 k − 1 k − 1 k−1,将算法调用自身处理 G − l G_{−\mathcal{l}} G−l的每个 l ∈ L ( P 1 ) \mathcal{l} ∈ L(P_1) l∈L(P1)子问题。因此,我们有递归关系
T k ≤ ( b − 1 ) T k − 1 . ( 2 ) T_k ≤ (b − 1)T_{k−1}. \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (2) Tk≤(b−1)Tk−1. (2)
接下来,我们假设不存在这样的标签。这意味着
性质3.1. P 1 P_1 P1的所有边的标签都是独一无二的。
特别地,我们知道
e
2
∉
P
1
e_2 \notin P_1
e2∈/P1,因为
l
(
e
2
)
=
l
(
e
1
)
\mathcal{l}(e_2) = \mathcal{l}(e_1)
l(e2)=l(e1) 而
e
1
∈
P
1
e_1 \in P_1
e1∈P1。
接下来,我们检查是否存在一条
s
−
t
s-t
s−t 路径
P
2
P_2
P2,它经过
e
2
e_2
e2 并且有一条边
e
e
e,满足
l
(
e
)
∉
L
(
P
1
)
\mathcal{l} (e) \notin L(P_1)
l(e)∈/L(P1)
(
3
)
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (3)
(3)
我们尝试每条在 P 1 P_1 P1外部的边 e e e,满足 l ( e ) ∉ L ( P 1 ) \mathcal{l}(e) \notin L(P_1) l(e)∈/L(P1)
通过引理 3.2,我们可以在多项式时间内确定是否存在
P
2
P_2
P2,如果存在,也可以在多项式时间内找到这条路径。我们考虑
P
2
P_2
P2 是否被找到的两种情况,即
C
a
s
e
1
Case 1
Case1 和
C
a
s
e
2
Case 2
Case2。
C
a
s
e
1
Case 1
Case1:找到了
P
2
P_2
P2。注意,在这种情况下,
P
1
P_1
P1 和
P
2
P_2
P2 都被找到了。
C
a
s
e
1.1
Case 1.1
Case1.1:在路径
P
2
P_2
P2 中,至少有一个标签
l
\mathcal{l}
l被分配给两条边。我们对
P
2
P_2
P2 进行递归调用,并且我们有递推式 (2)。
C
a
s
e
1.2
Case 1.2
Case1.2:路径
P
2
P_2
P2 中的每个标签仅被分配给一条边。回想一下性质 3.1,我们也知道路径
P
1
P_1
P1 中的每个标签仅被分配给一条边。设
U
U
U 是在
P
1
P_1
P1 和
P
2
P_2
P2 中都出现的标签集合。
换句话说,
U
=
L
(
P
1
)
∩
L
(
P
2
)
U = L(P_1) ∩ L(P_2)
U=L(P1)∩L(P2)。由于
e
1
∈
P
1
e_1 \in P_1
e1∈P1,
e
2
∈
P
2
e_2 \in P_2
e2∈P2,并且
l
(
e
1
)
=
l
(
e
2
)
\mathcal{l}(e_1) = \mathcal{l}(e_2)
l(e1)=l(e2),我们知道
U
U
U 不为空(
l
(
e
1
)
∈
U
\mathcal{l}(e1) \in U
l(e1)∈U)。
由于
∣
L
(
P
1
)
∣
≤
∣
P
1
∣
≤
b
,
∣
L
(
P
2
)
∣
≤
∣
P
2
∣
≤
b
|L(P_1)| ≤ |P_1| ≤ b,|L(P_2)| ≤ |P_2| ≤ b
∣L(P1)∣≤∣P1∣≤b,∣L(P2)∣≤∣P2∣≤b,
l
(
e
)
∈
L
(
P
2
)
\mathcal{l}(e) \in L(P_2)
l(e)∈L(P2),且
l
(
e
)
∉
L
(
P
1
)
\mathcal{l}(e) \notin L(P_1)
l(e)∈/L(P1)(对于边
e
e
e,请参考 (3)),我们知道
∣
U
∣
<
b
|U| < b
∣U∣<b。简而言之,我们有
1
≤
∣
U
∣
≤
b
−
1
1 ≤ |U| ≤ b - 1
1≤∣U∣≤b−1
(
4
)
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (4)
(4)
我们尝试
U
U
U 中的每个标签,然后尝试
(
L
(
P
1
)
−
U
)
×
(
L
(
P
2
)
−
U
)
(L(P_1) - U) × (L(P_2) - U)
(L(P1)−U)×(L(P2)−U) 中的每对标签。因此,我们分支成
∣
U
∣
|U|
∣U∣ 个子问题(参数为
k
−
1
k - 1
k−1),以及
(
∣
L
(
P
1
)
∣
−
∣
U
∣
)
⋅
(
∣
L
(
P
2
)
∣
−
∣
U
∣
)
(|L(P_1)| - |U|) · (|L(P_2)| - |U|)
(∣L(P1)∣−∣U∣)⋅(∣L(P2)∣−∣U∣) 个子问题(参数为
k
−
2
k - 2
k−2)。因此,我们得到递推式:
T
k
≤
∣
U
∣
⋅
T
k
−
1
+
(
∣
L
(
P
1
)
∣
−
∣
U
∣
)
⋅
(
∣
L
(
P
2
)
∣
−
∣
U
∣
)
⋅
T
k
−
2
T_k ≤ |U| · T_{k-1} + (|L(P_1)| - |U|) · (|L(P_2)| - |U|) · T_{k-2}
Tk≤∣U∣⋅Tk−1+(∣L(P1)∣−∣U∣)⋅(∣L(P2)∣−∣U∣)⋅Tk−2
≤
u
T
k
−
1
+
(
b
−
u
)
2
T
k
−
2
≤ uT_{k-1} + (b - u)^2T_{k-2}
≤uTk−1+(b−u)2Tk−2,
(
5
)
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (5)
(5)
其中
u
=
∣
U
∣
u = |U|
u=∣U∣
C a s e 2 Case 2 Case2:未找到 P 2 P_2 P2。这是由于每条经过 e 2 e_2 e2 的 s − t s-t s−t 路径都不包含标签 l ( e ) ∉ L ( P 1 ) \mathcal{l}(e) \notin L(P_1) l(e)∈/L(P1) 的边 e e e。换句话说,虽然有经过 e 2 e_2 e2 的 s − t s-t s−t路径,但每条这样的路径都不包含标签 l ( e ) ∉ L ( P 1 ) \mathcal{l}(e) \notin L(P_1) l(e)∈/L(P1)的边 e e e。由于 l ( e 2 ) = l ( e 1 ) ∈ L ( P 1 ) \mathcal{l}(e_2) = \mathcal{l}(e_1) \in L(P_1) l(e2)=l(e1)∈L(P1),这种情况意味着以下属性.
性质 3.2。在这一点上,经过 e 2 e_2 e2 的每个 s − t s-t s−t 路径 P ′ P' P′ 必须满足 L ( P ′ ) ⊆ L ( P 1 ) L(P') \subseteq L(P_1) L(P′)⊆L(P1)。
注意根据性质 3.2,对于经过
e
2
e_2
e2 的
s
−
t
s-t
s−t 路径
P
′
P'
P′,我们只有两种可能性:要么
L
(
P
′
)
=
L
(
P
1
)
L(P') = L(P_1)
L(P′)=L(P1),要么
L
(
P
′
)
⊂
L
(
P
1
)
L(P') ⊂ L(P_1)
L(P′)⊂L(P1)。
然后我们检查是否存在满足
L
(
P
′
′
)
⊂
L
(
P
1
)
L(P'') ⊂ L(P_1)
L(P′′)⊂L(P1) 的
s
−
t
s-t
s−t 路径
P
′
′
P''
P′′。在考虑
P
′
′
P''
P′′(找到或未找到)的两种情况之前,我们首先展示如何在多项式时间内找到这样的路径。我们尝试
L
(
P
1
)
L(P_1)
L(P1) 中的每个(each)标签
l
\mathcal{l}
l。设
G
G
G 是当前图。我们创建
G
′
G'
G′ 作为
G
G
G 的一个副本,并从图
G
′
G'
G′ 中删除所有带有标签
l
\mathcal{l}
l 的边。
然后
G
′
′
G''
G′′是剩下的图。然后我们在图
G
′
′
G''
G′′ 中找到一条通过
e
2
e_2
e2 的
s
−
t
s-t
s−t 路径。根据引理 3.1,如果这样的路径存在,可以在多项式时间内找到它。如果找到了,那么这就是
P
′
′
P''
P′′,算法结束。如果我们尝试了
L
(
P
1
)
L(P_1)
L(P1) 中的每个标签,并且没有找到期望的路径,则报告该路径不存在。
我们现在准备处理 P ′ ′ P'' P′′ 的两种可能结果。
Case 2.1:找到了 P ′ ′ P'' P′′。在这种情况下,我们有一条路径 P ′ ′ P'' P′′,上面至多有 b − 1 b - 1 b−1 个标签。因此,我们可以对 P ′ ′ P'' P′′ 进行递归调用,并且有递推式 (2)。
Case 2.2:未找到 P ′ ′ P'' P′′。也就是说,对于经过 e 2 e_2 e2 的每个 s − t s-t s−t 路径 P ′ P' P′, L ( P ′ ) = L ( P 1 ) L(P') = L(P_1) L(P′)=L(P1)。在这种情况下,可以直接移除边 e 2 e_2 e2。这是因为一旦通过删除一些标签断开了 P 1 P_1 P1, P ′ P' P′ 也相应地被断开。算法然后回到初始状态并继续执行。
为了完整起见,我们在证明后给出了算法的伪代码。请参阅 Algorithm 3.1,以及 Algorithm 3.1 调用的 Procedures 3.2 和 3.3。
还需要给出
T
k
T_k
Tk 的上界。
对于递推式 (2),我们有
T
k
=
O
(
(
b
−
1
)
k
−
1
)
(
6
)
T_k = O((b - 1)^{k-1}) \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (6)
Tk=O((b−1)k−1) (6)
递推式 (5) 的特征方程为 x 2 = u x + ( b − u ) 2 x^2 = ux + (b - u)^2 x2=ux+(b−u)2,
它只有一个正根 x = 1 2 ( u + u 2 + 4 ( b − u ) 2 ) x = \frac{1}{2} (u+\sqrt{u^2 + 4(b - u)^2} ) x=21(u+u2+4(b−u)2)。由于 1 ≤ u ≤ b − 1 1 ≤ u ≤ b - 1 1≤u≤b−1(参见 (4)),
通过简单的计算,我们知道 x ≤ 1 2 ( 1 + ( 1 + 4 ( b − 1 ) 2 ) x ≤ \frac{1}{2}(1 + \sqrt{(1 + 4(b - 1)^2}) x≤21(1+(1+4(b−1)2)。
设 c = 1 2 ( 1 + ( 1 + 4 ( b − 1 ) 2 ) c = \frac{1}{2}(1 + \sqrt{(1 + 4(b - 1)^2}) c=21(1+(1+4(b−1)2)。
因此,要满足 (5),需要 T k = O ( c k − 1 ) T_k = O(c^{k-1}) Tk=O(ck−1) ( 7 ) \ \ \ \ \ \ \ \ \ \ (7) (7)
由于 b > 1 b > 1 b>1,我们知道 b − 1 < c < b b - 1 < c < b b−1<c<b。
通过 (6) 和 (7),我们得到 T k = O ( c k ) T_k = O(c^k) Tk=O(ck),完成了定理的证明。✷
备注。我们注意到 Algorithm 3.1 不适用于有向图。这是因为在有向图中查找两条顶点不相交的路径是 NP 完全问题 [10],因此我们证明引理 3.1 的方法在有向图中不适用。
3.2 多项式时间精确算法
我们为全局标签割问题确定一些可解的情况。设 n n n为给定图中的顶点数, m m m为边数
定理3.2. 当问题的上界
f
m
a
x
f_{max}
fmax有界时,全局标签割问题是多项式时间可解的。
证明. 设
E
∗
E^∗
E∗和
L
∗
L^∗
L∗分别为最优解中的边集和标签集。由于每个标签最多与
f
m
a
x
f_{max}
fmax条边相关联,我们有
∣
E
∗
∣
≤
f
m
a
x
∣
L
∗
∣
|E^∗| ≤ f_{max}|L^∗|
∣E∗∣≤fmax∣L∗∣。
令
c
∗
c^∗
c∗为输入图
G
G
G的最小割
C
∗
C^∗
C∗的容量(边数)。由于
C
∗
C^∗
C∗是
G
G
G的一个可行的全局标签割,我们有
∣
L
∗
∣
≤
∣
L
(
C
∗
)
∣
≤
c
∗
|L^∗| ≤ |L(C^∗)| ≤ c^∗
∣L∗∣≤∣L(C∗)∣≤c∗
综合以上两个不等式,我们有
∣
E
∗
∣
≤
f
m
a
x
c
∗
|E^∗| ≤ f_{max}c^∗
∣E∗∣≤fmaxc∗。
这意味着最小全局标签割是一个 f m a x − f_{max}- fmax−近似割,其中 α α α-近似割是指其容量最多为最小割容量的 α α α倍。
根据[17],在无向图中只有 O ( n 2 α ) O(n^{2α}) O(n2α)个 α − α- α−近似割。根据[22],所有这些 α α α-近似割可以在 O ( m 2 n + m n 2 α ) O(m^{2}n + mn^{2α}) O(m2n+mn2α)的时间内找到。在我们的情况下, α = f m a x α = f_{max} α=fmax是上界有界的,这意味着所有的 f m a x − f_{max}- fmax−近似割可以在多项式时间内找到。在这些割中,具有最少标签的割必然是最优全局标签割。
上述算法的时间复杂度是 O ( m n 2 f m a x ) O(mn^2f_{max}) O(mn2fmax)。✷
备注. 最初,我们在会议版本[29, Theorem 4(iii)]中独立证明了定理3.2。在[29]发表后,我们才了解到相同的结果也出现在[7]中。
众所周知,在树宽不超过 w w w的图中,存在一个度不超过 w w w的顶点(参见,例如,[3])。因此,我们可以删除最多 w w w条边来断开输入图 G G G。也就是说,最优解包含最多 w w w条边。通过枚举大小不超过 w w w的所有边子集,我们可以在 O ( m w ) O(m^w) O(mw)的时间内找到最优解。这意味着在树宽有上界(即树宽不大于给定常数)的图中,全局标签割是多项式时间可解的。
然后考虑平面图。一般来说,平面图的树宽不一定有界。然而,平面图具有一个很好的性质,即每个平面图中至少存在一个度不超过5的顶点[27, Theorem 6.3.1]。因此,通过类似上面讨论的技巧,我们知道全局标签割在平面图中是多项式时间可解的。
这些事实,加上定理3.2,意味着全局标签割在树宽有上界的图、平面图或上界为 f m a x f_{max} fmax的实例中都是可解的。相比之下,根据定理2.2,标签 s − t s-t s−t割在这些情况下都是 N P NP NP难的。
在接下来的部分中,我们将给出Label s-t Cut问题的一个特殊情况的多项式时间精确算法。这个算法受到定理2.1中的约简的启示。该约简给出了一个非常简单的图,如图1所示。我们将这种类型的图称为"不相交路径图",其形式化定义见定义3.1。已知在具有 l m a x = 2 l_{max} = 2 lmax=2和 f m a x = 3 f_{max} = 3 fmax=3的不相交路径图中, L a b e l s − t C u t Label\ s-t\ Cut Label s−t Cut问题是 N P NP NP难的(参见定理2.1后的注释(i)),因此我们自然会问,在这种类型的图中, L a b e l s − t C u t Label\ s-t\ Cut Label s−t Cut问题何时会在多项式时间内可解。这个问题在算法3.4和定理3.3中得到了回答。
回顾一下在图论中,如果两条路径
P
1
P1
P1和
P
2
P2
P2除了端点之外没有共同的顶点,则它们被称为"开放不相交"的。
定义3.1(不相交路径图)。如果一个(有向或无向的)图G由开放不相交的s-t路径组成,则称G为不相交路径图。
例如,图1中的图是一个不相交路径图。然而,在定理2.2的证明中构造的图(参见图2)不是一个不相交路径图。它的无向版本是一个串并联图。
在下面的定理3.3的证明中,我们将使用"最小边覆盖"问题,其定义如下。给定一个无向图
G
=
(
V
,
E
)
G =(V,E)
G=(V,E),"最小边覆盖"问题要求找到一个最小基数的边子集
E
′
⊆
E
E' \subseteq E
E′⊆E,使得
E
′
E'
E′包含每个顶点(即每个顶点至少属于
E
′
E'
E′中的一条边)。
定理3.3:在限制为不相交路径图的情况下,当
f
m
a
x
=
2
f_{max} = 2
fmax=2时,标签
s
−
t
s-t
s−t割问题是多项式时间可解的。
证明:标签 s − t s-t s−t割问题在不相交路径图中的算法见算法3.4。这个算法实际上由两个阶段组成,其中步骤2和步骤3构成第一个阶段,步骤4到步骤6构成第二个阶段。第一个阶段试图消除“平凡”的 s − t s-t s−t路径(步骤2)和边(步骤3),以形成一个最优的标签 s − t s-t s−t割。第二个阶段试图断开剩余的“非平凡” s − t s-t s−t路径。
在步骤2中,我们断开每一条 s − t s-t s−t路径,其标签不在此路径之外出现。在步骤2后, G G G中的每两条路径必须具有公共标签,因此我们只需要考虑这些公共标签来构建一个最优的标签 s − t s-t s−t割。因此,只出现在一条路径中的标签是无用的,所有这样的标签都在步骤3中被删除。
由于每个标签最多出现两次在 G G G中,在步骤2和步骤3后,每个标签 l ∈ L \mathcal{l} ∈ L l∈L都恰好出现在两条路径中。因此,我们可以构建一个新的无向图 G ′ G' G′来表示当前图 G G G上的标签 s − t s-t s−t割问题。在图 G ′ G' G′中,每个顶点 v P ′ ∈ V ′ v'_P ∈ V ' vP′∈V′对应于 G G G中的一条 s − t s-t s−t路径 P P P。每条边 e l ′ ∈ E ′ e'_{\mathcal{l}} ∈ E' el′∈E′对应于在 G G G中出现的一个标签 l \mathcal{l} l,边 e l ′ e'_{\mathcal{l}} el′的两个端点 v P 1 ′ v'_{P_1} vP1′和 v P 2 ′ v'_{P_2} vP2′分别对应于标签 l \mathcal{l} l出现的两条路径 P 1 P_1 P1和 P 2 P_2 P2(在 G G G中)。
回顾一下最小边覆盖问题(Min Edge Cover Problem)的定义,它是在一个无向图中寻找一个最小基数的边子集,使得每个顶点至少属于这个子集中的一条边。因此,找到当前图 G G G的最小标签 s − t s-t s−t割等价于找到图 G ′ G' G′的最小边覆盖。此外,已知最小边覆盖问题是多项式时间可解的[11]:最小边覆盖可以通过最大匹配的并集(所以我们有步骤5)和对于每个不在匹配中的顶点,我们只有一个边在这个集合中,这个边是与顶点相邻的一个任意边(所以我们有步骤6)。
备注:定理3.3表明,在不相交路径图中,当 f m a x = 2 f_{max} = 2 fmax=2时,标签 s − t s-t s−t割问题是多项式时间可解的。如果我们放宽这两个条件中的任何一个(即“不相交路径图”和“ f m a x = 2 f_{max} = 2 fmax=2”),标签 s − t s-t s−t割问题可能会变为 N N NP难问题。例如,根据定理2.1后的注释 ( i i ) (ii) (ii),在 f m a x = 3 f_{max} = 3 fmax=3的不相交路径图中,标签 s − t s-t s−t割是 N P NP NP难问题。根据定理2.2, f m a x = 2 f_{max} = 2 fmax=2的串行并联图中,标签 s − t s-t s−t割是 N P NP NP难问题。注意,无向不相交路径图是串行并联图的一种特殊情况。
4.近似算法
待续
引用:
P. Zhang and B. Fu, “The label cut problem with respect to path length and label frequency,” Theor. Comput. Sci., vol. 648, pp. 72–83,Oct. 2016