Upload
terence-welch
View
237
Download
0
Embed Size (px)
DESCRIPTION
Dynamic Exact MCM Trivial: O(mn 1/2 ) per update O(MM(n)) ~ O(n 2.36 ) per update Sankowski’s algorithm: O(n ) randomized. Bosek, Leniowski, Sankowski, Zych: O(n 1/2 ) for incremental or decremental
Citation preview
Dynamic Matching in Bipartite Graphs
Aaron Bernstein and Cliff Stein
Static Maximum Cardinality Matching
Unweighted graph G Goal: find a maximum matching (MCM) in G Exact algorithms:
O(mn1/2) (Vazirani) O(MM(n)) ~ O(n2.36) (Sankowski) Õ(m10/7) for bipartite graphs (Madry).
Approximate algorithms: (1 + ε)-approximation in time O(m/ε)
Dynamic Exact MCM
Trivial: O(mn1/2) per update O(MM(n)) ~ O(n2.36) per update
Sankowski’s algorithm: O(n1.495) randomized.
Bosek, Leniowski, Sankowski, Zych: O(n1/2) for incremental or decremental
Dynamic Approximate MCMApprox. Update
TimeRandomization
SpecificSetting
Authors
2-or-worse-approximate matching2 O(n) D Trivial
O(1) O(log2(n)) R Onak and Rubinfeld
2 O(log(n)) R Baswana et al.
O(log(n)) O(log2(n)) D Onak and Rubinfeld
(3 + ε) O(m1/3) D Bhattacharya et al.
2 O(log(n)) D Constant Arboricity
Neiman and Solomon
(2 + ε) O(log(n)) D Fractional Matching
Bhattacharya et al.
Better-than-2-approximate matching3/2 O(m1/2) D Neiman and Solomon
(1+ε) O(m1/2) D Gupta and Peng
(1+ε) O(1/ε) D Inc/Decremental,Bipartite
Bosek et al.
What makes for a good approximation?
Best approximation: (1+ε)-approx, O(m1/2) update Does not rely on specific structural properties of
approximate matchings Uses linear-time static (1+ ε)-approx. as a black box.
Algorithm Description: Construct a (1+ ε)-approx. M’ on the current graph M’ remains a (1+ ε)2 approx. for ε μ(G) updates. Amortized update m/μ(G) (can be made worst-case) If μ(G) ≥ m1/2, we have m/μ(G) = O(m1/2) Else, can easily prune edges until m’ ≤ μ(G)2 without
destroying the maximum matching m’/μ(G) = O(μ(G)) = O(m1/2).
What makes for a good approximation?
What about the other better-than-2 approximations? All rely on the following lemma. Lemma: if all augmenting paths w.r.t M have length >
(2k-1) then M is a (1+1/k)-approx. matching. All path lengths > 1 2-approximation All path lengths > 3 3/2-approximation. All path lengths > 1+1/ε (1+O(ε))-approximation.
Augmenting paths seem problematic in dynamic case Little local structure hard to maintain dynamically. Hard to verify their existence/non-existence
Dynamic Matching Lower Bound
Abboud and Williams Conditional lower bound:
Assume 3-sum requires Ω(n2) time Thm: Say that a fully dynamic algorithm A
maintains a matching M such that all augmenting paths w.r.t M have length > 19 Then, A must have amortized update time Ω(m1/3)
Provides some evidence: a better than 1.1-approximation requires Ω(m1/3) time. Potential solution: might be possible to beat this bound
by going beyond an augmenting-paths-based analysis.
Our results
State of the art: (1+ε)-approx., O(m1/2) update, deterministic (3+ε)-approx., O(m1/3) update, deterministic 2-approx., O(log) update, randomized 2-approx., O(log) update, deterministic, constant
arboricity Our results:
Only bipartite graphs (3/2+ε)-approx., O(m1/4) update, deterministic Fastest deterministic algorithm Fastest better-than-2 approximation. Also: (1+ε)-approx., O(log(n)) update, deterministic,
Constant Arboricity
Characterizing Approximate Matchings
Ideally show: A matching M with property P is a (1+ε)-approx. matching
We were unable to do this. Might be able to use LP-duality techniques from
matching in the semi-streaming model.
Matching-Perserving Subgraph
Have a dynamic graph G Want to maintain a large subgraph M with max
degree 1. Idea: Use a matching-perserving subgraph H
First used by Bhattacharya et al (kernel). Update in G Maintain H in G. Update in H Maintain good matching M in H
What we want from H: 1. M is easy to maintain in H 2. Good matching in H is good matching in G 3. Easy to maintain H dynamically.
We develop entirely new subgraph H.
Matching-Perserving Subgraph H
Want: maintain an approx. matching M in H, not G Requirement 1: H should be matching-perserving
µ(H) should be a good approximation to µ(G) Requirement 2: H should be easier to work with
Option 1: H is sparse ~O(n1/2) update Option 2: H has bounded degree B O(B) update Perhaps more complicated properties
Requirement 3: H should be easy to maintain dynamically Approximate matching seems hard to maintain directly
because it lacks local structure. Want definition of H in terms of “local” constraints.
Dynamic matching in bounded degree graphs
Let H be a dynamic graph with max degree Δ Lemma: (Gupta and Peng): can maintain a
(1+ε) matching in H in update time O(Δ) Proof:
Lazy rebuilding update time O(m/µ(G)) Easy to see: m ≤ 2Δ*µ(G) m/µ(G) = O(Δ)
Want the matching-perserving subgraph H to have bounded degree.
Almost-maximal B-matching
The following subgraph H used by Bhattacharya et al. All vertex degrees bounded by B If (u,v) not in H then u or v have degree ≥ B(1-ε)
H easy to work with: bounded degree B Matching-Perserving:
Claim (new): µ(H) ≥ (1/2 – ε) µ(G) They show something less modular Proof surprisingly difficult (and possibly false) for non-
bipartite case. H easy to maintain: maximal completely local. Recourse to maximality cannot go beyond 2-approx. Want: local properties that capture global structure.
Edge Degree Constrained Subgraph (EDCS)
Let λ ~ ε-2 be a small fixed constant. Defn: δ(u) = (weighted) degree of u in H. Defn: for (u,v) in G, Edge Degree(u,v) = δ(u)+δ(v) Defn: a weighted EDCS(B, λ) is a subgraph H of
G with the following properties: Edges on H have “virtual” positive integral weights. The actual subgraph is support(H). 1. For each edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For each edge (u,v) in G, δ(u)+δ(v) ≥ B(1- λ)
Weighted EDCS contains a good approximation.
Defn: a weighted EDCS(B, λ) is a subgraph H of G with the following properties: Edges on H have “virtual” positive integral weights. 1. For each edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For each edge (u,v) in G, δ(u)+δ(v) ≥ B(1- λ)
Thm: let H be a weighted EDCS(B, λ) of a bipartite graph G. Viewing the support of H as an unweighted graph, we have μ(H) ≥ (1-ε) μ(G) Note: H has bounded degree B
Maximal B/2-matching VS. EDCS(B, λ)
Green dotted edges = maximum matching in G
H = maximal B/2-matching in G μ(H) is only a 2-approx to μ(G).
R S
P Q
B/2-matching
Weighted EDCS(B, λ): 1. For each edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For each edge (u,v) in G, δ(u)+δ(v) ≥ B(1- λ)
Edges in G\H violate property 2: must add them to H Edges in H now violate property 1: must remove
them from H.
B/2
0
0
B/2
+
+
+
+
Maintaining a Weighted EDCS
Weighted EDCS(B,λ) properties: 1. For each edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For each edge (u,v) in G, δ(u)+δ(v) ≥ B(1- λ)
Insertion of edge (u,v) in G: If (u,v) doesn’t violate Prop. 2, ignore it. δ(u) and δ(v) increase – incident edges might violate Prop. 1 Rebalance δ(v) by deleting violating edge (v,w) δ(w) decreases – incident edges might violate Prop. 2 Rebalance δ(w) by adding weight to violating edge (w,x) Now need to rebalance δ(x) and so on.
Can show: only need small number of rebalances. Easy: rebalance in time O(degree). Can achieve: rebalance in time O(arboricity)
Relies on dynamic orientation
Weighted EDCS hard to maintain
Weights only used internally to determine H. Final result: unweighted subgraph H that
contains a large matching. When adversary deletes (u,v), if (u,v) had a
large weight must do a lot of fix-up work. Want: Every edge plays a limited role so that
any single edge change can be easily processed.
Unweighted EDCS
Let λ ~ ε-2 be a small fixed constant. Defn: an unweighted EDCS(B, λ) is an unweighted
subgraph H of G with the following properties: 1. For each edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For each edge (u,v) in G, δ(u)+δ(v) ≥ B(1- λ)
Unweighted EDCS
Let λ ~ ε-2 be a small fixed constant. Defn: an unweighted EDCS(B, λ) is an unweighted
subgraph H of G with the following properties: 1. For each edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For each edge (u,v) in G\H, δ(u)+δ(v) ≥ B(1- λ)
Thm: If H is an unweighted EDCS(B, λ) of a bipartite graph G then μ(H) ≥ (2/3 – ε) μ(G)
weighted VS. unweighted: (1+ ε) approximation VS. (3/2+ε) approximation. Unweighted is easier to maintain. Both capture some global structure of the graph.
Unweighted VS. Weighted
Unweighted EDCS: μ(H) = 2n/3. Weighted EDCS: P-S and R-U edges violate Prop. 2.
Must add weight to P-S and R-U edges. Must then remove weight from P-T and Q-U edges (Prop. 1) Must now add weight to Q-T edges (Prop. 2).
(B/2-1)-matching
Blue edges = In H Green edges = In G\H Unweighted EDCS:
1. For edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For edge (u,v) in G\H, δ(u)+δ(v) ≥ B(1- λ)
Weighted EDCS: 1. For edge (u,v) in H, δ(u)+δ(v) ≤ B (same) 2. For edge (u,v) in G, δ(u)+δ(v) ≥ B(1- λ)
(B/2-1)-matching
P
Q
R
S
T
U
B/2
B/2 B/2
B/21
1
+ +
+ +
- -
Unbounded Arboricity: Maintaining an Unweighted EDCS
Arboricity = O(m1/2) < O(n) Unweighted: only small # of rebalances per update Time for rebalance: O(m1/2) Gap of λB = Ω(B) between EDCS properties Intuition: only need to rebalance a vertex after λB
degree changes. Requires Unweighted EDCS. “Amortized” rebalance time:
O(m1/2/ λB ) = O(m1/2/B) Analysis actually worst-case.
Small Arboricity Bipartite Graphs
At all times arboricity ≤ α Thm: Weighted EDCS(B,λ) (1+ε)-approx. Thm: Can maintain a weighted EDCS(B,λ) H in
time Õ(α2B) per update in G Algorithm:
Set B ~ ε-2 = O(1) Directly maintain a (1+ ε)-approx. matching M in H. M will be our final matching in G as well. Update in G fix H in time Õ(αB) = Õ(α2) Change to H Fix up M in time O(B) = O(1) M is a (1+ ε)2-approx. matching in G:
|M| is (1+ε)-approximation to μ(H). Extra (1+ε) gap between μ(H) and μ(G).
General Bipartite Graphs
Thm: Unweighted EDCS(B,λ) (3/2+ε)-approx. Thm: Can maintain an unweighted EDCS(B,λ) H
in time O(B + m1/2/B) per update in G. Algorithm:
Set B = O(m1/4) Directly maintain a (1+ ε)-approx. matching M in H. M will be our final matching in G as well. Update in G fix H in time O(B + m1/2/B) = O(m1/4). Changes to H Fix up M in time O(B) = O(m1/4). M is a (3/2+ ε)-approx. matching in G:
|M| is (1+ε)-approximation to μ(H). Extra (3/2+ε) error between μ(H) and μ(G).
EDCS contains a good approximation
Let H be an unweighted EDCS(B,λ). Assume G has a perfect matching: μ(G) = n Want to show: μ(H) ≥ (2/3-ε)n Contradiction Assumption: μ(H) < (2/3-ε)n Let M be some maximum matching in H.
|M| < (2/3-ε)n Can view M as a matching in G, and look at the
residual graph in G w.r.t M.
The residual graph (n vertices per side).
Contradiction Assumption: μ(H) < (2/3-ε)n
S*L
SL
SR
TR
TL T*R
H contains no edges crossing cut. |S*L| = |T*R| ≥ (n/3)(1+ε) Assume: |SL|=|SR|=|TL|=|TR| < n/3 ≥ (n/3)(1+ε) disjoint crossing edges in G\H Assume: crossing edges go from S*L to T*R
Then: average degree of |S*L| U |T*R| ≥ B/2(1-λ) ~ B/2 (Prop. 2)
Can’t fit degree of S*L in smaller SR (Prop. 1) Weighted EDCS: edges from SL to SR take
up even more space in SR (Prop 2.)
1. For edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For edge (u,v) in G\H, δ(u)+δ(v) ≥ B(1- λ
EDCS review
λ = O(ε-2) = O(1) Weighted EDCS(B,λ) H
1. For each edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For each edge (u,v) in G, δ(u)+δ(v) ≥ B(1- λ) µ(H) ≥ (1- ε) µ(G)
Unweighted EDCS(B, λ) H 1. For each edge (u,v) in H, δ(u)+δ(v) ≤ B 2. For each edge (u,v) in G\H, δ(u)+δ(v) ≥ B(1- λ) µ(H) ≥ (2/3- ε) µ(G)
Bounded Degree B easy to maintain (1+ε)-matching in H
Upcoming Work: Non-Bipartite Graphs
Weighted EDCS only a 3/2-approximation G = complete graph on 6 vertices. µ(G) = 3 H = 2 triangles with edge weights B/4 all vertex degree B/2. But µ(H) = 2
Focus on unweighted EDCS H Can probably show: µ(H) ≥ (3/2-ε) µ(G)
Significantly more involved than in bipartite case Can probably show: can maintain EDCS in
same time as in bipartite case
Open problems: EDCS
Want: faster update times for better-than-2 approximation. We achieve O(m1/4) compared to the previous O(m1/2). Is O(polylog) possible for general bipartite graphs?
Possible approach: faster algorithms for maintaining an EDCS? Randomization Layering
Characterizing Approximate Matchings
Want: if some matching M has property P then it is a (1+ε)-approximation There might already exist LP-duality characterizations,
especially in the semi-streaming literature. Also want: other possible transitional subgraphs
that guarantee a (1+ε)-approximation. The transitional subgraph H needs to have small
bounded degree (or some other property that makes it easy to deal with).
For non-bipartite graphs, we so far only have a characterizations of 3/2-approximate matchings