# Network Algorithms by RmXRPbhc

VIEWS: 2 PAGES: 30

• pg 1
```									 Network Algorithms

Set Problems:
Vertex Cover, Dominating set,
Clique, Independent set
Basic problems
• Several basic graph problems:
– Finding subsets of vertices or edges with simple
property – as small or as large as possible
– Coloring (next time)
• Relations
• NP-completeness
• Algorithms

2                   Network Algorithms
Vertex cover
• Set of vertices W  V with for all {x,y} 
E: x  W or y  W.
• Vertex Cover problem:
– Given G, find vertex cover of minimum size

3                  Network Algorithms
Dominating Set
• Set of vertices W such that for all v  V: v
 W or v has a neighbor w with w W.
• Dominating Set problem: find dominating
set of minimum size
• E.g.: facility location problems

4                Network Algorithms
Clique and Independent Set
• Clique: Set of vertices W with for all v, w 
W: {v,w}  E.
• Independent set: Set of vertices W with for
all v, w  W: {v,w}  E.
• Clique problem: find largest clique.
• Independent set problem: find largest
independent set

5                Network Algorithms
Relations
• The following are equivalent
– G has an independent set with at least k vertices
– The complement of G has a clique with at least
k vertices
– G has a vertex cover with at most n-k vertices

6                    Network Algorithms
NP-completeness
• Theorem: Dominating Set is NP-complete
• Membership in NP: OK
• Transformation from 3-Sat.
–   One vertex for x(i) = true
–   One vertex for x(i) = false, with edge to the above
–   One vertex extra per x(i) with edges to the two above
–   One vertex per clause with edges to literals in it
–   Ask for a dominating set of size n (= nb of variables)

7                        Network Algorithms
NP-completeness of
Vertex Cover
• In NP: OK
• Transformation from 3-sat
– One triangle per clause
– One edge per variable
– Take edge between occurrence of variable in
variable-edge and in clause-triangle
– Ask for vertex cover of size 2r+n, when r
clauses and n variables
8                   Network Algorithms
Corollaries
• Clique and independent set are NP-
complete
• By equivalence lemma

9               Network Algorithms
Approximation
• Clique, IS are very hard to approximate
• Approximation algorithm with ratio 2 for vertex
cover
– H = G, S = 
– Repeat until H is empty
• Select an edge {v,w} . Put v and w in S, and remove v, w,
and all adjacent edges from H
• Does not translate to approx. algorithm for clique
or independent set
– E.g., take a graph with 1000 vertices and a vertex cover
of size 498.
10                        Network Algorithms
Vertex cover in bipartite graphs
• In a bipartite graph: the minimum size of a vertex
cover equals the maximum size of a matching
– If we have a matching: each edge must have an
endpoint in the vertex cover
– In the other direction:
• Let X be a vertex cover. Take flow model. Look at the edges
from s to vertices in X, and from vertices in X to t. These form
a cut. Now use the min-cut max-flow theorem.

11                         Network Algorithms
Bipartite graphs
• We saw: min vertex cover in bipartite graph
equals maximum matching
• Corollary: independent set in bipartite graph
is polynomial time computable

12               Network Algorithms
Special cases for independent set
• For many types of graphs (e.g., planar) IS
stays NP-complete when restricted to these
graphs.
• Some special cases are polynomial
– Trees, bounded treewidth
– Bipartite graphs
– Interval graphs, circular arc graphs

13                    Network Algorithms
Interval graphs
• Each vertex represents an interval
• Edge between two vertices when their intervals have non-
empty intersection
• Independent set on interval graphs models room-booking
problem
• Greedy algorithm for IS on interval graphs is optimal:
– Repeat:
• Select vertex v with leftmost right-endpoint of interval
• Remove v and its neighbors
• Clique is trivial on interval graphs
14                          Network Algorithms
Circular arc graphs
• Like interval graphs, but now `intervals on a
circle’.
• If we remove a vertex and its neighbors from an
circular arc graph, then we get an interval graph
• Algorithm, e.g.:
– for all vertices v do
• Compute the maximum independent set of G minus v and its
neighbors
– If the largest i.s. is found for v*, output that set with v*

