Homework 1: Due thursday Jan 19.

- Prove the Konig-Egervary theorem: in any bipartite graph, the size of the maximum matching equals the size of the minimum vertex cover. Turn in a careful write-up of your proof.
- (problem 3.3 in text) The Directed Steiner Tree problem is the following.
Given a directed graph G=(V,E) with non-negative edge costs, a root vertex r, and a subset of vertices S, find a minimum-cost tree in G rooted at r and containing all vertices in S. (A tree in a directed graph is a collection of directed edges such that those edges together with their reversals contain no cycle of length > 2. The tree is rooted at r if there is a directed path in the tree from each vertex in the tree to r.)
The Set Cover Problem is, given a collection of sets, to choose some of those sets so that every element is in some chosen set. The goal is to minimize the number of chosen sets. Unless P=NP, there is no o(log n)-approximation algorithm for set cover, where n is the number of elements in the problem instance.

Using this latter fact, show that (unless P=NP) there is no o(log n)-approximation algorithm for the Directed Steiner tree problem, by giving an approximation-preserving reduction from Set Cover to Directer Steiner tree.

Turn in a careful write-up of your proof.