28.06.2014 Views

Uncrossing sets in combinatorial optimization

Uncrossing sets in combinatorial optimization

Uncrossing sets in combinatorial optimization

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Uncross<strong>in</strong>g</strong><br />

Michel X. Goemans<br />

MIT<br />

Levico Terme – p.1/26


Topics<br />

M<strong>in</strong>imally k-edge-connected<br />

graphs<br />

Odd cuts, cut tree<br />

r-arborescence polytope<br />

Matroid <strong>in</strong>tersection<br />

Lucchesi-Younger<br />

Submodular flows<br />

Match<strong>in</strong>g polytope<br />

TDI and unimodularity<br />

Augment<strong>in</strong>g connectivity (w/ or<br />

w/o weights)<br />

Dual uncross<strong>in</strong>g<br />

Primal uncross<strong>in</strong>g<br />

Term<strong>in</strong>ation, f<strong>in</strong>iteness,<br />

efficiency<br />

TU and TDI<br />

TDI and unimodularity<br />

Iterative round<strong>in</strong>g<br />

Iterative relaxation<br />

<strong>Uncross<strong>in</strong>g</strong> set pairs<br />

Node connectivity augmentation<br />

Degree restricted spann<strong>in</strong>g trees<br />

Levico Terme – p.2/26


Intersect<strong>in</strong>g, Cross<strong>in</strong>g Sets<br />

Sub<strong>sets</strong> A and B of S are<br />

<strong>in</strong>tersect<strong>in</strong>g if A ∩ B ≠ ∅, A \ B ≠ ∅ and B \ A ≠ ∅<br />

cross<strong>in</strong>g if <strong>in</strong>tersect<strong>in</strong>g and S \ (A ∪ B) = A ∪ B ≠ ∅<br />

Family F ⊆ 2 S is<br />

lam<strong>in</strong>ar (or nested) if no two <strong>sets</strong> A, B ∈ F are <strong>in</strong>tersect<strong>in</strong>g<br />

(<strong>in</strong>tersect<strong>in</strong>g-free)<br />

i.e. for A, B ∈ F: A ⊆ B or B ⊆ A or A ∩ B = ∅<br />

cross-free if no two <strong>sets</strong> of F are cross<strong>in</strong>g<br />

a cha<strong>in</strong> if, for any two <strong>sets</strong> A, B ∈ B, either A ⊆ B or B ⊆ A<br />

<strong>Uncross<strong>in</strong>g</strong>: Make a family of <strong>sets</strong> cross-free, lam<strong>in</strong>ar or a cha<strong>in</strong><br />

Levico Terme – p.3/26


Lam<strong>in</strong>ar vs. Cross-free<br />

If add complements to cross-free family, family rema<strong>in</strong>s still cross-free<br />

If F is cross-free then<br />

{S ∈ F : v ∈ S} ∪ {¯S ∈ F : v /∈ S}<br />

is lam<strong>in</strong>ar<br />

Levico Terme – p.4/26


Tree Representation for Lam<strong>in</strong>ar and Cross-Free<br />

Levico Terme – p.5/26


Submodularity<br />

f : 2 S → R is submodular if for all A, B ⊆ S:<br />

f(A) + f(B) ≥ f(A ∩ B) + f(A ∪ B)<br />

Basic example: cut function of a nonnegatively weighted undirected<br />

graph G = (V, E)<br />

d(S) = w(δ(S)) for S ⊆ V<br />

d(A) + d(B) = d(A ∩ B) + d(A ∪ B) + 2w(A \ B : B \ A)<br />

Similarly for <strong>in</strong>degree function d − (·) = w(δ − (·)) or outdegree<br />

function d + (·) = w(δ + (·)) of a directed graph (with ≥ 0 weights).<br />

M<strong>in</strong>imizers of a submodular function form a lattice family, i.e. it is<br />

closed under ∩ and ∪<br />

Levico Terme – p.6/26


M<strong>in</strong>imally k-Edge-Connected Graphs<br />

Theorem: In a m<strong>in</strong>imally k-edge-connected graph G = (V, E), we have<br />

|E| ≤ k(|V | − 1)<br />

Levico Terme – p.7/26


Gomory-Hu Cut Tree<br />

Let G = (V, E) be a (nonnegatively weighted) undirected graph.<br />

Gomory-Hu cut tree is any tree (V, T) such that for any edge<br />

e = (s, t) ∈ T , we have that δ(C e ) is a m<strong>in</strong>imum s, t-cut where C e<br />

is any of the connected components of T \ {e}.<br />

Property of Gomory-Hu tree: For any u, v ∈ V , a m<strong>in</strong> u, v-cut is<br />

given by the m<strong>in</strong>imum capacity cut among δ(C e ) where e is along<br />

the path from u to v <strong>in</strong> T .<br />

Gomory-Hu cut tree always exists.<br />

Same result holds for symmetric submodular functions [GGW]<br />

No need to contract if perturb<br />

Levico Terme – p.8/26


Gomory-Hu Cut Tree<br />

Levico Terme – p.9/26


M<strong>in</strong> T -Odd Cut (Padberg and Rao ’82)<br />

T -odd cut problem: Given (≥ 0 edge weighted) graph G = (V, E)<br />

and T ⊆ V , f<strong>in</strong>d S with |S ∩ T| odd m<strong>in</strong>imiz<strong>in</strong>g cut function d(S)<br />

Lemma: If δ(C) is a m<strong>in</strong>cut then there exists a m<strong>in</strong> T -odd cut δ(S)<br />

with either S ⊆ C or S ⊆ C.<br />

Lemma: If δ(C) is a m<strong>in</strong>cut separat<strong>in</strong>g vertices of T then there exists<br />

a m<strong>in</strong> T -odd cut δ(S) with either S ⊆ C or S ⊆ C.<br />

Levico Terme – p.10/26


Padberg-Rao’s T -Odd Cut Algorithm<br />

F<strong>in</strong>d global m<strong>in</strong>cut C separat<strong>in</strong>g two vertices of T<br />

If T -odd, done.<br />

Else, solve subproblems<br />

G 1 = G/C with T 1 = T \ C<br />

G 2 = G/C with T 2 = T \ C<br />

and output best T -odd cut<br />

Number of subproblems<br />

Levico Terme – p.11/26


Rizzi’s M<strong>in</strong> T -Odd Cut Algorithm<br />

ALG(G, T)<br />

Take s, t ∈ T<br />

