unique minimum spanning tree sufficient and necessary conditions - graph

Given a graph G,which are the sufficient and necessary conditions , so that this graph has a unique minimum spanning tree?In addition , how can I proove these conditions?
So far , I had found that those conditions are :
1)For every partition of V(G) into two subsets, the minimum weight edge with one endpoint in each subset is unique.
2)The maximum-weight edge in any cycle of G is unique.
But I am not sure if this is correct.Even in case this is correct,I cannot prove its correctness.

Actually, there is a necessary and sufficient condition for unique MST. In the book A First Course In Graph Theory, it is given as an exercise:
Exercise 4.30
Let G be a connected weighted graph and T a minimal spanning tree of G. Show that T is a unique minimal spanning tree of G if and only if the weight of each edge e of G that is not in T exceeds the weight of every other edge on the cycle in T+e.
I write my proof here.

This is false because at least the first condition is not necessary. The proof is by counterexample (source).
Take G to be any tree where all edge weights are 1. Then G has a
unique MST (itself), but any partition with more than one edge
crossing it has several minimum weight edges.
EDIT:
In response to your modified question...
There is a well-known sufficient (but not necessary) condition for the uniqueness of a MST:
If the weight of each edge in a connected graph is distinct, then the graph contains exactly one (unique) minimum spanning tree.
The proof is as follows (source):
For the sake of contradiction, suppose there are two different MSTs of
G, say T1 and T2. Let e = v-w be the min weight edge of G that is in
one of T1 or T2, but not both. Let's suppose e is in T1. Adding e to
T2 creates a cycle C. There is at least one edge, say f, in C that is
not in T1 (otherwise T1 would be cyclic). By our choice of e, w(e) ≤
w(f). Since all of the edge weights are distinct, w(e) < w(f). Now,
replacing f with e in T2 yields a new spanning tree with weight less
than that of T2 (contradicting the minimality of T2).
However, regarding "sufficient and necessary" conditions for the uniqueness of a MST, I do not believe any are known to exist.

Related

Graph Theory (degree of the vertices of a graph when it can be partitioned into two trees)

Show that if the edge set of a graph G(V,E) with n nodes
can be partitioned into 2 trees,
then there is at least one vertex of degree less than 4 in G.
...................................................................................
I have tried to prove this problem with the help of the method of contradiction.
Assume that all vertices of the graph G has degree >= 4.
Assume the graph G is partitioned into two trees T1 and T2.
With the help of the above assumptions the only observation I could make is that for every vertex v in G
degree of v must be greater than or equal to 2 in either T1 or T2.
I don't know how proceed with this. Please help.
If my approach for solving this problem is wrong then please provide a different solution.
You started with a good approach. Lets assume all vertices in G has degree of 4 (or above) and sssume the graph G is partitioned into two trees T1 and T2.
We know that number of edge in tree is n-1 (when n is number of vertices). Therefor in each of T1 and T2 we have n-1 edges (consider n to be |V|) -> combine we have 2n-2 edges in G -> |E| = 2n-2
From the other hand we know that each v in G -> d(v) > 4 . And we know that sum of degree in graph equal to 2|E|. therefor, 2*|E| >= 4*n (I took the minimum degree for each vertex and each edge contribute 2 to the sum of the degree). So we got |E| >= 2*n.
Contradiction -> There is have to be one vertex with degree less then 4

Number of broadcasts to allow 95% of node pairs to exchange in directed graph

