There are seven questions for 100 total points. The scale is A=90, B=60. The first four problems are "true/false with explanation".
TRUE. Let T be a spanning tree that does not contain e. Add e to T, creating a graph U that has a cycle. Find an edge on that cycle other than e and call it e'. Removing e' from U cannot cause U to become disconnected because the endpoints of e' are still connected through the cycle. So U - {e'} is a spanning tree, because it is a connected graph with the right number of edges. The weight of this tree is strictly less than the weight of T, because we added e to T and removed e' and w(e) < w(e'). So T cannot have been an MST, since there is another tree of strictly smaller weight.
FALSE. First note that the min-cut-max-flow theorem is not relevant here, because we are talking about maximum cuts. (I actually meant to phrase the question in terms of minimum cuts, and the answer would have been similar.) There is no reason why adding 1 to all edges might not promote one cut ahead of another, and all we need is an example. Mine has edges (s,4,a), (a,1,b), (a,1,c), (a,1,d), (b,1,t), (c,1,t), and (d,1,t). The maximum cut in this graph has just s on one side and has size 4. But in H, all the weight-1 edges become weight 2 and there are two cuts of weight 6 while the previous cut goes from weight 4 to 5. A single counterexample is enough to refute the given statement.
TRUE. (Though no such method is known, and it may well have been proved that none can exist.) We would have a recurrence for the time T(n) to multiply two n-bit numbers, with T(n) = 6T(n/3) + O(n). (The O(n) is because we can add two n-bit numbers in O(n) time and we are told that this method uses only O(1) additions.) This solves by the Master Theorem to T(n) = nβ, where β = log36. (Here α = 1, so we are in the α<β case of the Master Theorem.) All we need to check is that log36 equals the given exponent 1 + log32, which is true because log36 = log33 + log32.
FALSE. This all looks good until the end where it says "ordinary integer
addition and multiplication" instead of min-plus. But although this statement
does not describe the min-plus matrix method from lecture, we still have to
present an argument that this alleged method does not also work. A
single counterexample suffices to refute the claim. Let the graph be a triangle
with all weights equal to 1:
The statement would have it that the shortest-path distance from vertex
1 to itself is 2, whereas we know that it is zero.
0 1 1 0 1 1 2 1 1
A = 1 0 1 A^2 (min-plus) = 1 0 1 A^2 (ordinary) = 1 2 1
1 1 0 1 1 0 1 1 2
I is a subset system because if we take any set of intervals X in I and remove
one or more of the intervals, the remaining set Y has no overlaps. This is
because if two intervals in Y overlapped, they would also overlap in X and X
would not be a valid set in I.
We only need one counterexample to the Exchange Property to show that I need
not be a matroid. Let E consist of the intervals (1,3), (2,5), and (4,6).
The sets A = {(1,3), (4,6)} and B = {(2,5)} are both in I.
If I satisfied the Exchange
Property, we would be able to take one of the two intervals in A and add it to
B with the resulting set being in I. But both these intervals overlap with
(2,5). A and B are also maximal sets of different size, and thus provide a
counterexample to the Cardinality Theorem.
Let E be the set of intervals above and assign weight 2 to each interval in A and weight 3 to the interval in B. Then the greedy strategy results in B, with total weight 3, whereas the optimal solution is A, with total weight 4.
Sort and renumber the intervals in order of finish time as suggested. For each i from 1 to n, we calculate the subset Si of the first i intervals that is in I and has the largest total weight. Clearly S1 = {1} as no overlap is possible. Once we have Si, we calculate Si+1 as follows. We consider two candidate sets. The first is just Si. The second is Sj &union; {i+1}, where j is the index of the last interval to finish before interval i+1 starts. This second set contains no overlap, and because Sj was the best choice among the first j intervals, it is the best choice among the first i+1 intervals if we restrict to sets containing interval i+1. To get Si+1, we just take the higher-scoring of these two candidate sets. Once we have Sn, this is the final answer. The running time is O(n log n) to sort and O(n log n) to compute the n sets. (Computing the second candidate set requires finding the particular value of j, which we can do in O(log n) time by binary search. There are other ways to do the job that are still polynomial time.)
Given the information as to which element has which attribute, describe how to define a flow network such that a maximum flow through the network can be used to find a traversal of maximum possible size. Explain carefully why the maximum flow has to be of the form necessary to define the traversal.
We make a vertex for each element of E and a vertex for each element of C, and
add the following edges, all of weight 1:
Any traversal of size k corresponds to a flow of size k through this
graph, where we take the edges from s to each element of T, from each a in
T to its corresponding f(a), and from each element of A to t. Furthermore,
any integer flow in this directed graph corresponds to a traversal,
because we may take T to be the set of endpoints of edges from S and A to be
the startpoints of edges to T, and the intermediate edges give us the function
f.
However, for full credit on the problem you must argue that the maximum
flow in this graph must be an integer flow, rather than for example having
fractional flows along edges that would not necessarily correspond to a
traversal. (This is what the last sentence of the question meant.) The reason
we know that the maximum flow is an integer flow is that the Ford-Fulkerson
algorithm gets a maximum flow, and it only deals with integer flows if all the
capacities in the flow diagram are integers.
Last modified 4 April 2006