F<strong>in</strong>d m<strong>in</strong> s, t-cut δ(S)<br />

If S is T -odd, return m<strong>in</strong>(d(S), ALG(G/{s, t}, T \ {s, t}))<br />

Else return m<strong>in</strong>(ALG(G/S, T \ S), ALG(G/¯S, T \ ¯S))<br />

Levico Terme – p.12/26


M<strong>in</strong> T -Cut Algorithm<br />

Follows from Padberg-Rao: There exists s, t ∈ T such that m<strong>in</strong> T -odd cut<br />

is a m<strong>in</strong> s, t-cut<br />

Levico Terme – p.13/26


Other Cut Families<br />

[Barahona-Conforti ’87]: T -even cuts (hav<strong>in</strong>g an even, ≥ 2 vertices<br />

of T on both sides)<br />

[Grötschel et al. ’88] (for submodular f.):<br />

Lattice family C of <strong>sets</strong><br />

Triple subfamily G of C: whenever 3 of A, B, A ∩ B and A ∪ B<br />

are <strong>in</strong> C \ G then 4th is also <strong>in</strong> C \ G<br />

Example: G = {S ∈ C : |S ∩ T| ≢ q (mod p)}<br />

(Special case: m<strong>in</strong> T -even cut separat<strong>in</strong>g s and t.)<br />

Levico Terme – p.14/26


More Cut Families<br />

Generalization: parity family (G.-Ramakrishnan) (also for submodular<br />

f.)<br />

Parity subfamily G of a lattice family C if<br />

A, B ∈ C \ G ⇒ (A ∩ B ∈ G iff A ∪ B ∈ G)<br />

Example: lattice family m<strong>in</strong>us a lattice family (i.e. can f<strong>in</strong>d second<br />

m<strong>in</strong>imizer to a submodular function).<br />

Need more than uncross<strong>in</strong>g. Theorem: Let S ∗ be a m<strong>in</strong>imizer<br />

over G. Then either S ∗ ∈ {∅, V } or there exists a, b ∈ V such<br />

that S ∗ m<strong>in</strong>imizer over lattice family<br />

C st = {S ∈ C : s ∈ S, t /∈ S}<br />

Levico Terme – p.15/26


Polyhedral Comb<strong>in</strong>atorics<br />

Levico Terme – p.16/26


Dom<strong>in</strong>ant of r-Arborescence Polytope<br />

X = {Digraphs with every vertex reachable from root r}<br />

M<strong>in</strong>imal= r-arborescences: rooted tree at r <strong>in</strong> digraph G = (V, A)<br />

Theorem: conv(X) = conv(arborescences) +R+ m =<br />

P = {x : x(δ − (S)) ≥ 1 S ⊂ V \ {r}<br />

x a ≥ 0 a ∈ A}<br />

Proof through primal uncross<strong>in</strong>g<br />

Levico Terme – p.17/26


Levico Terme – p.18/26


Levico Terme – p.19/26


Totally Unimodular<br />

A is totally unimodular (TU) if all square submatrices of A have<br />

determ<strong>in</strong>ant <strong>in</strong> {−1, 0, 1}<br />

If A is TU then for any <strong>in</strong>tegral b, {x : Ax ≤ b, x ≥ 0} is <strong>in</strong>tegral.<br />

Ghouila-Houri: A is TU iff every subset R of rows can be partitioned<br />

<strong>in</strong>to R 1 and R 2 such that<br />

| ∑<br />

i∈R 1<br />

a ij − ∑<br />

i∈R 2<br />

a ij | ≤ 1<br />

Levico Terme – p.20/26


Directed Cuts<br />

Digraph D = (V, A)<br />

A directed cut is C = δ − (S) where δ + (S) = ∅.<br />

A directed cut cover is F ⊆ A with F ∩ C ≠ ∅ for every directed<br />

cuts C<br />

Theorem: Polytope<br />

{x : x(C) ≥ 1 C directed cut<br />

0 ≤ x a ≤ 1 a ∈ A}<br />

<strong>in</strong>tegral, i.e. convex hull of directed cut covers.<br />

Proof: similar to arborescence with 2 differences<br />

Levico Terme – p.21/27


Matroid Intersection Polytope<br />

Let M 1 = (E, I 1 ) and M 2 = (E, I 2 ) be two matroids with rank<br />

functions r 1 and r 2<br />

Edmonds: The convex hull of <strong>in</strong>cidence vectors of <strong>in</strong>dependent <strong>sets</strong><br />

<strong>in</strong> I 1 ∩ I 2 is given by:<br />

P = {x : x(S) ≤ r 1 (S) S ⊆ E<br />

x(S) ≤ r 2 (S)<br />

S ⊆ E<br />

x i ≥ 0 i ∈ S}<br />

Proof through dual uncross<strong>in</strong>g and TDIness<br />

Levico Terme – p.22/26


TDI (Edmonds-Giles ’77)<br />

Rational system Ax ≤ b is TDI if, for each c ∈ Z n , the dual to<br />

m<strong>in</strong>{c T x : Ax ≤ b}, i.e.<br />

max{b T y : A T y = c, y ≥ 0}<br />

has an <strong>in</strong>teger optimum solution whenever it is f<strong>in</strong>ite.<br />

Theorem: If Ax ≤ b is TDI and b is <strong>in</strong>tegral then Ax ≤ b is <strong>in</strong>tegral<br />

(i.e. has only <strong>in</strong>tegral extreme po<strong>in</strong>ts).<br />

Levico Terme – p.23/26


Dual<br />

max c T x<br />

= m<strong>in</strong> ∑ r 1 (S)y 1,S + ∑ r 2 (S)y 2,S<br />

S∑<br />

S<br />

x(S) ≤ r 1 (S) ∀S<br />

y 1,S + ∑<br />

y 2,S ≥ c i<br />

S:i∈S S:i∈S<br />

x(S) ≤ r 2 (S) ∀S y 1,S , y 2,S ≥ 0<br />

Levico Terme – p.24/26


Lucchesi-Younger<br />

Could have done dual uncross<strong>in</strong>g and TDI proof for arborescences of<br />

directed cut covers<br />

Lucchesi-Younger theorem: For any digraph, m<strong>in</strong> size of a directed<br />

cut cover = max number of disjo<strong>in</strong>t directed cuts<br />

If planar digraph, can take dual to get:<br />

Theorem: M<strong>in</strong> size of a feedback arc set (meet<strong>in</strong>g all directed<br />

circuits) = max number of arc disjo<strong>in</strong>t directed circuits<br />

