An Auction Algorithm for Bipartite Matching in Streaming and Massively Parallel Computation Models

[ALT21] An Auction Algorithm for Bipartite Matching in Streaming and Massively Parallel Computation Models, reading note.

Auction is an amazing algorithm!

Introduction

Auction algorithm is a powerful algorithm which can efficiently solve (1+ε)(1 + \varepsilon)-approximate maximum matching problem.

The standard auction algorithm treats the vertices on the two sides of the bipartition as bidders and items, respectively. The auction then starts with every bidder as unallocated and every item with price 00. In each iteration of the auction, an arbitrary unallocated bidder is selected to report an item with minimum price among the items he desires (i.e., are in the neighborhood of the corresponding vertex in the graph). The price of this item is then increased by and it will be reallocated to this bidder. This process is continued while keeping the price of items capped at 11 (i.e., the items with price 11 are no longer reallocated).

Algorithm

[ALT21] introduces a new strategy to update currently matching in each iteration during the auction algorithm.

W.l.o.g, we can assume that 1/ε1 / \varepsilon is an integer. Then the upper bound of prices is 11.

ALT21-ALGO

Correctness

Defn 3.1. (Utility) For each allocated bidder uLu \in L, we define its utility as util(u)=1pau\text{util}(u) = 1 - p_{a_u}, where aua_u is the item allocated to uu. For unallocated bidder vLv \in L, let util(v)\text{util}(v) be 00.

Defn 3.2. (ε\varepsilon-happy) We say that a bidder ii is ε\varepsilon-happy if and only if util(i)1pjε\text{util}(i) \ge 1 - p_j - \varepsilon for all jΓ(i)j \in \Gamma(i), i.e. changing the allocation of ii to any other item does not increase the utility of ii by more than ε\varepsilon.

Fact 3.3. In every iteration of the auction, allocated bidders as well as unallocated bidders with empty demand sets are ε\varepsilon-happy.

Proof. This fact holds as:

  1. Each allocated bidder picked the minimum price item in its neighborhoods (and increased its price only by ε\varepsilon), and the price of items are monotonically increasing.
  2. Every item in the neighborhoods of an unallocated bidder with empty demand set has price 11 and thus picking that item cannot increase the utility of the bidder by more than. \Box

Let MM^* be a maximum matching of GG and OPTL\text{OPT} \subset L be the set of bidders in LL that are matched by MM^*. For any iOPTi \in \text{OPT}, we further use biRb_i \in R to denote the item that is allocated to ii in MM^*.

We first show that then most of the bidders in OPT\text{OPT} are ε\varepsilon-happy, then at the end of algorithm, we will get a (1+ε)(1 + \varepsilon)-approximate maximum matching.

Lemma 3.4. Suppose at the end of some iteration of the auction, at least (1ε)μ(G)(1 - \varepsilon) \mu(G) bidders in OPT\text{OPT} are ε\varepsilon-happy.Then, the final matching MM has size at least (12ε)μ(G)(1 - 2 \varepsilon) \mu(G).

Proof. Let Happy\text{Happy} be the collection of ε\varepsilon-happy bidders. First notice that:

iLutil(i)iHappyOPTutil(i)iHappyOPT(1pbiε)=HappyOPT(1ε)iHappyOPTpbi(12ε)μ(G)iHappyOPTpbi\begin{aligned} \sum_{i \in L} \text{util}(i) & \ge \sum_{i \in \text{Happy} \cap \text{OPT}} \text{util}(i) \\ & \ge \sum_{i \in \text{Happy} \cap \text{OPT}} (1 - p_{b_i} - \varepsilon) \\ & = |\text{Happy} \cap \text{OPT}| \cdot (1 - \varepsilon) - \sum_{i \in \text{Happy} \cap \text{OPT}} p_{b_i} \\ & \ge (1 - 2 \varepsilon) \mu(G) - \sum_{i \in \text{Happy} \cap \text{OPT}} p_{b_i} \end{aligned}

where the second inequality holds since ii is ε\varepsilon-happy, and the last inequality holds since HappyOPT|\text{Happy} \cap \text{OPT}| is at least (1ε)μ(G)(1 - \varepsilon) \mu(G).

On the other hand, we have:

iLutil(i)=iHappy && ai(1pai)MiHappy && aipaiMjRpj\begin{aligned} \sum_{i \in L} \text{util}(i) & = \sum_{i \in \text{Happy \&\& }a_i \ne \bot} (1 - p_{a_i}) \\ & \le |M| - \sum_{i \in \text{Happy \&\& }a_i \ne \bot} p_{a_i} \\ & \le |M| - \sum_{j \in R} p_j \end{aligned}

Thus:

M(12ε)μ(G)+jRpjiHappyOPTpbi(12ε)μ(G)|M| \ge (1 - 2 \varepsilon) \mu(G) + \sum_{j \in R} p_j - \sum_{i \in \text{Happy} \cap \text{OPT}} p_{b_i} \ge (1 - 2 \varepsilon) \mu(G)

as desired. \Box

Finally we prove that such iteration exists:

Lemma 3.5. There exists an iteration r2/ε2r \le \lceil 2 / \varepsilon^2 \rceil wherein at least (1ε)μ(G)(1 - \varepsilon) \mu(G) bidders in OPT\text{OPT} are ε\varepsilon-happy.

Proof. Consider the following two potential functions:

Φ1=jRpj, Φ2=iLminjΓ(i)pj\Phi_1 = \sum_{j \in R} p_j,\ \Phi_2 = \sum_{i \in L} \min_{j \in \Gamma(i)} p_j

Since jRj \in R is allocated iff pj>0p_j > 0, and 0pj10 \le p_j \le 1, then we can get that 0Φ1,Φ2μ(G)0 \le \Phi_1, \Phi_2 \le \mu(G). And since the prices can only increase, Φ1,Φ2\Phi_1, \Phi_2 are all monotone.

Assume that at the beginning of an iteration, there are at least εμ(G)\varepsilon \mu(G) unhappy bidders in OPT\text{OPT}. And then for these unhappy bidders, by Fact 3.3, algorithm will create a subgraph GrG_r and try to find a maximal matching in this subgraph to allocate these bidders.

For each unhappy bidder ii, after this iteration, there will be two cases: ii becomes allocated or still remains unallocated. Each of the former bidders contributes a value ε\varepsilon of to Φ1\Phi_1 as paip_{a_i} increases ε\varepsilon. And each of the latter bidders contributes a value ε\varepsilon to Φ2\Phi_2. This is because the matching is maximal, which implies that: ii still remains unallocated iff all of its neighbors becomes allocated, i.e. jΓ(i)\forall j \in \Gamma(i), pjp_j increase ε\varepsilon. Thus minjΓ(i)pj\min\limits_{j \in \Gamma(i)} p_j also increases ε\varepsilon.

Thus after this iteration, Φ1+Φ2\Phi_1 + \Phi_2 increases ε2μ(G)\varepsilon^2 \mu(G). Since 0Φ1+Φ22μ(G)0 \le \Phi_1 + \Phi_2 \le 2 \mu(G), there will be at least (1ε)μ(G)(1 - \varepsilon) \mu(G) happy bidders in OPT\text{OPT} after at most 2/ε2\lceil 2 / \varepsilon^2 \rceil iterations. \Box

Application

Notice that each iteration in this algorithm can be easily simulated in O(1)O(1) passes in semi-streaming model with memory O(n)O(n) words. Thus we get a semi-streaming algorithm for (1+ε)(1 + \varepsilon)-approximate maximum matching with pass complexity O(1/ε2)O(1 / \varepsilon^2).

And for massively parallel computation model, // TODO

Supplement

[DNO14] provides a strategy that every unallocated bidder reports the index of a uniformly at random minimum-price item (as opposed to an arbitrary one), and the items are reallocated arbitrarily among the bidders that reported them, then the entire auction converges in O(logn/ε2)O(\log n / \varepsilon^2) iterations.

Interestingly, the result of [DNO14] can be seen as almost a special case of [ALT21]'s algorithm.

References

[ALT21] Sepehr Assadi, S Cliff Liu, and Robert E Tarjan. An auction algorithm for bipartite matching in streaming and massively parallel computation models. In Symposium on Simplicity in Algorithms (SOSA), pages 165–171. SIAM, 2021.

[DNO14] Shahar Dobzinski, Noam Nisan, and Sigal Oren. Eco
nomic e ciency requires interaction. In Symposium on Theory of Computing, STOC 2014, New York, NY, USA, May 31- June 03, 2014, pages 233242, 2014.