Chapter 2 Greedy

Greedy Approximation with Nonsubmodular Potential Function
Ding-Zhu Du
Chapter 2. Greedy Strategy
III. Nonsubmodular Potential
Function
Connected Dominating Set
Given a graph, find a minimum node-subset
such that
 each node is either in the subset or
adjacent to a node in the subset and
 subgraph induced by the subset is
connected.
History



Two stage Greedy (ln Δ +3)-approximation (Guha
& Khullar, 1998) where Δ is the maximum degree
in input graph.
There is no polynomial time approximation with
performance ratio (1-a) lnΔ unless NP in
DTIME(n^{log log n}) for any
 a > 0.
Now, we show that there is a one-stage Greedy
(1+a)(1+ln (Δ-1) )-approximation for any a > 0
with a nonsupmodular potential function.
What’s the Potential Function?



f(A)=p(A)+q(A)
p(A) = # of connected components after
adding edges incident to A (supmodular)
q(A) = # of connected components of the
subgraph induced by A (nonsupmodular)
Example
p(circles)=1
q(circles)=2
-p-q is not submodular
x
Background



There exist many greedy algorithms in the
literature.
Some have theoretical analysis. But, most
of them do not.
A greedy algorithm with theoretical
analysis usually has a submodular
potential function.
Is it true?


Every previously known one-stage greedy
approximation with theoretical analysis
has a submodular (or supermodular)
potential function.
Almost, only one exception which is about
Steiner tree.
How should we do with
nonsubmodular functions?
Find a space to play your trick
Where is the space?
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
Why the inequality true?
Because
si  1 f (Ci )  sf (Ci ) for every S ,
including those S in the optimal solution C *.
Note that |E | f (C*) and opt | C* | .
Suppose C*  { X 1,
...,
Xopt} and Ci*  { X 1, ..., Xi}.
Then f (C*)   xj  1 f (Ci  Cj*).
Moreover, by submodularity of f ,
xj  1 f (Ci )  xj  1 f (Ci  Cj*).
So,
Si  1 f (Ci )  Xj  1 f (Ci )
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
Example


In a Steiner tree, all
Steiner nodes form a
dominating set.
In a full Steiner tree,
all Steiner nodes form
a connected
dominating set.
Observations


The submodularity has nothing to do with
sequence chosen by the greedy algorithm.
It is only about X1, …, Xopt
The ordering of X1, …, Xopt is free to
choose.
When f is nonsubmodular
(1) We may choose X 1,
submodular on { X 1,
...,
Xopt such that f is
...,
Xop }.
(1-iterated Steiner tree)
(2) We may choose certain ordering of X 1,
...,
Xop to
make xj  1 f (Ci  Cj*)  xj  1 f (Ci ) smaller.
(Connected dominating set)
Idea


Organize optimal solution in such an
ordering such that every prefix
subsequence induces a connected
subgraph, i.e.,
For prefix subsequences A and B,
Δxq(B)-Δxq(A) ≤ 1 for A supset of B
Algorithm CDS1
C  ;
while f (C )  2 do
choose a vertex x to maximize  xf (C ) and
C  C  {x};
return C.
Connected Dominating Set
Theorem. Algorithm CDS1 gives an
(2+ ln Δ)-approximation, where Δ is the
maximum node degree.
Proof
Suppose x1,..., xg are selected in turn by Greedy algorithm.
Let { y1, ...,yopt} be a minimum connected dominating set
and for any i, { y1,..., yi} induces a connected subgraph.
Denote Ci  {x1,..., xi} and C * j  { y1,..., yj}. Then
 yjq (Ci  C * j  1)  yjq (Ci )  1.
Thus,
 yjf (Ci  C * j  1)  yjf (Ci )  1.
So,
 xi  1 f (Ci )  yjf (Ci )
for all 1  j  opt
Thus,  xi  1 f (Ci )  (1 j opt yjf (Ci )) / opt
 (opt  1  1 j opt yj f (Ci  C * j  1)) / opt
 (opt  1  f (Ci  C*)  f (Ci )) / opt
 (opt  1  f (Ci )) / opt
 opt  1  f (Ci )
 f (Ci  1)   f (Ci ) 
