This post explains my understanding in a proposed greedy algorithm for the maximum weighted matching problem.
The greedy algorithm goes as follows (listed by this paper in Introduction section):
It is claimed that the greedy algorithm is a 2 approximation, i.e., greedy result >= 1/2 optimal result.
The document where the greedy algorithm is proposed is erroneous therefore the proof for the 2 approximation is unreadable. Fortunately, another guy put his words to explain it: http://math.stackexchange.com/questions/1146224/proof-for-why-maximum-weight-matching-using-greedy-guarantees-at-least-1-2-the-w. However, I think further explanation is still needed to facilitate the understanding. Here is my thoughts:
If any edge
belongs to the optimal matching
but not the greedy matching
, it must be due to that at least one of its two vertices is incident on another edge
which is included in the greedy matching
. Due to the greedy algorithm,
otherwise the greedy algorithm could have selected
. Moreover,
because, if
, and we know
, then
contains two edges incident on the same node by contradiction.
Each
can be linked to an edge
where
. The same edge
can be counted at most twice if traversing all
(maybe one endpoint of
touches an edge
and maybe the other endpoint of
touches another edge
. ) Therefore,
. We can also obtain trivially, under the assumption that all weights are positive, that
. Adding the two inequalities together, we get
.
The greedy algorithm is not applicable to maximum weighted perfect matching because it is not guaranteed to find perfect matching. (perfect matching: every vertex is incident on exactly one edge in the matching. ) Provided that we have the following inequalities:
optimal result for maximum weighted matching > optimal result for maximum weighted perfect matching
1/2 * optimal result for maximum weighted matching <= greedy result for maximum weighted matching
, we conclude that the greedy result for maximum weighted matching can loosely be used for maximum weighted perfect matching, if perfect matching is not strictly required. It is more appealing when the graph is a complete graph. In a complete graph, the greedy method returns a perfect matching.
The greedy algorithm takes
to sort edge weights (
). In a complete graph where
(
), the greedy algorithm takes
, a little better than existing
methods (such as this) to solve maximum weighted perfect matching. There is also an
approximation method running in
. However, the method is much more complicated.