I have a directed unweighted graph with N nodes and E edges. Nodes are of an average degree 2E/N.
In the first round, nodes each broadcast their information to all their neighbours. In subsequent rounds, nodes broadcast the information received from their neighbours during the previous round to all other neighbours, and so forth.
The graph is not guaranteed to be acyclic.
My question is: how many consecutive rounds of broadcast are required, on average, for 95% of node pairs to have reached one another? Is it possible to calculate an approximate figure based on the average degree of the graph?
By average, I assume you mean average over all possible (N,E) directed graphs with no multiple edges.
Theorem 1
If E <= (N-1)^2, there will be at least one graph where information won't propagate.
Proof
A directed graph with N nodes has up to N(N-1) edges. Consider a complete graph, select a node, and remove all its outgoing edges (Alternatively, we can remove all its incoming edges). Information from this node cannot propagate, and we are left with N(N-1)-(N-1) = (N-1)^2 edges.
Corollary 1
When E <= (N-1)^2, there is at least one graph where information cannot propagate, therefore the average number of rounds is infinite.
Theorem 2a
If E > (N-1)^2 the maximal number of rounds is 2.
Proof
A directed graph with N nodes and E > (N-1)^2 edges is a complete graph where up to (N-2) edges removed.
If we want to remove edges from a complete graph such the the number of rounds will be 3 (e.g. from node A to node B), we'll need to make sure there is no node B and edges A->B and B->C. This means that we need to remove at least one edge (either A->B or B->C) for each of the (N-2) possible 'B' nodes. We also need to remove the direct A->C edge. In total we need to remove (N-3) edges.
Theorem 2b
If E > (N-1)^2 the minimal number of rounds is 2.
Proof
Trivial. The graph is incomplete, therefore there is at least one path of length 2.
Corollary 2
if (N-1)^2 < E < N(N-1), the number of rounds is 2.
Theorem 3
If E = N(N-1), the number of rounds is 1
Proof
Trivial. Complete graph.
Now, you are asking about more than 95% of the node pairs.
Of course we can build some (N-1)^2 < E < N(N-1) graphs, where >= 95% of ordered-node-pairs can communicate in 1 round, but the other ordered-node-pairs communicate in 2 rounds.
This is trivial if you consider a complete directed graph of 6 nodes where only one edge is removed. (6*5-1) / (6*5) = 96.66% of the ordered-node-pairs can communicate in one round.
Why do you ask specifically about 95%? Is it important to derive calculations for exactly this number? Let us know. I don't think that you can derive a simple accurate generic formula, especially when N and E are small. Maybe we can formulate something asymptotically (for very large N).

Can two Minimum Spanning Trees for the same graph have different edge weights?

A graph can have many different Minimum Spanning Trees (MSTs), but can different MSTs have different sets of edge weights? For example, if an MST uses edge weights {2,3,4,5}, must every other MST have edge weights {2,3,4,5}, or can some other MST use a different collection of weights?
What gave me the idea is property that a graph has no unique MST only if its edge weights are different.
The sets must have the same weight. Here's a simple proof: suppose they don't. Let's let T1 and T2 be MSTs for some graph G with different multisets of edge weights.
Sort those edges into ascending order of weight. Since the two multisets of weights aren't the same, look at where the weights first diverge. There will end up being some smallest weight w* in either T1 or T2 (assume WLOG, that it's in T1) where T1 and T2 have the same number of edges of all weights less than w*, but T1 has more edges of weight w* than T2. Intuitively, edges of weight w* is where T1 "gets ahead" of T2.
Now, consider the set of edges of weight w* in T1; let's call them W*. Consider what happens when you add any of those edges into T2. Every time we do this, it will close a cycle in T2. Note that the newly-added edge e can't be the maximum-weight edge on that cycle; if it were, then by the cycle property we'd be guaranteed that e can't appear in any MST, but we know for a fact that it is in one (namely, T1). Therefore, there must be some edge on the cycle whose weight is greater than or equal to w*.
If one of those edges has weight strictly greater than w*, then we can decrease the cost of T2 by deleting that edge. That would be impossible, though, because we know that T2 is an MST.
Therefore, we know that there is some other edge in the cycle whose weight is equal to w*. If any of those edges are not in T1, then choose any one and remove it. Notice that we've just swapped an edge in T2 for an equal-weight edge in T1. Because there are more edges of weight w* in T1 than in T2, we can't do this forever and eventually we'll run into the case where the cycle was closed and all the max-weight edges are of weight w* and come from T1.
So what happens in this case? Well, think about the cycle C that was closed when we added the edge that triggered this. We're going to show that in this case, T1 can't be an MST, contradicting our initial assumption and giving us the result we want.
Let C* be the set of edges in C that have cost less than w*. Process those edges in order of weight, adding them to T1 one at a time. Each time we do so, we close a cycle. The max-weight edge in that cycle can't be the edge we added from T2 (because otherwise by the cycle property that edge shouldn't have been in T2 in the first place). Therefore, either the max-weight edge either has weight greater than the edge from T2 (in which case we delete it, contradicting that T1 was an MST) or it has the same weight. Eventually, we end up transforming T1 so that it has the same set of edges of cost less than w* that T2 does. But that's a problem, because at that point we know that we would have the cycle C arising in T1, meaning that T1 isn't an MST. This gives us the contradiction we need.
Hope this helps!

