Submodular Maximization in a Data Streaming Setting Amit - - PowerPoint PPT Presentation

submodular maximization in a data streaming setting amit
SMART_READER_LITE
LIVE PREVIEW

Submodular Maximization in a Data Streaming Setting Amit - - PowerPoint PPT Presentation

Submodular Maximization in a Data Streaming Setting Amit Chakrabarti Dartmouth College Hanover, NH, USA Based on joint work with Sagar Kale Sublinear Algorithms Workshop Bertinoro, May 2014 Maximum Matching The cardinality version Maximum


slide-1
SLIDE 1

Submodular Maximization in a Data Streaming Setting Amit Chakrabarti

Dartmouth College Hanover, NH, USA

Based on joint work with Sagar Kale Sublinear Algorithms Workshop Bertinoro, May 2014

slide-2
SLIDE 2

Maximum Matching

The cardinality version

slide-3
SLIDE 3

Maximum Matching

The cardinality version

slide-4
SLIDE 4

Maximum Matching

2 1 2 5 6 2 8 2 1 1

The weighted version

slide-5
SLIDE 5

Maximum Matching

2 1 2 5 6 2 8 2 1 1

The weighted version

slide-6
SLIDE 6

Maximum Matching in a Graph Stream

Maximum cardinality matching (MCM)

  • Input: stream of edges (u, v) ∈ [n] × [n]
  • Describes graph G = (V, E): n vertices, m edges, undirected, simple
  • Each edge appears exactly once in stream
  • Goal

– Output a matching M ⊆ E, with |M| maximal

slide-7
SLIDE 7

Maximum Matching in a Graph Stream

Maximum cardinality matching (MCM)

  • Input: stream of edges (u, v) ∈ [n] × [n]
  • Describes graph G = (V, E): n vertices, m edges, undirected, simple
  • Each edge appears exactly once in stream
  • Goal

– Output a matching M ⊆ E, with |M| maximal – Use sublinear (in m) working memory – Ideally O(n polylog n) ... “semi-streaming” – Need Ω(n log n) to store M

slide-8
SLIDE 8

Maximum Matching in a Graph Stream

Maximum cardinality matching (MCM)

  • Input: stream of edges (u, v) ∈ [n] × [n]
  • Describes graph G = (V, E): n vertices, m edges, undirected, simple
  • Goal: output a matching M ⊆ E, with |M| maximal
slide-9
SLIDE 9

Maximum Matching in a Graph Stream

Maximum cardinality matching (MCM)

  • Input: stream of edges (u, v) ∈ [n] × [n]
  • Describes graph G = (V, E): n vertices, m edges, undirected, simple
  • Goal: output a matching M ⊆ E, with |M| maximal

Maximum weight matching (MWM)

  • Input: stream of weighted edges (u, v, wuv) ∈ [n] × [n] × R+
  • Goal: output matching M ⊆ E, with w(M) =

e∈M w(e) maximal

slide-10
SLIDE 10

Maximum Matching in a Graph Stream

Maximum cardinality matching (MCM)

  • Input: stream of edges (u, v) ∈ [n] × [n]
  • Describes graph G = (V, E): n vertices, m edges, undirected, simple
  • Goal: output a matching M ⊆ E, with |M| maximal

Maximum weight matching (MWM)

  • Input: stream of weighted edges (u, v, wuv) ∈ [n] × [n] × R+
  • Goal: output matching M ⊆ E, with w(M) =

e∈M w(e) maximal

Maximum submodular-function matching (MSM) ← this talk

  • Input: unweighted edges (u, v), plus submodular f : 2E → R+
  • Goal: output matching M ⊆ E, with f(M) maximal
slide-11
SLIDE 11

Maximum Submodular Matching

Input

  • Stream of edges σ = e1, e2, . . . , em
  • Valuation function f : 2E → R+

– Submodular, i.e., ∀ X ⊆ Y ⊆ E ∀ e ∈ E f(X + e) − f(X) ≥ f(Y + e) − f(Y ) – Monotone, i.e., X ⊆ Y = ⇒ f(X) ≤ f(Y ) – Normalized, i.e., f(∅) = 0

  • Oracle access to f: query at X ⊆ E, get f(X)

