6

Suppose we have a graph G. How can we find a spanning tree that minimizes the maximum weight of all the edges in the tree? I am convinced that by simply finding an MST of G would suffice, but I am having a lot of trouble proving that my idea is actually correct. Can anyone show me a proof sketch or give me some hints as to how to construct the proof? Thanks!

David Richerby
  • 81,689
  • 26
  • 141
  • 235
Aden Dong
  • 1,131
  • 1
  • 9
  • 24
  • 2
    Try to construct a counterexample. Not sure that one exists, but for a moment I felt that one does. In any case, this is a good proof strategy. – Dave Clarke Jun 04 '12 at 16:39
  • 1
    http://en.wikipedia.org/wiki/Minimum_spanning_tree#Minimum_bottleneck_spanning_tree – Jukka Suomela Jun 04 '12 at 16:52
  • ahh so my intuition was correct. Thank you Jukka Suomela! – Aden Dong Jun 04 '12 at 16:55
  • Mine failed me. – Dave Clarke Jun 04 '12 at 17:19
  • just goes to show how unreliable intuitions are. but sadly my mind can't think rigorously enough so that i still have to rely on my intuitions sometimes. – Aden Dong Jun 04 '12 at 17:28
  • 6
    If you know Kruskal’s algorithm for the minimum spanning tree, it is an easy exercise to show that the output of Kruskal’s algorithm is a minimum bottleneck spanning tree. (I think that it is easier than showing that the output of Kruskal’s algorithm is a minimum spanning tree.) – Tsuyoshi Ito Jun 04 '12 at 17:39
  • actually, a simple exchange argument would suffice without necessarily having to appeal to Kruskal's algorithm. – Aden Dong Jun 04 '12 at 18:23
  • 2
    @AdenDong if you solved your own question, feel free to self-answer. – Artem Kaznatcheev Jun 05 '12 at 00:47
  • @AdenDong: The more rigorous facts you know the more intuition you need to manage them. Intuition is a good thing, after it has been shaped by experience to be right more often than not. – Raphael Jun 05 '12 at 11:09
  • 2
    @DaveClarke: "In any case, this is a good proof strategy." -- True. Worked for me. TCS/maths education should focus way more on this back and forth that is inherent to the process. – Raphael Jun 05 '12 at 11:15
  • 1
    Note that this can be done in linear time (faster than finding an MST). The basic idea is to binary search for the minimum K such that deleting edges of cost more than K leaves the graph connected. In addition, when you query a K and determine that it is big enough, you delete all edges of cost greater than K. When you query a K and determine it is too small, you contract all edges that have cost at most K. (You use median finding on the remaining edge costs to find the K to query.) – Neal Young Nov 21 '12 at 21:50

2 Answers2

5

What follows is taken from Tsuyoshi Ito's comment.

If you know Kruskal’s algorithm for the minimum spanning tree, it is an easy exercise to show that the output of Kruskal’s algorithm is a minimum bottleneck spanning tree. (I think that it is easier than showing that the output of Kruskal’s algorithm is a minimum spanning tree.)

Yuval Filmus
  • 276,994
  • 27
  • 311
  • 503
2

Given a graph $G(V, A)$, we know that any spanning tree contains an edge in every cutset. Let $S_{min}^{max}$ and $S$ be the minimax weight spanning tree of $G$ and minimum weight spanning tree of $G$ resp. Any edge $e \in S$ is associated with a cutset $C$. Corresponding to cutset $C$,$S_{min}^{max}$ must also contain an edge, say $e'$. Then if $w(e') < w(e)$, we know that replacing $e$ with $e'$ in $S$ will produce a new spanning tree with lower overall weight, thus contradicting our assumption of optimality of $S$. Hence, we can see that the weight of every edge in $S$ is no greater than the weight of a corresponding edge (obtained from the cutset) in $S_{min}^{max}$. Since, we have compared every edge in $S$ but perhaps possibly may not have compared every edge of $S_{min}^{max}$ in the above process for comparison, the max weight edge in $S_{min}^{max}$ has to be atleast as much as much as the max weight in $S$. Hence we can conclude that $S$ itself produces a minimax weight spanning tree.

csTheoryBeginner
  • 393
  • 1
  • 12