### Homework 1

Due: October 30, in class
1. Show that is a matching M* is perfect, and M is another matching in the same graph, then M ⊕ M* is a set of alternating paths and cycles with exactly |M*|- |M| augmenting paths.
2. Describe, in detail, how to implement one iteration of the Gabow-Tarjan scaling algorithm in linear time.
3. Give a scaling-based auction algorithm that has a polynomial running time. Use the results from class and from the paper on the website as a building block. Analyze the running time.
4. Show that any maximal matching in a bipartite graph always has at least half the size of a maximum matching.
5. For the assignment problem, the greedy algorithm which just repeatedly chooses the minimum cost edge that is not incident to any matched edges can be bad. Give an example that shows that this algorithm can return a solution whose value is much larger than the value of the optimal solution. That is, show that the ratio between the value returned and the optimal value is large.
6. Suppose now that you have an assignment problem in which the costs have a special structure. Let the two vertex sets be denoted by A and B. There is a value associated with each vertex: ai with each vertex i in A and bj with each vertex j in B. An edge (i,j) has cost ci,j = |ai - bj|. Consider the greedy algorithm which repeatedly chooses the minimum cost edge that is not incident to any matched edge. Can you bound the ratio between this solution and an optimal solution? If not, can you give an example to show how far apart they are?