an o(log^2 k)-approximation algorithm for k-vertex connected spanning subgraph
DESCRIPTION
I am finding a creative idea for presenting mathematics without losing its preciseness.TRANSCRIPT
1
Bundit LaekhanukitC&O Department, University of Waterloo
Joint work withJittat Fakcharoenphol, Kasetsart University
An O(log2 k)Approximation Algorithm for Vertex Connected
Spanning Subgraph
2
Outline of This Talk
● Problem Formulation● Structural Properties● Main Algorithm● Important Subroutines
3
Motivation
4
Design a Network
5
A Survivable Network
6
Given networknodes and possible connections (with cost).
CC
7
We want to pay cheap cost to make all nodes connected.
CC
8
Is this good enough?
CC
9
What if one node is broken?
CC
10
Network break apart
CC
11
We want more than just connected.
CC
12
We require a network to be survivable even if some nodes fail.
CC
13
A network that can surviveafter one node fail.
CC
14
A network that can surviveafter one node fail.
CC
15
Formulate as a Graph problem
16
Mincost kVertex Connected SpanningSubgraph Problem (kVCSS)
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
18
History of Results
19
Results since 2002
Year
2002
2004
2008
2009
Authors
Cheriyan, Vempala, Vetta
Kortsarz, Nutov
Fakcharoenphol, L.
Nutov
Approximation Ratio
O(log k) for n > 6k2
O(min{ log k, }log k)
O(log2 k)
O(log( ) log k)
nn−k
nn−k
k
n = number of verticesm = number of edges
Important early result: Ravi, Williamson 1995
20
Results since 2002
Year
2002
2004
2008
2009
Authors
Cheriyan, Vempala, Vetta
Kortsarz, Nutov
Fakcharoenphol, L.
Nutov
Approximation Ratio
O(log k) for n > 6k2
O(min{ log k, }log k)
O(log2 k)
O(log( ) log k)
nn−k
nn−k
k
n = number of verticesm = number of edges
Important early result: Ravi, Williamson 1995
21
Negative Results: APXHard for k > 1CzumajLingas 1999, Gabow (unpublished)
22
All results listed have a common framework.
23
Increase connectivity from L=1, 2,.., k
24
Start from connectivity = 1
Edge in current graphEdge that can be added
25
Increase connectivity to 2
Edge in current graphEdge that can be added
26
Increase connectivity to 3
Edge in current graphEdge that can be added
27
T(n, k)approx. algo. for increasing connectivity,implies
O(T(n, k) log k)approx. algo. for kVCSS.
28
Assume a graph is Lconnected,and we want to increase connectivity to L+1
29
Structure of Lconnected graph
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.
31
Cover Separator
● Add an edge crossing it.
32
Covering all separators =increasing connectivity
● Naive idea: add an edge to cover each separator● But, the cost can be blown up.
33
Covering all separators =increasing connectivity
● Naive idea: add an edge to cover each separator● But, the cost can be blown up.
34
Covering all separators =increasing connectivity
● Naive idea: add an edge to cover each separator● But, the cost can be blown up.
35
Our plan is to find a systematic wayto cover all separators
36
Hard to work with separatorsBetter to deal with fragments
37
Fragment
● Removing separator disconnects graph into parts.● Each part is called a fragment.
38
Fragment
● Removing separator disconnects graph into parts.● Each part is called a fragment.
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.
FragmentComplementary Fragment,
Not empty
40
Cover Fragment
● Add an edge between fragment and its complementary fragment.
41
Small fragment
● A fragment F, F ≤ (|V| L)/2
42
Property of small fragment
● The nonempty intersection of two small fragments is also a small fragment.
43
Property of small fragment
● The nonempty intersection of two small fragments is also a small fragment.
44
Property of small fragment
● The nonempty intersection of two small fragments is also a small fragment.
45
Property of small fragment
● The nonempty intersection of two small fragments is also a small fragment.
46
Core and Haloset (AC )
47
Core
● An inclusionwise minimal small fragment
Core contains no other small fragments
48C
Halofamily A(C)
● A(C) = {U : U is a small fragment that contains C and contains no other cores}
49C
Halofamily A(C)
● A(C) = {U : U is a small fragment that contains C and contains no other cores}
not in Halofamily
50
AC
C
Haloset AC
● AC = a union of fragments in Halofamily A(C)
51
Disjointness Property
● Members of different Halofamilies are disjoint.
52
Disjointness Property
● Thus, cores and Halosets are disjoint.
53
Connection to Connectivity● (L+1)connected graph has no small fragments
and thus has no cores.
54
Cores and Halosets (but not Halofamilies) arepolytime computable.
55
We use the number of cores to measurehow close graph is to be (L+1)connected.
56
Our plan is to add cheap edgesto decrease the number of cores.
57
Algorithm
While the number of cores > 0
For each core C– Add set of edges to cover all fragments in
Halofamily of CEnd For
End While
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.
59
The number of coresdecreases by half.
● Cores in the next iteration are small fragments in the previous one.
Edge in current graphEdge that can be added
60
The number of coresdecreases by half.
● Cores in the next iteration are small fragments in the previous one.
Edge in current graphEdge that can be added
61
The number of coresdecreases by half.
● Cores in the next iteration are small fragments in the previous one.
Edge in current graphEdge that can be added
62
The number of coresdecreases by half.
● Fragments having one core are in some Halofamily, so all of them must be covered.
Edge in current graphEdge that can be added
63
The number of coresdecreases by half.
● Fragments having one core are in some Halofamily, so all of them must be covered.
Edge in current graphEdge that can be added
64
The number of coresdecreases by half.
● Remaining small fragments contains ≥ 2 cores
Core in the next iteration
65
The number of coresdecreases by half.
● Thus, the number of cores in the next iterations is at most half of the previous one.
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).
67
Cost paid is at most 4opt
● An edge that covers a fragment must go from the fragment to its complementary.
Edge in current graphEdge that can be added
68
Cost paid is at most 4opt
● Edges that cover small fragments:
(1) has ≥ 1 endpoints in Halosets (2) share by ≤ 2 Halosets.
Edge in current graphEdge that can be added
≥ 1 endpoint in HaloSet
share by ≤ 2 Halosets
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, ● 2approx for covering Halofamily implies that
cost paid ≤ 4opt.
∑ cost I C ≤∑ cost OPT C =2 opt
70
Subroutines needed
71
Cover Halofamily
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.
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
C AC
r
cost 0
original cost
74
Correctness
Edges that cover small fragments inHalofamily A(C) have endpoints in A(C)
75
Cost
Frank's algorithm give an optimal solutionRunning it in bidirected graph pays factor of 2.
76
Computing Cores and Halosets
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.
78
Compute Haloset AC
For each vertex v
● Run testing procedure to check if v is in AC
End For
79
We need Testing Procedure.
80
● Add an edge from a vertex r ∈ C to v.● Add edges forming a clique on neighbours of v.
Testing Procedure (core C, vertex v)
r
v
Padded GraphPadding Edges
81
U
Testing Procedure (core C, vertex v)
● Compute minimal small fragment U that contains C by running MaxFlow.
r
v
82
Testing Procedure (core C, vertex v)
● If U contains both C and v but no other cores, accept v.● Otherwise, reject v.
U
r
v
ACCEPT
83
U
Testing Procedure (core C, vertex v)
● If U contains both C and v but no other cores, accept v.● Otherwise, reject v.
r
v
REJECT
84
Correctness of Testing Procedure
● Let U be any small fragment containing C.
U
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.
U
r
v
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.
U
r
v
cover U
87
Correctness of Testing Procedure
● If v ∉U, then an edge (r, v) covers U.
U
r
v
cover U
88
Correctness of Testing Procedure
● Thus, any small fragment containing C, if exists, must contain v in the padded graph.
U
r
v
89
Correctness of Testing Procedure
● U has unique core C ⇔ U is in Halofamily A(C)
U
r
v
90
Correctness of Testing Procedure
● U has unique core C ⇔ U is in Halofamily A(C)
U
r
v
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.
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.
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?
94
Questions?
95
Thank you for your attention.