ArticleslgStudy

computer science

Rectilinear Steiner tree

Rectilinear Steiner 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 Rectilinear Steiner tree rather than just read about it. In short: The rectilinear Steiner tree problem, minimum rectilinear Steiner tree problem (MRST), or rectilinear Steiner minimum tree problem (RSMT) is a variant of the geometric Steiner tree problem in the plane, in which the Euclidean distance is replaced with the rectilinear distance. The problem may be formally stated as follows: given n points in the plane, it is required to interconnect them all by a shortest network whi…

Rectilinear Steiner tree — main illustration
Rectilinear Steiner tree — illustration

Key takeaways

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

Reference excerpt

The rectilinear Steiner tree problem, minimum rectilinear Steiner tree problem (MRST), or rectilinear Steiner minimum tree problem (RSMT) is a variant of the geometric Steiner tree problem in the plane, in which the Euclidean distance is replaced with the rectilinear distance. The problem may be formally stated as follows: given n points in the plane, it is required to interconnect them all by a shortest network which consists only of vertical and horizontal line segments. It can be shown that such a network is a tree whose vertices are the input points plus some extra points (Steiner points). The problem arises in the physical design of electronic design automation. In VLSI circuits, wire routing is carried out by wires running only in vertical and horizontal directions, due to high computational complexity of the task. Therefore wire length is the sum of the lengths of vertical and horizontal segments, and the distance between two pins of a net is actually the rectilinear distance ("Manhattan distance") between the corresponding geometric points in the design plane.

Properties

In 1966 Maurice Hanan demonstrated that the search for the RSMT may be restricted to the grid constructed by drawing vertical and horizontal lines through each vertex, now known as the Hanan grid.

Computational complexity The RSMT is an NP-hard problem, and as with other NP-hard problems, common approaches to tackle it are approximate algorithms, heuristic algorithms, and separation of efficiently solvable special cases. An overview of the approaches to the problem may be found in the 1992 book by Hwang, Richards and Winter, The Steiner Tree Problem.

Special cases

Single-trunk Steiner trees

The single-trunk Steiner tree is a tree that consists of a single horizontal segment and some vertical segments. A minimum single-trunk Steiner tree (MSTST) may be found in O(n log n) time. However simply finding all its edges requires linear time. The idea is that STSTs for a given point set essentially have only one "degree of freedom", which is the position of the horizontal trunk. Further, it easy to see that if the Y-axis is split into segments by Y-coordinates of input points, then the length of a STST is constant within any such segment. Finally, it will be minimal if the trunk has the closest possible numbers of points below and above it. Therefore an optimal position of the trunk are defined by a median of the set of Y-coordinates of the points, which may be found in linear time. Once the trunk is found, the vertical segments may be easily computed. Notice however that while the construction of the connecting net takes linear time, the construction of the tree which uses both input points and Steiner points as its vertices will require O(n log n) time, since the required connection essentially delivers sorting of the X-coordinates of the input points (along the split of the trunk into the edges of the tree). A MSTST is fast to compute but is a poor approximation of the MRST. A better approximation, called the refined single trunk tree (RST-T), may be found in O(n log n) time. The idea is to replace some connections to the trunk with connections to previous connections if this is advantageous, following a simple heuristic. It is optimal for point sets of sizes up to 4.

Approximations and heuristics A number of algorithms exist which start from the rectilinear minimum spanning tree (RMST; the minimum spanning tree in the plane with rectilinear distance) and try to decrease its length by introducing Steiner points. The RMST itself may be up to 1.5 times longer than MRST. The Flute heuristic is often used in practice. It relies on a lookup table for small trees up to degree 9 combined with a divide-and-conquer approach for larger trees.

References

Illustrations

Rectilinear Steiner tree: A MSTST and a RST-T
A MSTST and a RST-T

Worked examples

Example 1 — a first encounter with Rectilinear Steiner tree

Start with the simplest possible case. Write down what Rectilinear Steiner 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 Rectilinear Steiner 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 Rectilinear Steiner 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 Rectilinear Steiner tree

In research
Rectilinear Steiner 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 Rectilinear Steiner 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
Rectilinear Steiner tree is common in secondary-school and first-year university syllabi. It links to neighbouring topics Geometric algorithms, Geometric graphs, NP-hard problems, so understanding it makes those chapters shorter.
In everyday life
Look for Rectilinear Steiner 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.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Rectilinear Steiner tree” →

Affiliate

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

How to study Rectilinear Steiner tree in 20 minutes

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

Frequently asked questions

What is Rectilinear Steiner tree in simple terms?

The rectilinear Steiner tree problem, minimum rectilinear Steiner tree problem (MRST), or rectilinear Steiner minimum tree problem (RSMT) is a variant of the geometric Steiner tree problem in the plane, in which the Euclidean distance is replaced with the rectilinear distance. The problem may be fo…

Why does Rectilinear Steiner 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 Rectilinear Steiner 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 Rectilinear Steiner tree.

Tags

  • Geometric algorithms
  • Geometric graphs
  • NP-hard problems
  • Trees (graph theory)

Keep exploring