– May only query at X ⊆ (stream so far) Goal

  • Output matching M ⊆ E, with f(M) maximal “large”
  • Store O(n) edges and f-values
slide-12
SLIDE 12

Our Results

Can’t solve MSM exactly

  • MCM, approx < e/(e − 1) =

⇒ space ω(n polylog n)

[Kapralov’13]

  • Offline MSM, approx < e/(e − 1) =

⇒ nω(1) oracle calls

[this work]

– Via cardinality-constrained submodular max

[Nemhauser-Wolsey’78]

slide-13
SLIDE 13

Our Results

Can’t solve MSM exactly

  • MCM, approx < e/(e − 1) =

⇒ space ω(n polylog n)

[Kapralov’13]

  • Offline MSM, approx < e/(e − 1) =

⇒ nω(1) oracle calls

[this work]

– Via cardinality-constrained submodular max

[Nemhauser-Wolsey’78]

Our results, using O(n) storage: Theorem 1 MSM, one pass: 7.75-approx Theorem 2 MSM, (3 + ε)-approx in O(e−3) passes

slide-14
SLIDE 14

Our Results

Can’t solve MSM exactly

  • MCM, approx < e/(e − 1) =

⇒ space ω(n polylog n)

[Kapralov’13]

  • Offline MSM, approx < e/(e − 1) =

⇒ nω(1) oracle calls

[this work]

– Via cardinality-constrained submodular max

[Nemhauser-Wolsey’78]

Our results, using O(n) storage: Theorem 1 MSM, one pass: 7.75-approx Theorem 2 MSM, (3 + ε)-approx in O(e−3) passes More importantly: Meta-Thm 1 Every compliant MWM approx alg → MSM approx alg

slide-15
SLIDE 15

Our Results

Can’t solve MSM exactly

  • MCM, approx < e/(e − 1) =

⇒ space ω(n polylog n)

[Kapralov’13]

  • Offline MSM, approx < e/(e − 1) =

⇒ nω(1) oracle calls

[this work]

– Via cardinality-constrained submodular max

[Nemhauser-Wolsey’78]

Our results, using O(n) storage: Theorem 1 MSM, one pass: 7.75-approx Theorem 2 MSM, (3 + ε)-approx in O(e−3) passes More importantly: Meta-Thm 1 Every compliant MWM approx alg → MSM approx alg Meta-Thm 2 Similarly, max weight independent set (MWIS) → MSIS

slide-16
SLIDE 16

Some Previous Work on MWM

Greedy maximal matching: 2-approx for MCM, useless for MWM Maintain “current solution” M, update if new edge improves it

2 1 2 3 2 picked edge unpicked edge

What if input is path with edge weights 1 + ε, 1 + 2ε, 1 + 3ε, . . .? Update M only upon sufficient improvement

slide-17
SLIDE 17

Some Previous Work on MWM

Greedy maximal matching: 2-approx for MCM, useless for MWM Maintain “current solution” M, update if new edge improves it

2 1 2 3 2 picked edge unpicked edge 8

What if input is path with edge weights 1 + ε, 1 + 2ε, 1 + 3ε, . . .? Update M only upon sufficient improvement

slide-18
SLIDE 18

Some Previous Work on MWM

Greedy maximal matching: 2-approx for MCM, useless for MWM Maintain “current solution” M, update if new edge improves it

2 1 2 3 2 picked edge unpicked edge 8

What if input is path with edge weights 1 + ε, 1 + 2ε, 1 + 3ε, . . .? Update M only upon sufficient improvement

slide-19
SLIDE 19

Compliant Algorithms for MWM

Greedy maximal matching: 2-approx for MCM, useless for MWM Maintain “current solution” M, update if new edge improves it

2 1 2 3 2 picked edge unpicked edge 8

What if input is path with edge weights 1 + ε, 1 + 2ε, 1 + 3ε, . . .?

slide-20
SLIDE 20

Compliant Algorithms for MWM

Greedy maximal matching: 2-approx for MCM, useless for MWM Maintain “current solution” M, update if new edge improves it

2 1 2 3 2 picked edge unpicked edge 8

