Docstoc

Approximation Algorithms

Document Sample
Approximation Algorithms Powered By Docstoc
					Approximation Algorithms

        Greedy Strategies
Max and Min
 min f is equivalent to max –f.
 However, a good approximation for min f may not be a
  good approximation for max –f.
 For example, consider a graph G=(V,E). C is a
  minimum vertex cover of G iff V \ C is a maximum
  independent set of G. The minimum vertex cover has a
  polynomial-time 2-approximation, but the maximum
  independent set has no constant-bounded approximation
  unless NP=P.
 Another example: Minimum Connected Dominating Set
  and Minimum Spanning Tree with Maximum Number
  of Leaves

                  I hear, I forget. I learn, I remember. I do, I   2
                                   understand!
Greedy for Max and Min
 Max --- independent system
 Min --- submodular potential function




                  I hear, I forget. I learn, I   3
                remember. I do, I understand!
Independent System




     I hear, I forget. I learn, I   4
   remember. I do, I understand!
Independent System
 Consider a set E and a collection C of subsets of E.
  (E,C) is called an independent system if


               A  B, B  C  A  C

  The elements of C are called independent sets




                      I hear, I forget. I learn, I       5
                    remember. I do, I understand!
Maximization Problem
Consider a nonnegative cost function :
c : E  R
Consider the following maximation problem on (E, C) :
max       c( A)
subject to A  C
where c( A)   c( x)
               xA




                     I hear, I forget. I learn, I       6
                   remember. I do, I understand!
Greedy Approximation MAX
 Sort all elements in E into ordering
    c( x1)  c ( x 2)    c ( xn ).
 A  ;
 for i  1 to n do
     if A  {xi}  C
        hen A  A  {xi};
        t
 output A.

                  I hear, I forget. I learn, I   7
                remember. I do, I understand!
Theorem
Let AG be obtained solution by the Greedy Algorithm MAX.
Let A * be an optimal solution. Then
              c( A*)              u(F )
                       max F  E
              c( AG )             v( F )
whereu ( F ) is the maximum size of independent set in F
and v( F )is the minimum size of maximal independent set
in F .



                     I hear, I forget. I learn, I          8
                   remember. I do, I understand!
Proof
Denote Ei  {x1, ..., xi}.
                                  n
c( AG )  c( x1) | E1  AG |   c( xi )(| Ei  AG |  | Ei  1  AG |)
                                 i 2
  n 1
  | Ei  AG | (c( xi )  c( xi  1)) | En  AG | c( xn )
  i 1

Similarly,
 c( A*)
  n 1
  | Ei  A* | (c( xi )  c( xi  1)) | En  A* | c( xn )
  i 1


                          I hear, I forget. I learn, I                    9
                        remember. I do, I understand!
Therefore,
              c( A*)            | Ei  A* |
                       max                 .
              c( AG )   1i  n | Ei  AG |


Note that | Ei  A* | u ( Ei ) since Ei  A* is independent.
We need only to show that
| Ei  AG | v( Ei ), that is, to show Ei  AG is a maximal
independent set of Ei.



                      I hear, I forget. I learn, I              10
                    remember. I do, I understand!
Supposeindependent set Ei  AG is not maximal in Ei.
Then thereis a xj  Ei \ AG such that( Ei  AG )  {xj} is
independent. So, ( Ej  1  AG )  {xj} is independent,
contradicting the rule of not choosing xj.




                      I hear, I forget. I learn, I           11
                    remember. I do, I understand!
Maximum Weight Hamiltonian Cycle
 Given an edge-weighted complete graph, find a
  Hamiltonian cycle with maximum total weight.




                  I hear, I forget. I learn, I    12
                remember. I do, I understand!
Independent sets
 E = {all edges}
 A subset of edges is independent if it is a
  Hamiltonian cycle or a vertex-disjoint union of
  paths.
 C = a collection of such subsets




                  I hear, I forget. I learn, I      13
                remember. I do, I understand!
