a. The symmetric difference will be in the odd position in P, so it will be a matching. Because the length of P must be odd, the |P∩{E-M}| - |P∩M| = 1, |M⊕P| = |M|+1. If there are k vertex-disjoint augment paths, then we can get a matching cardinality |M| + k.
b. Because the degree in M and M’ is 1, so degree in M⊕M* is at most two. A graph with maximum degree 2 is either path or cycle, and the edge must be alternately to M or M*. If |M|≤ |M*|, we can collect all the path in M⊕M* to form the augment path. Because the number of edge from M or M* in a cycle is the same and the difference of number of edge from M or M* in path is one, so there must be |M*| – |M| paths.
c. If P is vertex-disjoint from P1 to Pk with l edges or fewer, then P will be found prefiously.
d. By the definition, A will be (P1∪ ..∪Pk). Because the operation ⊕ is associated, (M⊕M’)⊕P = M⊕(M’⊕P) and we know that |M’⊕P| – |M| = k+1. Thus, (M⊕M’)⊕P contains at least k+1 vertex-disjoint paths with lenght at least l. That is, |A|≥(k+1)l.
e. Suppose that there is a maximum matching M*, we know that there are |M*|-|M| vertex-disjoint path in M*⊕M. Because there are at most |V| vertex and the shortest augment path for M has length l, so |M*|-|M| < |V| / l.
f. When l = , the maximum matching is at most |M| +
. On the other hand, when we increment l by one, we can increase M by 1. Because there are at most
augment path, we can find them in another
iteration.
g. Using the BFS from unmatched vertex to find the shortest augmenting path length l, and use the DFS to trace back the paths.