What if input is path with edge weights 1 + ε, 1 + 2ε, 1 + 3ε, . . .? Update M only upon sufficient improvement

slide-21
SLIDE 21

Examples of Compliant Algorithms for MWM

Update of “current solution” M

  • Given new edge e, pick “augmenting pair” (A, J)

– A ← {e} – J ← M ⋓ A ... edges in M that conflict with A – Ensure w(A) ≥ (1 + γ)w(J)

  • Update M ← (M \ J) ∪ A
slide-22
SLIDE 22

Examples of Compliant Algorithms for MWM

Update of “current solution” M

  • Given new edge e, pick “augmenting pair” (A, J)

– A ← {e} – J ← M ⋓ A ... edges in M that conflict with A – Ensure w(A) ≥ (1 + γ)w(J)

  • Update M ← (M \ J) ∪ A

Choice of gain parameter

  • γ = 1, approx factor 6

[Feigenbaum-K-M-S-Z’05]

  • γ = 1/

√ 2, approx factor 5.828

[McGregor’05]

slide-23
SLIDE 23

Examples of Compliant Algorithms for MWM

Update of “current solution” M

  • Given new edge e, pick “augmenting pair” (A, J)

– A ← {e} A ← “best” subset of 3-neighbourhood of e – J ← M ⋓ A ... edges in M that conflict with A – Ensure w(A) ≥ (1 + γ)w(J)

  • Update M ← (M \ J) ∪ A

Choice of gain parameter

  • γ = 1, approx factor 6

[Feigenbaum-K-M-S-Z’05]

  • γ = 1/

√ 2, approx factor 5.828

[McGregor’05]

  • γ = 1.717, approx factor 5.585

[Zelke’08]

slide-24
SLIDE 24

Examples of Compliant Algorithms for MWM

Update of “current solution” M + pool of “shadow edges” S

  • Given new edge e, pick “augmenting pair” (A, J)

– A ← {e} A ← “best” subset of 3-neighbourhood of e – J ← M ⋓ A ... edges in M that conflict with A – Ensure w(A) ≥ (1 + γ)w(J)

  • Update M ← (M \ J) ∪ A
  • Update S ← appropriate subset of (S \ A) ∪ J

Choice of gain parameter

  • γ = 1, approx factor 6

[Feigenbaum-K-M-S-Z’05]

  • γ = 1/

√ 2, approx factor 5.828

[McGregor’05]

  • γ = 1.717, approx factor 5.585

[Zelke’08]

slide-25
SLIDE 25

Generic Compliant Algorithm and f-Extension for MSM

6: procedure Process-Edge(e, M, S, γ) 7: 8:

(A, J) ← a well-chosen augmenting pair for M with A ⊆ M ∪ S + e, w(A) ≥ (1 + γ)w(J)

9:

M ← (M \ J) ∪ A

10:

S ← a well-chosen subset of (S \ A) ∪ J

slide-26
SLIDE 26

Generic Compliant Algorithm and f-Extension for MSM

6: procedure Process-Edge(e, M, S, γ) 7: 8:

(A, J) ← a well-chosen augmenting pair for M with A ⊆ M ∪ S + e, w(A) ≥ (1 + γ)w(J)

9:

M ← (M \ J) ∪ A

10:

S ← a well-chosen subset of (S \ A) ∪ J

MWM alg A + submodular f → MSM alg Af (the f-extension of A)

slide-27
SLIDE 27

Generic Compliant Algorithm and f-Extension for MSM

6: procedure Process-Edge(e, M, S, γ) 7:

w(e) ← f(M ∪ S + e) − f(M ∪ S)

8:

(A, J) ← a well-chosen augmenting pair for M with A ⊆ M ∪ S + e, w(A) ≥ (1 + γ)w(J)

9:

M ← (M \ J) ∪ A

10:

S ← a well-chosen subset of (S \ A) ∪ J

MWM alg A + submodular f → MSM alg Af (the f-extension of A)

slide-28
SLIDE 28

Generic Compliant Algorithm and f-Extension for MSM

1: function Improve-Solution(σ, M 0, γ) 2:

M ← ∅, S ← ∅

3:

foreach e ∈ M 0 in arbit order do w(e) ← f(M +e)−f(M), M ← M +e

4:

