Question

In: Computer Science

Provide a formal proof of the correctness of the algorithm by Boruvka/Solllin for finding a MST.

Provide a formal proof of the correctness of the algorithm by Boruvka/Solllin for finding a MST.

Solutions

Expert Solution

boruvka/sollin algorithm comes under greedy algorithms

Before understanding the proof you should first know about the red rule and blue rule of greedy algorithms and these rules are explained as below:-

Red rule:-

Let C be a cycle with no red edges. Select an uncolored
edge of C of max weight and color it red.

Blue rule:-

Blue rule. Let D be a cut with no blue edges. Select an uncolored edge
in D of min weight and color it blue.

cut;-

consider a set of nodes s from a graph then the cut is set of all edges with exactly one node in the set s and the other node should not be in set s.

formal proof for boruvka/sollin algorithm:-

let us assume that the graph G that is input to Boruvka's algorithm has distinct edge costs. In the coloring for each blue tree T , an incident edge e with smallest cost is selected. Note that these selected edges need not all be distinct. After the selection of edges is over, the selected edges are colored blue, in some arbitrary order. We now show that any edge e = {u,v} colored blue in the coloring step, is colored according to the blue rule of the greedy method. this means that blue rule should agree with coloring step in boruvka's algorithm. if we could prove this then we can say that boruvka's algorithm is correct.you can also prove this by yourself by taking an example of spanning tree and examine whether edges obtained in coloring step in boruvka's algorithm are same as those edges obtained using the blue rule of greedy algorithms. but actual mathematical proof is explained below.

proof:-

Suppose that e ={u,v} connects blue trees Tu and Tv and further suppose
that e is the edge with smallest cost incident on Tu. In the coloring step in which e is colored
blue, some edges may have been colored blue prior to e. These edges which were colored blue
prior to e (in the current coloring step) may have caused Tu and Tv to belong to be subgraphs
of the same blue tree. We now show by contradiction that this is not possible.
Suppose that just before e is colored blue, there is a blue tree that contains (as subgraphs) Tu and
Tv . Then, even before e is colored blue, there is path between u and v that contains only blue
edges. This path, written as a sequence of edges, can be partitioned into:
path in T1,e1, path in T2,e2,......,ek-1, path in Tk.

where
(a) T1 = Tu, Tk = Tv ,
(b) for each i, ei is an edge from a vertex in Ti to a vertex in Ti+1,
(c) each tree Ti is a blue tree prior to the current coloring step,
(d) and each edge ei is colored BLUE in the current coloring step prior to e.

Since edge (e not equal to e1) is the smallest cost edge incident on T1(= Tu), it must be the case that e1 is the
smallest cost edge incident on T2. This implies that c(e) < c(e1). Using a similar argument, we see
that c(e1) < c(e2) and e2 is the smallest cost edge incident on T3. Continuing this argument we
obtain
c(e) < c(e1) < c(e2) <.....< c(ek1)
and that ek1
is the smallest cost edge incident on Tk. But, this is a contradiction since e is also
incident on Tk.

so edges of spanning tree obtained in blue rule of greedy algorithm are same as edges obtained in coloring step of borovka's algorithm. so we can say that correctness of boruvka's algorithm for finding a MST is justified.


Related Solutions

1) Provide a definition of the semantic correctness of algorithm A with respect to pre-condition alpha...
1) Provide a definition of the semantic correctness of algorithm A with respect to pre-condition alpha and post-condition beta. A well-presented precise and complete definition is expected.
Determine if the following statements are true or false. In either case, provide a formal proof...
Determine if the following statements are true or false. In either case, provide a formal proof using the definitions of the big-O, big-Omega, and big-Theta notations. For instance, to formally prove that f (n) ∈ O(g(n)) or f (n) ∉ O(g(n)), we need to demonstrate the existence of a constant c and a sufficient large n0 such that f (n) ≤ c g(n) for all n ≥ n0, or showing that there are no such values. a) 10000n2 ∈ O(n4)....
Write a formal proof to prove the following conjecture to be true or false. If the...
Write a formal proof to prove the following conjecture to be true or false. If the statement is true, write a formal proof of it. If the statement is false, provide a counterexample and a slightly modified statement that is true and write a formal proof of your new statement. Conjecture: Let w, x, y, and z be single-digit numbers. The 4-digit number wxyz* is divisible by 9 if and only if 9 divides the sum w + x +...
Write up a formal proof that the angle bisectors of a triangle are concurrent, and that...
Write up a formal proof that the angle bisectors of a triangle are concurrent, and that the point of concurrency (the incenter) is equidistant from all three sides.
Is the following argument valid? If so, construct a formal proof (direct or indirect). If not,...
Is the following argument valid? If so, construct a formal proof (direct or indirect). If not, explain why not. If Alex gets a new job, then he will buy a guitar. If Alex wins the lottery, then he will buy a guitar. If Alex goes to Costa Rica, then either Alex got a new job or Alex won the lottery. Alex goes to Costa Rica. Therefore, Alex bought a guitar.
Give a formal proof for the following tautology by using the IP rule. (A →B) ^...
Give a formal proof for the following tautology by using the IP rule. (A →B) ^ (B →C) →(A v B →C)
For each algorithm, always explain how and why they work. If not by a proof, at...
For each algorithm, always explain how and why they work. If not by a proof, at least by a clear explanation. ALWAYS, analyze the running time complexity of your algorithms. Do not write a program. Write pseudo codes or explain in words Q2: Give a data structure that implements a Min-Heap and the command Max(S) that returns the maximum in the heap. Try and make the last operation as fast as possible. Q3: (a)Show how to implement a Queue by...
In pseudo-code, design an algorithm for finding baking a cake.
In pseudo-code, design an algorithm for finding baking a cake.
Give a formal proof for the following tautology by using the CP rule. A v B→(¬...
Give a formal proof for the following tautology by using the CP rule. A v B→(¬ B →(A ^ ¬ B))
Show in a formal mathematical proof, theoretical analysis, an even split of an array into two...
Show in a formal mathematical proof, theoretical analysis, an even split of an array into two subarrays which answers in the best performance of quicksort algorithm "appraised with respect to the running time". coding or empirical investigation are not needed.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT