Finding Graph Matchings in Data Streams Andrew McGregor, UPenn The - - PowerPoint PPT Presentation

finding graph matchings in data streams
SMART_READER_LITE
LIVE PREVIEW

Finding Graph Matchings in Data Streams Andrew McGregor, UPenn The - - PowerPoint PPT Presentation

Finding Graph Matchings in Data Streams Andrew McGregor, UPenn The Streaming Model The Streaming Model Classic Problem: Median Finding [Munro & Paterson] The Streaming Model Classic Problem: Median Finding [Munro & Paterson]


slide-1
SLIDE 1

Finding Graph Matchings in Data Streams

Andrew McGregor, UPenn

slide-2
SLIDE 2

The Streaming Model

slide-3
SLIDE 3

The Streaming Model

  • Classic Problem: Median Finding [Munro & Paterson]
slide-4
SLIDE 4

The Streaming Model

  • Classic Problem: Median Finding [Munro & Paterson]
  • Parameters of the Model:
  • How much memory?
  • How many passes?
  • How much computation time between data elements?
slide-5
SLIDE 5

The Streaming Model

  • Classic Problem: Median Finding [Munro & Paterson]
  • Parameters of the Model:
  • How much memory?
  • How many passes?
  • How much computation time between data elements?
  • Statistics, Norms and Histograms…
slide-6
SLIDE 6

The Streaming Model

  • Classic Problem: Median Finding [Munro & Paterson]
  • Parameters of the Model:
  • How much memory?
  • How many passes?
  • How much computation time between data elements?
  • Statistics, Norms and Histograms…
  • What about graph problems?
slide-7
SLIDE 7

Graph Streaming

  • Instance of graph problem G = (V, E)
  • Edges arrive in arbitrary order: e1, e2, e3, …, em
  • Memory limit O(n polylog n) where n = |V|
  • Spanner Construction, Bipartite Matching, Lower Bounds

[Feigenbaum, Kannan, M. , Suri, Zhang ’04 &’05]

  • “Annotation” Stream Model [Aggarwal, Datar, Rajagopalan,

Ruhl ’04, Demetrescu, Finocchi, Ribichini ’05]

slide-8
SLIDE 8

Matching

  • A matching - set of edges with no two edges sharing an end point.
  • Problems:

Find the matching of maximum cardinality (MCM) Find the matching of maximum weight (MWM)

  • (Non-streamable) Algorithms:

Exact polytime algorithm for both [Gabow ’90] Linear-time 1+ε approx for MCM [Kalantari & Shokoufandeh ’95] Linear-time 3/2+ε approx for MWM [Drake & Hougardy ’03]

slide-9
SLIDE 9

Results

  • Unweighted Matchings:

1+ε approximation in constant passes.

  • Weighted Matchings:

3+2√2 approximation in single pass. 2+ε approximation in constant passes.

slide-10
SLIDE 10

Unweighted Matchings.

slide-11
SLIDE 11

An Easy 2 Approximation

  • Greedy Algorithm:

Store an edge if it is not adjacent to stored edge

  • Construct a maximal matching - 2 Approximation
slide-12
SLIDE 12

Augmenting Paths

slide-13
SLIDE 13

Augmenting Paths

slide-14
SLIDE 14

Augmenting Paths

Matching M

slide-15
SLIDE 15

Augmenting Paths

  • Augmenting Path: simple path starting and ending

at unmatched nodes such that edges alternate between M and E\M.

slide-16
SLIDE 16

Augmenting Paths

  • Augmenting Path: simple path starting and ending

at unmatched nodes such that edges alternate between M and E\M.

slide-17
SLIDE 17

Augmenting Paths

  • Augmenting Path: simple path starting and ending

at unmatched nodes such that edges alternate between M and E\M.

slide-18
SLIDE 18

Augmenting Paths

  • Consider augmenting paths defined by taking the

symmetric difference between current (maximal) matching and optimum matching.

  • Let Pi be the number of length i augmenting paths