Levico Terme – p.26/27


Perfect Match<strong>in</strong>g Polytope via <strong>Uncross<strong>in</strong>g</strong><br />

Convex hull of perfect match<strong>in</strong>gs =<br />

{x : x(δ(v)) = 1 v ∈ V<br />

x(δ(S)) ≥ 1 S : |S|odd<br />

0 ≤ x e e ∈ E}<br />

Could have replaced x(δ(S)) ≥ 1 by x(E(S)) ≤ |S|−1<br />

2<br />

Levico Terme – p.26/26


Matroid Intersection<br />

max c T x<br />

= m<strong>in</strong> ∑ r 1 (S)y 1,S + ∑ r 2 (S)y 2,S<br />

S∑<br />

S<br />

x(S) ≤ r 1 (S) ∀S<br />

y 1,S + ∑<br />

y 2,S ≥ c i<br />

S:i∈S S:i∈S<br />

x(S) ≤ r 2 (S) ∀S y 1,S , y 2,S ≥ 0<br />

x i ≥ 0<br />

M<strong>in</strong>-max relation: max{|I| : I ∈ I 1 ∩ I 2 } = m<strong>in</strong>{r 1 (S) + r 2 (S)}<br />

For c i = 1, can choose y 1 , y 2 <strong>in</strong>tegral and C i = {S : y i,S > 0} cha<strong>in</strong> for<br />

i = 1, 2.<br />

⇒ C 1 = {S}, C 2 = {S}<br />

. – p.1/15


Connectivity Augmentation<br />

. – p.2/15


Connectivity Augmentation<br />

For graph H, λ H (s, t) = local connectivity between s and t<br />

= max number of edge-disjo<strong>in</strong>t paths between s and t<br />

Problem: Given graph G = (V, E) and requirements r(u, v) for<br />

∀u ≠ v ∈ V , add set F of (multiple) edges such that<br />

λ H (u, v) ≥ r(u, v) for all u, v<br />

Special case: r u,v = k for all u, v.<br />

Want augmentation <strong>in</strong>to k-edge-connected graph<br />

Objective 1. Card<strong>in</strong>ality: M<strong>in</strong>imize |F| [Frank]<br />

Good characterization<br />

Efficient algorithm<br />

Objective 2. Weighted: M<strong>in</strong>imize ∑ (i,j)∈F w ij<br />

NP-hard<br />

2-approximation algorithm [Ja<strong>in</strong>]<br />

. – p.3/15


Formulation<br />

Let R(S) = max s∈S,t/∈S r(s, t)<br />

Let d(S) = d E (S) = |δ E (S)|<br />

Want <strong>in</strong>tegral x ∈ P :<br />

P =<br />

⎧<br />

⎨<br />

⎩<br />