foreach e ∈ σ \ M 0 in the σ order do Process-Edge(e, M, S, γ)

5:

return M

6: procedure Process-Edge(e, M, S, γ) 7:

w(e) ← f(M ∪ S + e) − f(M ∪ S)

8:

(A, J) ← a well-chosen augmenting pair for M with A ⊆ M ∪ S + e, w(A) ≥ (1 + γ)w(J)

9:

M ← (M \ J) ∪ A

10:

S ← a well-chosen subset of (S \ A) ∪ J

MWM alg A + submodular f → MSM alg Af (the f-extension of A)

slide-29
SLIDE 29

Generic Compliant Algorithm and f-Extension for MSM

1: function Improve-Solution(σ, M 0, γ) 2:

M ← ∅, S ← ∅

3:

foreach e ∈ M 0 in arbit order do w(e) ← f(M +e)−f(M), M ← M +e

4:

foreach e ∈ σ \ M 0 in the σ order do Process-Edge(e, M, S, γ)

5:

return M

6: procedure Process-Edge(e, M, S, γ) 7:

w(e) ← f(M ∪ S + e) − f(M ∪ S)

8:

(A, J) ← a well-chosen augmenting pair for M with A ⊆ M ∪ S + e, w(A) ≥ (1 + γ)w(J)

9:

M ← (M \ J) ∪ A

10:

S ← a well-chosen subset of (S \ A) ∪ J

MWM alg A + submodular f → MSM alg Af (the f-extension of A) MWIS (arbitrary ground set E, independent sets I ⊆ 2E) + f → MSIS

slide-30
SLIDE 30

Generalize: Submodular Maximization (MWIS, MSIS)

1: function Improve-Solution(σ, I0, γ) 2:

I ← ∅, S ← ∅

3:

foreach e ∈ I0 in arbit order do w(e) ← f(I + e) − f(I), I ← I + e

4:

foreach e ∈ σ \ I0 in the σ order do Process-Element(e, I, S, γ)

5:

return I

6: procedure Process-Element(e, I, S, γ) 7:

w(e) ← f(I ∪ S + e) − f(I ∪ S)

8:

(A, J) ← a well-chosen augmenting pair for I with A ⊆ I ∪ S + e, w(A) ≥ (1 + γ)w(J)

9:

I ← (I \ J) ∪ A

10:

S ← a well-chosen subset of (S \ A) ∪ J

MWM alg A + submodular f → MSM alg Af (the f-extension of A) MWIS (arbitrary ground set E, independent sets I ⊆ 2E) + f → MSIS

slide-31
SLIDE 31

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx

slide-32
SLIDE 32

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Lemma 1: Let Ie, Se = values of I, S just before e arrives Then Ie ∪ Se ⊇ {x ∈ I1 : x ≺ e} =: I1

≺e

(“≺”: precedes in stream)

slide-33
SLIDE 33

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Lemma 1: Let Ie, Se = values of I, S just before e arrives Then Ie ∪ Se ⊇ {x ∈ I1 : x ≺ e} =: I1

≺e

(“≺”: precedes in stream) So, f(I1

e) − f(I1 ≺e) ≥ f(Ie ∪ Se + e) − f(Ie ∪ Se)

(submodularity) So, f(I1

e) − f(I1 ≺e) = w(e)

(definition of w)

slide-34
SLIDE 34

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Lemma 1: Let Ie, Se = values of I, S just before e arrives Then Ie ∪ Se ⊇ {x ∈ I1 : x ≺ e} =: I1

≺e

(“≺”: precedes in stream) So, f(I1

e) − f(I1 ≺e) ≥ f(Ie ∪ Se + e) − f(Ie ∪ Se)

(submodularity) So, f(I1

e) − f(I1 ≺e) = w(e)

(definition of w) Sum this over x ∈ I1 in stream order, telescope QED

slide-35
SLIDE 35

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx

slide-36
SLIDE 36

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Lemma 2: Let (Ae, Je) = augmenting pair chosen on reading e Then w(Ae) ≥ (1 + γ)w(Je)

