Graph Sketching, Sampling, Streaming, and Space Efficient - - PowerPoint PPT Presentation

graph sketching sampling streaming and space efficient
SMART_READER_LITE
LIVE PREVIEW

Graph Sketching, Sampling, Streaming, and Space Efficient - - PowerPoint PPT Presentation

Graph Sketching, Sampling, Streaming, and Space Efficient Optimization (Part II) Sudipto Guha and Andrew McGregor Space Efficient Optimization for Graphs Impact of Dimensionality Reduction, Embeddings, L p L q , etc. Thesis : Graph


slide-1
SLIDE 1

Graph Sketching, Sampling, Streaming, and Space Efficient Optimization (Part II)

Sudipto Guha and Andrew McGregor

slide-2
SLIDE 2

Space Efficient Optimization for Graphs

Impact of Dimensionality Reduction, Embeddings, Lp → Lq, etc. Thesis: Graph optimization problems are natural next candidates. (Part I): Building blocks: sketching, sampling in graphs. Why? How to use them? How do we think these problems?

slide-3
SLIDE 3

Space Efficient Optimization for Graphs

Impact of Dimensionality Reduction, Embeddings, Lp → Lq, etc. Thesis: Graph optimization problems are natural next candidates. (Part I): Building blocks: sketching, sampling in graphs. Why? How to use them? How do we think these problems? Space Efficient Optimization.

◮ Storage grows. Problem sizes grow larger. ◮ Streaming=Organizing accesses in an algorithm. ◮ Sketching =Organizing information. ◮ Partition of input, model, output and algorithm. ◮ Processing Space = Storage Space.

slide-4
SLIDE 4

Optimization?

Many frameworks to choose from. Linear/Convex programming.

  • 1. A lot of general purpose techniques.
  • 2. A rich history in graphs.
  • 3. The connection to streaming is less well studied.

Correlation Clustering and Max Matchings (part I) as examples. Rephrasing papers in SODA 2014, ICML 2015, SPAA 2015.

slide-5
SLIDE 5

Tutorial Plan

slide-6
SLIDE 6

Tutorial Plan

(a) Recap of Multiplicative Weights Method.

slide-7
SLIDE 7

Tutorial Plan

(a) Recap of Multiplicative Weights Method. Feasibility, LP version

slide-8
SLIDE 8

Tutorial Plan

(a) Recap of Multiplicative Weights Method. Feasibility, LP version Multiple perspectives on the algorithm.

slide-9
SLIDE 9

Tutorial Plan

(a) Recap of Multiplicative Weights Method. Feasibility, LP version Multiple perspectives on the algorithm. What is the basic idea behind the proof?

slide-10
SLIDE 10

Tutorial Plan

(a) Recap of Multiplicative Weights Method. Feasibility, LP version Multiple perspectives on the algorithm. What is the basic idea behind the proof? Where/how do we start from?

slide-11
SLIDE 11

Tutorial Plan

(a) Recap of Multiplicative Weights Method. Feasibility, LP version Multiple perspectives on the algorithm. What is the basic idea behind the proof? Where/how do we start from? (b) Application to Min Correlation Clustering.

slide-12
SLIDE 12

Tutorial Plan

(a) Recap of Multiplicative Weights Method. Feasibility, LP version Multiple perspectives on the algorithm. What is the basic idea behind the proof? Where/how do we start from? (b) Application to Min Correlation Clustering. How to design an Oracle.

slide-13
SLIDE 13

Tutorial Plan

(a) Recap of Multiplicative Weights Method. Feasibility, LP version Multiple perspectives on the algorithm. What is the basic idea behind the proof? Where/how do we start from? (b) Application to Min Correlation Clustering. How to design an Oracle. “Drag and Drop” sparsification.

slide-14
SLIDE 14

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering.

slide-15
SLIDE 15

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering

slide-16
SLIDE 16

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering What if relaxations do not fit?

slide-17
SLIDE 17

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering What if relaxations do not fit? How to “round” the fractional solution?

slide-18
SLIDE 18

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering What if relaxations do not fit? How to “round” the fractional solution? (d) Multiple Passes I: Max Bipartite Matching

slide-19
SLIDE 19

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering What if relaxations do not fit? How to “round” the fractional solution? (d) Multiple Passes I: Max Bipartite Matching Optimization over fixed constraint matrices.

slide-20
SLIDE 20

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering What if relaxations do not fit? How to “round” the fractional solution? (d) Multiple Passes I: Max Bipartite Matching Optimization over fixed constraint matrices. Use of Approximation Algorithms for speedup.

slide-21
SLIDE 21

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering What if relaxations do not fit? How to “round” the fractional solution? (d) Multiple Passes I: Max Bipartite Matching Optimization over fixed constraint matrices. Use of Approximation Algorithms for speedup. “Primal-Dual meets Primal-Dual” .

slide-22
SLIDE 22

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering. (d) Multiple Passes I: Max Bipartite Matching.

slide-23
SLIDE 23

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering. (d) Multiple Passes I: Max Bipartite Matching. (e) Multiple Passes II: Max Non-Bipartite Matching.

slide-24
SLIDE 24

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering. (d) Multiple Passes I: Max Bipartite Matching. (e) Multiple Passes II: Max Non-Bipartite Matching. Exponentially many constraints. Constraint Sparsification! How to find your way in the dark?

slide-25
SLIDE 25

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering. (d) Multiple Passes I: Max Bipartite Matching. (e) Multiple Passes II: Max Non-Bipartite Matching. Exponentially many constraints. Constraint Sparsification! How to find your way in the dark? MWM with Sparsification? Solution of optimization versus the path.

slide-26
SLIDE 26

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering. (d) Multiple Passes I: Max Bipartite Matching. (e) Multiple Passes II: Max Non-Bipartite Matching. Exponentially many constraints. Constraint Sparsification! How to find your way in the dark? MWM with Sparsification? Solution of optimization versus the path. (f) Multiple Passes III: Max Non-Bipartite Matching.

slide-27
SLIDE 27

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering. (d) Multiple Passes I: Max Bipartite Matching. (e) Multiple Passes II: Max Non-Bipartite Matching. Exponentially many constraints. Constraint Sparsification! How to find your way in the dark? MWM with Sparsification? Solution of optimization versus the path. (f) Multiple Passes III: Max Non-Bipartite Matching. Few passes and a good algorithm. Compute in parallel; use sequentially.

slide-28
SLIDE 28

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering. (d) Multiple Passes I: Max Bipartite Matching. (e) Multiple Passes II: Max Non-Bipartite Matching. Exponentially many constraints. Constraint Sparsification! How to find your way in the dark? MWM with Sparsification? Solution of optimization versus the path. (f) Multiple Passes III: Max Non-Bipartite Matching. Few passes and a good algorithm. Compute in parallel; use sequentially. Dual-primal versus primal-dual. New relaxations for matching.

slide-29
SLIDE 29

Tutorial Plan

(a) Recap of Multiplicative Weights Method. (b) Application to Min Correlation Clustering. (c) Semi-Definite Programming (SDPs): Max Correlation Clustering. (d) Multiple Passes I: Max Bipartite Matching. (e) Multiple Passes II: Max Non-Bipartite Matching. Exponentially many constraints. Constraint Sparsification! How to find your way in the dark? MWM with Sparsification? Solution of optimization versus the path. (f) Multiple Passes III: Max Non-Bipartite Matching. Few passes and a good algorithm. Compute in parallel; use sequentially. Dual-primal versus primal-dual. New relaxations for matching. (g) Wrap Up.

slide-30
SLIDE 30

(a) Recap of Multiplicative Weights Method

Basic version. A proof sketch. Alternate views.

slide-31
SLIDE 31

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0

slide-32
SLIDE 32

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

slide-33
SLIDE 33

Multiplicative Weights Method: Basic Version

Initially u = 1. Assume A, b ≥ 0.

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0 uTAy ≤ (1 + ǫ) uTb

slide-34
SLIDE 34

Multiplicative Weights Method: Basic Version

Initially u = 1. Assume A, b ≥ 0. If Aiy < bi: lower ui, i.e., ui ← ui(1 − ǫ)(bi−Aiy)/biρ. If Aiy > bi: raise ui, i.e., ui ← ui(1 + ǫ)(Aiy−bi)/biρ. (≈ ui ← uieǫ(Aiy−bi)/ρ))

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0 uTAy ≤ (1 + ǫ) uTb

slide-35
SLIDE 35

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

slide-36
SLIDE 36

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

slide-37
SLIDE 37

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

slide-38
SLIDE 38

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

slide-39
SLIDE 39

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

slide-40
SLIDE 40

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

slide-41
SLIDE 41

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

slide-42
SLIDE 42

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

slide-43
SLIDE 43

Multiplicative Weights Method: Basic Version

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

  • Ay ≤ (1 + 3ǫ)b

y ≥ 0

slide-44
SLIDE 44

Multiplicative Weights Method: Basic Version

Number of rounds depends on ρ, ǫ and other specifics of updating u. ρ =width.

Ay ≤ b y ≥ 0 Ay ≤ b y ≥ 0 Ay ≤ ρb y ≥ 0

  • Ay ≤ (1 + 3ǫ)b

y ≥ 0

slide-45
SLIDE 45

How does the proof work?

Scale RHS to get Ay ≤ 1. Let solution for iteration t be y(t), assume −ρ ≤ −ℓ ≤ Aiy(t) ≤ ρ. “Violation” of constraint i as Vi(y(t)) = Aiy(t) − 1; recall ui(t + 1) ≈ ui(t)eǫVi(y(t))/ρ. “Average Violation” as av(t) =

i ui

  • j uj Vi(y(t)).

On the same side: ≤ 0 (easier case). For approximation ≤ δ. “Potential” at iteration t =

i ui(t).

Now

i ui(t + 1) ≤ ( i ui(t)) eǫ av(t)/ρ. Telescopes.

ln ui(t) ≤ ln Upper Bound Final Fractional wt of i + ǫ

ρ

  • t av(t)

ǫ

t Vi(t)/ρ − 2ǫ2ℓT/ρ ≤ ln

Upper Bound Final Fractional wt of i + ǫ

ρ

  • t aV (t)
  • t Vi(t) ≤ · · · ≤ δ
slide-46
SLIDE 46

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-47
SLIDE 47

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-48
SLIDE 48

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-49
SLIDE 49

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-50
SLIDE 50

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-51
SLIDE 51

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-52
SLIDE 52

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-53
SLIDE 53

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-54
SLIDE 54

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-55
SLIDE 55

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-56
SLIDE 56

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-57
SLIDE 57

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-58
SLIDE 58

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-59
SLIDE 59

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

slide-60
SLIDE 60

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

  • Apx

decision problem

slide-61
SLIDE 61

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

  • Apx

decision problem

slide-62
SLIDE 62

Dantzig Decompositions

A (weighted) running average view (primal space).

Hard decision problem Easy decision problem

  • Apx

decision problem

slide-63
SLIDE 63

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u

Ay ≤ b cTy ≥ β y ≥ 0 Ay ≤ ρb cTy ≥ β

slide-64
SLIDE 64

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u Dual of a hyperplane/constraint? Dual of a point?

Ay ≤ b cTy ≥ β y ≥ 0 Ay ≤ ρb cTy ≥ β

slide-65
SLIDE 65

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u Dual of a hyperplane/constraint? Point in dual space. Dual of a point?

Ay ≤ b cTy ≥ β y ≥ 0 Ay ≤ ρb cTy ≥ β

slide-66
SLIDE 66

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u Dual of a hyperplane/constraint? Point in dual space. Dual of a point? Hyperplane/constraint in dual space.

Ay ≤ b cTy ≥ β y ≥ 0 Ay ≤ ρb cTy ≥ β

slide-67
SLIDE 67

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u Dual of a hyperplane/constraint? Point in dual space. Dual of a point? Hyperplane/constraint in dual space.

Ay ≤ b cTy ≥ β y ≥ 0 Ay ≤ ρb cTy ≥ β

slide-68
SLIDE 68

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u Dual of a hyperplane/constraint? Point in dual space. Dual of a point? Hyperplane/constraint in dual space.

Ay ≤ b cTy ≥ β y ≥ 0 Ay ≤ ρb cTy ≥ β

slide-69
SLIDE 69

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u Dual of a hyperplane/constraint? Point in dual space. Dual of a point? Hyperplane/constraint in dual space.

Ay ≤ b cTy ≥ β y ≥ 0 Ay ≤ ρb cTy ≥ β

slide-70
SLIDE 70

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u Dual of a hyperplane/constraint? Point in dual space. Dual of a point? Hyperplane/constraint in dual space. Suppose we prove [*]: ∃u s.t. ATu ≥ c and ρbTu < β.

Ay ≤ b cTy ≥ β y ≥ 0 Ay ≤ ρb cTy ≥ β

slide-71
SLIDE 71

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u Dual of a hyperplane/constraint? Point in dual space. Dual of a point? Hyperplane/constraint in dual space. Suppose we prove [*]: ∃u s.t. ATu ≥ c and ρbTu < β. Providing a y corresponds to: we have not yet proved [*].

Ay ≤ b cTy ≥ β y ≥ 0 Ay ≤ ρb cTy ≥ β

slide-72
SLIDE 72

Multiplicative Weights: Optimization and Duals

Instead of tracking violations and averaging solutions at the end, Consider the process from the perspective of u Dual of a hyperplane/constraint? Point in dual space. Dual of a point? Hyperplane/constraint in dual space. Suppose we prove [*]: ∃u s.t. ATu ≥ c and ρbTu < β. Providing a y corresponds to: we have not yet proved [*]. Think trajectories. Decompositions on dual. What does y mean then?

ATu ≥ c ρbTu < β u ≥ 0

slide-73
SLIDE 73

So the Dual or the Primal?