x(δ(S) ≥ R(S) − d(S) ∀S<br />

x ij ≥ 0<br />

∀i, j<br />

If relax <strong>in</strong>tegrality, not <strong>in</strong>tegral<br />

. – p.4/15


<strong>Uncross<strong>in</strong>g</strong><br />

Lemma: For cross<strong>in</strong>g S and T ,<br />

either R(S) + R(T) ≤ R(S ∪ T) + R(S ∩ T)<br />

or R(S) + R(T) ≤ R(S \ T) + R(T \ S)<br />

<strong>Uncross<strong>in</strong>g</strong> lemma: For x ∈ P , let<br />

F = {S : x(δ(S)) = R(S) − d(S)}. If S, T ∈ F and S, T<br />

cross<strong>in</strong>g then<br />

either S ∩ T, S ∪ T ∈ F and x(S \ T : T \ S) = 0<br />

or S \ T, T \ S ∈ F and x(S ∩ T : S ∪ T) = 0<br />

. – p.5/15


Lower bound<br />

γ = smallest # of edges to add<br />

[Frank]: For any subpartition V 1 , V 2 , · · · , V k of V :<br />

2γ ≥<br />

k∑<br />

i=1<br />

[R(V i ) − d(V i )]<br />

Hence<br />

γ ≥<br />

⌈ ⌉<br />

1<br />

2 max [R(V i ) − d(V i )]<br />

V 1 ,··· ,V k<br />

. – p.6/15


Add a new vertex s<br />

. – p.7/15


Frank’s Algorithm<br />

(Modulo · · · )<br />

1. Add as few edges as possible between s and V (and none with<strong>in</strong> V )<br />

such that λ(u, v) ≥ r(u, v) for all u, v<br />

2. Add one more edge if degree of s is odd<br />

3. Use Mader’s local connectivity splitt<strong>in</strong>g-off result to get augment<strong>in</strong>g<br />

set F (with<strong>in</strong> V )<br />

. – p.8/15


Step 1<br />

Theorem [Frank]: Any m<strong>in</strong>imal augmentation from s has<br />

edges <strong>in</strong>cident to s<br />

m = max<br />

V 1 ,··· ,V k<br />

k∑<br />

[R(V i ) − d(V i )]<br />

i=1<br />

. – p.9/15


Splitt<strong>in</strong>g off<br />

Mader: can perform splitt<strong>in</strong>g off and ma<strong>in</strong>ta<strong>in</strong> local connectivity<br />

(Modulo · · · )<br />

Add<br />

⌈ ⌉<br />

1<br />

2 max [R(V i ) − d(V i )]<br />

V 1 ,··· ,V k<br />

edges =⇒ optimal<br />

. – p.10/15


Weighted case<br />

LP(E) = m<strong>in</strong> ∑ e<br />

w e x e<br />

s.t. x(δ(S)) ≥ R(S) − d(S) ∀S<br />

x ij ≥ 0<br />

∀i, j<br />

Extreme po<strong>in</strong>t x could be fractional<br />

Theorem [Ja<strong>in</strong>]: For any extreme po<strong>in</strong>t x, there exists f with x f ≥ 1 2<br />

Iterative Round<strong>in</strong>g: While connectivity reqs not met<br />

Solve LP(E)<br />

Take f : x f ≥ 1 2<br />

add f to E → F<br />

2-approximation algorithm: w(F) ≤ 2LP(E)<br />

. – p.11/15


There exists f with x f ≥ 1 2<br />

Proof of Ravi, S<strong>in</strong>gh, Nagarajan [2007]<br />

Let x: extreme po<strong>in</strong>t with x e < 1 2 for e ∈ C = {e : x e > 0}<br />

. – p.12/15


Assign one unit to every edge:<br />

Reassign to <strong>sets</strong> S ∈ L<br />

. – p.13/15


S gets<br />

A S = ∑<br />

x e + ∑<br />

(x e + (1 − 2x e )) + ∑<br />

(1 − 2x e )<br />

e∈C 1 e∈C 2 e∈C 3<br />

= x(C 1 ) + |E 2 | − x(C 2 ) + |E 3 | − 2x(C 3 )<br />

. – p.14/15


Together all <strong>sets</strong> get ≥ |L|<br />

no set gets<br />

→ |C| > L. Contradiction.<br />

. – p.15/15


Degree Restricted Spann<strong>in</strong>g Trees<br />

. – p.1/36


Spann<strong>in</strong>g Trees with Max Degree Bound<br />

When does a graph have a spann<strong>in</strong>g tree of maximum degree ≤ k?<br />

NP-hard (k = 2 is Hamiltonian path...)<br />

S. W<strong>in</strong> [1989]: Relation to toughness<br />

|S|<br />

t(G) = max S<br />

# conn. comp. of G−S<br />

If t(G) ≥ 1<br />

k−2<br />

then ∃ tree of max degree ≤ k<br />

If ∃ tree of max degree ≤ k then t(G) ≥ 1 k<br />

Algorithmically: Fürer and Raghavachari [1994], G. [unpublished,<br />

1991]. Efficiently either show that G has no tree of maximum degree<br />

≤ k or output a tree of max degree ≤ k + 1<br />

M<strong>in</strong> cost version?<br />

. – p.2/36


Bounded-Degree MST<br />

M<strong>in</strong>imum Bounded-Degree Spann<strong>in</strong>g Tree (MST) problem:<br />

Given G = (V, E) with costs c : E −→ R, <strong>in</strong>teger k<br />

f<strong>in</strong>d Spann<strong>in</strong>g Tree T of maximum degree ≤ k and of m<strong>in</strong>imum total<br />

cost ∑ e∈T c(e)<br />

Even feasibility is hard.<br />

. – p.3/36


Today<br />

Let OPT(k) be the cost of the optimum tree of maximum degree ≤ k.<br />

[G. 2006]:<br />

F<strong>in</strong>d a tree of cost ≤ OPT(k) and of maximum degree ≤ k + 2<br />

(or prove that no tree of max degree ≤ k exists)<br />

[S<strong>in</strong>gh and Lau 2007]:<br />

F<strong>in</strong>d a tree of cost ≤ OPT(k) and of maximum degree ≤ k + 1<br />

(or prove that no tree of max degree ≤ k exists)<br />

. – p.4/36


Fractional Decomposition<br />

Any convex comb<strong>in</strong>ation of trees such that the average degree of every<br />

vertex is at most k can be viewed as a convex comb<strong>in</strong>ation of trees each<br />

of maximum degree k + 1<br />

(E.g., for a 2k-regular 2k-edge-connected graph, there exists a convex<br />

comb<strong>in</strong>ation of spann<strong>in</strong>g trees of max degree 3 such that each edge is<br />

chosen with frequency 1/k)<br />

Integral decompositions?<br />

. – p.5/36


Matroid Polytope<br />

[Edmonds ’70] Given matroid M = (E, I), convex hull of <strong>in</strong>cidence<br />

vectors of <strong>in</strong>dependent <strong>sets</strong> is :<br />

P(M) =<br />

⎧<br />

⎨<br />

∣ ∣∣∣∣∣<br />

⎩ x x(F) ≤ r M (F) F ⊆ E<br />

x e ≥ 0 e ∈ E<br />

Convex hull B(M) of bases: same with x(E) = r M (E)<br />

For graphic matroid<br />

B(M) = {x : x(E(S)) ≤ |S| − 1 S ⊂ V<br />

x(E(V )) = |V | − 1<br />

x e ≥ 0<br />

⎫<br />

⎬<br />

⎭<br />

∀e}<br />

. – p.6/36


L<strong>in</strong>ear Programm<strong>in</strong>g Relaxation<br />

Relaxation: LP = m<strong>in</strong>{c T x : x ∈ Q(k)} ≤ OPT(k) where<br />

Q(k) = {x : x(E(S)) ≤ |S| − 1 S ⊂ V<br />

x(E(V )) = |V | − 1<br />

x(δ(v)) ≤ k<br />

v ∈ V<br />

x e ≥ 0 e ∈ E}<br />

Notation:<br />

x(A) = ∑ e∈A x e<br />

E(S) = {e = (u, v) ∈ E : u, v ∈ S}<br />

δ(S) = {(u, v) ∈ E : |{u, v} ∩ S| = 1}<br />

If Q(k) = ∅, no spann<strong>in</strong>g tree of maximum degree ≤ k.<br />

. – p.7/36


Our Approach/Algorithm<br />

Solve LP and get an extreme po<strong>in</strong>t x ∗ of Q(k) of cost LP<br />

E ∗ : support of x ∗<br />

. – p.8/36


Our Approach/Algorithm<br />

Solve LP and get an extreme po<strong>in</strong>t x ∗ of Q(k) of cost LP<br />

E ∗ : support of x ∗<br />

Study properties of any extreme po<strong>in</strong>t Q(k)<br />

Show that support graph E ∗ is Laman, i.e. for any C ⊆ V :<br />

|E ∗ (C)| ≤ 2|C| − 3<br />

. – p.8/36


Our Approach/Algorithm<br />

Solve LP and get an extreme po<strong>in</strong>t x ∗ of Q(k) of cost LP<br />

E ∗ : support of x ∗<br />

Study properties of any extreme po<strong>in</strong>t Q(k)<br />

Show that support graph E ∗ is Laman, i.e. for any C ⊆ V :<br />

|E ∗ (C)| ≤ 2|C| − 3<br />

Def<strong>in</strong>e matroid M 2 (x ∗ ) on ground set E ∗ such that any <strong>in</strong>dependent<br />

set has degree at most k + 2 (but not conversely)<br />

. – p.8/36


Our Approach/Algorithm<br />

Solve LP and get an extreme po<strong>in</strong>t x ∗ of Q(k) of cost LP<br />

E ∗ : support of x ∗<br />

Study properties of any extreme po<strong>in</strong>t Q(k)<br />

Show that support graph E ∗ is Laman, i.e. for any C ⊆ V :<br />

|E ∗ (C)| ≤ 2|C| − 3<br />

Def<strong>in</strong>e matroid M 2 (x ∗ ) on ground set E ∗ such that any <strong>in</strong>dependent<br />

set has degree at most k + 2 (but not conversely)<br />

F<strong>in</strong>d a m<strong>in</strong>imum cost spann<strong>in</strong>g tree of E ∗ which is also <strong>in</strong>dependent<br />

<strong>in</strong> M 2 (x ∗ ) (by matroid <strong>in</strong>tersection)<br />

. – p.8/36


Our Approach/Algorithm<br />

Solve LP and get an extreme po<strong>in</strong>t x ∗ of Q(k) of cost LP<br />

E ∗ : support of x ∗<br />

Study properties of any extreme po<strong>in</strong>t Q(k)<br />

Show that support graph E ∗ is Laman, i.e. for any C ⊆ V :<br />

|E ∗ (C)| ≤ 2|C| − 3<br />

Def<strong>in</strong>e matroid M 2 (x ∗ ) on ground set E ∗ such that any <strong>in</strong>dependent<br />

set has degree at most k + 2 (but not conversely)<br />

F<strong>in</strong>d a m<strong>in</strong>imum cost spann<strong>in</strong>g tree of E ∗ which is also <strong>in</strong>dependent<br />

<strong>in</strong> M 2 (x ∗ ) (by matroid <strong>in</strong>tersection)<br />

Argue (polyhedrally) that cost of solution obta<strong>in</strong>ed ≤ LP<br />

. – p.8/36


Extreme po<strong>in</strong>ts of Q(k)<br />

Recall<br />

Q(k) = {x : x(E(S)) ≤ |S| − 1 S ⊂ V<br />

x(E(V )) = |V | − 1<br />

x(δ(v)) ≤ k<br />

v ∈ V<br />

x e ≥ 0 e ∈ E}<br />

Take an extreme po<strong>in</strong>t x ∗ of Q(k)<br />

Remove from E edges with x ∗ e = 0 −→ E∗ = {e : x ∗ e > 0}<br />

x ∗ uniquely def<strong>in</strong>ed by tight <strong>in</strong>equalities:<br />

x ∗ (E(S)) = |S| − 1 S ∈ T<br />

x ∗ (δ(v)) = k v ∈ T<br />

or Ax ∗ = b with rank(A) = |E ∗ |.<br />

. – p.9/36


Example of Extreme Po<strong>in</strong>t<br />

k = 2<br />

1<br />

0.5<br />

0.5<br />

1<br />

0.5<br />

0.5<br />

0.5 0.5<br />

1<br />

0.5<br />

0.5<br />

1<br />

0.5<br />

0.5<br />

0.5 0.5<br />

. – p.10/36


Another Example of Extreme Po<strong>in</strong>t<br />

k = 2<br />

1<br />

0.8<br />

0.2<br />

[K. Cheung ’03]<br />

. – p.11/36


Another Example of Extreme Po<strong>in</strong>t<br />

k = 2<br />

1<br />

0.8<br />

0.2<br />

[K. Cheung ’03]<br />

. – p.11/36


Extreme po<strong>in</strong>t<br />

Extreme po<strong>in</strong>t x ∗ uniquely def<strong>in</strong>ed by tight <strong>in</strong>equalities:<br />

x ∗ (E(S)) = |S| − 1 S ∈ T<br />

x ∗ (δ(v)) = k v ∈ T<br />

or Ax ∗ = b with rank(A) = |E ∗ |.<br />

Which full rank |E ∗ | × |E ∗ |-submatrix of A to use?<br />

. – p.12/36


<strong>Uncross<strong>in</strong>g</strong><br />

If A, B tight (A, B ∈ T ) with A ∩ B ≠ ∅ then<br />

Thus,<br />

|A| − 1 + |B| − 1 = x ∗ (E(A)) + x ∗ (E(B))<br />

≤<br />

A ∪ B, A ∩ B ∈ T<br />

x ∗ (E(A ∪ B)) + x ∗ (E(A ∩ B))<br />

≤ |A ∪ B| − 1 + |A ∩ B| − 1.<br />

No edges between A \ B and B \ A<br />

<strong>Uncross<strong>in</strong>g</strong> argument implies: There exists lam<strong>in</strong>ar subfamily L of F<br />

satisfy<strong>in</strong>g span(L) = span(F)<br />

(Any maximal lam<strong>in</strong>ar subfamily works)<br />

. – p.13/36


Size of Lam<strong>in</strong>ar Families<br />

Any lam<strong>in</strong>ar family on n elements conta<strong>in</strong>s at most 2n − 1 <strong>sets</strong><br />

If no s<strong>in</strong>gletons then ≤ n − 1 <strong>sets</strong><br />

. – p.14/36


Small Support<br />

x ∗ def<strong>in</strong>ed by<br />

x ∗ (E(S)) = |S| − 1<br />

x ∗ (δ(v)) = k<br />

S ∈ L<br />

v ∈ T<br />

with L a lam<strong>in</strong>ar family of <strong>sets</strong> without s<strong>in</strong>gletons<br />

System Ax ∗ = b with A = |E ∗ | × |E ∗ | of full rank<br />

|L| ≤ n − 1 implies |E ∗ | = |L| + |T| ≤ (n − 1) + n = 2n − 1<br />

Similar results known <strong>in</strong> many sett<strong>in</strong>gs. E.g. Boyd and Pulleyblank<br />

’91 for subtour polytope.<br />

. – p.15/36


verywhere Sparse: |E ∗ (C)| ≤ 2|C| − 1 for all C<br />

A =<br />

1 1 0 1 1 0 0 1 · · · ← x ∗ (E(S)) = |S| − 1<br />

0 1 0 0 1 0 1 0 · · · ← x ∗ (E(T)) = |T| − 1<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

1 1 1 0 0 0 1 0 · · · ← x ∗ (δ(v)) = k<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

. – p.16/36


verywhere Sparse: |E ∗ (C)| ≤ 2|C| − 1 for all C<br />

A =<br />

. . . . . . . . . . . χ(E ∗ (S)) . . . . . . . . . . . ← x ∗ (E(S)) = |S| − 1<br />

. . . . . . . . . . .χ(E ∗ (T)) . . . . . . . . . . . ← x ∗ (E(T)) = |T| − 1<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

. . . . . . . . . . . . χ(δ(v)) . . . . . . . . . . . . ← x ∗ (δ(v)) = k<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .<br />

. – p.16/36


verywhere Sparse: |E ∗ (C)| ≤ 2|C| − 1 for all C<br />

Take any C ⊆ V . A has full rank<br />

=⇒ columns of A correspond<strong>in</strong>g to E ∗ (C) are l<strong>in</strong>early <strong>in</strong>dependent<br />

A =<br />

← E ∗ (C) →<br />

1 1 0 1 1 0 ← x ∗ (E(S)) = |S| − 1<br />

0 1 0 0 1 0 ← x ∗ (E(T)) = |T| − 1<br />

. . . . . . . . . . . . . . . . . . .<br />

. . . . . . . . . . . . . . . . . . .<br />

1 1 1 0 0 0 ← x ∗ (δ(v)) = k<br />

. . . . . . . . . . . . . . . . . . .<br />

. . . . . . . . . . . . . . . . . . .<br />

. – p.16/36


verywhere Sparse: |E ∗ (C)| ≤ 2|C| − 1 for all C<br />

Take any C ⊆ V . A has full rank<br />

=⇒ columns of A correspond<strong>in</strong>g to E ∗ (C) are l<strong>in</strong>early <strong>in</strong>dependent<br />

A =<br />

← E ∗ (C) →<br />

χ(E ∗ (S) ∩ E ∗ (C)) ← x ∗ (E(S)) = |S| − 1<br />

χ(E ∗ (T) ∩ E ∗ (C)) ← x ∗ (E(T)) = |T| − 1<br />

. . . . . . . . . . . . . . . . . . . .<br />

. . . . . . . . . . . . . . . . . . . .<br />

.χ(δ(v) ∩ E ∗ (C)).<br />

← x ∗ (δ(v)) = k<br />

. . . . . . . . . . . . . . . . . . . .<br />

. . . . . . . . . . . . . . . . . . . .<br />

. – p.16/36


verywhere Sparse: |E ∗ (C)| ≤ 2|C| − 1 for all C<br />

Take any C ⊆ V . A has full rank<br />

=⇒ columns of A correspond<strong>in</strong>g to E ∗ (C) are l<strong>in</strong>early <strong>in</strong>dependent<br />

A =<br />

← E ∗ (C) →<br />

. χ(E ∗ (S ∩ C)) . ← x ∗ (E(S)) = |S| − 1<br />

. . . . . . . . . . . . . . . . . . .<br />

0 0 0 0 0 0 ← if |S ∩ C| ≤ 1<br />

. . . . . . . . . . . . . . . . . . .<br />

χ(δ(v) ∩ E ∗ (C))<br />

← x ∗ (δ(v)) = k<br />

. . . . . . . . . . . . . . . . . . .<br />

0 0 0 0 0 0 ← if v ∈ (T \ C)<br />

. – p.16/36


verywhere Sparse: |E ∗ (C)| ≤ 2|C| − 1 for all C<br />

Take any C ⊆ V . A has full rank<br />

=⇒ columns of A correspond<strong>in</strong>g to E ∗ (C) are l<strong>in</strong>early <strong>in</strong>dependent<br />

A =<br />

← E ∗ (C) →<br />

. χ(E ∗ (S ∩ C)) . dist<strong>in</strong>ct, non-zero rows<br />

. . . . . . . . . . . . . . . . . . for lam<strong>in</strong>ar family<br />

. . . . . . . . . . . . . . . . . . L C = {S ∩ C :<br />

. . . . . . . . . . . . . . . . . . S ∈ L and |S ∩ C| ≥ 2}<br />

χ(δ(v) ∩ E ∗ (C))<br />

dist<strong>in</strong>ct, non-zero rows<br />

. . . . . . . . . . . . . . . . . . for v ∈ T ∩ C<br />

. . . . . . . . . . . . . . . . . .<br />

=⇒ |E ∗ (C)| = rank(B) ≤ |C| + |C| − 1 = 2|C| − 1 for all C ⊆ V<br />

. – p.16/36


Slight Improvement<br />

Slightly more careful rank count<strong>in</strong>g argument shows |E ∗ (C)| ≤ 2|C| − 3<br />

for every C ⊆ V<br />

. – p.17/36


Orientation of E ∗<br />

Graph Orientation: [Hakimi ’65] An undirected graph G has an<br />

orientation with <strong>in</strong>degree d − (v) ≤ u v if and only if for all C ⊆ V :<br />

|E(C)| ≤ ∑ v∈C<br />

u v<br />

[Easy, e.g. from max flow/m<strong>in</strong> cut]<br />

=⇒ E ∗ can be oriented <strong>in</strong>to A ∗ such that d − (v) ≤ 2 for all v ∈ V<br />

Another way<br />

[Nash-Williams’ 1964] A graph can be partitioned <strong>in</strong>to k forests if<br />

and only if for all C ⊆ V : |E(C)| ≤ k(|C| − 1)<br />

(Special case of Edmonds’ 1965 matroid base cover<strong>in</strong>g theorem)<br />

=⇒ E ∗ can be partitioned <strong>in</strong>to 2 forests<br />

Orient each forest as a branch<strong>in</strong>g (<strong>in</strong>degree at most 1)<br />

. – p.18/36


Example<br />

. – p.19/36


Example<br />

. – p.19/36


Example<br />

. – p.19/36


Example<br />

. – p.19/36


Example<br />

. – p.19/36


Matroid M 2<br />

Given orientation A ∗ of E ∗ with <strong>in</strong>degree d − (v) ≤ 2 for v ∈ V ,<br />

def<strong>in</strong>e partition matroid M 2 (x ∗ ) = (E ∗ , I) where<br />

I = {F : |F ∩ δ + A ∗ (v)| ≤ k for all v ∈ V }<br />

S<strong>in</strong>ce all but at most 2 edges <strong>in</strong>cident to v are outgo<strong>in</strong>g <strong>in</strong> A ∗ , any<br />

<strong>in</strong>dependent set F of M 2 (x ∗ ) has maximum degree ≤ k + 2<br />

Slack of 3 units for every C =⇒ can assume one specific vertex of<br />

degree ≤ k and another of degree ≤ k + 1<br />

. – p.20/36


Matroid Intersection Approach<br />

F<strong>in</strong>d a m<strong>in</strong>imum cost spann<strong>in</strong>g tree <strong>in</strong> E ∗ which is also <strong>in</strong>dependent<br />

<strong>in</strong> M 2 (x ∗ )<br />

M 1 : graphic matroid for E ∗<br />

=⇒ want a base of M 1 <strong>in</strong>dependent <strong>in</strong> M 2 (x ∗ )<br />

=⇒ matroid <strong>in</strong>tersection<br />

Polynomial time us<strong>in</strong>g matroid <strong>in</strong>tersection algorithm<br />

Edmonds ’79 and Lawler ’75<br />

Brezovec, Cornuéjols and Glover ’88: O(n 3 ) algorithm for ⋂ of<br />

graphic matroid and partition matroid<br />

Gabow and Xu scal<strong>in</strong>g algorithm for l<strong>in</strong>ear matroid <strong>in</strong>tersection:<br />

O(n 2.77 log nW)<br />

Harvey ’06: O(n 2.38 W) (polynomial if weights are small)<br />

Bound on cost?<br />

. – p.21/36


Matroid Polytope<br />

[Edmonds ’70] Given matroid M = (E, I), convex hull of <strong>in</strong>cidence<br />

vectors of <strong>in</strong>dependent <strong>sets</strong> is :<br />

P(M) =<br />

⎧<br />

⎨<br />

∣ ∣∣∣∣∣<br />

⎩ x x(F) ≤ r M (F) F ⊆ E<br />

x e ≥ 0 e ∈ E<br />

Convex hull B(M) of bases: same with x(E) = r M (E)<br />

For graphic matroid M 1 on E ∗<br />

B(M 1 ) = {x : x(E(S)) ≤ |S| − 1 S ⊂ V<br />

x(E(V )) = |V | − 1<br />

⎫<br />

⎬<br />

⎭<br />

x e ≥ 0 e ∈ E ∗ }<br />

. – p.22/36


Matroid Polytope<br />

[Edmonds ’70] Given matroid M = (E, I), convex hull of <strong>in</strong>cidence<br />

vectors of <strong>in</strong>dependent <strong>sets</strong> is :<br />

P(M) =<br />

⎧<br />

⎨<br />

∣ ∣∣∣∣∣<br />

⎩ x x(F) ≤ r M (F) F ⊆ E<br />

x e ≥ 0 e ∈ E<br />

Convex hull B(M) of bases: same with x(E) = r M (E)<br />

For matroid M 2 (x ∗ )<br />

P(M 2 (x ∗ )) = {x : x(δ + A ∗ (v)) ≤ k v ∈ V<br />

⎫<br />

⎬<br />

⎭<br />

1 ≥ x e ≥ 0 e ∈ E ∗ }<br />

. – p.22/36


Matroid Intersection Polytope<br />

[Edmonds ’70] Given two matroids M 1 = (E, I 1 ) and<br />

M 2 = (E, I 2 ), convex hull of <strong>in</strong>dependent <strong>sets</strong> common to both<br />

matroids is<br />

P(M 1 ) ∩ P(M 2 )<br />

(Similarly, if take bases for one of them)<br />

. – p.23/36


Cost Analysis<br />

Observe that x ∗ ∈ B(M 1 ) and x ∗ ∈ P(M 2 (x ∗ ))<br />

Cost of solution returned:<br />

m<strong>in</strong>{c(x) : x ∈ B(M 1 ) ∩ P(M 2 (x ∗ ))} ≤ c(x ∗ ) = LP<br />

Thus, we get a spann<strong>in</strong>g tree of maximum degree k + 2 and of cost<br />

≤ LP<br />

Remark: We could have decomposed x ∗ ∈ B(M 1 ) ∩ P(M 2 (x ∗ ))<br />

as a convex comb<strong>in</strong>ation of spann<strong>in</strong>g trees <strong>in</strong>dependent for M 2<br />

(us<strong>in</strong>g Cunn<strong>in</strong>gham ’84) and take the best cost among them (enough<br />

to get at most LP )<br />

x ∗ ∈ B(M 1 ) ∩ P(M 2 (x ∗ )) implies that<br />

Q(k) = conv({x ∗ }) ⊆ conv(Q(k + 2) ∩ Z E )<br />

. – p.24/36


Cost Analysis<br />

Observe that x ∗ ∈ B(M 1 ) and x ∗ ∈ P(M 2 (x ∗ ))<br />

Cost of solution returned:<br />

m<strong>in</strong>{c(x) : x ∈ B(M 1 ) ∩ P(M 2 (x ∗ ))} ≤ c(x ∗ ) = LP<br />

Thus, we get a spann<strong>in</strong>g tree of maximum degree k + 2 and of cost<br />

≤ LP<br />

Remark: We could have decomposed x ∗ ∈ B(M 1 ) ∩ P(M 2 (x ∗ ))<br />

as a convex comb<strong>in</strong>ation of spann<strong>in</strong>g trees <strong>in</strong>dependent for M 2<br />

(us<strong>in</strong>g Cunn<strong>in</strong>gham ’84) and take the best cost among them (enough<br />

to get at most LP )<br />

x ∗ ∈ B(M 1 ) ∩ P(M 2 (x ∗ )) implies that<br />

Any convex comb<strong>in</strong>ation of trees such that the average degree of<br />

every vertex is at most k can be viewed as a convex comb<strong>in</strong>ation of<br />

trees each of maximum degree ≤ k + 2<br />

. – p.24/36


Without Hakimi, Nash-Williams, Edmonds, etc.<br />

Laplace expansion of det along column j:<br />

det(A) = ∑ i<br />

(−1) i+j a ij det(M ij )<br />

Generalized Laplace expansion (Laplace 1772): For any I,<br />

det(A) =<br />

∑<br />

J:|J|=|I|<br />

sgn(I, J) det(A[I, J]) det(A[Ī, ¯J])<br />

=⇒ If A <strong>in</strong>vertible, there exists J with A[I, J] and A[Ī, ¯J] <strong>in</strong>vertible<br />

(follows also from matroid union m<strong>in</strong>-max relation)<br />

Algorithmically: For every j = 1 to n do<br />

either set all entries <strong>in</strong> column j from rows <strong>in</strong> I or from rows <strong>in</strong> Ī<br />

to 0 so as to keep the matrix <strong>in</strong>vertible<br />

. – p.25/36


Orientation Purely Algebraically<br />

Take Ax ∗ = b<br />

Can partition E <strong>in</strong>to E 1 , E 2<br />

E 1 E 2<br />

A =<br />

I B 1 ←− rows x ∗ (E(S)) = |S| − 1<br />

Ī B 2 ←− rows x ∗ (δ(v)) = k<br />

with B 1 , B 2 <strong>in</strong>vertible<br />

B 1 <strong>in</strong>vertible + L lam<strong>in</strong>ar: E 1 must be a forest<br />

B 2 <strong>in</strong>vertible: every connected component of E 2 is a tree or a tree +<br />

one edge<br />

=⇒ can trivially orient both E 1 and E 2 with <strong>in</strong>degree at most 1<br />

. – p.26/36


Former Conjecture... Now Theorem<br />

Conjecture:<br />

Q(k) ⊆ conv(Q(k + 1) ∩ Z E )<br />

Any convex comb<strong>in</strong>ation of trees such that the average degree of<br />

every vertex is at most k can be viewed as a convex comb<strong>in</strong>ation of<br />

trees each of maximum degree k + 1<br />

Proved by S<strong>in</strong>gh and Lau ’07:<br />

Efficient algorithm to get tree of cost ≤ OPT(k) and of degree<br />

≤ k + 1<br />

Uses iterative relaxation, generaliz<strong>in</strong>g Ja<strong>in</strong>’s iterative round<strong>in</strong>g<br />

. – p.27/36


Open Questions<br />

Can one f<strong>in</strong>d E ∗ (comb<strong>in</strong>atorially) without comput<strong>in</strong>g x ∗ (by l<strong>in</strong>ear<br />

programm<strong>in</strong>g)?<br />

+1 algorithm possible via matroid approach if, for all extreme po<strong>in</strong>ts<br />

x ∗ with support E ∗ , there exists an orientation A ∗ such that for all<br />

v ∈ V :<br />

∑<br />

(1 − x ∗ e ) ≤ 1<br />

e∈δ − A ∗ (v)<br />

(For general (non-extreme) x ∗ , decid<strong>in</strong>g if such orientation exists is<br />

NP-hard.)<br />

. – p.28/36


General Lower and Upper bounds<br />

General Degree-Bounded Spann<strong>in</strong>g Trees:<br />

Given l, u : V → Z + , f<strong>in</strong>d a spann<strong>in</strong>g tree T such that<br />

l(v) ≤ d T (v) ≤ u(v) for all v ∈ V and of m<strong>in</strong>imum cost<br />

Same approach gives a spann<strong>in</strong>g tree of cost at most LP and of<br />

degree l(v) − 2 ≤ d v (T) ≤ u(v) + 2 for all v ∈ V<br />

One step is to argue that for<br />

P 2 = {x : l(v) − 2 ≤ x(δ + A ∗ (v)) ≤ u(v) v ∈ V<br />

B(M 1 ) ∩ P 2 is <strong>in</strong>tegral<br />

1 ≥ x e ≥ 0 e ∈ E ∗ }<br />

S<strong>in</strong>gh and Lau ’07: +1 also for general upper and lower bounds<br />

. – p.29/36


S<strong>in</strong>gh and Lau’s Iterative Relaxation<br />

Given a forest F (<strong>in</strong>itially empty) and W ⊆ V , consider LP relaxation<br />

for problem of augment<strong>in</strong>g F <strong>in</strong>to a tree with general degree bounds<br />

u(v) for v ∈ W<br />

Solve relaxation; remove edges of value 0 and and add edges of<br />

value 1 to F<br />

Theorem: If non-<strong>in</strong>tegral, there exists v ∈ W with u(v) + 1 <strong>in</strong>cident<br />

edges.<br />

Remove v from W and repeat<br />

. – p.30/36


Formulation<br />

Let E: all edges,<br />

E 0 : excluded edges,<br />

E 1 : <strong>in</strong>cluded edges <strong>in</strong> solution,<br />

E ′ = E \ (E 0 ∪ E 1 )<br />

W ⊆ V : vertices v with degree upper bound u(v)<br />

LP relaxation: m<strong>in</strong> ∑ c e x e<br />

e∈E<br />

x(E(S)) ≤ |S| − 1 S ⊂ V<br />

x(E(V )) = |V | − 1<br />

P(E 0 , E 1 , W) x(δ(v)) ≤ u(v) v ∈ W<br />

x e = 1 e ∈ E 1<br />

x e = 0 e ∈ E 0<br />

x e ≥ 0 e ∈ E ′ }<br />

