Maintaining Perfect Matchings at Low Cost Jannik Matuschke Ulrike Schmidt-Kraepelin Jos´ e Verschae KU Leuven TU Berlin Universidad de O’Higgins
1
1
but with two more nodes: ✚ ✚ 1
Two-Stage Robust Model Stage 1 Input: complete weighted graph G 1 Task: find matching M 1 in G 1 s.t. • c ( M 1 ) ≤ α · c ( O 1 ) 2
Two-Stage Robust Model Stage 1 Input: complete weighted graph G 1 Task: find matching M 1 in G 1 s.t. • c ( M 1 ) ≤ α · c ( O 1 ) ✚ ✚ Stage 2 ✗ Input: 2 k additional nodes, inducing G 2 ✗ Task: find matching M 2 in G 2 s.t. • c ( M 2 ) ≤ α · c ( O 2 ) • | M 1 \ M 2 | ≤ β · k ✚ ✚ 2
Two-Stage Robust Model Stage 1 Input: complete weighted graph G 1 Task: find matching M 1 in G 1 s.t. • c ( M 1 ) ≤ α · c ( O 1 ) ✚ ✚ Stage 2 ✗ Input: 2 k additional nodes, inducing G 2 ✗ Task: find matching M 2 in G 2 s.t. • c ( M 2 ) ≤ α · c ( O 2 ) • | M 1 \ M 2 | ≤ β · k ✚ ✚ Q: Does there exist a robust matching M 1 with α, β ∈ O (1)? 2
Related Work Recoverable Robustness [Liebchen et al. 2007] Online MST with Recourse [Megow et al. 2012] Online (Bipartite) Matching • metric matching without recourse [Nayyar and Raghvendra 2017] • with recourse, no cost [Bernstein et al. 2018] 3
Results Setting 1: Arbitrary Metric, k known G 1 contains a robust matching M 1 with α = 3 and β = 1. Setting 2: On the Line, k unknown G 1 contains a robust matching M 1 with α = 10 and β = 2. 2 k : number of arrivals α : approximation factor β : recourse factor 4
Stage 1
Heavy Paths and Gain 5
Heavy Paths and Gain For matching X and path P : P is X -heavy , if c ( P ∩ X ) ≥ 2 · c ( P \ X ). 5
Heavy Paths and Gain e ( P ) For matching X and path P : P is X -heavy , if c ( P ∩ X ) ≥ 2 · c ( P \ X ). 5
Heavy Paths and Gain For matching X and path P : P is X -heavy , if c ( P ∩ X ) ≥ 2 · c ( P \ X ). Define gain X ( P ) := c ( P ∩ X ) − c ( P \ X ). 5
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Computing Stage 1 Matching Set X := O 1 and M 1 := ∅ While( X � = ∅ ) (i) Find X -heavy path P maximizing gain X ( P ). (ii) X ← X ∆ P and M 1 ← M 1 ∪ e ( P ). 6
Properties of M 1 1) Selected paths form a laminar family . 7
Properties of M 1 1) Selected paths form a laminar family . 2) Along the laminar hierarchy, paths are alternatingly O 1 -heavy ( ) O 1 -light ( ) 7
Properties of M 1 1) Selected paths form a laminar family . 2) Along the laminar hierarchy, paths are alternatingly O 1 -heavy ( ) O 1 -light ( ) 3) Costs of nested paths decrease exponentially . 7
Properties of M 1 1) Selected paths form a laminar family . 2) Along the laminar hierarchy, paths are alternatingly O 1 -heavy ( ) O 1 -light ( ) 3) Costs of nested paths decrease exponentially . Lemma: c ( M 1 ) ≤ 3 c ( O 1 ). 7
Stage 2
Stage 2: Replying to 2 k Arrivals O 1 ∆ O 2 contains k paths (request intervals) . ✚ ✚ ✚ ✚ Delete edges from M 1 according to their greedy order : 1) a heavy edge for each request interval 2) a light edge for each gap between request intervals (precise definition uses laminar structure) 8
Stage 2: Replying to 2 k Arrivals O 1 ∆ O 2 contains k paths (request intervals) . ✚ ✚ ✚ ✚ Delete edges from M 1 according to their greedy order : 1) a heavy edge for each request interval 2) a light edge for each gap between request intervals (precise definition uses laminar structure) 8
Stage 2: Replying to 2 k Arrivals O 1 ∆ O 2 contains k paths (request intervals) . ✚ ✚ ✚ ✚ Delete edges from M 1 according to their greedy order : 1) a heavy edge for each request interval 2) a light edge for each gap between request intervals (precise definition uses laminar structure) Add a min cost matching on exposed nodes. 8
Edge Removal: Example e ∗ ✗ ✚ ✚ A By greedy construction, A is not O 1 -heavy. 9
Edge Removal: Example e ∗ ✗ ✚ ✚ A By greedy construction, A is not O 1 -heavy. O 2 ∩ A = A \ O 1 (optimum is inverted in request interval) 9
Edge Removal: Example e ∗ ✗ ✚ ✚ A By greedy construction, A is not O 1 -heavy. O 2 ∩ A = A \ O 1 (optimum is inverted in request interval) Therefore: c ( A ∩ O 2 ) = c ( A \ O 1 ) ≥ 1 3 c ( A ) 9
Conclusion We can construct matchings that can quickly adapt to changing input: • in arbitrary metrics, when number of arrivals is known • on the line, when number of arrivals is not known Open Questions • Can results for line be extended to general metric spaces? • Can this be extended to the online setting with α, β ∈ O (1)? 10
Recommend
More recommend