How do we choose which to start from?

slide-74
SLIDE 74

Which set of constraints would you rather solve?

The one with more variables! Lot more degrees of freedom. Easier to approximate. Maybe sparse solutions exist.

slide-75
SLIDE 75

Which set of constraints would you rather solve?

The one with more variables! Lot more degrees of freedom. Easier to approximate. Maybe sparse solutions exist. Rewrite relaxations to introduce freedom!

slide-76
SLIDE 76

(b) Application to Min. Correlation Clustering

Exponentially many constraints. How to design an Oracle. Drag and Drop application of Graph Sparsification/Sketching!

slide-77
SLIDE 77

Correlation Clustering: Motivation

Tutorial in KDD 2014. Bonchi, Garcia-Soriano, Liberty. Clustering of objects known only through relationships. (Can have wide ranges of edge weights, +ve/-ve.)

slide-78
SLIDE 78

Correlation Clustering: Motivation

Tutorial in KDD 2014. Bonchi, Garcia-Soriano, Liberty. Clustering of objects known only through relationships. (Can have wide ranges of edge weights, +ve/-ve.) Consider an Entity Resolution example. News arcticle 1: Mr Smith is devoted to mountain climbing. . . . Mrs Smith is a diver and said that she finds diving to be a sublime

  • experience. . . . The goal is to reach new heights, said Smith.

Now consider a stream of such articles, with new as well as old entities.

slide-79
SLIDE 79

Correlation Clustering: Motivation

Tutorial in KDD 2014. Bonchi, Garcia-Soriano, Liberty. Clustering of objects known only through relationships. (Can have wide ranges of edge weights, +ve/-ve.) Consider an Entity Resolution example. News arcticle 1: Mr Smith is devoted to mountain climbing. . . . Mrs Smith is a diver and said that she finds diving to be a sublime

  • experience. . . . The goal is to reach new heights, said Smith.

Now consider a stream of such articles, with new as well as old entities. Likely Mr Smith = Mrs Smith. Large -ve weight. The other references can be either. Small weights depending on context. Weights are not a metric. Have a large range.

slide-80
SLIDE 80

Correlation Clustering: A Formulation

  • 1

1.1 2 10 1

  • 3

0.3 12 1

  • 2

1

Find a grouping that disagrees least with the graph.

◮ Count +ve edges out of clusters. Count -ve edges in clusters. ◮ Use as many clusters as you like.

Alternatively we can find a grouping that agrees least. NP Hard. Bansal Blum, Chawla, 04. Many approximation algorithms are known. For many variants. Approximations factors were known defore, will not focus on the factor.

slide-81
SLIDE 81

Correlation Clustering: A Formulation

  • 1

1.1 2 10 1

  • 3

0.3 12 1

  • 2

1

C2 C1 Find a grouping that disagrees least with the graph.

◮ Count +ve edges out of clusters. Count -ve edges in clusters. ◮ Use as many clusters as you like.

Alternatively we can find a grouping that agrees least. NP Hard. Bansal Blum, Chawla, 04. Many approximation algorithms are known. For many variants. Approximations factors were known defore, will not focus on the factor.

slide-82
SLIDE 82

Global Sparsification: There and back again

Think of a problem on graph cuts.

1 0.5 2 10 1 3 0.3 12 1 1 1

slide-83
SLIDE 83

Global Sparsification: There and back again

Think of a problem on graph cuts.

1 0.5 2 10 1 3 0.3 12 1 1 1

s t Min s-t Cut? Sparsification preserves all cuts within (1 ± ǫ).

slide-84
SLIDE 84

Global Sparsification: There and back again

Think of a problem on graph cuts.

1 0.5 2 10 1 3 0.3 12 1 1 1

s t Min s-t Cut? Max s-t Cut? Max Cut? Sparsification preserves all cuts within (1 ± ǫ).

slide-85
SLIDE 85

Global Sparsification: There and back again

Think of a problem on graph cuts.

1 0.5 2 10 1 3 0.3 12 1 1 1

s t Min s-t Cut? Max s-t Cut? Max Cut? NP Hard. ≥ 0.5 apx uses SDPs. Sparsification preserves all cuts within (1 ± ǫ).

slide-86
SLIDE 86

Global Sparsification: There and back again

Think of a problem on graph cuts.

1 0.5 2 10 1 3 0.3 12 1 1 1

s t Min s-t Cut? Max s-t Cut? Max Cut? NP Hard. ≥ 0.5 apx uses SDPs. Sparsification preserves all cuts within (1 ± ǫ). (a) Does not imply anything about finding specific cuts.

slide-87
SLIDE 87

Global Sparsification: There and back again

Think of a problem on graph cuts.

1 0.5 2 10 1 3 0.3 12 1 1 1

s t Min s-t Cut? Max s-t Cut? Max Cut? NP Hard. ≥ 0.5 apx uses SDPs. Sparsification preserves all cuts within (1 ± ǫ). (a) Does not imply anything about finding specific cuts. Yet.

slide-88
SLIDE 88

Global Sparsification: There and back again

Think of a problem on graph cuts.

1 0.5 2 10 1 3 0.3 12 1 1 1

s t Min s-t Cut? Max s-t Cut? Max Cut? NP Hard. ≥ 0.5 apx uses SDPs. Sparsification preserves all cuts within (1 ± ǫ). (a) Does not imply anything about finding specific cuts. Yet. (b) Does not obviously save space either!

slide-89
SLIDE 89

Global Sparsification: There and back again

Think of a problem on graph cuts.

1 0.5 2 10 1 3 0.3 12 1 1 1

s t Min s-t Cut? Max s-t Cut? Max Cut? NP Hard. ≥ 0.5 apx uses SDPs. Sparsification preserves all cuts within (1 ± ǫ). (a) Does not imply anything about finding specific cuts. Yet. (b) Does not obviously save space either! We will see examples both (a)–(b) and how to overcome them. Lets return to correlation clustering.

slide-90
SLIDE 90

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets.

min

  • (i,j)∈E(+)

wij(1 − xij) +

  • (i,j)∈E(−)

|wij|xij xij ≤ 1 ∀i, j xij ≥ 0 ∀i, j (1 − xij) + (1 − xjk) ≥ (1 − xik) ∀i, j, k

A linear program.

slide-91
SLIDE 91

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets.

  • Triangle constraints

min

  • (i,j)∈E(+)

wij(1 − xij) +

  • (i,j)∈E(−)

|wij|xij xij ≤ 1 ∀i, j xij ≥ 0 ∀i, j (1 − xij) + (1 − xjk) ≥ (1 − xik) ∀i, j, k

A linear program. Θ(n3) Constraints, Θ(n2) variables.

slide-92
SLIDE 92

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets.

  • Triangle constraints

min

  • (i,j)∈E(+)

wij(1 − xij) +

  • (i,j)∈E(−)

|wij|xij xij ≤ 1 ∀i, j xij ≥ 0 ∀i, j (1 − xij) + (1 − xjk) ≥ (1 − xik) ∀i, j, k

