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 -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 . 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 (i.e., the items with price 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 is an integer. Then the upper bound of prices is .
Correctness
Defn 3.1. (Utility) For each allocated bidder , we define its utility as , where is the item allocated to . For unallocated bidder , let be .
Defn 3.2. (-happy) We say that a bidder is -happy if and only if for all , i.e. changing the allocation of to any other item does not increase the utility of by more than .
Fact 3.3. In every iteration of the auction, allocated bidders as well as unallocated bidders with empty demand sets are -happy.
Proof. This fact holds as:
- Each allocated bidder picked the minimum price item in its neighborhoods (and increased its price only by ), and the price of items are monotonically increasing.
- Every item in the neighborhoods of an unallocated bidder with empty demand set has price and thus picking that item cannot increase the utility of the bidder by more than.
Let be a maximum matching of and be the set of bidders in that are matched by . For any , we further use to denote the item that is allocated to in .
We first show that then most of the bidders in are -happy, then at the end of algorithm, we will get a -approximate maximum matching.
Lemma 3.4. Suppose at the end of some iteration of the auction, at least bidders in are -happy.Then, the final matching has size at least .
Proof. Let be the collection of -happy bidders. First notice that:
where the second inequality holds since is -happy, and the last inequality holds since is at least .
On the other hand, we have:
Thus:
as desired.
Finally we prove that such iteration exists:
Lemma 3.5. There exists an iteration wherein at least bidders in are -happy.
Proof. Consider the following two potential functions:
Since is allocated iff , and , then we can get that . And since the prices can only increase, are all monotone.
Assume that at the beginning of an iteration, there are at least unhappy bidders in . And then for these unhappy bidders, by Fact 3.3, algorithm will create a subgraph and try to find a maximal matching in this subgraph to allocate these bidders.
For each unhappy bidder , after this iteration, there will be two cases: becomes allocated or still remains unallocated. Each of the former bidders contributes a value of to as increases . And each of the latter bidders contributes a value to . This is because the matching is maximal, which implies that: still remains unallocated iff all of its neighbors becomes allocated, i.e. , increase . Thus also increases .
Thus after this iteration, increases . Since , there will be at least happy bidders in after at most iterations.
Application
Notice that each iteration in this algorithm can be easily simulated in passes in semi-streaming model with memory words. Thus we get a semi-streaming algorithm for -approximate maximum matching with pass complexity .
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 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.