Maintaining Perfect Matchings at Low Cost Jannik Matuschke Ulrike - - PowerPoint PPT Presentation

maintaining perfect matchings at low cost
SMART_READER_LITE
LIVE PREVIEW

Maintaining Perfect Matchings at Low Cost Jannik Matuschke Ulrike - - PowerPoint PPT Presentation

Maintaining Perfect Matchings at Low Cost Jannik Matuschke Ulrike Schmidt-Kraepelin Jos e Verschae KU Leuven TU Berlin Universidad de OHiggins 1 1 but with two more nodes: 1 Two-Stage Robust Model Stage 1 Input:


slide-1
SLIDE 1

Maintaining Perfect Matchings at Low Cost

Jannik Matuschke Ulrike Schmidt-Kraepelin Jos´ e Verschae

KU Leuven TU Berlin Universidad de O’Higgins

slide-2
SLIDE 2

1

slide-3
SLIDE 3

1

slide-4
SLIDE 4

but with two more nodes:

✚ ✚

1

slide-5
SLIDE 5

Two-Stage Robust Model

Stage 1 Input: complete weighted graph G1 Task: find matching M1 in G1 s.t.

  • c(M1) ≤ α · c(O1)

2

slide-6
SLIDE 6

Two-Stage Robust Model

Stage 1 Input: complete weighted graph G1 Task: find matching M1 in G1 s.t.

  • c(M1) ≤ α · c(O1)

Stage 2 Input: 2k additional nodes, inducing G2 Task: find matching M2 in G2 s.t.

  • c(M2) ≤ α · c(O2)
  • |M1 \ M2| ≤ β · k

✚ ✚ ✚ ✚

✗ ✗

2

slide-7
SLIDE 7

Two-Stage Robust Model

Stage 1 Input: complete weighted graph G1 Task: find matching M1 in G1 s.t.

  • c(M1) ≤ α · c(O1)

Stage 2 Input: 2k additional nodes, inducing G2 Task: find matching M2 in G2 s.t.

  • c(M2) ≤ α · c(O2)
  • |M1 \ M2| ≤ β · k

✚ ✚ ✚ ✚

✗ ✗

Q: Does there exist a robust matching M1 with α, β ∈ O(1)?

2

slide-8
SLIDE 8

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

slide-9
SLIDE 9

Results

Setting 1: Arbitrary Metric, k known G1 contains a robust matching M1 with α = 3 and β = 1. Setting 2: On the Line, k unknown G1 contains a robust matching M1 with α = 10 and β = 2. 2k: number of arrivals α: approximation factor β: recourse factor

4

slide-10
SLIDE 10

Stage 1

slide-11
SLIDE 11

Heavy Paths and Gain

5

slide-12
SLIDE 12

Heavy Paths and Gain

For matching X and path P: P is X-heavy, if c(P ∩ X) ≥ 2 · c(P \ X).

5

slide-13
SLIDE 13

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

slide-14
SLIDE 14

Heavy Paths and Gain

For matching X and path P: P is X-heavy, if c(P ∩ X) ≥ 2 · c(P \ X). Define gainX(P) := c(P ∩ X) − c(P \ X).

5

slide-15
SLIDE 15

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-16
SLIDE 16

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-17
SLIDE 17

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-18
SLIDE 18

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-19
SLIDE 19

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-20
SLIDE 20

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-21
SLIDE 21

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-22
SLIDE 22

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-23
SLIDE 23

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-24
SLIDE 24

Computing Stage 1 Matching

Set X := O1 and M1 := ∅ While(X = ∅) (i) Find X-heavy path P maximizing gainX(P). (ii) X ← X∆P and M1 ← M1 ∪ e(P).

6

slide-25
SLIDE 25

Properties of M1

1) Selected paths form a laminar family.

7

slide-26
SLIDE 26

Properties of M1

1) Selected paths form a laminar family. 2) Along the laminar hierarchy, paths are alternatingly O1-heavy ( ) O1-light ( )

7

slide-27
SLIDE 27

Properties of M1

1) Selected paths form a laminar family. 2) Along the laminar hierarchy, paths are alternatingly O1-heavy ( ) O1-light ( ) 3) Costs of nested paths decrease exponentially.

7

slide-28
SLIDE 28

Properties of M1

1) Selected paths form a laminar family. 2) Along the laminar hierarchy, paths are alternatingly O1-heavy ( ) O1-light ( ) 3) Costs of nested paths decrease exponentially. Lemma: c(M1) ≤ 3c(O1).

7

slide-29
SLIDE 29

Stage 2

slide-30
SLIDE 30

Stage 2: Replying to 2k Arrivals

O1∆O2 contains k paths (request intervals).

✚ ✚ ✚ ✚

Delete edges from M1 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

slide-31
SLIDE 31

Stage 2: Replying to 2k Arrivals

O1∆O2 contains k paths (request intervals).

✚ ✚ ✚ ✚

Delete edges from M1 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

slide-32
SLIDE 32

Stage 2: Replying to 2k Arrivals

O1∆O2 contains k paths (request intervals).

✚ ✚ ✚ ✚

Delete edges from M1 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

slide-33
SLIDE 33

Edge Removal: Example ✗ e∗

✚ ✚

A By greedy construction, A is not O1-heavy.

9

slide-34
SLIDE 34

Edge Removal: Example ✗ e∗

✚ ✚

A By greedy construction, A is not O1-heavy. O2 ∩ A = A \ O1 (optimum is inverted in request interval)

9

slide-35
SLIDE 35

Edge Removal: Example ✗ e∗

✚ ✚

A By greedy construction, A is not O1-heavy. O2 ∩ A = A \ O1 (optimum is inverted in request interval) Therefore: c(A ∩ O2) = c(A \ O1) ≥ 1 3c(A)

9

slide-36
SLIDE 36

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