. – p.31/36


S<strong>in</strong>gh and Lau’s Algorithm<br />

E 0 = E 1 = ∅, W = V<br />

Repeat<br />

F<strong>in</strong>d optimum extreme po<strong>in</strong>t x to LP(E 0 , E 1 , W)<br />

E 0 = {e : x e = 0}, E 1 = {e : x e = 1}, E ′ = E \ (E 0 ∪ E 1 )<br />

Remove from W vertices v with d E1 (v) + d E ′(v) ≤ u(v) + 1<br />

Until E 1 is a spann<strong>in</strong>g tree<br />

Theorem [S<strong>in</strong>gh and Lau ’07]: Algorithm term<strong>in</strong>ates<br />

→ E 1 satisfies the degree bounds u(v) + 1<br />

New simple proof of Bansal, Khandekar and Nagarajan ’07<br />

. – p.32/36


Tight Inequalities Can Be Uncrossed<br />

x| E ′ uniquely def<strong>in</strong>ed by:<br />

x(E ′ (S)) = |S| − 1 − |E 1 (S)|<br />

x(δ E ′(v)) = u(v) − |δ E1 (v)|<br />

S ∈ L<br />

v ∈ T<br />

with L lam<strong>in</strong>ar and |E ′ | = |L| + |T|<br />

. – p.33/36


W decreases<br />

Let<br />

def(v) =<br />

∑<br />

(1 − x e ) =<br />

∑<br />

(1 − x e )<br />

e∈δ E ′(v)<br />

e∈δ E ′ ∪E1 (v)<br />

For v ∈ T , def(v) = d E1 (v) + d E ′(v) − u(v) ∈ Z<br />

Claim: There exists v ∈ T such that def(v) = 1<br />

→ v can be removed from W<br />

. – p.34/36


. – p.35/36


Iterative Relaxation<br />

Many more applications, see S<strong>in</strong>gh and Lau ’07, Lau et al. ’07,<br />

Bansal et al. ’07.<br />

Bansal et al. ’07: Given a directed graph D = (V, A) with root<br />

r ∈ V , and outdegree upper bounds b(v) for every v ∈ V ,<br />

(efficiently) either decide that D has no r-arborescence with<br />

d + (v) ≤ b(v) or output an r-arborescence with d + (v) ≤ b(v) + 2.<br />

. – p.36/36

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!