A linear program. Θ(n3) Constraints, Θ(n2) variables. 1 pass lower bound of |E(−)| for any apx via Communication Complexity.

slide-93
SLIDE 93

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets.

  • Triangle constraints

min

  • (i,j)∈E(+)

wij(1 − xij) +

  • (i,j)∈E(−)

|wij|xij xij ≤ 1 ∀i, j xij ≥ 0 ∀i, j (1 − xij) + (1 − xjk) ≥ (1 − xik) ∀i, j, k

A linear program. Θ(n3) Constraints, Θ(n2) variables. 1 pass lower bound of |E(−)| for any apx via Communication Complexity. Sparsify E(+), store E(−)? Will have ˜ O(n) + |E(−)| variables.

slide-94
SLIDE 94

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets.

  • Triangle constraints

min

  • (i,j)∈E(+)

wij(1 − xij) +

  • (i,j)∈E(−)

|wij|xij xij ≤ 1 ∀i, j xij ≥ 0 ∀i, j (1 − xij) + (1 − xjk) ≥ (1 − xik) ∀i, j, k

A linear program. Θ(n3) Constraints, Θ(n2) variables. 1 pass lower bound of |E(−)| for any apx via Communication Complexity. Sparsify E(+), store E(−)? Will have ˜ O(n) + |E(−)| variables. Does not work. The triangle constraints need all n

2

  • variables.
slide-95
SLIDE 95

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Set yij = 1 − xij for +ve edges. zij = xij for -ve edges.

min

  • (i,j)∈E(+)

wijyij +

  • (i,j)∈E(−)

|wij|zij yij, zij ≥ 0 ∀(i, j) ∈ E yij, zij?

Sparsify E(+). Store E(−). Θ(n2) → ˜ O(n) + |E(−)| variables? Θ(n3) Constraints

slide-96
SLIDE 96

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Set yij = 1 − xij for +ve edges. zij = xij for -ve edges.

min

  • (i,j)∈E(+)

wijyij +

  • (i,j)∈E(−)

|wij|zij yij, zij ≥ 0 ∀(i, j) ∈ E

  • (u,v)∈P(ij)

yuv + zij ≥ 1 ∀i, j, and i-j path P(ij)

Sparsify E(+). Store E(−). Θ(n2) → ˜ O(n) + |E(−)| variables. Θ(n3) Constraints → Exponentially many constraints!

i j |wij|

slide-97
SLIDE 97

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Set yij = 1 − xij for +ve edges. zij = xij for -ve edges.

min

  • (i,j)∈E(+)

wijyij +

  • (i,j)∈E(−)

|wij|zij yij, zij ≥ 0 ∀(i, j) ∈ E

  • (u,v)∈P(ij)

yuv + zij ≥ 1 ∀i, j, and i-j path P(ij)

Sparsify E(+). Store E(−). Θ(n2) → ˜ O(n) + |E(−)| variables. Θ(n3) Constraints → Exponentially many constraints! Solve LP (ellipsoid) & Ball Growing: Garg, Vazirani, Yannakakis 93.

i j |wij|

slide-98
SLIDE 98

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Set yij = 1 − xij for +ve edges. zij = xij for -ve edges.

min

  • (i,j)∈E(+)

wijyij +

  • (i,j)∈E(−)

|wij|zij yij, zij ≥ 0 ∀(i, j) ∈ E

  • (u,v)∈P(ij)

yuv + zij ≥ 1 ∀i, j, and i-j path P(ij)

Sparsify E(+). Store E(−). Θ(n2) → ˜ O(n) + |E(−)| variables. Θ(n3) Constraints → Exponentially many constraints! Solve LP (ellipsoid) & Ball Growing: Garg, Vazirani, Yannakakis 93.

i j |wij|

MWM on the dual. ˜ O(n + |E(−)|) space and ˜ O(n2) time.

slide-99
SLIDE 99

Min Correlation Clustering

Equivalent to Max-Agreement at optimality. Not in approximation. xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Set yij = 1 − xij for +ve edges. zij = xij for -ve edges.

min

  • (i,j)∈E(+)

wijyij +

  • (i,j)∈E(−)

|wij|zij yij, zij ≥ 0 ∀(i, j) ∈ E

  • (u,v)∈P(ij)

yuv + zij ≥ 1 ∀i, j, and i-j path P(ij)

Sparsify E(+). Store E(−). Θ(n2) → ˜ O(n) + |E(−)| variables. Θ(n3) Constraints → Exponentially many constraints! Solve LP (ellipsoid) & Ball Growing: Garg, Vazirani, Yannakakis 93.

i j |wij|

MWM on the dual. ˜ O(n + |E(−)|) space and ˜ O(n2) time. Round infeasible primal (the running average). Success → done. Failure → violated constraint(s) → point needed for MWM on Dual.

slide-100
SLIDE 100

Algorithm in a Picture?

Reformulation Duality Graph Sparsification Duality

slide-101
SLIDE 101

(c) SDPs and Max Correlation Clustering

Much more powerful than linear relaxations. Recurring theme: Known relaxations will not fit. New problem: What do we do to round?

slide-102
SLIDE 102

Max-Agreement and SDPs

xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Think of vector programming over unit length vectors. xij = vi · vj ≤ 1.

max

  • (i,j)∈E(+)

wijxij +

  • (i,j)∈E(−)

|wij|(1 − xij) xii = 1 ∀i xij ≥ 0 ∀i, j x 0

slide-103
SLIDE 103

Max-Agreement and SDPs

xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Think of vector programming over unit length vectors. xij = vi · vj ≤ 1.

max

  • (i,j)∈E(+)

wijxij +

  • (i,j)∈E(−)

|wij|(1 − xij) xii = 1 ∀i xij ≥ 0 ∀i, j x 0

MWM (in this context): Collection of constraints. Feasible set: X. Given x provide a real symmetric A (satisfying some width bounds) (a) A ◦ x ≤ b − ǫ, note A ◦ x =

i,j Aijxij.

(b) A ◦ x′ ≥ b for all feasible x′ ∈ X.

slide-104
SLIDE 104

Max-Agreement and SDPs

xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Think of vector programming over unit length vectors. xij = vi · vj ≤ 1.

max

  • (i,j)∈E(+)

wijxij +

  • (i,j)∈E(−)

|wij|(1 − xij) xii = 1 ∀i xij ≥ 0 ∀i, j x 0

MWM (in this context): Collection of constraints. Feasible set: X. Given x provide a real symmetric A (satisfying some width bounds) (a) A ◦ x ≤ b − ǫ, note A ◦ x =

i,j Aijxij.

(b) A ◦ x′ ≥ b for all feasible x′ ∈ X. Why??

slide-105
SLIDE 105

Max-Agreement and SDPs

xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Think of vector programming over unit length vectors. xij = vi · vj ≤ 1.

max

  • (i,j)∈E(+)

wijxij +

  • (i,j)∈E(−)

|wij|(1 − xij) xii = 1 ∀i xij ≥ 0 ∀i, j x 0