|M| +

  • 1≤i≤k

Pi ≥ OPT(1 − 1/k)

slide-19
SLIDE 19

Algorithm Outline

  • 1. Find a maximal matching
  • 2. For 1 ≤ i ≤ k:

Find a set, Si, of length i augmenting paths

  • 3. Augment current matching with Sj where j = argmax Si
  • 4. Repeat from 2 unless Sj is small
slide-20
SLIDE 20

Projecting to Layered Graphs

G

slide-21
SLIDE 21

Projecting to Layered Graphs

G L(G)

slide-22
SLIDE 22

Projecting to Layered Graphs

G L(G)

slide-23
SLIDE 23

Projecting to Layered Graphs

G L(G)

slide-24
SLIDE 24

Projecting to Layered Graphs

G L(G)

slide-25
SLIDE 25

Projecting to Layered Graphs

G L(G)

slide-26
SLIDE 26

Projecting to Layered Graphs

G L(G)

slide-27
SLIDE 27

Projecting to Layered Graphs

G L(G)

slide-28
SLIDE 28

Projecting to Layered Graphs

G L(G)

slide-29
SLIDE 29

Projecting to Layered Graphs

G L(G)

slide-30
SLIDE 30

Projecting to Layered Graphs

G L(G)

slide-31
SLIDE 31

Projecting to Layered Graphs

G L(G)

slide-32
SLIDE 32
slide-33
SLIDE 33

Lemma: If there are Pi length i augmenting paths in G then we expect Pi / 2(2i)i node disjoint paths in L(G).

slide-34
SLIDE 34

Lemma: If there are Pi length i augmenting paths in G then we expect Pi / 2(2i)i node disjoint paths in L(G). Lemma: A maximal set of node disjoint paths in L(G), is an i+2 approximation to the maximum set of node disjoint paths in L(G).

slide-35
SLIDE 35

Lemma: If there are Pi length i augmenting paths in G then we expect Pi / 2(2i)i node disjoint paths in L(G). Lemma: A maximal set of node disjoint paths in L(G), is an i+2 approximation to the maximum set of node disjoint paths in L(G). To find a constant fraction of length i augmenting paths Pi, create layered graph and greedily find node disjoint paths.

slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41
slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47
slide-48
SLIDE 48
slide-49
SLIDE 49
slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52
slide-53
SLIDE 53
slide-54
SLIDE 54
slide-55
SLIDE 55
slide-56
SLIDE 56
slide-57
SLIDE 57
slide-58
SLIDE 58
slide-59
SLIDE 59
slide-60
SLIDE 60
slide-61
SLIDE 61
slide-62
SLIDE 62
slide-63
SLIDE 63

Limiting Backtracking

slide-64
SLIDE 64

Limiting Backtracking

slide-65
SLIDE 65

Limiting Backtracking

slide-66
SLIDE 66

Limiting Backtracking

slide-67
SLIDE 67

Limiting Backtracking

slide-68
SLIDE 68

Limiting Backtracking

  • Solution: If number of paths being grown falls below threshold

δn then delete and backtrack.

Good: Only backtrack a constant number of times Bad: Don’t find a maximal set of node disjoint paths

  • In a constant number of passes, we find a constant fraction of

length i node disjoint paths/augmenting paths.

slide-69
SLIDE 69

Weighted Matching.

slide-70
SLIDE 70

Single Pass 3+2√2 Approximation

slide-71
SLIDE 71

Single Pass 3+2√2 Approximation

  • At all times we store some matching M
slide-72
SLIDE 72

Single Pass 3+2√2 Approximation

  • At all times we store some matching M
  • For each edge e:

Compute total weight W of edges e1, e2 in M incident to e If w(e) > (1+γ) W then M ← M ∪ {e} \ {e1,e2}

slide-73
SLIDE 73

Single Pass 3+2√2 Approximation

  • At all times we store some matching M
  • For each edge e:

Compute total weight W of edges e1, e2 in M incident to e If w(e) > (1+γ) W then M ← M ∪ {e} \ {e1,e2}

  • We say e is “born” and “killed” e1 and e2
slide-74
SLIDE 74

Proof (Sketch)

slide-75
SLIDE 75

Proof (Sketch)

  • We say an edge e is a survivor if it is born and was never killed.
slide-76
SLIDE 76

Proof (Sketch)

  • We say an edge e is a survivor if it is born and was never killed.
  • Let S = all survivors.
slide-77
SLIDE 77

Proof (Sketch)

  • We say an edge e is a survivor if it is born and was never killed.
  • Let S = all survivors.
  • For survivor e we define the trail of the dead T(e) to be the

transitive closure of edges killed by e.

slide-78
SLIDE 78

Proof (Sketch)

  • We say an edge e is a survivor if it is born and was never killed.
  • Let S = all survivors.
  • For survivor e we define the trail of the dead T(e) to be the

transitive closure of edges killed by e.

  • Claim 1: w(T(e)) ≤ w(e)/γ
slide-79
SLIDE 79

Proof (Sketch)

  • We say an edge e is a survivor if it is born and was never killed.
  • Let S = all survivors.
  • For survivor e we define the trail of the dead T(e) to be the

transitive closure of edges killed by e.

  • Claim 1: w(T(e)) ≤ w(e)/γ
  • Claim 2: Can charge the weights of edges in OPT such that:
  • At most (1+ γ) w(T(e)) is charged to T(e)
  • At most 2(1+ γ) w(e) is charged to e
slide-80
SLIDE 80

Proof (Sketch)

  • We say an edge e is a survivor if it is born and was never killed.
  • Let S = all survivors.
  • For survivor e we define the trail of the dead T(e) to be the

transitive closure of edges killed by e.

  • Claim 1: w(T(e)) ≤ w(e)/γ
  • Claim 2: Can charge the weights of edges in OPT such that:
  • At most (1+ γ) w(T(e)) is charged to T(e)
  • At most 2(1+ γ) w(e) is charged to e
  • Hence w(OPT) ≤ (1+ γ) w(T(S)) + 2(1+ γ) w(S)< (3+2√2) w(S)
slide-81
SLIDE 81

Multi-pass 2+ε Approximation

slide-82
SLIDE 82

Multi-pass 2+ε Approximation

  • First pass: find a constant approximate M1
slide-83
SLIDE 83

Multi-pass 2+ε Approximation

  • First pass: find a constant approximate M1
  • Subsequent passes: create Mi from Mi-1 by running the

previous algorithm with γ(ε)

slide-84
SLIDE 84

Multi-pass 2+ε Approximation

  • First pass: find a constant approximate M1
  • Subsequent passes: create Mi from Mi-1 by running the

previous algorithm with γ(ε)

  • Repeat if |Mi|/ |Mi-1|> 1+κ(ε)
slide-85
SLIDE 85

Multi-pass 2+ε Approximation

  • First pass: find a constant approximate M1
  • Subsequent passes: create Mi from Mi-1 by running the

previous algorithm with γ(ε)

  • Repeat if |Mi|/ |Mi-1|> 1+κ(ε)
  • Claim 1: A constant number of passes suffices
slide-86
SLIDE 86

Multi-pass 2+ε Approximation

  • First pass: find a constant approximate M1
  • Subsequent passes: create Mi from Mi-1 by running the

previous algorithm with γ(ε)

  • Repeat if |Mi|/ |Mi-1|> 1+κ(ε)
  • Claim 1: A constant number of passes suffices
  • Claim 2: When |Mi|/ |Mi-1| ≤ 1+κ we have a 2+ε approx.
slide-87
SLIDE 87

Conclusions

  • Unweighted Matchings:

1+ε approximation in constant passes.

  • Weighted Matchings:

3+2√2 approximation in single pass. 2+ε approximation in constant passes.

slide-88
SLIDE 88

Thanks.