Abstract

We present a linear expected time algorithm for finding maximum cardinality matchings in sparse random graphs. This is optimal and improves on previous results by a logarithmic factor.

Highlights

  • A matching M in a graph G = (V, E) is a set of vertex disjoint edges

  • We have shown that a maximum matching can be found in O(n) expected time if the average degree is a sufficiently large constant

  • It is easy to extend this to the case where the average degree grows with n

Read more

Summary

Introduction

One natural approach to finding a maximum matching is to use a simple algorithm to find an initial matching and augment it This will not improve execution time in the worst-case, but as we will show, it can be used to obtain an O(n) expected time algorithm for graphs with constant average degree (O(m) in general). For a simple algorithm we go to the seminal paper of Karp and Sipser [6] They describe a simple greedy algorithm and show that whp it will in linear time produce a matching that is within o(n) of the maximum. In this paper we show that whp we can take the output of the Karp-Sipser algorithm and augment it in o(n) time to find a maximum cardinality matching. The expectation here is over the choice of input and the random choices made by the algorithm

The Karp-Sipser algorithm
Outline Description of Match
Augmenting Path Algorithm
Data Structures
Tree Expansion
Structure of Γ
Proof of Lemma 2
Proof of Lemma 3
Karp-Sipser conditioning
Witness edges
Probability Space
Final Proof
The Batch Graph
Good Matching edges
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call