Reduction from Maximum independent set to Dominating set to prove the Dominating set is NP-complete

I know of the reduction from the Vertex cover to Dominating set.
However, I was seeing if I could get a reduction from the maximum independent set problem straight to the Dominating set problem in order to prove the latter NP-complete.
Does anyone know if this has been done? I can't find anything online.
I was hoping to find something along the lines of a proof like:
If there is a dominating set of size k -> there is a maximum independent set of size k.
AND
If there is a maximum independent set of size k -> then there is a dominating set of size k.
Yes you can get a reduction from the maximum independent set problem straight to the Dominating set problem -- but not that straight, you need to construct another graph in the following manner. We then can prove that if the original graph has an independent set of size k iff the new graph has a dominating set of some size related to k. The construction is polynomial.
Given a graph G = (V, E) we can construct another graph G' = (V', E') where for each edge e_k = (v_i, v_j) in E, we add a vertex v_{e_k} and two edges (v_i, v_{e_k}) and (v_{e_k}, v_j).
We can prove G has an independent set of size k iff G' has a dominating set of size |V|-k.
(=>) Suppose I is a size-k independent set of G, then V-I must be a size-(|V|-k) dominating set of G'. Since there is no pair of connected vertex in I, then each vertex in I is connected to some vertex in V-I. Moreover, every new added vertex are also connected to some vertices in V-I.
(<=) Suppose D is a size-(|V|-k) independent set of G', then we can safely assume that all vertices in D is in V (since if D contains an added vertex we can replace it by one of its adjacent vertex in V and still have a dominating set of the same size).
We claim V-D is a size-k independent set in G and prove it by contradiction: suppose V-D is not independent and contains a pair of vertices v_i and v_j and the edge e_k = (v_i, v_j) is in E. Then in G' the added vertex v_{e_k} need to be dominated by either v_i or v_j, that is at least one of v_i and v_j is in D. Contradiction. Therefore V-D is a size-k independent set in G.
Combining the two directions you get what you want.

Proof that Dominating Set is NP-Complete

here is the question. I am wondering if there is a clear and efficient proof:
Vertex Cover: input undirected G, integer k > 0. Is there a subset of
vertices S, |S|<=k, that covers all edges?
Dominating Set: input undirected G, integer k > 0. Is there a subset of
vertices S, |S|<= k, that dominates all vertices?
A vertex covers it's incident edges and dominates it's neighbors and itself.
Assuming that VC is NPC, prove that DS is NPC.
There is a quite nice and well known reduction:
Given an instance (G,k) of Vertex Cover build an instance of Dominating Set (H,k), where for H you take G, remove all isolated vertices, and for every edge (u,v) add an additional vertex x connected to u and v.
First realize that a Vertex Cover of G is a Dominating Set of H: it's a DS of G (after removing isolated vertices), and the new vertices are also dominated. So if G has a VC smaller k, then H has a DS smaller k.
For the converse, consider D, a Dominating Set of H.
Notice that if one of the new vertices is in D, we can replace it with one of it's two neighbors and still get an Dominating Set: it's only neighbors are are the two original vertices and they are also connected - everything x can possible dominate is also dominated by u or v.
So we can assume that D contains only vertices from G. Now for every edge (u,v) in G the new vertex x is dominated by D, so either u or v is in D. But this means D is a Vertex Cover of G.
And there we have it: G has a Vertex Cover smaller k if and only if H has a Dominating Set smaller k.
Taken from :
CMSC 651 Advanced Algorithms , Lecturer Samir Khuller
I think that second problem is not NP.
Let's try the following algorithm.
1. Get the original Graph
2. Run any algorithm which checks if a graph is connected or not.
3. mark all used edges of step 2
4. if the graph is connected then return the set of marked edges otherwise there is no such a set.
If I understood correctly your problem then it is not NP Complete.

Resources