MWM (in this context): Collection of constraints. Feasible set: X. Given x provide a real symmetric A (satisfying some width bounds) (a) A ◦ x ≤ b − ǫ, note A ◦ x =

i,j Aijxij.

(b) A ◦ x′ ≥ b for all feasible x′ ∈ X. Why.

slide-106
SLIDE 106

Max-Agreement and SDPs

xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Think of vector programming over unit length vectors. xij = vi · vj ≤ 1.

β ≤

  • (i,j)∈E(+)

wijxij +

  • (i,j)∈E(−)

|wij|(1 − xij) xii = 1 ∀i xij ≥ 0 ∀i, j x 0

MWM (in this context): Collection of constraints. Feasible set: X. Given x provide a real symmetric A (satisfying some width bounds) (a) A ◦ x ≤ b − ǫ, note A ◦ x =

i,j Aijxij.

(b) A ◦ x′ ≥ b for all feasible x′ ∈ X.

  • Why. Does not work (width is high).
slide-107
SLIDE 107

Max-Agreement and SDPs

xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Think of vector programming over unit length vectors. xij = vi · vj ≤ 1.

β ≤

  • (i,j)∈E(+)

wijxij +

  • (i,j)∈E(−)

|wij| (1 − xij)xii + xjj − 2xij 2 xii = 1 ∀i xij ≥ 0 ∀i, j x 0

MWM (in this context): Collection of constraints. Feasible set: X. Given x provide a real symmetric A (satisfying some width bounds) (a) A ◦ x ≤ b − ǫ, note A ◦ x =

i,j Aijxij.

(b) A ◦ x′ ≥ b for all feasible x′ ∈ X.

  • Why. Does not work (width is high). Linear Space. Linear time. 0.76-apx
slide-108
SLIDE 108

Max-Agreement and SDPs

xij = 1 if in same group, and 0 otherwise. E(+/−) = +/−ve edge sets. Think of vector programming over unit length vectors. xij = vi · vj ≤ 1.

β ≤

  • (i,j)∈E(+)

wijxij +

  • (i,j)∈E(−)

|wij| (1 − xij)xii + xjj − 2xij 2 xii = 1 ∀i xij ≥ 0 ∀i, j x 0

MWM (in this context): Collection of constraints. Feasible set: X. Given x provide a real symmetric A (satisfying some width bounds) (a) A ◦ x ≤ b − ǫ, note A ◦ x =

i,j Aijxij.

(b) A ◦ x′ ≥ b for all feasible x′ ∈ X.

  • Why. Does not work (width is high). Linear Space. Linear time. 0.76-apx

Relaxation needs to be compatible with trajectory. Single pass. Sparsify E(+) and E(−) separately.

slide-109
SLIDE 109

(d) Multiple Passes I: Max Bipartite Matching

Optimization over fixed constraint matrices. Columns revealed one at a time. Use of Approximation Algorithms for speedup of convergence. “Primal-Dual meets Primal-Dual”.

slide-110
SLIDE 110

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

max

  • (i,j)

yijwij

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Different from online learning. Input itself is in small pieces.

slide-111
SLIDE 111

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

max

  • (i,j)

yijwij

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Different from online learning. Input itself is in small pieces.

m n

slide-112
SLIDE 112

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

max

  • (i,j)

yijwij

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Different from online learning. Input itself is in small pieces.

m n

slide-113
SLIDE 113

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

max

  • (i,j)

yijwij

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Different from online learning. Input itself is in small pieces.

m n

slide-114
SLIDE 114

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

max

  • (i,j)

yijwij

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Different from online learning. Input itself is in small pieces.

m n

slide-115
SLIDE 115

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

max

  • (i,j)

yijwij

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Different from online learning. Input itself is in small pieces.

m n

slide-116
SLIDE 116

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

max

  • (i,j)

yijwij

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Different from online learning. Input itself is in small pieces.

m n

slide-117
SLIDE 117

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

max

  • (i,j)

yijwij

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Different from online learning. Input itself is in small pieces.

m n

slide-118
SLIDE 118

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

max

  • (i,j)

yijwij

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Different from online learning. Input itself is in small pieces.

m n

slide-119
SLIDE 119

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

  • (i,j)

yijwij ≥ β

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Applying MWM: Point = candidate set of edges, in m-dim space. Hyperplanes?

slide-120
SLIDE 120

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

  • (i,j)

yijwij ≥ β ui →

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Applying MWM: Point = candidate set of edges, in m-dim space. Hyperplanes?

slide-121
SLIDE 121

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

  • (i,j)

yijwij ≥ β ui →

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Applying MWM: Point = candidate set of edges, in m-dim space. Hyperplanes?

  • i ui
  • j yij ≤

i ui

  • (i,j) yij(ui + uj) ≤

i ui.

Store & update u. O(n) storage.

slide-122
SLIDE 122

MWM on Streams: Bipartite Matching

Integer and fractional optimums coincide. (yij = yji, (i, j) implies ∈ E.)

  • (i,j)

yijwij ≥ β ui →

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Streams: arbitrary list of m edges, . . . , i, j, wij, . . . for an n node graph. Applying MWM: Point = candidate set of edges, in m-dim space. Hyperplanes?

  • i ui
  • j yij ≤

i ui

  • (i,j) yij(ui + uj) ≤

i ui.

Want:                 

  • (i,j)

yij(ui + uj)

  • i

ui ≤

  • i

ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

.

slide-123
SLIDE 123

MWM on Streams: Bipartite Matching

Want:

                  

  • (i,j)

yij(ui + uj) ≤

i ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

,

slide-124
SLIDE 124

MWM on Streams: Bipartite Matching

Want:

                  

  • (i,j)

yij(ui + uj) ≤

i ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

Now ∃y, ∀λ ≥ 0

          

  • (i,j)

(wij − λ(ui + uj))yij ≥ (β − λ

i ui)

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

slide-125
SLIDE 125

MWM on Streams: Bipartite Matching

Want:

                  

  • (i,j)

yij(ui + uj) ≤

i ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

Now ∃y, ∀λ ≥ 0

          

  • (i,j)

(wij − λ(ui + uj))yij ≥ (β − λ

i ui)

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Oracle(λ):

slide-126
SLIDE 126

MWM on Streams: Bipartite Matching

Want:

                  

  • (i,j)

yij(ui + uj) ≤

i ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

Now ∃y, ∀λ ≥ 0

          

  • (i,j)

(wij − λ(ui + uj))yij ≥ (β − λ

i ui)

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Oracle(λ):

◮ Seeing (i, j) compute (wij − λ(ui + uj)). If -ve, discard.

slide-127
SLIDE 127

MWM on Streams: Bipartite Matching

Want:

                  

  • (i,j)

yij(ui + uj) ≤

i ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

Have y, ∀λ ≥ 0

          

  • (i,j)

(wij − λ(ui + uj))yij ≥ (β − λ

i ui)/c

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Oracle(λ):

