Stuck on Kruskal's Algorithm Proof Using Induction The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)How do I write this proof more formally?questions about this proof of Prim/Kruskal Algorithmreverse greedy algorithmWhat's an efficient algorithm for walking to a minimum spanning tree?Modifying Kruskal's algorithm for Maximum Spanning TreeThe output of Kruskal's algorithm is a spanning treeThe output spanning tree of Kruskal's algorithm is a minimum spanning treeUse kruskal's algorithm to show that if G is a connected graph, then any subgraph that contains no circuits is part of some spanning tree for G.Proof on minimal spanning treeHow to understand the tree with shortest path(Dijkstra algorithm)?
How are presidential pardons supposed to be used?
how can a perfect fourth interval be considered either consonant or dissonant?
What do you call a plan that's an alternative plan in case your initial plan fails?
University's motivation for having tenure-track positions
Can smartphones with the same camera sensor have different image quality?
Why use ultrasound for medical imaging?
system call string length limit
Did the new image of black hole confirm the general theory of relativity?
Why does the Event Horizon Telescope (EHT) not include telescopes from Africa, Asia or Australia?
Is there a writing software that you can sort scenes like slides in PowerPoint?
How does ice melt when immersed in water
Grover's algorithm - DES circuit as oracle?
Typeface like Times New Roman but with "tied" percent sign
A pet rabbit called Belle
Can a 1st-level character have an ability score above 18?
Is it ethical to upload a automatically generated paper to a non peer-reviewed site as part of a larger research?
Can the DM override racial traits?
Mortgage adviser recommends a longer term than necessary combined with overpayments
Sort list of array linked objects by keys and values
Is this wall load bearing? Blueprints and photos attached
Change bounding box of math glyphs in LuaTeX
How is simplicity better than precision and clarity in prose?
Is it ok to offer lower paid work as a trial period before negotiating for a full-time job?
Why can't wing-mounted spoilers be used to steepen approaches?
Stuck on Kruskal's Algorithm Proof Using Induction
The 2019 Stack Overflow Developer Survey Results Are In
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)How do I write this proof more formally?questions about this proof of Prim/Kruskal Algorithmreverse greedy algorithmWhat's an efficient algorithm for walking to a minimum spanning tree?Modifying Kruskal's algorithm for Maximum Spanning TreeThe output of Kruskal's algorithm is a spanning treeThe output spanning tree of Kruskal's algorithm is a minimum spanning treeUse kruskal's algorithm to show that if G is a connected graph, then any subgraph that contains no circuits is part of some spanning tree for G.Proof on minimal spanning treeHow to understand the tree with shortest path(Dijkstra algorithm)?
$begingroup$
So I want to understand how induction proves that Kruskal's Algorithm is correct in terms of giving us a minimum spanning tree. I understand why the algorithm gives us a spanning tree, but I don't understand how it gives us a minimum.
So I was reading my lecture notes from class, and it tries to explain it using induction on the algorithm stage number. So the proof is as follows:
Let F$_i$ be the set of edges chosen at stage i of the algorithm. Let P$_i$ be the proposition: "There is some minimum spanning tree that contains F$_i$." Clearly any minimum spanning tree contains F$_0$ which is just the empty set of edges, so P$_0$ is true. Now suppose that P$_i$ is true. Then there is a minimum spanning tree T that contains F$_i$. Let e be the edge considered next by the Algorithm. If e is in T, then F$_i$ $cup$ e $in$ T, so P$_i+1$ is true. Now assume that e is not in T. Then F$_i$ $cup$ e contains a cycle with e in it.
So P$_i+1$ cannot be true in this case since it's impossible to form a new tree that contains this cycle, so I don't see how induction holds. Can some please explain this to me so that it makes sense?
Thank you in advance.
combinatorics graph-theory algorithms
$endgroup$
add a comment |
$begingroup$
So I want to understand how induction proves that Kruskal's Algorithm is correct in terms of giving us a minimum spanning tree. I understand why the algorithm gives us a spanning tree, but I don't understand how it gives us a minimum.
So I was reading my lecture notes from class, and it tries to explain it using induction on the algorithm stage number. So the proof is as follows:
Let F$_i$ be the set of edges chosen at stage i of the algorithm. Let P$_i$ be the proposition: "There is some minimum spanning tree that contains F$_i$." Clearly any minimum spanning tree contains F$_0$ which is just the empty set of edges, so P$_0$ is true. Now suppose that P$_i$ is true. Then there is a minimum spanning tree T that contains F$_i$. Let e be the edge considered next by the Algorithm. If e is in T, then F$_i$ $cup$ e $in$ T, so P$_i+1$ is true. Now assume that e is not in T. Then F$_i$ $cup$ e contains a cycle with e in it.
So P$_i+1$ cannot be true in this case since it's impossible to form a new tree that contains this cycle, so I don't see how induction holds. Can some please explain this to me so that it makes sense?
Thank you in advance.
combinatorics graph-theory algorithms
$endgroup$
$begingroup$
You have to prove that there is a minimum spanning tree containing the edges chosen so far. You haven't chosen a cycle yet.
$endgroup$
– saulspatz
Mar 31 at 14:26
add a comment |
$begingroup$
So I want to understand how induction proves that Kruskal's Algorithm is correct in terms of giving us a minimum spanning tree. I understand why the algorithm gives us a spanning tree, but I don't understand how it gives us a minimum.
So I was reading my lecture notes from class, and it tries to explain it using induction on the algorithm stage number. So the proof is as follows:
Let F$_i$ be the set of edges chosen at stage i of the algorithm. Let P$_i$ be the proposition: "There is some minimum spanning tree that contains F$_i$." Clearly any minimum spanning tree contains F$_0$ which is just the empty set of edges, so P$_0$ is true. Now suppose that P$_i$ is true. Then there is a minimum spanning tree T that contains F$_i$. Let e be the edge considered next by the Algorithm. If e is in T, then F$_i$ $cup$ e $in$ T, so P$_i+1$ is true. Now assume that e is not in T. Then F$_i$ $cup$ e contains a cycle with e in it.
So P$_i+1$ cannot be true in this case since it's impossible to form a new tree that contains this cycle, so I don't see how induction holds. Can some please explain this to me so that it makes sense?
Thank you in advance.
combinatorics graph-theory algorithms
$endgroup$
So I want to understand how induction proves that Kruskal's Algorithm is correct in terms of giving us a minimum spanning tree. I understand why the algorithm gives us a spanning tree, but I don't understand how it gives us a minimum.
So I was reading my lecture notes from class, and it tries to explain it using induction on the algorithm stage number. So the proof is as follows:
Let F$_i$ be the set of edges chosen at stage i of the algorithm. Let P$_i$ be the proposition: "There is some minimum spanning tree that contains F$_i$." Clearly any minimum spanning tree contains F$_0$ which is just the empty set of edges, so P$_0$ is true. Now suppose that P$_i$ is true. Then there is a minimum spanning tree T that contains F$_i$. Let e be the edge considered next by the Algorithm. If e is in T, then F$_i$ $cup$ e $in$ T, so P$_i+1$ is true. Now assume that e is not in T. Then F$_i$ $cup$ e contains a cycle with e in it.
So P$_i+1$ cannot be true in this case since it's impossible to form a new tree that contains this cycle, so I don't see how induction holds. Can some please explain this to me so that it makes sense?
Thank you in advance.
combinatorics graph-theory algorithms
combinatorics graph-theory algorithms
asked Mar 31 at 13:15
TimTim
795
795
$begingroup$
You have to prove that there is a minimum spanning tree containing the edges chosen so far. You haven't chosen a cycle yet.
$endgroup$
– saulspatz
Mar 31 at 14:26
add a comment |
$begingroup$
You have to prove that there is a minimum spanning tree containing the edges chosen so far. You haven't chosen a cycle yet.
$endgroup$
– saulspatz
Mar 31 at 14:26
$begingroup$
You have to prove that there is a minimum spanning tree containing the edges chosen so far. You haven't chosen a cycle yet.
$endgroup$
– saulspatz
Mar 31 at 14:26
$begingroup$
You have to prove that there is a minimum spanning tree containing the edges chosen so far. You haven't chosen a cycle yet.
$endgroup$
– saulspatz
Mar 31 at 14:26
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
We have to prove that that there is some minimum spanning tree containing the edges chosen so far. The easy case is when $e$ is in $T,$ and we have to deal with the case when $e$ is not in $T.$ $Tcupe$ contains a cycle $C,$ and obviously $e$ is one of the edges of $C.$ No edge $e'$ of $C$ can have greater weight than that of $e,$ for then we could delete $e'$ and obtain a spanning tree of lesser weight than $T.$ $e$ cannot have been the last edge of $C$ to be chosen, for the algorithm never creates a cycle. Therefore, some edge $e'$ of $C$ was chosen after $e,$ and we must have $w(e)=w(e').$ Deleting $e'$ gives a spanning tree $T'$ of the same weight as $T,$ containing all edges chosen so far.
$endgroup$
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "69"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3169378%2fstuck-on-kruskals-algorithm-proof-using-induction%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
We have to prove that that there is some minimum spanning tree containing the edges chosen so far. The easy case is when $e$ is in $T,$ and we have to deal with the case when $e$ is not in $T.$ $Tcupe$ contains a cycle $C,$ and obviously $e$ is one of the edges of $C.$ No edge $e'$ of $C$ can have greater weight than that of $e,$ for then we could delete $e'$ and obtain a spanning tree of lesser weight than $T.$ $e$ cannot have been the last edge of $C$ to be chosen, for the algorithm never creates a cycle. Therefore, some edge $e'$ of $C$ was chosen after $e,$ and we must have $w(e)=w(e').$ Deleting $e'$ gives a spanning tree $T'$ of the same weight as $T,$ containing all edges chosen so far.
$endgroup$
add a comment |
$begingroup$
We have to prove that that there is some minimum spanning tree containing the edges chosen so far. The easy case is when $e$ is in $T,$ and we have to deal with the case when $e$ is not in $T.$ $Tcupe$ contains a cycle $C,$ and obviously $e$ is one of the edges of $C.$ No edge $e'$ of $C$ can have greater weight than that of $e,$ for then we could delete $e'$ and obtain a spanning tree of lesser weight than $T.$ $e$ cannot have been the last edge of $C$ to be chosen, for the algorithm never creates a cycle. Therefore, some edge $e'$ of $C$ was chosen after $e,$ and we must have $w(e)=w(e').$ Deleting $e'$ gives a spanning tree $T'$ of the same weight as $T,$ containing all edges chosen so far.
$endgroup$
add a comment |
$begingroup$
We have to prove that that there is some minimum spanning tree containing the edges chosen so far. The easy case is when $e$ is in $T,$ and we have to deal with the case when $e$ is not in $T.$ $Tcupe$ contains a cycle $C,$ and obviously $e$ is one of the edges of $C.$ No edge $e'$ of $C$ can have greater weight than that of $e,$ for then we could delete $e'$ and obtain a spanning tree of lesser weight than $T.$ $e$ cannot have been the last edge of $C$ to be chosen, for the algorithm never creates a cycle. Therefore, some edge $e'$ of $C$ was chosen after $e,$ and we must have $w(e)=w(e').$ Deleting $e'$ gives a spanning tree $T'$ of the same weight as $T,$ containing all edges chosen so far.
$endgroup$
We have to prove that that there is some minimum spanning tree containing the edges chosen so far. The easy case is when $e$ is in $T,$ and we have to deal with the case when $e$ is not in $T.$ $Tcupe$ contains a cycle $C,$ and obviously $e$ is one of the edges of $C.$ No edge $e'$ of $C$ can have greater weight than that of $e,$ for then we could delete $e'$ and obtain a spanning tree of lesser weight than $T.$ $e$ cannot have been the last edge of $C$ to be chosen, for the algorithm never creates a cycle. Therefore, some edge $e'$ of $C$ was chosen after $e,$ and we must have $w(e)=w(e').$ Deleting $e'$ gives a spanning tree $T'$ of the same weight as $T,$ containing all edges chosen so far.
answered Mar 31 at 14:53
saulspatzsaulspatz
17.3k31435
17.3k31435
add a comment |
add a comment |
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3169378%2fstuck-on-kruskals-algorithm-proof-using-induction%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
You have to prove that there is a minimum spanning tree containing the edges chosen so far. You haven't chosen a cycle yet.
$endgroup$
– saulspatz
Mar 31 at 14:26