Maximal Independent Sets
 Consider a subset F of edges. For any two
  maximal independent sets I and J of F,
             |J| < 2|I|




                  I hear, I forget. I learn, I   14
                remember. I do, I understand!
  I hear, I forget. I learn, I   15
remember. I do, I understand!
 Theorem: For the maximum Hamiltonian cycle
  problem, the greedy algorithm MAX produces
  a polynomial time approximation with
  performance ratio at most 2.




                I hear, I forget. I learn, I   16
              remember. I do, I understand!
Maximum Weight Directed
Hamiltonian Cycle
 Given an edge-weighted complete digraph, find
  a Hamiltonian cycle with maximum total weight.




                 I hear, I forget. I learn, I      17
               remember. I do, I understand!
Independent sets
 E = {all edges}
 A subset of edges is independent if it is a
  directed Hamiltonian cycle or a vertex-disjoint
  union of directed paths.




                   I hear, I forget. I learn, I     18
                 remember. I do, I understand!
Consider F  E. Suppose I and J are two maximal
independent sets of F . Denote
J 1  {e  J | e shares the head with an edge in I }
J 2  {e  J | e shares the tail with an edge in I }
 J 3  {e  J | e connectsa maximal path of I from its
                    head to its tail}
| Ji || I | for i  1, 2, 3.
| J || J 1 |  | J 2 |  | J 3 | 3 | I | .


                            I hear, I forget. I learn, I   19
                          remember. I do, I understand!
Tightness

                                             The rest of all
                                             edges have a
                                             cost ε
                    ε


            1                     1

                     1


                   1+ε




                  I hear, I forget. I learn, I                 20
                remember. I do, I understand!
    A Special Case
    If c satisfies the following quadrilateral condition:
   For any 4 vertices u, v, u’, v’ in V,

c(u, v)  max{c(u, v' ), c(u' , v)}  c(u, v)  c(u' , v' )  c(u, v' )  c(u' , v)


   Then the greedy approximation for maximum weight
     Hamiltonian cycle has the performance ratio 2.




                               I hear, I forget. I learn, I                    21
                             remember. I do, I understand!
Suppose e1, e2, ..., en are selected by the Greedy algorithm
in the order of appearance. Let Qi  Pi  {e1, e2, ..., ei}
where Pi is the maximum weight Hamiltonia n cycle
containing e1, e2, ..., ei. We claim that for i  1, ..., n,
  c(Qi  1)  c(Qi )  2c(ei ).

If this is proved, then wehave
   c(Q 0)  c(Q0 )  2c(e1 )  c(Q2 )  2c(e1 )  2c(e2 )
   c(Qn)  2(c(e1)    c(en)).
                        I hear, I forget. I learn, I           22
                      remember. I do, I understand!
Let ei  (u, v).
By the Greedy rule, c(ei )  c(e) for all e  Qi  1.
After ei is selected, at most threeedges in Qi  1 become
not permissible :
  (1) one shares the head with ei,
  (2) one shares the tail with ei,
  (3) the third one is on the path from v to u.
                        I hear, I forget. I learn, I        23
                      remember. I do, I understand!
