Independent Set in Interval Graphs

Lecture 14
Overview
Minimum Spanning Tree and
Greedy Strategy
A Property of MST
Let T and T * be a spanning tree and the minimum spanning tree
of a network, respective ly. Then there is a one - to - one onto mapping
 : E (T )  E (T *) such that for every e  E (T ), e   (e) , where
e denotes the length of e.
For every edge e  E (T *)  E (T ), set  (e)  e.
For each e  E (T ) \ E (T *), e  T * contains a cycle Qe which
contains edge e and fore every edge e' in Qe , e'  e .
Claim : for any subset F  E (T ) \ E (T *), eF Qe contains at
least |F| edges in E (T *) \ E (T ).
For |F|=1, it is trivial since, otherwise, T contains cycle Qe for
e  F , contradict ing that T is a tree.
For |F|  2, fix an edge e  F and choose e'  Qe  ( E (T *) \ E (T )).
Denote T' = (T  e)  e'. Consider e' ' F  {e}.
If Qe '' does not contain e' , then set Q 'e ''  Qe '' .
If Qe '' contains e' , then Qe  Qe '' is a union of cycles in
which ther e is one containing e' ' , denoted by Q'e '' .
Clearly, e ''F {e} Q 'e ''  eF Qe . Each Q 'e '' is contained in T 'e' '.
By induction hypothesis , e ''F {e} Q'e '' contains at least
|F|-1 edges in E (T *) \ E (T ). Adding back e' , we obtain
that eF Qe contains |F | edges in E (T *) \ E (T ).
By Hall' s Marriage Theorem, there exists a one - to - one mapping  from
E (T ) \ E (T *) to E (T *) \ E (T ) such that for every e  E (T ) \ E (T *),
 (e) is in Qe and hence e   (e) .
Suppose all edges of connected graph G  (V , E ) have distinct
nonnegativ e weights. Then G has unique minimum spanning
tree.
Let T * be a minimum spanning tree. Consider another spanning
tree T . Then there exists a one - to - one onto mapping
 : E (T )  E (T *) such that e   (e) . Since T * and T are
different, there exists e  E (T ) such that e   (e), hence
e   (e) . Therefore,
length(T ) 
e
eE (T )

  (e)
eE (T )
 length(T *).
Consider a point set P in the Euclidean plane. Let R be a fixed
positive number. A steinerize d spanning tree on P is a tree
obtained from a spanning tree on P by putting some Steiner
points on its edges to break them into piences each of length at
most R. Show that the steinerize d spanning with minimum
number of Steiner points is obtained from the minimum
spanning tree.
Let T * be a minimum spanning tree. Consider another spanning
tree T . Then there exists a one - to - one onto mapping
 : E (T )  E (T *) such that e   (e) . Let ns (T ) denote
the minimum number of Steiner points required to partition
all edges of T into smaller pieces of lengths at most R. Then,
ns (e)  ns ( (e)). Therefore,
ns (T ) 
 n (e)   n ( (e))  n (T *).
eE (T )
s
eE (T )
s
s
Consider a graph G  (V , E ) with edge weight w : E  R  .
Show that the spaning tree T which minimizes
e

for any
eE (T )
fixed   0 is the minimum spanning tree, i.e., the one which
minimizes
 e.
eE (T )
Let T * be a minimum spanning tree. Consider another spanning
tree T . Then there exists a one - to - one onto mapping
 : E (T )  E (T *) such that e   (e) . Therefore,
cost (T ) 

e
eE (T )




 (e)  cost (T *).
eE (T )
Local Ratio Method
Independent Set in Interval
Graphs
Activity 9
Activity 8
Activity 7
Activity 6
Activity 5
Activity 4
Activity 3
Activity 2
Activity 1
time
• We must schedule jobs on a single processor with no preemption.
• Each job may be scheduled in one interval only.
• The problem is to select a maximum weight subset of non-conflicting
10
jobs.
Slide from http://www.cs.technion.ac.il/~reuven/STOC2000.ppt
Independent Set in Interval
Graphs
Activity9
Activity8
Activity7
Activity6
Activity5
Activity4
Activity3
Activity2
Activity1
time
Maximize
 p( I )  x
I
s.t.
xI {0,1}
For each instance I
x
For each time t
I
I
I :s ( I ) t  e ( I )
1
11
Maximal Solutions
• We say that a feasible schedule is I-maximal if either it
contains instance I, or it does not contain I but adding I
to it will render it infeasible.
Activity9
Activity8
Activity7
Activity6
Activity5
Activity4
Activity3
Activity2
Activity1
I1
I2
The schedule above is I1-maximal and also I2-maximal
time
12
Slide from http://www.cs.technion.ac.il/~reuven/STOC2000.ppt
An effective profit function
Activity9
Activity8
Activity7
Activity6
Activity5
Activity4
Activity3
Activity2
Activity1
P1=0
P1= P(Î)
P1=0
P1=0
P1=0
P1= P(Î)
P1=0
P1= P(Î)
P1= P(Î)
Î
Let Î be an interval that ends first;
 p( Iˆ) if I in conflect w ith Iˆ
