Algorithm Search⌘K

Proofs: Gupta-Peng dynamic matching algorithm

These are the human proofs of Gupta-Peng dynamic matching algorithm, at full length.

Lazy rebuilding keeps a (1 + ε)-approximate matching full

This proof shows: correctness.

Write ν(G)\nu(G) for the size of a maximum matching of GG. Fix ε>0\varepsilon > 0. We prove that after every update the structure holds a matching MM of the current graph with (1+ε)∣M∣≥ν(G)(1 + \varepsilon)|M| \ge \nu(G).

Lemma 1 (one update moves ν\nu by at most one). If G′G' is GG with one edge inserted or deleted, then ∣ν(G′)−ν(G)∣≤1|\nu(G') - \nu(G)| \le 1.

Proof. Let ee be the edge. A maximum matching of the graph with ee loses at most one edge, namely ee, when ee is removed, and what remains is a matching of the graph without ee. A matching of the graph without ee is also a matching of the graph with ee. So the two values differ by at most one. □\square

Lemma 2 (MM stays a matching of the current graph). After every update, MM is a matching, and all its edges are edges of the current graph.

Proof. A rebuild returns a matching of the current graph. Line L2 adds an edge of the graph whose two ends are free, so MM stays a matching. Line L3 removes the deleted edge from MM if it was there, so every edge of MM is still present. No other line changes MM or the graph. □\square

Lemma 3 (stability). Let M0M_0 be the matching right after a rebuild of the graph G0G_0, with ν(G0)=∣M0∣\nu(G_0) = |M_0|. After tt more updates, with no rebuild in between, the matching MtM_t and the graph GtG_t satisfy

ν(Gt)≤∣M0∣+tand∣Mt∣≥∣M0∣−t.\nu(G_t) \le |M_0| + t \quad \text{and} \quad |M_t| \ge |M_0| - t.

Proof. The first inequality follows from Lemma 1 by induction on tt. For the second, between rebuilds only line L3 removes edges from MM, at most one per update, and line L2 only adds edges. □\square

Lemma 4 (the budget is enough). If t≤b=⌊ε∣M0∣/(2+ε)⌋t \le b = \lfloor \varepsilon |M_0| / (2 + \varepsilon) \rfloor, then (1+ε)∣Mt∣≥ν(Gt)(1 + \varepsilon)|M_t| \ge \nu(G_t).

Proof. From t≤ε∣M0∣/(2+ε)t \le \varepsilon |M_0| / (2 + \varepsilon) we get (2+ε)t≤ε∣M0∣(2 + \varepsilon) t \le \varepsilon |M_0|, that is, ∣M0∣+t≤(1+ε)(∣M0∣−t)|M_0| + t \le (1 + \varepsilon)(|M_0| - t). By Lemma 3, ν(Gt)≤∣M0∣+t≤(1+ε)(∣M0∣−t)≤(1+ε)∣Mt∣\nu(G_t) \le |M_0| + t \le (1 + \varepsilon)(|M_0| - t) \le (1 + \varepsilon) |M_t|. □\square

Theorem. After every update, MM is a matching of the current graph with (1+ε)∣M∣≥ν(G)(1 + \varepsilon)|M| \ge \nu(G).

Proof. MM is a matching of the current graph by Lemma 2. Consider the last rebuild before or at the current update, with matching M0M_0 and budget bb. If the rebuild happened at this update, then M=M0M = M_0 is maximum and the bound is clear. Otherwise the counter cc equals the number tt of updates since that rebuild, and since line L5 did not rebuild, t≤bt \le b. Lemma 4 gives the bound. The structure starts with a rebuild of the empty graph, so a last rebuild always exists. ■\blacksquare

Back to Gupta-Peng dynamic matching algorithm