Case 1. At most twoedges, say e and e' , of Qi  1 become
not permissible after ei is selected.That is, we may form
a new path passing through e1 , e 2 , ..., ei by removing at most
two edges e and e'. Then
c((Pi 1 \ {e, e'})  {ei })  c( Pi ). Hence,
   c(Qi  1)  c(Qi )  c(e)  c(e' )  c(Qi )  2c(ei )




                            I hear, I forget. I learn, I        24
                          remember. I do, I understand!
Case 2. We must remove3 edges from Pi-1 to form a
new path. They are (u, v' ), (u ' , v) and an edge e
on the subpath from v to u in Pi  1. This means that Pi-1
has a subpath from u' to v', which contains these three
edges.Thus after deleting (u, v' ), (u', v), and e, we can
add edge (u', v' ) to form a new path. Therefore
c(Qi )  c(Qi  1)  c(e)  c(u , v' )  c(u ' , v)  c(u ' , v' )
        c(Qi  1)  c(e)  c(u, v)  c(Qi  1)  2c(ei )
the secondinequality follows from the Quadrilateral
condition u, v, u' , v', and the fact thatc(u,v)  c(e')
for all e' Q i-1
                         I hear, I forget. I learn, I                25
                       remember. I do, I understand!
Superstring
 Given n strings s1, s2, …, sn, find a shortest string
  s containing all s1, s2, …, sn as substrings.

 No si is a substring of another sj.




                    I hear, I forget. I learn, I          26
                  remember. I do, I understand!
An Example
 Given S = {abcc, efaab, bccef}
 Some possible solutions:
   Concatenate all substrings = abccefaabbccef (14
    chars)
   A shortest superstring is abccefaab (9 chars)




                   I hear, I forget. I learn, I       27
                 remember. I do, I understand!
Relationship to Set Cover?
 How to “transform” the shortest superstring
  (SS) to the Set Cover (SC) problem?
      Need to identify U
      Need to identify S
      Need to define the cost function
      The SC instance is an SS instance
 Let U = S (a set of n strings).
 How to define S ?

                     I hear, I forget. I learn, I   28
                   remember. I do, I understand!
Relationship to SC (cont)
                   k
    si
|                       |
                                            sj
            |                                           |

|                                                       |
            σijk


Let M be the set that consists of the strings σijk


                         I hear, I forget. I learn, I       29
                       remember. I do, I understand!
Relationship to SC (cont)

For a string   S  M , define set( )  {s  S | s is a substring of  }


Now, define S  {set ( ) |   S  M }

Define cost of set ( ) |  |, i.e., the length of string 

Let C is the set cover of this constructed SC,
then the concatenation of all strings in C is a
solution of SS. Note that C is a collection of
set ( )

                         I hear, I forget. I learn, I                        30
                       remember. I do, I understand!
Algorithm 1 for SS
1 : Construct the SC as described
2 : Use the SC algorithm to find a set cover C
  Let C  {set ( 1 ),..., set ( k )}
3 : Concatenate the strings  1 ,...,  k in any order
4 : Return the resulting string s



                     I hear, I forget. I learn, I        31
                   remember. I do, I understand!
Approximation Ratio
 Lemma 1: Let opt be length of the optimal solution of
  SS and opt’ be the cost of the optimal solution of SC,
  we have: opt ≤ opt’ ≤ 2opt
 Proof:
  (a) Show opt  opt '
  Consider an optimal SC C*  {set ( ij ) |1  j  l}. Let s be a string
  concatenated from  ij ,1  j  l. Thus | s | opt '.
  Since each string of S is a substring of some  ij ,1  j  l , it is also
  a substring of s. Hence s is also a solution of SS. Therefore,
  opt | s | opt '

                           I hear, I forget. I learn, I                        32
                         remember. I do, I understand!
Proof of Lemma 1 (cont)
(b) Show opt '  2opt
Note that each string in the set cover must start and end in different
places from the rest of the strings since none of the strings are substrings
of another string.
Now, partition the strings of the set cover into group that are contained
by  1 ,..., k . The strings are split such thatthe last string in group
 i will be the furthest overlapping string to the first string in  i .
After this partition, we claim that  i cannot overlap with  i  2 . (Use
the contradiction method to prove it)
Therefore,in the worstcase, every other group completely overlaps
and we have opt '  2opt

                            I hear, I forget. I learn, I                     33
                          remember. I do, I understand!
Approximation Ratio
 Theorem1: Algorithm 1 has an approximation
  ratio within a factor of 2Hn
 Proof: We know that the approximation ratio of
  Set Cover is Hn. From Lemma 1, it follows
  directly that Algorithm 1 is a 2Hn factor
  algorithm for SS




                  I hear, I forget. I learn, I     34
                remember. I do, I understand!
Prefix and Overlap
 For two string s1 and s2, we have:
    Overlap(s1,s2) = the maximum between the suffix
     of s1 and the prefix of s2.
    pref(s1,s2) = the prefix of s1 that remains after
     chopping off overlap(s1,s2)
 Example:
    s1 = abcbcaa and s2 = bcaaca, then
    overlap(s1,s2) = bcaa
    pref(s1,s2) = abc
 Note: overlap(s1,s2) ≠ overlap(s2, s1)
                    I hear, I forget. I learn, I         35
                  remember. I do, I understand!
Is there any better approach?
 Now, suppose that in the optimal solution, the strings
  appear from the left to right in the order: s1, s2, …, sn
 Define: opt = |pref(s1,s2)| + …+|pref(sn-1,sn)| +
  |pref(sn,s1)| + |overlap(sn,s1)|

                                               Why overlap(sn,s1)?
                                               Consider this example
                                               S={agagag, gagaga}.
                                               If we just consider the
                                               prefix only, the result
                                               would be ag whereas
                                               the correct result is
                                               agagaga
                      I hear, I forget. I learn, I                       36
                    remember. I do, I understand!
Prefix Graph
 Define the prefix graph as follows:
    Complete weighted directed graph G=(V,E)
    V is a set of vertices, labeled from 1 to n (each
     vertex represents each string si)
    For each edge i→j, i ≠ j, assign a weight of
                                         1( )
     |pref(si, sj)|
 Example:
  S={abc, bcd, dab}
                                  2(    )                (   )3

                     I hear, I forget. I learn, I                 37
                   remember. I do, I understand!
Cycle Cover
 Cycle Cover: a collection of disjoint cycles
  covering all vertices (each vertex is in exactly
  one cycle)
 Note that the tour 1 → 2 → … → n → 1 is a
  cycle cover
 Minimum weight cycle cover: sum of weights
  is minimum over all covers
 Thus, we want to find a minimum weight cycle
  cover
                  I hear, I forget. I learn, I       38
                remember. I do, I understand!
How to find a min. weight cycle cover
 Corresponding to the prefix graph, construct a bipartite
  graph H=(X,Y;E) such that:
    X = {x1, x2, …, xn} and Y = {y1, y2, …, yn}
    For each i, j (in 1…n), add edge (xi, yj) of weight |pref(si,sj)|
 Each cycle cover of the prefix graph ↔ a perfect
  matching of the same weight in H. (Perfect matching is
  a matching which covers all the vertices)
 Finding a minimum weight cycle cover = finding a
  minimum weight perfect matching (which can be
  found in poly-time)

                         I hear, I forget. I learn, I                    39
                       remember. I do, I understand!
 How to break the cycle
If ci  (i1  i2    il  i1 ) is a cyclein the prefix graph,                                s12

let α(ci )  pref ( si1 , si2 )    pref ( sil 1 , sil )  pref ( sil , si1 )
Let w(ci ) |  (ci ) | be the weight of cycleci
and let σ (ci )   (ci )  si1
From now on, we will call si1 the representa string for ci
                                            tive                                   s13
                                                                                                         s11

Informally, we can obtain the string σ(ci ) by " opening" ci at
arbitrary string si1 .
                                            (c1 )  pref ( s11 , s12 )  pref ( s12 , s13 )  pref ( s13 , s11 )
                                                    bc  a  a  bcaa
                                            (c1 )   (c1 )  s11  bcaabca


                                            I hear, I forget. I learn, I                                        40
                                          remember. I do, I understand!
A constant factor algorithm
Algorithm 2:

                                        ing
 1 : Constructthe prefix graph correspond to strings in S
 2 : Find a minimum weight cyclecover of the prefix graph,
    C  {c1,  , ck }
 3 : Return σ(c1 )    σ(ck )




                       I hear, I forget. I learn, I      41
                     remember. I do, I understand!
Approximation Ratio
 Lemma 2: Let C be the minimum weight cycle
  cover of S. Let c and c’ be two cycles in C, and
  let r, r’ be representative strings from these
  cycles. Then
     |overlap(r, r’)| < w(c) + w(c’)
 Proof: Exercise




                   I hear, I forget. I learn, I      42
                 remember. I do, I understand!
Approximation Ratio (cont)
 Theorem 2: Algorithm 2 has an approximation ratio of
  4.
 Proof: (see next slide)




                    I hear, I forget. I learn, I         43
                  remember. I do, I understand!
Proof
The output of Alg 2 has length
 k                      k                   k

 |  (c ) |   w(c )   | r |
i 1
        i
                       i 1
                               i
                                           i 1
                                                  i


                          tive
where ri is the representa string of ci .
                                      k                       k
Now, weshow that  | ri |  opt   2 w(ci ) whereopt is
                                    i 1                     i 1

the size of an optimal solution.
Let l be the shortestsuperstring of all ri . Then | l | opt
                 k              k                                           k      k
and opt   | ri |   | overlap(ri , ri 1 ) |   | ri |   2 w(ci ) (Lemma 2)
                i 1           i 1                                        i 1   i 1
            k                         k                              k
Hence,  |  (ci ) |   w(ci )  opt   2 w(ci )
         i 1                       i 1                            i 1
                                                       k
                               4opt (since  w(ci )  opt )
                                                      i 1

                                                    I hear, I forget. I learn, I         44
                                                  remember. I do, I understand!
Modification to 3-Approximation

Note that in Alg 2, after we find all strings  i , we simply
concatenate them to obtain the resuting string s.
However, we can merge these  i to obtain a shorter string
by applying the shortest supperstring algorithm on  i
With this modificati on, we can obtain a 3 - approximat ion




                       I hear, I forget. I learn, I             45
                     remember. I do, I understand!
3-Approximation Algorithm
 Algorithm 3:
1: Construct the prefix graph corresponding to strings in S
 2: Find a minimum weight cycle cover of the prefix graph,
    C  {c1 , , ck }
 3: Return the greedy superstring algorithm on σ(c1 )    σ(ck ) to
 obtain the maximum compression
 4: Output the resulting string, 




                          I hear, I forget. I learn, I               46
                        remember. I do, I understand!
Superstring via Hamiltonian path
 |ov(u,v)| = max{|w| | there exist x and y
                   such that u=xw and v=wy}
 Overlap graph G is a complete digraph:
   V = {s1, s2, …, sn}
   |ov(u,v)| is edge weight.
 Suppose s* is the shortest supper string. Let
  s1, …, sn be the strings in the order of
  appearance from left to right. Then si, si+1 must
  have maximum overlap in s*. Hence s1, …, sn
  form a directed Hamiltonian path in G.
                   I hear, I forget. I learn, I       47
                 remember. I do, I understand!
  I hear, I forget. I learn, I   48
remember. I do, I understand!
Suppose s1, s 2, ..., sn appear in minimum superstring s*
in this natural ordering. Then
                     n            n 1
            | s* |  | si |   | ov( si, si  1) | .
                    i 1           i 1

Hence, (s1, s 2, ..., sn) is a maximum Hamiltonian path of
the overlap graph.


The longest Hamiltonian path would give a shortest supperstring


                             I hear, I forget. I learn, I         49
                           remember. I do, I understand!
The Algorithm (via Hamiltonian)




             I hear, I forget. I learn, I   50
           remember. I do, I understand!
A special property
        | ov(u, v) | max(| ov(u, v' ) |, | ov(u ' , v) |)
  | ov(u, v) |  | ov(u ' , v' ) || ov(u, v' ) |  | ov(u ' , v) |
u’


                                             v

     u


                                                 v’
                  If | ov(u, v) |  | ov(u, v ') |  | ov(u ', v) |, proof is trivial.
                  Else, write ov(u,v)=xwy such that ov(u,v')=xw and ov(u',v)=wy.
                  Then w is an overlap between u' and v'. Therefore,
                  |ov(u',v')|  |w| = |ov(u,v')|+|ov(u',v)|-|ov(u,v)|
                               I hear, I forget. I learn, I                              51
                             remember. I do, I understand!
Theorem
 The Greedy approximation MAX for maximum
  Hamiltonian path in overlapping graph has
  performance ratio 2.

 Conjecture: This greedy approximation also give
  the minimum superstring an approximation
  solution within a factor of 2 from optimal.
 Example: S={abk, bk+1, bka}. s* = abk+1a. Our
  obtained solution: abkabk+1.
                  I hear, I forget. I learn, I      52
                remember. I do, I understand!
Submodular Function




     I hear, I forget. I learn, I   53
   remember. I do, I understand!
What is a submodular function?
 Consider a finite set E, (called ground set), and a
 function f : 2E →Z. The function f is said to be
 submodular if for any two subsets A and B in 2E :

          f ( A)  f ( B)  f ( A  B)  f ( A  B)

Example: f(A) = |A| is submodular.




                      I hear, I forget. I learn, I     54
                    remember. I do, I understand!
Set-Cover
 Given a collection C of subsets of a set E, find a
 minimum subcollection C’ of C such that every
 element of E appears in a subset in C’ .




                  I hear, I forget. I learn, I        55
                remember. I do, I understand!
Greedy Algorithm
  C '  ;
  while | E | f (C ') do
      choose S  C to maximize f (C ' S ) and
      C '  C ' S ;
  Return C’

  Here: f(C) = # of elements in C

  Basically, the algorithm pick up the set that cover the
  most uncovered elements at each step



                     I hear, I forget. I learn, I           56
                   remember. I do, I understand!
Analyze the Approximation Ratio

Suppose S 1, S 2, ..., Sk are selected by Greedy
Algorithm. Denote Ci  {S 1, ..., Si}. Then
f (Ci  1)  f (Ci )  (| E |  f (Ci )) / opt




                     I hear, I forget. I learn, I   57
                   remember. I do, I understand!
(| E |  f (Ci ))(1  1/ opt )  |E |  f (Ci  1)
| E |  f (Ci  1)  (| E |  f (Ci ))(1  1/ opt )
                   (| E |  f (Ci  1))(1  1/ opt ) 2
                  
                   | E | (1  1/ opt ) i 1 (call this *)
Choose i to be the largest one satisfying
             opt  | E |  f (Ci) (call this **)
Then             k  i  opt
                opt  | E | (1  1/ opt ) i (subtitute ** to *)

                         I hear, I forget. I learn, I             58
                       remember. I do, I understand!
        opt  | E | (1  1 / opt )             i

                          i / opt
            | E |e        (note : 1  x  e )     x


So         i  opt ln (| E | / opt )
Thus,
            k  opt  i
               opt (1  ln (| E | / opt ))

                I hear, I forget. I learn, I           59
              remember. I do, I understand!
Alternative Analysis

 Suppose S 1, S 2, ..., Sk are selected by Greedy
 Algorithm. Denote Ci  {S 1, ..., Si}. Then
 f (Ci  1)  f (Ci )  (| E |  f (Ci )) / opt




                     I hear, I forget. I learn, I   60
                   remember. I do, I understand!
Denote Xf ( A)  f ( A  X )  f ( A).
Let C*  { X 1, X 2,..., Xopt} be an optimal solution.
Denote Cj*  { X 1,..., Xj}.
                                                                 What
By greedy rule, Si  1 f (Ci )  Xj  1 f (Ci )                do we
                                                                 need?
                       for all 0  j  opt  1
Thus, Si  1 f (Ci )  ( 0 j opt 1 Xj  1 f (Ci )) / opt
                 ( 0 j opt 1 Xj  1 f (Ci  Cj*)) / opt
                 (f (Ci  C*)  f (Ci )) / opt
                 ( | E |  f (Ci)) / opt
                          I hear, I forget. I learn, I                   61
                        remember. I do, I understand!
What’s we need?


    A  B  Xf ( A)  Xf ( B)




             I hear, I forget. I learn, I   62
           remember. I do, I understand!
Actually, this inequality holds if and only if f is
  submodular and


             A  B  f ( A)  f ( B)
   (monotone increasing)




                       I hear, I forget. I learn, I   63
                     remember. I do, I understand!
Let f be a function on all subsets of a set E. Then f is
submodular and monotone increasing iff for any
two subsets A  B and any element x  E :
        A  B  xf ( A)  xf ( B )




                        I hear, I forget. I learn, I       64
                      remember. I do, I understand!
 Proof


(1) f is submodular iff
    A  B  xf ( A)  xf ( B) for x  B
(2) f is monotoneincreasing iff
    A  B  xf ( A)  xf ( B) for x  B


                I hear, I forget. I learn, I   65
              remember. I do, I understand!
Proof of (1)




                 I hear, I forget. I learn, I   66
               remember. I do, I understand!
 Proof of (2)

This is very simple. Note that f is monotoneincreasing iff
for any subset A  E and x  E ,  x f ( A)  0.
For x  B, by monotonicity of f,  x f ( A)  0   x f ( B)




                       I hear, I forget. I learn, I            67
                     remember. I do, I understand!
Theorem
Greedy Algorithm produces an approximation
  within ln n +1 from optimal for the set cover
  problem

The same result holds for weighted set-cover.




                   I hear, I forget. I learn, I   68
                 remember. I do, I understand!
Weighted Set Cover
Given a collection C of subsets of a set E and a
  weight function w on C, find a minimum total-
  weight subcollection C’ of C such that every
  element of E appears in a subset in C’ .




                  I hear, I forget. I learn, I     69
                remember. I do, I understand!
Greedy Algorithm

C '  ;
while | E | f (C ' ) do
choose S  C to maximize Sf (C ' ) / w( S ) and
C '  C '{S };
output C '.




                    I hear, I forget. I learn, I   70
                  remember. I do, I understand!
A General Problem
Consider a monotoneincreasing, submodular
function f defined on all subsetsof a set E.
Define ( f )  { A | x  E , xf ( A)  0}.
        min c( A)   xA c( x)
        s.t.   A  ( f )



                 I hear, I forget. I learn, I   71
               remember. I do, I understand!
Greedy Algorithm

 A  ;
 while there exists x  E st xf ( A)  0 do
 choose x  E to maximize xf ( A) / c( x) and
 A  A  {x};
 output A.



                 I hear, I forget. I learn, I    72
               remember. I do, I understand!
A General Theorem

If f ()  0, f is an integer function,and c( x)  0
for x  E , then Greedy gives a (1  ln  ) - approximation
where  max xE f ({x}).

Remark (Normalized):
     If f ()  0, we may consider
     g ( A)  f ( A)  f ().
     Therefore   max xE ( f ({x})  f ()).

                    I hear, I forget. I learn, I              73
                  remember. I do, I understand!
Proof
Suppose x1, x 2, ..., xk are selected by Greedy Algorithm in
the order of their appearance. Denote Ai  {x1, ..., xi}
and ri  xif ( Ai  1).
Suppose A*  { y1, ..., yh} is an optimal solution. For each
ye  A*, denote zei  ye f ( Ai  1), ci  c( xi ) and
        k 1
                            ci     ck
w(e)   ( zei  ze , i  1)  zek
       i 1                 ri     rk
                k
       c1           ci ci  1
       ze1   (            ) zei
       r1     i  2 ri ri  1
                         I hear, I forget. I learn, I          74
                       remember. I do, I understand!
Proof (cont)
 We will prove these following claims:

            c( A)      w(e)
                      ye  A*
                                 
                             1
            w(e)  c( ye )    for every ye
                        i 1 i

            Then by the two claims, we have:
                                              
                                                   1
            c( A)     
                      ye  A*
                                w(e)  c( A*)
                                              i 1 i




                        I hear, I forget. I learn, I   75
                      remember. I do, I understand!
Show the First Claim
By Greedy rule and submodular property of f ,
                      r1 r 2         rk
                         
                      c1 c 2        ck
**************************
r1 x 2 f ( A0)
                     by Greedy rule, where A0  
c1        c2
     x 2 f ( A1) r 2
                     since f is submodular
          c2       c2
                  I hear, I forget. I learn, I   76
                remember. I do, I understand!
                                      k
 Now, show                          r   z
                                     j i
                                            j
                                                yeA*
                                                        ei   for i  1, ..., k

k

r
j i
       j    f ( Ak )  f ( Ai  1)  f ( Ai  1  A*)  f ( Ai  1)

             A* f ( Ai  1)

               
                ye  A*
                            ye   f ( Ai  1)    by submodular and monotone

                                                increasing properties of f

                 
                 ye  A*
                           zei
                                      I hear, I forget. I learn, I               77
                                    remember. I do, I understand!
         k
             ri
c( A)   ci
        i 1 ri
             k 1
              ci k                        k
                                                  ck k
         (  rj                      1 rj )  rk  rj
         i 1 ri j  i                  j i        j k

        c1 k      k
                      ci ci  1 k
         rj   (           )  rj
        r1 j 1 i  2 ri ri  1 j  i
                        k
         c1                ci ci  1
             * ze1   ( ri  ri  1 ) y* zei
         r 1 yeA      i2                e A


             w(e)
             ye A*
                        I hear, I forget. I learn, I        78
                      remember. I do, I understand!
Show the Second Claim
               ci   c ( ye )
By greedy rule,             .
               ri     zei
By the submodular and monotone increasing property
of f ,
                          zei  ze , i  1.
Therefore,
         k 1
                                  ci       ck
w(e)     ( zei  ze, i  1)
         i 1                     ri
                                      zek
                                           rk                 For any integers p > q >
           k 1                                               0, we have:
                                   c ( ye )       c ( ye )
          ( zei  ze, i  1)
           i 1                      zei
                                             zek
                                                    zek
                                                              $(p – q)/p =
                                                              \sum_{j=q+1}^p 1/p \le
                                                              \sum_{j=q+1}^p 1/j$
                  ze 1
                         1
       c ( ye )          (since zei are integers)
                  i 1   i
                   
                         1
       c ( ye)                  since ze1   for all ye  A*
                  i 1   i

                               I hear, I forget. I learn, I                        79
                             remember. I do, I understand!
Connected Vertex-Cover
 Given a connected graph, find a minimum
  vertex-cover which induces a connected
  subgraph.




                 I hear, I forget. I learn, I   80
               remember. I do, I understand!
 For any vertex subset A, p(A) is the number of
  edges not covered by A.
 For any vertex subset A, q(A) is the number of
  connected component of the subgraph induced by
  A.
 -p is submodular.
 -q is not submodular.
 Note that when A is a connected vertex cover, the
  q(A) = 1 and p(A) = 0.
                   I hear, I forget. I learn, I       81
                 remember. I do, I understand!
-p-q
 Define f(A)= -p(A) –q(A). Then f(A) is
  submodular and monotone increasing
 Proof: Homework!




                  I hear, I forget. I learn, I   82
                remember. I do, I understand!
Theorem
 Connected Vertex-Cover has a (1+ln Δ)-
  approximation where Δ is the maximum degree.

 -p(Ø)=-|E|, -q(Ø)=0.
 |E|-p(x)-q(x) < Δ-1
 The maximum value of -  x p(emptyset)  , and that of
 -  x g (emptyset)  1 for all x V



                          I hear, I forget. I learn, I     83
                        remember. I do, I understand!
Weighted Connected Vertex-Cover
Given a vertex-weighted connected graph,
find a connected vertex-cover with minimum
total weight.

Theorem Weighted Connected Vertex-Cover
has a (1+ln Δ)-approximation.




                    I hear, I forget. I learn, I   84
                  remember. I do, I understand!

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:6
posted:3/21/2012
language:English
pages:84