CSCI 256

Only turn in problems from the second section.
Illustrate how to use FordFulkerson to find a maximal matching in the following bipartite graph:
Design a lineartime algorithm for finding a maximum matching in a tree. Hint: Think recursively and start with a leaf. Be sure to prove that you have a maximum matching and that it is linear time.
Let G be an undirected bipartite graph, and let M be an arbitrary matching in G. Construct an algorithm to find a maximum matching in G that covers all the vertices that M covers. (A vertex is covered by a matching M if it is incident to one of the edges of M.) Note that edges in M may be dropped in finding the maximal matching, you are only asked to show that vertices that were mentioned in the original M are also mentioned in the final matching. Hint: Look at how we found maximum matchings and examine the algorithm carefully. You may need to make minor modifications or restrictions to preserve vertices.
Problem 273 on page 627.
Hints:For part a, interpret the solution to part a as telling you that given a cut (S,T), if the node corresponding to an experiment is in T, then so are all of the nodes corresponding to the instruments needed to perform that experiment.
For part b, note that minimizing the value V of a cut is equivalent to maximizing the value of P  V for any T. Use this with P = sum of all of the p_{j} to get an expression involving the net revenue for running the experiments in T (where (S,T) is the minimum cut).
You need not analyze the complexity of your algorithm, but do write out carefully the algorithm.
Let S_{1}, ..., S_{k} be a collection of sets. A system of distinct representatives (SDR) is a set R = {r_{1}, ..., r_{k}} of distinct elements such that r_{i} in S_{i}, for all 1 <= i <= k. In other words, R includes exactly one representative from each set. It is not always possible to find an SDR of a given collection of sets. For example, there is no SDR for the collection of sets S_{1} = {1,2}, S_{2} = {2,3,4}, S_{3} = {1,3}, S_{4} = {1,2,3}, and S_{5} = {2,3}. However, if we leave off S_{5}, the first four sets have SDR {1,4,3,2}.
Design an algorithm that, given a collection of sets, determines whether that collection has a SDR, and, if so, returns the SDR. Hint: Reduce this to the problem of finding a maximal matching of a bipartite graph G where L is a set of vertices with one vertex, v_{i}, corresponding to each S_{i} and R is a set of vertices with one vertex, v_{j}, corresponding to each element e_{j} in the union of the S_{i}'s.
Be sure to discuss the translation of input to appropriate input for the matching as well as the translation of the output to the appropriate answer for the SDR problem. What is the complexity of the algorithm?
Back to:
kim@cs.williams.edu