Summary: CMPSCI 611: Advanced Algorithms
Problem Set 2 Out: October 10, 2001
Due: October 17, 2001
1. In lecture, we saw an algorithm for the bipartite matching problem. With some eort, the general
technique we used can be extended to work for arbitrary graphs as well. In this question, you are
asked to provide an algorithm for an easier problem: directed matchings in arbitrary graphs.
Given a directed graph G = (V; E), a directed matching is a subset of the edges such that the indegree
of any node is at most 1, and the outdegree of any node is at most 1. Show how to use an e∆cient
algorithm for the (undirected) bipartite matching problem to nd the largest cardinality directed
matching in an arbitrary graph.
2. Intersection of matroids.
(a) Consider the following problem: we are given a graph G = (V; E), a vertex v 2 V , and an integer
k, and we want to determine whether or not there is a spanning tree of G in which v has degree k or
less. Show that this problem can be formulated as the intersection of two matroids. What does this
imply about how e∆ciently the problem can be solved?
(b) Consider now the following problem: we are given for each vertex i an integer k i
, and we want to
determine whether there is a spanning tree of G in which each vertex i has degree at most k i