4.18.24 Movement Legacies, Reflection, and Review.pptx
An O(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
1. An O(log k)Approximation
2
Algorithm for Vertex Connected
Spanning Subgraph
Bundit Laekhanukit
C&O Department, University of Waterloo
Joint work with
Jittat Fakcharoenphol, Kasetsart University
1
2. Outline of This Talk
●
Problem Formulation
●
Structural Properties
●
Main Algorithm
●
Important Subroutines
2
17. kVertex Connected Spanning
Subgraph Problem (kVCSS)
Input:
● Graph G=(V, E) with nonnegative cost on edges
● An integer k, a requirement
Goal:
● Find a mincost subgraph H=(V, E').
● Removing < k vertices does not disconnect H.
k=1: Minimunm Spanning Tree, k>1: NPHard
17
19. Results since 2002
n = number of vertices
m = number of edges
Year Authors Approximation Ratio
2002 Cheriyan, Vempala, Vetta O(log k) for n > 6k2
n
2004 Kortsarz, Nutov O(min{ log k, }log k)
n−k k
2008 Fakcharoenphol, L. O(log2 k)
n
2009 Nutov O(log( ) log k)
n−k
Important early result: Ravi, Williamson 1995
19
20. Results since 2002
n = number of vertices
m = number of edges
Year Authors Approximation Ratio
2002 Cheriyan, Vempala, Vetta O(log k) for n > 6k2
n
2004 Kortsarz, Nutov O(min{ log k, }log k)
n−k k
2008 Fakcharoenphol, L. O(log2 k)
n
2009 Nutov O(log( ) log k)
n−k
Important early result: Ravi, Williamson 1995
20
30. (Vertex) Separator
● Set S of vertices: removing S leaves G disconnected.
● An Lconnected graph that is not (L+1)connected has
separator of size L.
30
37. Fragment
● Removing separator disconnects graph into parts.
● Each part is called a fragment.
37
38. Fragment
● Removing separator disconnects graph into parts.
● Each part is called a fragment.
38
39. Fragment
● Precisely, fragment F has L neighbours, say N(F), and
V – (F ∪ N(F)) is not empty.
● V – (F ∪ N(F)) is a complementary fragment.
Not empty
Fragment
Complementary Fragment,
39
40. Cover Fragment
●
Add an edge between fragment and its
complementary fragment.
40
57. Algorithm
While the number of cores > 0
For each core C
–Add set of edges to cover all fragments in
Halofamily of C
End For
End While
57
58. Overview of Analysis
●
In each while loop,
●
The number of core decreases by half.
● Cost paid is ≤ 4opt
●
Thus, it give O(log n) opt.
58
59. The number of cores
decreases by half.
●
Cores in the next iteration are small fragments
in the previous one.
Edge in current graph
Edge that can be added
59
60. The number of cores
decreases by half.
●
Cores in the next iteration are small fragments
in the previous one.
Edge in current graph
Edge that can be added
60
61. The number of cores
decreases by half.
●
Cores in the next iteration are small fragments
in the previous one.
Edge in current graph
Edge that can be added
61
62. The number of cores
decreases by half.
●
Fragments having one core are in some Halo
family, so all of them must be covered.
Edge in current graph
Edge that can be added
62
63. The number of cores
decreases by half.
●
Fragments having one core are in some Halo
family, so all of them must be covered.
Edge in current graph
Edge that can be added
63
64. The number of cores
decreases by half.
● Remaining small fragments contains ≥ 2 cores
64
Core in the next iteration
65. The number of cores
decreases by half.
●
Thus, the number of cores in the next iterations
is at most half of the previous one.
65
66. Cost paid is at most 4opt
●
Claim: There is a 2approximation algorithm for
covering Halofamilies. [proof later]
●
Idea: Edges that cover each Halofamilies are
almost disjoint (share by at most 2).
66
67. Cost paid is at most 4opt
●
An edge that covers a fragment must go from
the fragment to its complementary.
Edge in current graph
Edge that can be added
67
68. Cost paid is at most 4opt
● Edges that cover small fragments:
(1) has ≥ 1 endpoints in Halosets (2) share by ≤ 2 Halosets.
share by ≤ 2 Halosets
≥ 1 endpoint in HaloSet
Edge in current graph
Edge that can be added
68
69. Cost paid is at most 4opt
● OPT(C) = {e ∈ OPT : e has endpoint in A(C)}
●
I(C) = mincost set of edges that cover A(C)
● Then cost(I(C)) ≤ cost(OPT(C))
●
Thus, ∑ cost I C ≤∑ cost OPT C =2 opt
●
2approx for covering Halofamily implies that
cost paid ≤ 4opt.
69
72. Subroutine Needed
Theorem [Frank '99] There is a polynomial time
algorithm that increasing rooted connectivity of
directed graph by 1.
●
Particularly, Frank's algorithm covers all
fragments that contain a root vertex r.
Note: We use FrankTardos Algorithm in the original paper.
72
73. Cover HaloFamily A(C)
● Set cost of edges with no endpoints in AC to zero.
● Run Frank's algorithm rooted at r ∈ C (bidirected graph)
● Choose edges with endpoints in AC
cost 0
original cost
r
C AC
73
74. Correctness
Edges that cover small fragments in
Halofamily A(C) have endpoints in A(C)
74
75. Cost
Frank's algorithm give an optimal solution
Running it in bidirected graph pays factor of 2.
75
77. Compute Cores
For each pair of vertices
●
Compute VertexCapacitated Maxflow
●
Choose vertices reachable from source.
●
Save fragment found to the list
End for
Remove fragments in list that contain others.
77
78. Compute Haloset AC
For each vertex v
● Run testing procedure to check if v is in AC
End For
78
80. Testing Procedure (core C, vertex v)
● Add an edge from a vertex r ∈ C to v.
●
Add edges forming a clique on neighbours of v.
v
Padding Edges Padded Graph
r 80
85. Correctness of Testing Procedure
● If v ∈U, then a neighbour of v is either in U or a
separator of U. So, U is still a fragment.
v
U
r 85
86. Correctness of Testing Procedure
● If v ∈a separator of U, then v has one neighbour in U and
one in its complement. So, padding edges cover U.
v
cover U
U
r 86
91. Side Remarks (not in paper)
●
Our algorithm give factor of O(log t), where t is the
number of cores.
● Running Frank's algorithm from r ∈ C reduce the
number of cores to ≤ k.
● Preprocessing cost ≤ 2opt
In the original paper, we apply KortsarzNutov's algorithm when k ≤ o(n), e.g., k ≤ n/2.
91
92. Conclusion
●
We present O(log2 k)approximation algorithm
for kVCSS
●
New techniques not in this talk:
●
The number of cores can be decreased to L.
●
We can avoid Halosets computation.
92
93. Open Problems
●
Is there O(log k)approximation algorithm for
all value of k, n?
●
Can we get hardness better than APXhard?
●
Can we apply LP rounding technique to this
problem? What is ratio IP/LP?
93