ArticleslgStudy

computer science

Minimum bottleneck spanning tree

Minimum bottleneck spanning tree is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Minimum bottleneck spanning tree rather than just read about it. In short: In mathematics, a minimum bottleneck spanning tree (MBST) in an undirected graph is a spanning tree in which the most expensive edge is as cheap as possible. A bottleneck edge is the highest weighted edge in a spanning tree.

Minimum bottleneck spanning tree — main illustration
Minimum bottleneck spanning tree — illustration

Key takeaways

  • Minimum bottleneck spanning tree belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Minimum bottleneck spanning tree to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Minimum bottleneck spanning tree from memory before moving on to harder problems.

Reference excerpt

In mathematics, a minimum bottleneck spanning tree (MBST) in an undirected graph is a spanning tree in which the most expensive edge is as cheap as possible. A bottleneck edge is the highest weighted edge in a spanning tree. A spanning tree is a minimum bottleneck spanning tree if the graph does not contain a spanning tree with a smaller bottleneck edge weight. For a directed graph, a similar problem is known as Minimum Bottleneck Spanning Arborescence (MBSA).

Definitions

Undirected graphs

In an undirected graph G(V, E) and a function w : E → R, let S be the set of all spanning trees Ti. Let B(Ti) be the maximum weight edge for any spanning tree Ti. We define subset of minimum bottleneck spanning trees S′ such that for every Tj ∈ S′ and Tk ∈ S we have B(Tj) ≤ B(Tk) for all i and k. The graph on the right is an example of MBST, the red edges in the graph form an MBST of G(V, E).

Directed graphs

An arborescence of graph G is a directed tree of G which contains a directed path from a specified node L to each node of a subset V′ of V \{L}. Node L is called the root of arborescence. An arborescence is a spanning arborescence if V′ = V \{L}. MBST in this case is a spanning arborescence with the minimum bottleneck edge. An MBST in this case is called a Minimum Bottleneck Spanning Arborescence (MBSA). The graph on the right is an example of MBSA, the red edges in the graph form an MBSA of G(V, E).

Properties A MST (or minimum spanning tree) is necessarily an MBST, but an MBST is not necessarily a MST.

Camerini's algorithm for undirected graphs Camerini proposed an algorithm used to obtain a minimum bottleneck spanning tree (MBST) in a given undirected, connected, edge-weighted graph in 1978. It half divides edges into two sets. The weights of edges in one set are no more than that in the other. If a spanning tree exists in subgraph composed solely with edges in smaller edges set, it then computes an MBST in the subgraph, an MBST of the subgraph is exactly an MBST of the original graph. If a spanning tree does not exist, it combines each disconnected component into a new super vertex, then computes an MBST in the graph formed by these super vertices and edges in the larger edges set. A forest in each disconnected component is part of an MBST in original graph. Repeat this process until two (super) vertices are left in the graph and a single edge with smallest weight between them is to be added. An MBST is found consisting of all the edges found in previous steps.

Pseudocode The procedure has two input parameters. G is a graph, w is a weights array of all edges in the graph G.

function MBST(graph G, weights w) E ← the set of edges of G if | E | = 1 then return E else A ← half edges in E whose weights are no less than the median weight B ← E - A F ← forest of GB if F is a spanning tree then return MBST(GB,w) else return MBST((GA)η, w) ∪ {\displaystyle \cup } F

In the above (GA)η is the subgraph composed of super vertices (by regarding vertices in a disconnected component as one) and edges in A.

Running time The algorithm is running in O(E) time, where E is the number of edges. This bound is achieved as follows:

dividing into two sets with median-finding algorithms in O(E) finding a forest in O(E) considering half edges in E in each iteration T(E)=T(E/2)+O(E). By the Master theorem, the overall time complexity is O(E). NOTE: The run time estimate O(E) instead of O(E+V) (traversing a graph takes O(E+V) time), but for this case the graph is connected, therefore V-1<=E, hence, O(E+V)=O(E).