.
opt
Denote ai  opt  1  f (Ci ). Then
1
ai  1  ai (1 
)
opt
ai  a 0(1  1 / opt )  a 0e
i
 i / opt
Choose i to be the largest one satisfying
opt  ai.
( If such i doesn' t exist, i.e., a 0  opt , then
n  2opt and hence g  opt.)
Then
g  i  2opt  1
opt  a 0e
 i / opt
.
opt  a 0e i / opt
i  opt ln (a 0 / opt )
Thus,
g  2opt  1  i
 opt (2  (1 / opt )  ln (a 0 / opt ))
a 0 / opt  (opt  1 | V |) / opt    2  (1 / opt ).
(note : | V |  opt (  1)  2.)
Connected Dominating Set
Theorem. For any a >1, there is a
a(1+ ln Δ)-approximation for the
minimum connected dominating set,
where Δ is the maximum node degree.
Algorithm
C  ;
while f (C )  2 do
choose a subset X of at most 2k  1 vertices
to maximize  Xf (C ) / | X | and
C  C  X;
return C.
Analysis
Suppose X 1, ..., Xg are chosen by the Greedy
Algorithm. Denote Ci  X 1    Xi.
Decompose a minimum connected dominating set
C * into Y 1, ..., Yh such that
k  1 | Yi | 2k  1 for 1  i  h  1, 1  | Yh | 2k  1,
every Yi is connected,
Y 1    Yj is connected for all 1  j  h, and
| Y 1 |    | Yh | opt  h  1.
>k
<k
<k
<k
Denote Cj*  Y 1    Yj .
 Yjf (Ci  Cj  1*)
 Yj p (Ci  Cj  1*)  Yj q (Ci  Cj  1*)
 Yj p (Ci )  Yj q (Ci )  1
 Yjf (Ci )  1
 Xi  1 f (Ci )  Yjf (Ci )

for 1  j  h
| Xi  1 |
| Yj |
 Xi  1 f (Ci )

| Xi  1 |

  f (C )
| Y |
Yj
i
1 j  h
j
1 j  h
 (h  1) 

  f (C  C
| Y |
Yj
i
1 j  h
j
1 j  h
*)
j 1
 Xi  1 f (Ci )  ( h  1)  ( f (Ci  C*)  f (Ci ))

| Xi  1 |
opt  h  1
f (Ci )  ( h  1)

opt  h  1
Denote ai  f (Ci )  (h  1). Then
ai  ai  1
ai

| Xi  1 |
opt  h  1
| Xi  1 |
| Xi 1| /(opt  h 1)
ai  1  ai (1 
)  aie
opt  h  1
ai  1  a 0e  (| Xi 1|| Xi|| X 1|) /(opt h 1)|
Note a 0  f ()  (h  1)  n  (h  1).
n  (h  1)
| X 1 |    | Xi |  (opt  h  1) ln
ai
Choose i such that
ai  1  opt  ai
Denote b  ai  opt and b'  opt  ai  1.
Write | Xi  1 | d  d ' such that
b b ' ai  ai  1
ai
 

d d ' | Xi  1 | opt  h  1
ai  opt b
ai
 
d
d opt  h  1
opt  ai (1  d /( opt  h  1))  aie
 d /(opt  h 1)
 a 0e ( d | X 1|| Xi|) /(opt h 1)
n-(h  1)
| X 1 |    | Xi |  d  (opt  h  1) ln
opt
d ' | Xi  2 |    | Xg |  b' f (Ci  1)  f (Cg )
 opt  ai  1  f (Ci  1)  f (C*)  opt  (h  1)
1
n-(h  1)
Thus, | X 1 |    | Xg | opt (1  )(1  ln
)
k
opt
It can be proved by induction that
n  (  1)opt  2.
Since h  1, we have
n  (h  1)
  1
opt
Therefore,
1
| X 1 |    | Xg | (1  )(1  ln(   1))
k
End
Thanks!