slide-37
SLIDE 37

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Lemma 2: Let (Ae, Je) = augmenting pair chosen on reading e Then w(Ae) ≥ (1 + γ)w(Je) = ⇒ (w(Ae) − w(Je))/γ ≥ w(Je) Then w(Ae) ≥ (1 + γ)w(Je) = ⇒ w(I1)/γ ≥

e w(Je)

(sum up)

slide-38
SLIDE 38

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Lemma 2: Let (Ae, Je) = augmenting pair chosen on reading e Then w(Ae) ≥ (1 + γ)w(Je) = ⇒ (w(Ae) − w(Je))/γ ≥ w(Je) Then w(Ae) ≥ (1 + γ)w(Je) = ⇒ w(I1)/γ ≥

e w(Je)

(sum up) Each element in K was removed at some point So, K ⊆

e Je =

⇒ w(K) ≤

e w(Je) ≤ w(I1)/γ

QED

slide-39
SLIDE 39

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx

slide-40
SLIDE 40

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Lemma 3: Similar in spirit: submodularity, telescoping sums... But a more involved argument Uses Lemma 1 and Lemma 2

slide-41
SLIDE 41

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Lemma 3: Similar in spirit: submodularity, telescoping sums... But a more involved argument Uses Lemma 1 and Lemma 2 ... uh, QED?

slide-42
SLIDE 42

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx

slide-43
SLIDE 43

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Conclusion: A gives Cγ-approx for MWIS, so w(I∗) ≤ Cγw(I1)

slide-44
SLIDE 44

Analysis of MWIS Algorithm (One Pass)

Let I∗ = argmaxI∈I f(I), I1 = output at end of pass Let K = {e ∈ E : e was added to I} \ I1 Lemma 1 w(I1) ≤ f(I1) Lemma 2 w(K) ≤ w(I1)/γ Lemma 3 f(I∗) ≤ (1/γ + 1)f(I1) + w(I∗) Conclusion A is Cγ-approx = ⇒ Af is (Cγ + 1 + 1/γ)-approx Proof of Conclusion: A gives Cγ-approx for MWIS, so w(I∗) ≤ Cγw(I1) So, f(I∗) ≤ (1/γ + 1)f(I1) + Cγw(I1) (by Lemma 3) So, f(I∗) ≤ (1/γ + 1 + Cγ)f(I1) (by Lemma 1) QED

slide-45
SLIDE 45

Applications of the Paradigm

  • 1. Zelke’s compliant algorithm for MWM has Cγ = 3 + 2γ + 1

γ − γ (1+γ)2

Take f-extension, set γ = 1 (optimal), get 7.75-approx to MSM

slide-46
SLIDE 46

Applications of the Paradigm

  • 1. Zelke’s compliant algorithm for MWM has Cγ = 3 + 2γ + 1

γ − γ (1+γ)2

Take f-extension, set γ = 1 (optimal), get 7.75-approx to MSM

  • 2. McGregor gives multi-pass compliant MWM algorithm

Take f-extension, set γ = 1 for first pass, γ = ε/3 for other passes Make passes until solution doesn’t improve much Extend MWM analysis to MSM, get (3 + ε)-approx, O(ε−3) passes

slide-47
SLIDE 47

Applications of the Paradigm

  • 1. Zelke’s compliant algorithm for MWM has Cγ = 3 + 2γ + 1

γ − γ (1+γ)2

Take f-extension, set γ = 1 (optimal), get 7.75-approx to MSM

  • 2. McGregor gives multi-pass compliant MWM algorithm

Take f-extension, set γ = 1 for first pass, γ = ε/3 for other passes Make passes until solution doesn’t improve much Extend MWM analysis to MSM, get (3 + ε)-approx, O(ε−3) passes How good is a (3 + ε)-approx for MSM?

  • Offline greedy: grow I ← I + e, maximizing f(I + e)

This gives 3-approx for MSM

[Nemhauser-Wolsey’78]

slide-48
SLIDE 48

Applications of the Paradigm

  • 1. Zelke’s compliant algorithm for MWM has Cγ = 3 + 2γ + 1

γ − γ (1+γ)2

Take f-extension, set γ = 1 (optimal), get 7.75-approx to MSM

  • 2. McGregor gives multi-pass compliant MWM algorithm