p1 ( I )  
otherwise
0
p2 ( I )  p( I )  p1 ( I ) (note : p2 ( I ) can be negative.)
13
Slide from http://www.cs.technion.ac.il/~reuven/STOC2000.ppt
An effective profit function
Activity9
Activity8
Activity7
Activity6
Activity5
Activity4
Activity3
Activity2
Activity1
P1=0
P1= P(Î)
P1=0
P1=0
P1=0
P1= P(Î)
P1=0
P1= P(Î)
P1= P(Î)
Î
For every feasible solution x:
For every Î-maximal solution x:
p1 ·x  p(Î)
p1 ·x  p(Î)
Every Î-maximal is optimal.
14
Slide from http://www.cs.technion.ac.il/~reuven/STOC2000.ppt
Independent Set in Interval Graphs:
An Optimization Algorithm
Algorithm MaxIS( S, p )
1.
If S = Φ then return Φ ;
2.
If I  S p(I) 0 then return MaxIS( S - {I}, p);
3.
Let Î  S that ends first;
4.
I  S define: p1 (I) = p(Î)  (I in conflict with Î) ;
5.
IS = MaxIS( S, p- p1 ) ;
6.
If IS is Î-maximal then return IS else return IS  {Î};
15
Slide from http://www.cs.technion.ac.il/~reuven/STOC2000.ppt
Running Example
P(I5) = 3
-4
P(I6) = 6
-4
P(I3) = 5
P(I2) = 3
P(I1) = 5
P(I4) = 9
-5
-5
-5
-5
-5
-2
-4
-4
-2
16
Overview
The greedy algorithm is often found together with exchange
property and self - reducibili ty, meanwhile the exchange
property follows from the greedy strategy.
Revisit
Minimum Spanning Tree
Exchange Property
For an edge e with the smallest w eight in a graph G
and a minimum spanning tree T without e, there must
exist an edge e' in T such that (T \ e' )  e is still
a minimum spanning tree.
Self-Reducibility
Suppose T is a minimum spanning tree of a graph G
and e is an edge of T . Let G' and T' be obtained
from G and T , respective ly by shrinking e into
a point. Then T' is a minimum spanning tree of G '.
Max Independent Set in
Matroid
Exchange Property
For an element e with the smallest w eight in a matroid G
and a minimum independen t set T without e, there must
exist an edge e' in T such that (T \ e' )  e is still
a minimum spanning tree.
Self-Reducibility
Suppose T is a minimum spanning tree of a graph G
and e is an edge of T . Let G' and T' be obtained
from G and T , respective ly by shrinking e into
a point. Then T' is a minimum spanning tree of G '.
Overview on Greedy Algorithms
Self-Reducibility
Exchange Property
Matroid
Minimum Weight
Arborescence
Definition
An arborescen ce with root r is a subgraph T  (V , F )
of G  (V , E ) which does not contain a pair of opposite
edges and such that the following conditions hold.
(a) If the directions of the edges are ignored, then
T is a spanning tree.
(b) There is a path from r to every other v  V .
Problem
Given a directed graph G  (V , E ) with nonnegativ e
edge cost c : E R  and a node r V , find an
arborecenc e with minimum total cost.
Key Point 1
 in (v)  the set of in - edges at node v.
For each v  r , choose a cheapest edge ev from  in (v).
If F *  {ev | v  V  {r}} is an arborescen ce, then F *
is opttimal. Otherwise, F * contains a cycle C.
Key Point 2
 in (v)  the set of in - edges at node v.
For each v  r , choose a cheapest edge ev from  in (v).
If F *  {ev | v  V  {r}} is an arborescen ce, then F *
is opttimal. Otherwise, F * contains a cycle C.
For (u, v)   in (v), define c' (u, v)  c(u, v)  c(ev ).
An arborescen ce F is minimum cost w.r.t c
iff it is miniman cost w.r.t . c'.
Why?
For any arborescen ce F ,
c( F )  c' ( F ) 
 c (e )
vV {r }
v
Key Point 3
Let C be a cycle not containing r with c(C )  0.
Then there exists a minimum - cost arborescen ce
T  (V , F ) which enters C exactly once.
0
Relationship between
Matroid and Independent System
An Example of Matroid
Consider an independen t system ( S , C ).
For any fixed A  S , denote
CA  {B  S | A  B}.
Then ( S , CA) is a matroid.
Proof
Consider F  S .
If A  F , then F has unique maximal independen t
subset whi ch is F . Hence, u ( F )  v( F ) | F | .
If A  F , then every maximal independen t subset
of F is in form F  {x} for some x  A. Hence,
u ( F )  v( F ) | F | 1.
Theorem
Every independent system is an
intersection of several matroids.
circuit
• A minimal dependent set is called a circuit.
• Let A1, …, Ak be all circuits of independent
system (E,C).
Let Ci  {B  E | Ai  B}. Then
C   Ci
k
i 1
Theorem
If independent system (S,C) is the
intersection of k matroids (S,Ci), then for
any subset F of S,
u(F)/v(F) < k.
Proof
Let F  S . Consider t wo maximal independen t subets I , J
of F w.r.t. (S,C). Let Ii  I be a maximal independen t subset
of I  J w.r.t. ( S , Ci ).
For any e  J \ I , if e  ik1 ( Ii  I ), then
I  {e}  ik1 Ci  C , contradict ing the maximality of I .
Hence, e appears in at most k  1 ( Ii  I )' s. So,
i 1| Ii | k | I | i 1| Ii  I |  (k  1) | J  I |  (k  1) | J | .
k
k
Now, let Ji  J be a maximal independen t subset of
I  J w.r.t. ( S , Ci ).
Since ( S , Ci ) is a matroid, | Ii || Ji | . Therefore,
| J | (i 1 | Ji |  k | J |)  | J |  (i 1 | Ii |  k | J |)  | J | k | I | .
k
k