 
Summary: CMPSCI 611: Advanced Algorithms
Micah Adler
Problem Set 2 Out: October 7, 2003
Due: October 14, 2003
1. For a graph G = (V; E), an edge cover E(V ) is a subset E 0 E of the edges that has at least one
incident edge for every vertex in V . We can also dene an edge cover for V 0 V , a subset of the
vertices, where in this case the edge cover E(V 0 ) = E 0 E has at least one incident edge for every
vertex in V 0 . The edges in E(V 0 ) are allowed to use vertices in V V 0 . Finally, a matching cover of
V 0 is an edge cover of V 0 that is also a matching.
(a) Given a graph G = (V; E), let (V; I) be the subset system where V 0 2 I if and only if there is a
matching cover of V 0 . Show that this is indeed a subset system, and that it is a matroid.
(b) Given a graph G = (V; E) and a coloring of its vertices (i.e., an assignment of one positive integer
to each of its vertices), let (V; J ) be the subset system where V 0 2 J if and only if V 0 has at most
one vertex of each color. Show that (V; J ) is a matroid.
(c) Given a graph and a coloring of its vertices, show that we can nd in polynomial time the largest
subset of vertices V 0 such that there is a matching cover of V 0 and there is at most one vertex
of each color in V 0 . You can use without proof the fact that checking whether or not there is a
matching cover of a subset V 0 can be done in time O(jV j jEj).
2. In this problem we consider some generalizations of the knapsack problem.
(a) Describe how to change the knapsack algorithm described in lecture to deal with the case where