◮ Seeing (i, j) compute (wij − λ(ui + uj)). If -ve, discard. ◮ Find a streaming O(n) space c approximation on this filtered set.

slide-128
SLIDE 128

MWM on Streams: Bipartite Matching

Want:

                  

  • (i,j)

yij(ui + uj) ≤

i ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

Have y,

          

  • (i,j)

(wij − λ(ui + uj))yij ≥ (β − λ

i ui)/c

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Oracle(λ):

◮ Seeing (i, j) compute (wij − λ(ui + uj)). If -ve, discard. ◮ Find a streaming O(n) space c approximation on this filtered set.

If Oracle(λ) for λ = 0 satisfies

(i,j) yij(ui + uj) ≤ i ui/c then we also

have:

(i,j) wijyij ≥ β/c. (easier case)

slide-129
SLIDE 129

MWM on Streams: Bipartite Matching

Want:

                  

  • (i,j)

yij(ui + uj) ≤

i ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

Have y,

          

  • (i,j)

(wij − λ(ui + uj))yij ≥ (β − λ

i ui)/c

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Oracle(λ):

◮ Seeing (i, j) compute (wij − λ(ui + uj)). If -ve, discard. ◮ Find a streaming O(n) space c approximation on this filtered set.

For λ = 0 we have

(i,j) yij(ui + uj) ≥ i ui/c.

For λ =

i ui/β we have (i,j) yij(ui + uj) ≤ i ui/c. (Set y = 0)

slide-130
SLIDE 130

MWM on Streams: Bipartite Matching

Want:

                  

  • (i,j)

yij(ui + uj) ≤

i ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

Have y,

          

  • (i,j)

(ui + uj)yij ≤

  • i

ui/c and

  • (i,j)

wijyij ≥ β/c

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Oracle(λ):

◮ Seeing (i, j) compute (wij − λ(ui + uj)). If -ve, discard. ◮ Find a streaming O(n) space c approximation on this filtered set.

For λ = 0 we have

(i,j) yij(ui + uj) ≥ i ui/c.

For λ =

i ui/β we have (i,j) yij(ui + uj) ≤ i ui/c. (Set y = 0)

Binary search (or try values of λ in parallel).

slide-131
SLIDE 131

MWM on Streams: Bipartite Matching

Want:

                  

  • (i,j)

yij(ui + uj) ≤

i ui

  • (i,j)

yijwij ≥ β

  • j

yij ≤ ρ ∀i yij ≥ 0 ∀(i, j)

Have y,

          

  • (i,j)

(ui + uj)yij ≤

  • i

ui/c and

  • (i,j)

wijyij ≥ β/c

  • j

yij ≤ 1 ∀i yij ≥ 0 ∀(i, j)

Oracle(λ):

◮ Seeing (i, j) compute (wij − λ(ui + uj)). If -ve, discard. ◮ Find a streaming O(n) space c approximation on this filtered set.

For λ = 0 we have

(i,j) yij(ui + uj) ≥ i ui/c.

For λ =

i ui/β we have (i,j) yij(ui + uj) ≤ i ui/c. (Set y = 0)

Binary search (or try values of λ in parallel). Multiply y by c. Set ρ = c and we have a solution!

slide-132
SLIDE 132

MWM based Bipartite Matching for Map-Reduce?

More general than streaming. Map-Reduce based 8 approximations in O(log n) rounds exist, e.g., Lattanzi, Mosely, Suri, Vassilivitskii 11. We can compose them. O(log n) rounds to get a c-approximation. Repeat O(cǫ−2 log n) times to get a (1 + ǫ)- fractional solution. Can also round to an integral solution in small space. A story for some other time.

slide-133
SLIDE 133

(e) Multiple Passes II: Max Non-Bipartite Matching

Exponentially many constraints. Adaptive constraint sparsification. Perturbations. How to find your way at night in the dark?

slide-134
SLIDE 134

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-135
SLIDE 135

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-136
SLIDE 136

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-137
SLIDE 137

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-138
SLIDE 138

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-139
SLIDE 139

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-140
SLIDE 140

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-141
SLIDE 141

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-142
SLIDE 142

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-143
SLIDE 143

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-144
SLIDE 144

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-145
SLIDE 145

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-146
SLIDE 146

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-147
SLIDE 147

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

slide-148
SLIDE 148

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

  • Apx

decision problem

slide-149
SLIDE 149

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

  • Apx

decision problem

slide-150
SLIDE 150

Revisiting Dantzig Decompositions

A running average view (primal space).

Hard decision problem Easy decision problem

  • Apx

decision problem

slide-151
SLIDE 151

Adaptive Sparsifications and Dantzig Decompositions

What if we sparsify u? What does that mean?

Hard decision problem Easy decision problem

slide-152
SLIDE 152

Adaptive Sparsifications and Dantzig Decompositions

What if we sparsify u? What does that mean?

Hard decision problem Easy decision problem

slide-153
SLIDE 153

Adaptive Sparsifications and Dantzig Decompositions

What if we sparsify u? What does that mean?

Hard decision problem Easy decision problem

slide-154
SLIDE 154

Adaptive Sparsifications and Dantzig Decompositions

What if we sparsify u? What does that mean?

Hard decision problem Easy decision problem

slide-155
SLIDE 155

Adaptive Sparsifications and Dantzig Decompositions

What if we sparsify u? What does that mean?

Hard decision problem Easy decision problem

slide-156
SLIDE 156

Adaptive Sparsifications and Dantzig Decompositions

What if we sparsify u? What does that mean?

Hard decision problem Easy decision problem

slide-157
SLIDE 157

Adaptive Sparsifications and Dantzig Decompositions

What if we sparsify u? What does that mean?

Hard decision problem Easy decision problem

slide-158
SLIDE 158

Adaptive Sparsifications and Dantzig Decompositions

What if we sparsify u? What does that mean?

Hard decision problem Easy decision problem

slide-159
SLIDE 159

Adaptive Sparsifications and Dantzig Decompositions

What if we sparsify u? What does that mean?

Hard decision problem Easy decision problem

slide-160
SLIDE 160

Perturbations

Focus on the violations which are close to max violation. Modify the polytope to find such violations faster.

slide-161
SLIDE 161

Cuts and Constraints

slide-162
SLIDE 162

Cuts and Constraints

(Again dropping (i, j) ∈ E in the subscripts, yij = yji.)

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i yij ≥ 0

slide-163
SLIDE 163

Cuts and Constraints

(Again dropping (i, j) ∈ E in the subscripts, yij = yji.)

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i (Cut constraint!) yij ≥ 0

slide-164
SLIDE 164

Cuts and Constraints

(Again dropping (i, j) ∈ E in the subscripts, yij = yji.)

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i (Cut constraint!)

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0

slide-165
SLIDE 165

Cuts and Constraints

(Again dropping (i, j) ∈ E in the subscripts, yij = yji.)

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i (Cut constraint!)

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0

Rules out:

  • 1/2

1/2 1/2

slide-166
SLIDE 166

Cuts and Constraints