15                        Network Algorithms
Perfect graphs
• A graph G is perfect if for each induced subgraph
H of G: the size of the maximum clique in H
equals the chromatic number of H (nb of colors
needed to `vertex color H’).
• Strong perfect graph theorem (conjectured Berge
1966, proven Chudnowsky, Robertson, Seymour, Thomas,
2002).
– G is perfect, if and only if G does not contain an
induced subgraph that is a cycle without additional
edges of odd length at least four, and the complement
of G also does not contain such a cycle. (`No odd hole
or antihole’)
16                      Network Algorithms
Coloring and independent set in
perfect graphs
• Polynomial time algorithm for finding the
maximum independent set and the coloring
number of a perfect graph
– Grötschel, Lovasz, Schrijver (1981)
– Uses Linear Programming methods

17                    Network Algorithms
Approximating Dominating Set
• Can be done with ratio O( log n)
• Here: algorithm for generalization: set covering
problem
• Given: set X, collection C of subsets of X
• Find: smallest number of sets from C such that its
union is X.
– From DS to Set Covering: For each vertex v, take a set
Sv in the collection, with Sv = {v}  N(v).

18                      Network Algorithms
Greedy approximation of Set
Covering problem
•    U=X
•    A=
•    While U 
•    Do
– Select an S from C with maximum | S  U|
– A = A  {S}
–U=U–S
• Output A
19                  Network Algorithms
Ratio
• H(n) = Si=1…n 1/i
• Theorem. Greedy algorithm gives a
number of sets that is at most H( max{|S| | S
 C}) times the optimal number of sets.
• Corollary: Greedy algorithm has ratio
O(log n).

20               Network Algorithms
Proof (1)
• Assign a cost 1 to each selected set.
• Spread this cost evenly over the newly
covered elements, cx.
• Say A* is optimal solution, A solution by
algorithm.
• |A| = Sx  X cx  SS  A* Sx  S cx
• We’ll proof: Sx  S cx  H(|S|)
• That proves the theorem.
21               Network Algorithms
Sx  S cx  H(|S|)
• Consider some S in C.
• Write ui = number of elements of S that still are in U
after i sets have been taken = |S – (S1  …  Si). u0 =
|S|.
• Suppose uk = 0; uk-1 >0.
• ui-1 – ui > 0 elements from S were covered for the first
time by Si.
 Sx  S cx = Si=1…k (ui-1 – ui)* 1/(|Si –((S1  …  Si-1)| 
Si=1…k (ui-1 – ui)/ ui-1

22                   Network Algorithms
Proof continues
 Sx  S cx  Si=1…k (ui-1 – ui)/ ui-1 
 Si=1…k (H(ui-1) – H(ui)) = H(u0) – H(uk) =
H(|S|) – 0.
• Use H(b) – H(a)  (b – a)/b
• Now we showed: Sx  S cx  H(|S|)

23               Network Algorithms
• (I)LP methods work also: log n ratio
• O(log n) is the best one can hope for unless
P=NP

24               Network Algorithms
Facility location problem
• Given: complete graph G, distances d
between vertices fulfilling triangle
inequality, integer k
• Question: find a set S of k vertices, such
that the maximum over all vertices v of
minw S d(v,w)
is as small as possible

25                   Network Algorithms
Restating the problem
• Find the smallest r and a set S such that S is
a dominating set of size at most k for the
graph Gr formed by the edges of length at
most r.
• OPT is smallest r.
• G2 is square of a graph: edge in G2 when
there is a path of length 2

26                Network Algorithms
A Lemma
• Let I be an independent set in H2. Then |I| is
at most the minimum size of a dominating
set in H.
• Proof: Let D be a minimum dominating set
of H. For each v  D, N(v) {v} contains at
most one vertex from I.

27                Network Algorithms
Approximation algorithm for
facility location
• Sort the values of the lengths of the edges in
G, say d1  …  dm
• For i = 1 to m do
–   Compute Gx with x = di
–   Compute Gx2
–   Find a maximal independent set I in Gx2
–   If it has size at most k, then return I; stop.

28                       Network Algorithms
Analysis
• The optimal solution has cost at least x=di
– For y<x: the minimum size of a dominating set
in Gy is k+1 or more (use lemma)
• Ratio of algorithm is 2
– Each maximal independent set is a domination
set, so I is a dominating set in Gx2.
– Each vertex has a path of length at most 2 to a
vertex in I in Gx: so, I is a k-center with `cost’ at
most 2x.
29                     Network Algorithms
Graphs that are not complete
• Given: graph G, distance for each edge d(e),
integer k.
• Question: find a set S of k vertices, such that the
maximum over all vertices of the length of the
shortest path to a vertex in S is as small as
possible.
 Can be translated to previous problem: make
complete graph with d(v,w) the length of the
shortest path from v to w
30                  Network Algorithms

```
To top