ArticleslgStudy

computer science

Strong connectivity augmentation

Strong connectivity augmentation 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 Strong connectivity augmentation rather than just read about it. In short: Strong connectivity augmentation is a computational problem in the mathematical study of graph algorithms, in which the input is a directed graph and the goal of the problem is to add a small number of edges, or a set of edges with small total weight, so that the added edges make the graph into a strongly connected graph. The strong connectivity augmentation problem was formulated by Kapali Eswaran and Robert Tarjan…

Strong connectivity augmentation — main illustration
Strong connectivity augmentation — illustration

Key takeaways

  • Strong connectivity augmentation 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 Strong connectivity augmentation to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Strong connectivity augmentation from memory before moving on to harder problems.

Reference excerpt

Strong connectivity augmentation is a computational problem in the mathematical study of graph algorithms, in which the input is a directed graph and the goal of the problem is to add a small number of edges, or a set of edges with small total weight, so that the added edges make the graph into a strongly connected graph. The strong connectivity augmentation problem was formulated by Kapali Eswaran and Robert Tarjan (1976). They showed that a weighted version of the problem is NP-complete, but the unweighted problem can be solved in linear time. Subsequent research has considered the approximation ratio and parameterized complexity of the weighted problem.

Unweighted version In the unweighted strong connectivity augmentation problem, the input is a directed graph and the goal is to add as few edges as possible to it to make the result into a strongly connected graph. The algorithm for the unweighted case by Eswaran and Tarjan considers the condensation of the given directed graph, a directed acyclic graph that has one vertex per strongly connected component of the given graph. Letting s {\displaystyle s} denote the number of source vertices in the condensation (strongly connected components with at least one outgoing edge but no incoming edges), t {\displaystyle t} denote the number of sink vertices in the condensation (strongly connected components with incoming but no outgoing edges), and q {\displaystyle q} denote the number of isolated vertices in the condensation (strongly connected components with neither incoming nor outgoing edges), they observe that the number of edges to be added is necessarily at least max ( s + q , t + q ) {\displaystyle \max(s+q,t+q)} . This follows because s + q {\displaystyle s+q} edges need to be added to provide an incoming edge for each source or isolated vertex, and symmetrically at least t + q {\displaystyle t+q} edges need to be added to provide an outgoing edge for each sink or isolated vertex. Their algorithm for the problem finds a set of exactly max ( s + q , t + q ) {\displaystyle \max(s+q,t+q)} edges to add to the graph to make it strongly connected. Their algorithm uses a depth-first search on the condensation to find a collection of pairs of sources and sinks, with the following properties:

The source of each pair can reach the sink of the pair by a path in the given graph. Every source that is not in one of the pairs can reach a sink in one of the pairs. Every sink that is not in one of the pairs can be reached from a source in one of the pairs. A minor error in the part of their algorithm that finds the pairs of sources and sinks was later found and corrected. Once these pairs have been found, one can obtain a strong connectivity augmentation by adding three sets of edges:

The first set of edges connects the pairs and the isolated vertices of the condensation into a single cycle, consisting of one edge per pair or isolated vertex. The second set of edges each connect one of the remaining sinks to one of the remaining sources (chosen arbitrarily). This links both the source and the sink to the cycle of pairs and isolated vertices at a cost of one edge per source-sink pair. Once the previous two sets of edges have either exhausted all sources or exhausted all sinks, the third set of edges links each remaining source or sink to this cycle by adding one more edge per source or sink. The total number of edges in these three sets is max ( s + q , t + q ) {\displaystyle \max(s+q,t+q)} .

Weighted and parameterized version The weighted version of the problem, in which each edge that might be added has a given weight and the goal is to choose a set of added edges of minimum weight that makes the given graph strongly connected, is NP-complete. An approximation algorithm with approximation ratio 2 was provided by Frederickson & Ja'Ja' (1981). A parameterized and weighted version of the problem, in which one must add at most k {\displaystyle k} edges of minimum total weight to make the given graph strongly connected, is fixed-parameter tractable.

… excerpt ends here. Continue reading the full article.

Illustrations

Strong connectivity augmentation: The graph needs a minimum of 2 edges added to become a strongly connected graph, such as the 2 dashed edges
The graph needs a minimum of 2 edges added to become a strongly connected graph, such as the 2 dashed edges

Worked examples

Example 1 — a first encounter with Strong connectivity augmentation

Start with the simplest possible case. Write down what Strong connectivity augmentation 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 Strong connectivity augmentation 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 Strong connectivity augmentation 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 Strong connectivity augmentation

In research
Strong connectivity augmentation 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 Strong connectivity augmentation 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
Strong connectivity augmentation is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computational problems in graph theory, Directed graphs, Graph connectivity, so understanding it makes those chapters shorter.
In everyday life
Look for Strong connectivity augmentation 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 Strong connectivity augmentation in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Strong connectivity augmentation 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 Strong connectivity augmentation out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Strong connectivity augmentation in simple terms?

Strong connectivity augmentation is a computational problem in the mathematical study of graph algorithms, in which the input is a directed graph and the goal of the problem is to add a small number of edges, or a set of edges with small total weight, so that the added edges make the graph into a s…

Why does Strong connectivity augmentation 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 Strong connectivity augmentation?

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 Strong connectivity augmentation.

Tags

  • Computational problems in graph theory
  • Directed graphs
  • Graph connectivity
  • NP-complete problems

Keep exploring