0

Prove: If $T'=(V,F')$ is a spanning tree, but not a MST of $G=(V,E)$, then there are edges $e' \in F'$ and $e \in $ $E$ \ $F'$ such that $w(e)<w(e')$ and $T'$ \ $\{e'\} \cup \{e\}$ is a spanning tree.

My idea:

Let $T=(V,F)$ be a MST of $G$

for all $e \in T$, try to insert it into $T'$ and see if there is an edge in the cycle created that is heavier than $e$. If we found such $e$ we are done.

If not, define $G'=(V,F \cup F')$

This graph obviously has a MST, because $F \subset F' \cup F$

We didn't find a suitable $e$ in the previous part so all edges in $F$ may be colored in red in the generic algorithm for finding a MST in the graph $G'$.

That means there is a MST $T''=(V,F'')$ such that $F'' \subseteq F'$ but that is impossible because $T'$ is not a MST of $G'$, because $T$ is lighter (by definition $w(T)<W(T')$)

Does that seem correct?

EL_9
  • 133
  • 5
  • What is meant by "colored in red"? What does "$F''\backslash F'$ mean? Why "that is impossible because ..."? It looks like there is significant gap between your idea and a working proof. – John L. Jul 10 '20 at 15:08
  • @JohnL. By colored in red I mean that the generic algorithm for finding a MST is able to ignore those edges, because they are the heaviest in a cycle with no other red edges. I fixed the question. – EL_9 Jul 10 '20 at 15:25
  • "It is impossible because $T$ is lighter". That is just an intuition. Your idea might have gone a long way, but a correct proof is probably far away still. – John L. Jul 10 '20 at 15:39
  • @JohnL. I am sorry if I wan't clear enough. We know that $T'$ is not a MST of G, and that $T$ indeed is. Therefore, if we look at $G'$, $T$ is also a MST of it, because all edges in $T$ are also in $G'$. If we toss all edges in $F$ from $G'$, which we are allowed to because of the first part (because each edge in $F$ is the heaviest in a cycle where the other edges are from $F'$), we get that $F'$ must contain a MST, which is impossible, – EL_9 Jul 10 '20 at 15:44
  • @JohnL. nah $T'$ is by definition not a MST but a ST of $G$ and $T$ an MST of G. This means that the weighted edge sum of $T$ is strictly lower than that of $T'$. The same holds for $G'$ since all edges form $T'$ and $T$ are in there. So "because $T$" is lighter is true but a vague formulation. EL_9 should write that the edge sum is strictly lower by definition. – plshelp Jul 10 '20 at 15:46
  • @plshelp I invite you to write an answer. You will see why it is still a long way to go, unless you assume the weights of all edges are distinct, the much easier case. – John L. Jul 10 '20 at 16:05
  • @JohnL. Could you please elaborate? Where is the problem? – EL_9 Jul 10 '20 at 16:07
  • Consider weights {2, 2, 3} and {2, 3, 3}. Which weight is smaller than which weight? If you believe your proof is correct, try writing a program in your favorite language to see how you can implement your idea to output a lighter edge. If you can, please post your source code. There will be a bug or you cannot prove your algorithm works, unless you come up with another idea. – John L. Jul 10 '20 at 16:10
  • @EL_9 did you cover Kruskal's algorithm in class? Are you allowed to assume that it produces a MST? – plshelp Jul 10 '20 at 16:55
  • 1

1 Answers1

0

I have a proposal for a proof that doesn't involve "coloring" since it sounds vague.

Let $T' = (V,F')$ be a spanning tree but not a MST of $G=(V,E)$. Let $T = (V,F)$ be a MST of $G$.


You already did the following:
Now go through all $e \in F-F'$ and add $e$ to $T'$. Resulting graph contains a cycle if there is another edge $e'$ on the cycle such that $e\neq e',w(e) < w(e')$ we are done because $T'$ could be augmented.


My approach for the rest using Kruskal's algorithm:
Otherwise we construct a graph $G' = (V,F'\cup (F-F')) = (V, F'\cup F)$. For all $e \in F-F'$ and for all cycles $e$ lies on (in $G'$) $e$ is clearly one of the edges with the max weight.

Now run Kruskal's algorithm on $G'$ with a modified sorting procedure. Every edge is primarily sorted by its weight and secondary by the boolean if it belongs to $F'$ or not in such a way that for two edges with different weights the edge with the least weight comes first, but if two edges have the same weight the one belonging to $F'$ comes first (if both belong to $F'$ the order doesn't matter). We are allowed to make this modification to the sorting procedure because Kruskal's algo doesn't care in which order edges with equal weight appear.

The algorithm proceeds to sort all edges in mentioned order. Thus for every cycle in $G'$ all edges in the cycle are considered before the an edge $e\in F- F'$ is considered. Since we know that Kruskal's algo connects two nodes always when they do not create a cycle and we know that edges $F-F'$ are considered last for every cycle the MST found by the algo is $T' = (V,F')$.
Contradiction: But from our assumption we know that the weighted sum of $T$s edges is clearly lower than that of $T'$s edges and that $T$ is a spanning tree of $G'$. So actually $T$ is the MST of $G'$. Thus we have a contradiction and can conclude that there must be an $e \in F- F'$ such that it augments $T'$.

plshelp
  • 1,619
  • 5
  • 14
  • This approach misses a crucial part, Kruskal's algorithm can find every MST. Is it trivial to prove that? – John L. Jul 10 '20 at 17:47
  • @JohnL. what do you mean by every? Kruskal's algorithm can find one MST in every weighted graph right? And for the proof it is sufficient that the MST found equals $T'$ which shouldn't be a MST of $G'$. – plshelp Jul 10 '20 at 17:53
  • "$e$ is clearly the edge with the max weight". Right and wrong. The correct version is, "$e$ is clearly one of the the edges with the max weight". Now, why is it true "for every cycle in $G'$ all edges in the cycle are considered before the an edge $e\in F-F'$ is considered." ? – John L. Jul 10 '20 at 18:21
  • @JohnL. yes you are right I'll delete the proof. – plshelp Jul 10 '20 at 19:13
  • @JohnL. a question: as far as I know the procedure of Kruskal's algo. doesn't require the edges of the same weight to be in a specific order thus I could modify the sorting procedure to prefer edges from $F'$ over those from $F-F'$ if say have the same weight righ? – plshelp Jul 10 '20 at 19:19
  • The version of Kruskal's algorithm that favors $T'$ does improve the situation. However, the proof does not explain why selection out of $T'$, i.e., unfavored selection cannot occur. For example, if 1 is the minimum weight of all edges, can it happen that $T'$ has only two edges of weight 1 but $T$ has three edges of weight 1? It might not be hard to prove that kind of situations cannot happen. However, it need to be proved. – John L. Jul 10 '20 at 20:25