(Again dropping (i, j) ∈ E in the subscripts, yij = yji.)

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i (Cut constraint!)

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ⇐ ⇒

  • i∈U
  • j

yij

 

i∈U,j∈U

yij   ≤ 2 ⌊|U|/2⌋

  • i∈U,j∈U yij = Cut(U, V − U).
slide-167
SLIDE 167

Cuts and Constraints

(Again dropping (i, j) ∈ E in the subscripts, yij = yji.)

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ⇐ ⇒

  • i∈U
  • j

yij

 

i∈U,j∈U

yij   ≤ 2 ⌊|U|/2⌋

  • i∈U,j∈U yij = Cut(U, V − U).

Find small cuts (with odd vertex sizes).

slide-168
SLIDE 168

Cuts and Constraints

(Again dropping (i, j) ∈ E in the subscripts, yij = yji.)

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0

Find small cuts (with odd vertex sizes).

slide-169
SLIDE 169

Cuts and Constraints

(Again dropping (i, j) ∈ E in the subscripts, yij = yji.)

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0

Find small cuts (with odd vertex sizes). Standard Algorithm: Augment, contract blossoms, ... (many rounds). Signature: feasible,. . . ,feasible (larger), . . . , feasible, (near) optimal

slide-170
SLIDE 170

Cuts and Constraints

(Again dropping (i, j) ∈ E in the subscripts, yij = yji.)

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0

Find small cuts (with odd vertex sizes). Standard Algorithm: Augment, contract blossoms, ... (many rounds). Signature: feasible,. . . ,feasible (larger), . . . , feasible, (near) optimal Signature of this Algorithm: infeasible,. . . ,infeasible (smaller), . . . , feasible, (near) optimal Bipartite: O(ǫ−2 log n) rounds Non-Bipartite: O(ǫ−4 log n) rounds

slide-171
SLIDE 171

How?

˜ β = max

  • (i,j)

wijyij

  • j

yij ≤ (1 − 4δ) ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ − δ2|U|2

4

∀U yij ≥ 0

Consider two odd sets with “density” similar to the densest set. Have to be disjoint or within each other (laminar)! Reduces to a bipartite problem with different “effective weights”. Near linear time algorithm.

slide-172
SLIDE 172

How?

˜ β = max

  • (i,j)

wijyij

  • j

yij ≤ (1 − 4δ) ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ − δ2|U|2

4

∀U yij ≥ 0

Consider two odd sets with “density” similar to the densest set. Have to be disjoint or within each other (laminar)! Reduces to a bipartite problem with different “effective weights”. Near linear time algorithm. Extends to capacities on vertices and edges.

slide-173
SLIDE 173

(f) Multiple Passes III: Non-Bipartite Matching

For a few passes less ... Sparsify non-adaptively in parallel; use sequentially. Dual-primal versus primal-dual. New relaxations for Matching.

slide-174
SLIDE 174

Sparsify in Parallel, Use Sequentially

We saw a version of sketch in parallel, use sequentially in connectivity. Question: Where will we be after 5 steps of MWM? Recall: If Aiy > bi: raise ui, i.e., ui ← ui(1 + ǫ)(Aiy−bi)/biρ.

slide-175
SLIDE 175

Sparsify in Parallel, Use Sequentially

We saw a version of sketch in parallel, use sequentially in connectivity. Question: Where will we be after 5 steps of MWM? Recall: If Aiy > bi: raise ui, i.e., ui ← ui(1 + ǫ)(Aiy−bi)/biρ. ui(5) ∈ (1 ± ǫ)5ui. Construct 5 independent sparsifications of u.

slide-176
SLIDE 176

Sparsify in Parallel, Use Sequentially

We saw a version of sketch in parallel, use sequentially in connectivity. Question: Where will we be after 5 steps of MWM? Recall: If Aiy > bi: raise ui, i.e., ui ← ui(1 + ǫ)(Aiy−bi)/biρ. ui(5) ∈ (1 ± ǫ)5ui. Construct 5 independent sparsifications of u.

  • Lets exaggerate changes

(for illustration).

slide-177
SLIDE 177

Sparsify in Parallel, Use Sequentially

We saw a version of sketch in parallel, use sequentially in connectivity. Question: Where will we be after 5 steps of MWM? Recall: If Aiy > bi: raise ui, i.e., ui ← ui(1 + ǫ)(Aiy−bi)/biρ. ui(5) ∈ (1 ± ǫ)5ui. Construct 5 independent sparsifications of u.

  • Lets exaggerate changes

(for illustration). If u were not changing ... But they are. Need (small) corrections. Presparsifiers.

slide-178
SLIDE 178

Sparsify in Parallel, Use Sequentially

We saw a version of sketch in parallel, use sequentially in connectivity. Question: Where will we be after 5 steps of MWM? Recall: If Aiy > bi: raise ui, i.e., ui ← ui(1 + ǫ)(Aiy−bi)/biρ. ui(5) ∈ (1 ± ǫ)5ui. Construct 5 independent sparsifications of u.

  • Lets exaggerate changes

(for illustration). If u were not changing ... But they are. Need (small) corrections. Presparsifiers.

slide-179
SLIDE 179

Sparsify in Parallel, Use Sequentially

We saw a version of sketch in parallel, use sequentially in connectivity. Question: Where will we be after 5 steps of MWM? Recall: If Aiy > bi: raise ui, i.e., ui ← ui(1 + ǫ)(Aiy−bi)/biρ. ui(5) ∈ (1 ± ǫ)5ui. Construct 5 independent sparsifications of u.

  • Lets exaggerate changes

(for illustration). If u were not changing ... But they are. Need (small) corrections. Presparsifiers.

slide-180
SLIDE 180

Sparsify in Parallel, Use Sequentially

We saw a version of sketch in parallel, use sequentially in connectivity. Question: Where will we be after 5 steps of MWM? Recall: If Aiy > bi: raise ui, i.e., ui ← ui(1 + ǫ)(Aiy−bi)/biρ. ui(5) ∈ (1 ± ǫ)5ui. Construct 5 independent sparsifications of u.

  • Lets exaggerate changes

(for illustration). If u were not changing ... But they are. Need (small) corrections. Presparsifiers.

slide-181
SLIDE 181

Sparsify in Parallel, Use Sequentially

We saw a version of sketch in parallel, use sequentially in connectivity. Question: Where will we be after 5 steps of MWM? Recall: If Aiy > bi: raise ui, i.e., ui ← ui(1 + ǫ)(Aiy−bi)/biρ. ui(5) ∈ (1 ± ǫ)5ui. Construct 5 independent sparsifications of u.

  • Lets exaggerate changes

(for illustration). If u were not changing ... But they are. Need (small) corrections. Presparsifiers.

slide-182
SLIDE 182

Non-Bipartite Matching in Small Passes

A natural algorithm for non-bipartite matching.

  • 1. Find an initial solution of the dual Problem. (A trend.)
  • 2. Assign uij = 1 for all edges.
  • 3. For O(10/ǫ) steps:

3.1 Compute t sparsifiers with n1.1 edges using uij. 3.2 Find the best weighted matching in the edges in the t

  • sparsifications. (wij unchanged).

3.3 Keep the largest weight matching found (say β) so far. 3.4 Recompute uij

Recompute:       

  • 1. t = O( 1

ǫ log n)

  • 2. Simulate t steps of a primal-dual algorithm trying

to prove Feasible Dual ≤ β(1 + O(ǫ)).

  • 3. Adjust the sparsification in between.
slide-183
SLIDE 183

Cuts, Duals and Graph Sparsification

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ⇐ ⇒

  • i∈U
  • j

yij

 

i∈U,j∈U

yij   ≤ 2 ⌊|U|/2⌋

  • i∈U,j∈U yij = Cut(U, V − U).

Find small cuts (with odd vertex sizes).

slide-184
SLIDE 184

Cuts, Duals and Graph Sparsification

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0 β∗ = min

  • i

xi +

  • U

|U| 2

  • zU

uij : xi + xj +

  • i,j∈U

zU ≥ wij ∀(i, j) ∈ E xi, zU ≥ 0

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ⇐ ⇒

  • i∈U
  • j

yij

 

i∈U,j∈U

yij   ≤ 2 ⌊|U|/2⌋

  • i∈U,j∈U yij = Cut(U, V − U).

Find small cuts (with odd vertex sizes).

slide-185
SLIDE 185

Cuts, Duals and Graph Sparsification

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0 β∗ = min

  • i

xi +

  • U

|U| 2

  • zU

uij : xi + xj +

  • i,j∈U

zU ≥ wij ∀(i, j) ∈ E xi, zU ≥ 0

Standard Algorithm: Augment, contract blossoms, ... (many rounds). Signature: feasible,. . . ,feasible (larger), . . . , feasible, (near) optimal

slide-186
SLIDE 186

Cuts, Duals and Graph Sparsification

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0 β∗ = min

  • i

xi +

  • U

|U| 2

  • zU

uij : xi + xj +

  • i,j∈U

zU ≥ wij ∀(i, j) ∈ E xi, zU ≥ 0

Standard Algorithm: Augment, contract blossoms, ... (many rounds). Signature: feasible,. . . ,feasible (larger), . . . , feasible, (near) optimal Signature of previous algorithm: infeasible,. . . ,infeasible (smaller), . . . , feasible, (near) optimal New algorithm?

slide-187
SLIDE 187

Cuts, Duals and Graph Sparsification

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0 β∗ = min

  • i

xi +

  • U

|U| 2

  • zU

uij : xi + xj +

  • i,j∈U

zU ≥ wij ∀(i, j) ∈ E xi, zU ≥ 0

Standard Algorithm: Augment, contract blossoms, ... (many rounds). Signature: feasible,. . . ,feasible (larger), . . . , feasible, (near) optimal Signature of previous algorithm: infeasible,. . . ,infeasible (smaller), . . . , feasible, (near) optimal New algorithm? infeasible dual, . . . , (estimate of β∗ is increasing), . . . , (near) optimal (O(1/ǫ) rounds, sparsification)

slide-188
SLIDE 188

Cuts, Duals and Graph Sparsification

β∗ = max

  • (i,j)

wijyij

  • j

yij ≤ 1 ∀i

  • i,j∈U

yij ≤ ⌊|U|/2⌋ ∀U yij ≥ 0 β∗ = min

  • i

xi +

  • U

|U| 2

  • zU

uij : xi + xj +

  • i,j∈U

zU ≥ wij ∀(i, j) ∈ E xi, zU ≥ 0

Standard Algorithm: Augment, contract blossoms, ... (many rounds). Signature: feasible,. . . ,feasible (larger), . . . , feasible, (near) optimal Signature of previous algorithm: infeasible,. . . ,infeasible (smaller), . . . , feasible, (near) optimal New algorithm? infeasible dual, . . . , (estimate of β∗ is increasing), . . . , (near) optimal (O(1/ǫ) rounds, sparsification) . . . . . . keep best matching seen so far, . . . . . . . . . (near) optimal

slide-189
SLIDE 189

New Relaxations for Maximum Matching, . . . 3, 2, 1

Lets consider wij = 1.

β∗ = max

  • (i,j)

yij − 3

  • i

µi

  • j

yij − 2µi ≤ 1 ∀i

  • i,j∈U

yij −

  • i∈U

µi ≤ ⌊|U|/2⌋ + ∀U yij ≥ 0

slide-190
SLIDE 190

New Relaxations for Maximum Matching, . . . 3, 2, 1

Lets consider wij = 1.

β∗ = max

  • (i,j)

yij − 3

  • i

µi

  • j

yij − 2µi ≤ 1 ∀i

  • i,j∈U

yij −

  • i∈U

µi ≤ ⌊|U|/2⌋ + ∀U yij ≥ 0 β∗ = min

  • i

xi +

  • U

|U| 2

  • zU

uij : xi + xj +

  • i,j∈U

zU ≥ wij ∀(i, j) ∈ E 2xi +

  • i∈U

zU ≤ 3 ∀i ∈ V xi, zU ≥ 0

slide-191
SLIDE 191

Wrap up

(1) Primitives: Sampling, Sketching and Sparsification.

slide-192
SLIDE 192

Wrap up

(1) Primitives: Sampling, Sketching and Sparsification. (2) LPs/SDPs (MWM) on Streams.

slide-193
SLIDE 193

Wrap up

(1) Primitives: Sampling, Sketching and Sparsification. (2) LPs/SDPs (MWM) on Streams. (3) Remember a small number of weight values.

slide-194
SLIDE 194

Wrap up

(1) Primitives: Sampling, Sketching and Sparsification. (2) LPs/SDPs (MWM) on Streams. (3) Remember a small number of weight values. (4) Compute in sketch (sparsified) space entirely. Correlation clustering.

slide-195
SLIDE 195

Wrap up

(1) Primitives: Sampling, Sketching and Sparsification. (2) LPs/SDPs (MWM) on Streams. (3) Remember a small number of weight values. (4) Compute in sketch (sparsified) space entirely. Correlation clustering. (5) May need to change the natural relaxations (convergence speed).

slide-196
SLIDE 196

Wrap up

(1) Primitives: Sampling, Sketching and Sparsification. (2) LPs/SDPs (MWM) on Streams. (3) Remember a small number of weight values. (4) Compute in sketch (sparsified) space entirely. Correlation clustering. (5) May need to change the natural relaxations (convergence speed). (6) May need new relaxations for rounding.

slide-197
SLIDE 197

Wrap up

(1) Primitives: Sampling, Sketching and Sparsification. (2) LPs/SDPs (MWM) on Streams. (3) Remember a small number of weight values. (4) Compute in sketch (sparsified) space entirely. Correlation clustering. (5) May need to change the natural relaxations (convergence speed). (6) May need new relaxations for rounding. (7) Think differently. The real voyage of discovery ...

slide-198
SLIDE 198

Thank You