Take f-extension, set γ = 1 for first pass, γ = ε/3 for other passes Make passes until solution doesn’t improve much Extend MWM analysis to MSM, get (3 + ε)-approx, O(ε−3) passes How good is a (3 + ε)-approx for MSM?

  • Offline greedy: grow I ← I + e, maximizing f(I + e)

This gives 3-approx for MSM

[Nemhauser-Wolsey’78]

  • Recently: more sophisticated local search

Gives (2 + ε)-approx for MSM

[Feldman-Naor-Schwartz-Ward’11]

slide-49
SLIDE 49

Further Applications: Hypermatchings

Stream of hyperedges e1, e2, . . . , em ⊆ [n], each |ei| ≤ p Hypermatching = subset of pairwise disjoint edges

slide-50
SLIDE 50

Further Applications: Hypermatchings

Stream of hyperedges e1, e2, . . . , em ⊆ [n], each |ei| ≤ p Hypermatching = subset of pairwise disjoint edges Multi-pass MSM algorithm (compliant)

  • Augment using only current edge e
  • Use γ = 1 for first pass, γ = ε/(p + 1) subsequently
  • Make passes until solution doesn’t improve much

Results

  • 4p-approx in one pass
  • (p + 1 + ε)-approx in O(ε−3) passes
slide-51
SLIDE 51

Further Applications: Maximization Over Matroids

Stream of elements e1, e2, . . . , em from ground set E Matroids (E, I1), . . . , (E, Ip), given by circuit oracles: Given A ⊆ E, returns   

,

if A ∈ Ii a circuit in A ,

  • therwise

Independent sets, I =

i Ii; size parameter n = maxI∈I |I|

slide-52
SLIDE 52

Further Applications: Maximization Over Matroids

Stream of elements e1, e2, . . . , em from ground set E Matroids (E, I1), . . . , (E, Ip), given by circuit oracles: Given A ⊆ E, returns   

,

if A ∈ Ii a circuit in A ,

  • therwise

Independent sets, I =

i Ii; size parameter n = maxI∈I |I|

Recent MWIS algorithm (compliant)

[Varadaraja’11]

  • Augment using only current element e
  • Remove J = {x1, . . . , xp},

where xi := lightest element in circuit formed in ith matroid

slide-53
SLIDE 53

Further Applications: Maximization Over Matroids

Stream of elements e1, e2, . . . , em from ground set E Independent sets, I =

i Ii; size parameter n = maxI∈I |I|

Recent MWIS algorithm (compliant)

[Varadaraja’11]

  • Augment using only current element e
  • Remove J = {x1, . . . , xp},

where xi := lightest element in circuit formed in ith matroid

slide-54
SLIDE 54

Further Applications: Maximization Over Matroids

Stream of elements e1, e2, . . . , em from ground set E Independent sets, I =

i Ii; size parameter n = maxI∈I |I|

Recent MWIS algorithm (compliant)

[Varadaraja’11]

  • Augment using only current element e
  • Remove J = {x1, . . . , xp},

where xi := lightest element in circuit formed in ith matroid Follow paradigm: use f-extension of above algorithm Results, using O(n) storage

  • 4p-approx in one pass
  • (p + 1 + ε)-approx in O(ε−3) passes ∗

∗ Multi-pass analysis only works for partition matroids

slide-55
SLIDE 55

Conclusions

  • Identified framework (compliant algorithms) capturing several semi-

streaming algorithms for constrained maximization

  • Using framework, extended algs from linear to submodular maximization
  • Applied to (hyper)matchings, (intersection of) matroids
  • Can smoothly interpolate approx factor between linear f and general

submodular f via curvature of f

slide-56
SLIDE 56

Conclusions

  • Identified framework (compliant algorithms) capturing several semi-

streaming algorithms for constrained maximization

  • Using framework, extended algs from linear to submodular maximization
  • Applied to (hyper)matchings, (intersection of) matroids
  • Can smoothly interpolate approx factor between linear f and general

submodular f via curvature of f

Open Problems

  • Extend matroid multi-pass result beyond partition matroids
  • Capture recent MWM algorithms that beat Zelke

[Crouch-Stubbs’14]

  • Lower bounds??? Is MSM harder to approximate than MWM?