Lecture 11: Perfect Matchings using Matrix Methods

A couple things:

  • Jason pointed out that one can use Lovasz’ basic idea with binary search to actually reduce the number of calls from m to O(n \log n), and hence get an \widetilde{O}(n^{\omega+1}) algorithm using very basic techniques.His approach is this: suppose we know that the graph G has a perfect matching. Then pick a vertex v and test whether there exists a perfect matching that uses only the first half of its incident edges. If so, recurse using that half of the edges; if not, recurse using the other half. We will do only O(\log n) queries before we find an edge matching v to someone in a perfect matching. Hence the claim of O(n \log n) tests!
  • Also, the idea to compute the inverse of a matrix A_{-j,-1} from A^{-1} in O(n^2) time is based on the following observation. Suppose

    A = \begin{bmatrix}a_{1,1} & u^T\\v & B\end{bmatrix}

    is non-singular with a_{1,1} \neq 0, and

    A^{-1} = \begin{bmatrix}\hat{a}_{1,1} & \hat{u}^T\\\hat{v} & \hat{B}\end{bmatrix}.

    Then

    B^{-1} = \hat{B} - (\hat{u}\hat{v}^T)/\hat{a}_{1,1}.

    Just using this idea along with the Rabin-Vazirani approach gives an O(n^3) algorithm, since we need to compute n inverses, each taking O(n^2) time. Mucha and Sankowski showed how to speed this up to find a perfect matching in O(n^\omega) time.

  • Finally, we only saw the proofs for bipartite graphs in lecture, the general graph case also goes through with more work.
Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s