1 / 30

Matching and Routing: Structures and Algorithms

Matching and Routing: Structures and Algorithms. Andr ás Sebő , CNRS, IMAG-Leibniz, Grenoble. x. V 0. x. Reaching with directed paths. X 0 V di-cut if x 0  X 0 and no leaving edge Proposition : x  X 0  no (x 0 ,x) path V 0 :={x: x reachable from x 0 }.

terrence
Download Presentation

Matching and Routing: Structures and Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Matching and Routing: Structures and Algorithms András Sebő, CNRS, IMAG-Leibniz, Grenoble

  2. x V0 x Reaching with directed paths X0V di-cut if x0 X0and no leaving edge Proposition: x X0 no (x0,x) path V0:={x: x reachable from x0} Proposition  V0 X0 di-cut X0. Thm : V0 is a di-cut. The Most Exclusive ! x0

  3. + - - + + + a - - b Bidirected Graphs { Defined by Edmonds, Johnson (‘70) to handle a general class of integer linear programs containing matchings and their generalizations and tractable with the samemethods. a bb  {0,+1, -1, +2, -2}V , (a,bV, ,b {-1,1} ) +bif x=a=b a bb (x) = if x=ab, bif x=ba 0 if x{a,b} bidirected graph:G=(V,E),eEa,b,a,b:e=abb bidirected (a,bb) path : P  E, eP e = abb. Then bb (b) is reachable from a(a).

  4. - - + + How do the Paths Go ?If P is an (a,bb) path, then there exists anorder {e1,…,ep} of its edges so that for all i=1,…p {e1,…,ei} is a path Corollary: v P is reachable from a . Skew Transitivity Lemma: If  (a,bb) path and (b-b,cg) path, then: either there is also an (a,cg) path, or both the (a,b-b), (bb,cg) paths exist.

  5. x0 x0’ We proved in case x0 V+ \ V-, eg, if d(x0)=1 • x0  V+ \ V- (ii) V+  V- does not induce any useful edge. (iii) For a component C of G - V+  V- either C  V+ V- & 1 useful edge entering C. or C V+ = C V- =  & 0 ‘’ ‘’ ‘’ ‘’ x0- V+ \ V- V- \ V+ - - + - + - -- + x’0-

  6. x0‘ It follows immediately for the general case that: • x0  V+ (ii) V+  V- does not induce any useful edge. (iii) For a component C of G - V+  V- either C  V+ V- , x0C and  1 useful edge entering C, x0C and no “ “ “ or C V+ = C V- =  and 0 useful …. x0

  7. Remark: particular bidirected cuts (i) x0  X+ \ X - (ii) X:= X+  X- does not induce any useful edge. (iii) For a component C of G-X either C  X+ X- &  1 useful edge entering C. or C X+ = C X- =  and no “ “ “

  8. Bidirected Cuts in General (X+ , X- ) , X+ , X-  V is a bi-cut for x0-, if (i) x0  X+ (ii) X:= X+  X- does not induce any useful edge. (iii) For a component C of G-X either C  X+ X- , x0C and  1 useful edge entering C, x0C and no “ “ “ or C X+ = C X- = 

  9. What do bi-cuts exclude ? Proposition: If (X+ , X- ) is a bi-cut for x0 , then x  X+  there is no (x0- , x+) path, x  X-  there is no (x0- , x-) path. Proof : Choose x V, and P an (x0- , x) path, so that P is a counterexample, and P min … + + X-\X+ X+\X- - - + - + - -- V+:={vV:  (x0- ,v+) path},V-:={vV:  (x0- ,v-) path} Proposition  V+ X+ , V- X-  (X+ ,X- ) bi-cut

  10. Theorem(bidirected structure) (V+ , V-)is a bi-cut. + What does a component of G - V+V- look like ? + V- \ V+ V+\ V- - - + - + - -- Proof : x0  V+ , since  is an (x0-,x0+) path. If say e=a-b- is useful, a,bV+, let P (x0-,a+) path. Both e  P and e  P lead to a contradiction. Let e=p+r+ (pV- ) be a useful edge entering C. We show e is the only one and C  V+ V- . C not reachable at all entirely +,- reachable

  11. V- pp’ + + e trick: to switch the signs in a point does not change the accessibility of vV . Claim : V+r-(C)= V-r-(C) Enough:  : x  Vr-+(C), x V+ \ V-  xV– If an (x0-,x-)-path enters last on e : DONE If an (x0-,x-)-path enters last on p’r’: contradiction in either case of the Skew Transitivity Lemma. + r + r’ x - +

  12. u< dF < l ,  u< dF  l ,  u  dF < l ,  (l,u)-factors (l  u) + parity constraints in some vertices Find F  E with minimum deficiency, where def := {dF(v)-u(v): dF(v)>u(v)} +  {l(v)-dF(v): dF(v)<l(v)} x0- F dF > u : + dF < l : -  F

  13. V+ \ V- V- \ V+ + - - + - + - -- Lemma: If one of the following statements hold, then F does not have minimum deficiency: a. x0 V+ V- b. xV+: dF(x)<u(x), and not dF(x)+1=u(x)=l(x) c.xV- :dF(x)>l(x), and not dF(x)-1=u(x)=l(x) Lovász’s structure theorem (containing Tutte’s existence theorem, Lovász’s minmax theorem for the deficiency): universal U, L is a ‘Tutte-set’. U: oversat L: undersat OPT: u=l and+-1 (+ odd) feasible

  14. Max Cardinality Factors, Matchings max cardinality (l,u)-factor: min deficiency u-factor V+\ V- ={x0}TUTTE SET x0  V- V- is a stable set (avoided with +,+ loops).

  15. orientations Again: u, l, (+ parity) : l  din u x0- u< dout < l ,  dout > u : - dout < l : + u< dout  l ,  u  dout < l ,  Minmax theorems (Frank, S. Tardos) + structure theorem (best certificate)

  16. The bipartite or network flow cases The odd components disappear if: l<u, or l=u=even, or the graph is bipartite. In this case bipartite matchings or network flows are sufficient. Direct algorithms based on alternating paths can mimic mfmc, eg: Thm:G=(A,B,E) bipartite,r(a)(aA)demands t(h) (hB) number of ressources in hour h. Feasible   Y B uUr(u,Y)  t(Y), where r(u,Y):=max{r(u)-|N(u)\Y|,0}. The general case is ‘1 floor higher’: ellipsoids, or blossoms, or structure algorithms …

  17. Solution of Exercises 9,10 C(G)={x V(G): no red-red & nored-blue} A(G)={x V(G): no red-red &  red-blue} Solution Exercise 9: V \ C(G) :  red-red or  red-blue • red-red: {xV(G):  M x is uncovered} =: D(G) additional red-blue : neighbors of D (D  neighbors of D) = V \ C(G) =A(G)

  18. Conclusion about bidirected graphs First, in terms of matchings: Exercise 8: If A is a Tutte set, then from x0 - to xA there is no red-red alternating path - to xC, C even comp of G-A no red-red no red-blue C(G)={x V(G): no red-red & nored-blue} A(G)={x V(G): no red-red &  red-blue}

  19. Confusing: A(G) itself is not maximal among Tutte-sets A. (The reason is that it corresponds to V+ \ V- and not V+.) Gallai-Edmonds : A(G) is a Tutte-set. Proof : (V+, V-) is a bidirected cut. S. of Exercise 10: C(G) is max among all C: triv A(G)  C(G) is max among all AC (where A is a Tutte-set and C the  of even) , because there is no red-red path to AC , and A(G)  C(G) is the set of all such vertices.

  20. Conclusion about bidirected graphsand the way they can be applied Thm : (V+, V-) is a bidirected cut. (most excl) This certifies that other vertices are not reachable. Algorithmic proof: (ii) is not satisfied: useful edge induced by X+  X- (iii) ‘’ ‘’ ‘’ : two useful edges leaving a comp: new path by Skew Transitivity. Application: existence or max of subgraphs with constraints on degrees (bounds, parity, Orientation, etc.) Proof of optimality: 1.) Ex 11. 2.)minmax

  21. x0

  22. x0 x0

  23. Theorem: G bipartite, w: E {-1,1}, cons.,x0V Then | l (u) – l (v) | = 1 for all uvE, andfor allD D : d(D) contains 1 negative edge if x0 D0 0 negative edge if x0D Proof (Sketch): Induction with resp. to |V|. If l(b)=min {l(x) : x V} then Exercise 21 proves the statement for {b}  D. Contract d(b). The graph remains cons, since if not, there is a 0 circuit through b with b , Apply Exercise 19, contradicting Exercise 21. ~Similarly, the distances do not change. Induction.

  24. conservat. and upper bound for the distances • integer function is a potential (with center x0 ), if (i) p(x0)=0 (ii) | p (u) – p (v) | = 1 for all uvE, (iii) for all D D(p) : d(D) contains 1 negative edge if x0D0 0 negative edge if x0D Algorithm: INPUT: G,w,x0 TASK: Find the distances from x0 While the distances do not form a potential find a better path or a negative circuit.(Ref: Finding …)

  25. Applications Method for solving (in parallel + structure of ) : - Min (weighted) matchings - planar disjoint paths (+ planar max cut, via holes, air transport, Ising model) - the Chinese Postman problem - Minimizing T-joins, T-cuts (including min paths) - weighted algorithms for these, since they can mimic the +-1 bipartite case. ref: A.S., Potentials in Undirected Graphs and Planar multiflows, SIAM J. Computing, March 1997, 582-603

  26. Answers: The algorithm that finds distances from x0 is polynomial: O(n4). It does not know about ‘efficient labelling’. Advantages: - it finds a potential, and The Best one, which helps in some applications to integer mflows. - the ‘classical’ algorithm reduces eg cardinality postman to weighted matchings. - helps in ‘reading’ matching th, and leads to generalizing it to conservative graphs (postman, planar disjoint paths, etc.) – used eg for integer multiflows.

  27. + path from ij no +path … … X1 X2 Xk … … t1 tk t2 X1 X2 Xk … … t1 tk t2 G=(V,E) graph,TV, k:=|T|. Ref:Schrijver Comb. Opt. T-path: path with different endpoints in T. edge-Mader : max = Min + b1/2 +...+ bp/2 Mader-Structure (with L. Szegő, ‘03) For edge-Mader (simpler): Xi :={v V:  opt T-path packing+pathonlyfromti} Follows from matroid matching or the ellipsoid method, but NO ‘NORMAL’ ALG !

  28. Jump systems A jump system (Bouchet, Cunnigham ’93)is a set of integer vectors J so that for everyu,v  J and step u+ei from u towards v, either u+ei J or there exists a step u+ei+ej  J from u+ei towards J. Examples: matroid independent sets, bases. Degree sequences (B.C.): you have a proof according to Exercise 12 ! The covered vertices of T-path packings (with M. Sadli using Schrijver’s (cf TheBook) simple proof. Insight and generalization of results on graph factors:jump system intersection theorems. There are ‘holes’.

More Related