Network Algorithms by RmXRPbhc


									 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
• 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
• 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
• Clique and independent set are NP-
• By equivalence lemma

9               Network Algorithms
• Clique, IS are very hard to approximate
• Approximation algorithm with ratio 2 for vertex
     – 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
• 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
• 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
• 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
     – 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,
      – 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
• 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}
• Output A
19                  Network Algorithms
• 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
• |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 =
• 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

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
• 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
 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