Example In the following example green edges are used to form an MBST and dashed red areas indicate super vertices formed during the algorithm steps.

MBSA algorithms for directed graphs There are two algorithms available for directed graph: Camerini's algorithm for finding MBSA and another from Gabow and Tarjan.

Camerini's algorithm for MBSA For a directed graph, Camerini's algorithm focuses on finding the set of edges that would have its maximum cost as the bottleneck cost of the MBSA. This is done by partitioning the set of edges E into two sets A and B and maintaining the set T that is the set in which it is known that GT does not have a spanning arborescence, increasing T by B whenever the maximal arborescence of G(B ∪ T) is not a spanning arborescence of G, otherwise we decrease E by A. The total time complexity is O(E log E).

Pseudocode function MBSA(G, w, T) is E ← the set of edges of G if | E − T | > 1 then A ← UH(E-T) B ← (E − T) − A F ← BUSH(GBUT) if F is a spanning arborescence of G then S ← F MBSA((GBUT), w, T) else MBSA(G, w, TUB);

T represents a subset of E for which it is known that GT does not contain any spanning arborescence rooted at node “a”. Initially T is empty UH takes (E−T) set of edges in G and returns A ⊂ (E−T) such that:

| A | = ⌊ ( | E − T | ) 2 ⌋ {\displaystyle |A|=\left\lfloor {\frac {(|E-T|)}{2}}\right\rfloor }

Wa ≥ Wb , for a ∈ A and b ∈ B BUSH(G) returns a maximal arborescence of G rooted at node “a” The final result will be S

Example

Gabow and Tarjan algorithm for MBSA Gabow and Tarjan provided a modification of Dijkstra's algorithm for single-source shortest path that produces an MBSA. Their algorithm runs in O(E + V log V) time if Fibonacci heap used.

Pseudocode For a graph G(V,E), F is a collection of vertices in V. Initially, F = {s} where s is the starting point of the graph G and c(s) = -∞

1 function MBSA-GT(G, w, T) 2 repeat |V| times 3 Select v with minimum c(v) from F; 4 Delete it from the F; 5 for ∀ edge(v, w) do 6 if w ∉ F or ∉ Tree then 7 add w to F; 8 c(w) = c(v,w); 9 p(w) = v; 10 else 11 if w ∈ F and c(w) > c(v, w) then 12 c(w) = c(v, w); 13 p(w) = v;

… excerpt ends here. Continue reading the full article.

Illustrations

Minimum bottleneck spanning tree: Minimal Bottleneck Spanning Arborescence G(V,E)
Minimal Bottleneck Spanning Arborescence G(V,E)
Minimum bottleneck spanning tree illustration
Minimum bottleneck spanning tree illustration
Minimum bottleneck spanning tree illustration
Minimum bottleneck spanning tree illustration

Worked examples

Example 1 — a first encounter with Minimum bottleneck spanning tree

Start with the simplest possible case. Write down what Minimum bottleneck spanning tree claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Minimum bottleneck spanning tree before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Minimum bottleneck spanning tree ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Minimum bottleneck spanning tree

In research
Minimum bottleneck spanning tree appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Minimum bottleneck spanning tree in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Minimum bottleneck spanning tree is common in secondary-school and first-year university syllabi. It links to neighbouring topics Graph algorithms, Spanning tree, so understanding it makes those chapters shorter.
In everyday life
Look for Minimum bottleneck spanning tree outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Minimum bottleneck spanning tree in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Minimum bottleneck spanning tree means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Minimum bottleneck spanning tree out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Minimum bottleneck spanning tree in simple terms?

In mathematics, a minimum bottleneck spanning tree (MBST) in an undirected graph is a spanning tree in which the most expensive edge is as cheap as possible. A bottleneck edge is the highest weighted edge in a spanning tree.

Why does Minimum bottleneck spanning tree matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Minimum bottleneck spanning tree?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Minimum bottleneck spanning tree.

Tags

  • Graph algorithms
  • Spanning tree

Keep exploring