Professor Tang’s online seminar course today covers online matching.
(very short) motivation
The (offline) maximum matching problem is a well-studied area in graph theory, even though some cases (e.g., on general graphs with weights) can be NP-hard. Classic algorithms have provided efficient solutions for specific cases:
- Bipartite matching: Solved using the Ford-Fulkerson Algorithm for maximum flow.
- Weighted bipartite matching: Uses the Hungarian Algorithm to find an optimal match.
- Unweighted general graphs: Solved by Edmonds’ Blossom Algorithm, which extends matching theory to handle odd-length cycles.
These problems have wide applications, from job assignments to network design. Here’s a snapshot of real-world examples:
However, many of these matching problems occur in online settings…
why online is fascinating
Let’s start with the classical online bipartite matching problem:
- One side of the bipartite graph (e.g., workers) is fixed and known in advance.
- The other side (e.g., jobs) with edges arrives one-by-one in an online fashion.
- Upon arrival, a decision must be made immediately and irrevocably: Does this new node connect to one of the available nodes on the fixed side?
The objective is to maximize the number of matches. We study the competitive ratio (the worst ratio in any graph and any arrival order) $$ \inf_{\text{instances}}\frac{\text{ALG}}{\text{OPT}}. $$
Notice that it’s prior free.
deterministic algorithm
Consider the greedy algorithm—matching an online vertex whenever it is possible. The greedy algorithm is 1/2-competitive.
- Notice that greedy algorithm’s matching guarantees that for each edge, at least one of the endpoints is matched. This provides that greedy matching is at least 1/2 approximation of the any matching (hence, maximum matching).
- A simple 4-point example can upper bound the algorithm’s performance.
Sad. But this instance is so stupid that we would expect randomized algorithm to have improvement—we’ll talk about it tmrw, with high probability.