Q1: 10 points Q2: 10 points Q3: 10 points Q4: 10 points Q5: 15 points Q6: 15 points Q7: 15 points Q8: 15 points Total: 100 points
Question text is in black, solutions in blue.
For Questions 1-4, the graph H has node set {a, b, c, d, e, f} and twelve edges: (a, b), (a, d), (a, e), (a, f), (b, c), (b, d), (b, e), (c, d), (c, e), (c, f), (d, f), and (e, f).
They are not. H has degree sequence {4, 4, 4, 4, 4, 4). Let H' be the graph with the same six vertices and all edges except (a, b), (a, c), and (b, c). Since it has degree sequence (3, 3, 3, 5, 5, 5), and isomorphic graphs have identical degree sequences, H and H' are not isomorphic even though they each have six nodes and twelve edges.
H is planar. If we draw the Hamilton cycle a-b-d-c-f-e-a as a circle in the plane, we can place the edges (a, d), (d, f), and (f, a) outside the circle and the edges (b, c), (c, e), and (e, b) inside it. Euler's Formula r = e - v + 2 gives 12 - 6 + 2 = 8 regions. In the planar embedding above there are four regions inside the circle and four outside it, the latter including the region outside the entire drawing. (We could also put this graph on a sphere, with the nodes and edges of a regular octohedron.)
Since all vertices have degree 4, H has an Euler circuit but no Euler path (an Euler path is defined to not be an Euler circuit). There are several Hamilton circuits such as the one referred to in the solution to Question 2 above. If we delete any one edge from any of these circuits, we get a Hamilton path.
H's chromatic number is 3. We get a 3-coloring by making a and c red, b and f blue, and d and e green. There cannot be a 2-coloring because H contains a number of triangles, including a-b-d.
We know that a tree of n nodes has n-1 edges, and so the average degree of its nodes is 2(n-1)/n = 2 - 2/n < 2. Thus the tree must contain at least one node of degree less than 2. If the tree has more than one node, no node has degree 0 because the tree is connected. So the node of degree less than 2 must have degree 1 and be a leaf. (I should have ruled out the case of a 1-node tree, but there we can consider the single node of degree 0 to be a leaf.)
We use induction on n, starting with n = 2. In the base case, both
nodes have degree 1 and are thus leaves. Assume that every tree
of n nodes has at least two leaves. Let G be an arbitrary tree of
n+1 nodes. By part (a), G has a leaf, so let G' be the graph
obtained by deleting this leaf (and its edge) from G. G' is still
connected and cannot have a cycle, so it is a tree and by the IH
has at least two leaves. At most one of these two leaves can be
adjacent to the node we removed, so the other one is still a leaf
and, with the leaf we removed, gives us at least two leaves in G.
Note: Many people assumed that the tree of n+1 nodes had to be
obtained by adding a node (or even adding a leaf) to a tree of n
nodes. This is not immediate -- we justify it above only by appealing
to part (a) to say that an arbitrary tree of n+1 nodes must be
obtainable in this way.
If we run Kruskal's Algorithm, it will take all 12 weight-1 edges,
since there is no cycle formed by these edges alone. This
leaves us with four connected components, and the algorithm will
select three more edges to complete an MST of weight 18.
An alternate argument is as follows: Any spanning tree must
contain exactly fifteen edges, so the minimum possible weight
would be all 12 1-edges and 3 2-edges for total weight 18. Thus
if we exhibit any spanning tree of this weight, we know it is
minimal.
I did insist that you justify the claim that the tree you found
was minimal. If you said that you were using either the Kruskal
or Prim algorithms, this was fine, because it was proved in
lecture and in the text that these algorithms always find an MST.
Again, Kruskal takes the n(n+1) 1-edges, since these do not form a cycle. These edges form a graph with n+1 connected components, so exactly n 2-edges are needed to form a spanning tree and Kruskal will find such a set. The total weight will be n(n+1) + 2n = n2 + 3n.
Suppose we instead wanted a matching with the maximum possible total weight. Indicate how we can use the given algorithm for minimum-weight matching to solve this problem in polynomial time.
Let G be the weighted graph for which we want the maximum matching,
and M be the largest weight of any of the edges of G. Define G'
to be a weighted graph with the same edges as G, and edges given
by taking each edge of weight w in G and replacing it with an
edge of weight 2M - w.
Use the given algorithm to find a minimum-weight matching in
G'.
Let the edges of this matching be e1,...,
en with weights w1,..., wn.
The weight of this matching in G is 2Mm - (sum of
wi's).
This is at least as great as the weight of any other matching in
G, because such a matching of total weight t would have weight
2Mn - t in G', and this is greater than the sum of the
wi's because of the minimality of the matching chosen
by the algorithm.
There were a number of interesting wrong answers to this one:
The result is that the maximum flow in Gc is exactly c
greater than the maximum flow in G. There are two directions
in the proof of this claim. First, given a maximum flow of
value f in G, we can add a flow of c on the new edge and get a
flow of f + c in Gc. Secondly, the maximum flow in
Gc must have the new edge saturated, because
otherwise it could be increased by increasing the flow on that
edge. So it cannot be more than f + c, because removing the
flow of c on the new edge gives us a valid flow in G and f is
the maximum flow there.
An equally good argument uses the min-cut max-flow
theorem. Changing G to Gc adds exactly c to every
cut in G, so it adds exactly c to the minimum cut, and thus
adds exactly c to the maximum flow.
Given any network with an edge of capacity c from a to z, we can delete the edge, analyze the resulting network, and increase the maximum flow we find by c to get the flow in the original network. So it suffices to be able to analyze networks with no edge from a to z.
Last modified 22 October 2016