Warning: foreach() argument must be of type array|object, bool given in /var/www/html/web/app/themes/studypress-core-theme/template-parts/header/mobile-offcanvas.php on line 20

In the MINIMUM STEINER TREE problem, the input consists of: a complete graph G=(V,E)with distances duvbetween all pairs of nodes; and a distinguished set of terminal nodesV'V.The goal is to find a minimum-cost tree that includes the vertices V'. This tree may or may not include nodes in V-V'

Suppose the distances in the input are a metric (recall the definition on page 292). Show that an efficient ratio-2approximation algorithm for MINIMUM STEINER TREE can be obtained by ignoring the nonterminal nodes and simply returning the minimum spanning tree onV'. (Hint: Recall our approximation algorithm for the TSP.)

Short Answer

Expert verified

The MINIMUM STEINER TREE problem is proved.

Step by step solution

01

Step 1: Steiner Tree.

Steiner Tree is a minimum weight tree or a minimum spanning tree that spans through allvertices. If the given subset (or terminal) vertices are equal to the set of all vertices in the Steiner Tree problem, then the problem becomes the Minimum Spanning Tree problem.

And if the given subset contains only two vertices, then it shortest path problem between two vertices. Finding out Minimum Spanning Tree is polynomial-time solvable, but the Minimum Steiner Tree problem is NP-Hard and the related decision problem is NP-Complete.

02

Step 2: MINIMUM STEINER TREE problem.

a).

For Shortest Path-based Approximate Algorithm Since, the Steiner Tree problem is NP-Hard, there are no polynomial-time solutions that always give optimal cost. Therefore, there are approximate algorithms to solve the same. Below is one simple approximate algorithm. AndThe minimum Steiner tree can be approximated by computing the minimum spanning tree of the sub graph of the metric closure of graph induced by the terminal nodes, where the metric closure of graph is the complete graph in which each edge is weighted by the shortest path distance between the nodes in graph .The following steps are mention below for finding the MINIMUM STEINER TREE:

1) Start with a sub treeT consisting of one given terminal vertex.

2) WhileT does not span all terminals

a) Select a terminal xnot in T that is closest to a vertex in T.

b) Add to T the shortest path that connects xwith T.

Hence, the input consists of: a complete graph with distances between all pairs of nodes; and a distinguished set of terminal nodesV'V. The goal is to find a minimum-cost tree that includes the vertices V'. This tree may or may not include nodes in V-V'

This algorithm is(2-2/n) approximate, i.e., it guarantees that the solution produced by this algorithm is not more than this ratio of optimized solution for a given graph with n vertices. There are better algorithms also that provide a better ratio.

the distances in the input are a metric. and an efficient ratio two approximation algorithm for MINIMUM STEINER TREE can be obtained by ignoring the nonterminal nodes and simply returning the minimum spanning tree on that vertex .And a minimum weight tree or a minimum spanning tree that spans through allvertices. If the given subset (or terminal) vertices are equal to the set of all vertices in the Steiner Tree problem, then the problem becomes the Minimum Spanning Tree problem.

Unlock Step-by-Step Solutions & Ace Your Exams!

  • Full Textbook Solutions

    Get detailed explanations and key concepts

  • Unlimited Al creation

    Al flashcards, explanations, exams and more...

  • Ads-free access

    To over 500 millions flashcards

  • Money-back guarantee

    We refund you if you fail your exam.

Over 30 million students worldwide already upgrade their learning with Vaia!

One App. One Place for Learning.

All the tools & learning materials you need for study success - in one app.

Get started for free

Most popular questions from this chapter

Devise a backtracking algorithm for the RUDRATA PATH problem from a fixed vertex s. To fully specify such an algorithm you must define:

(a) What is a subproblem?

(b) How to choose a subproblem.

(c) How to expand a subproblem.

Argue briefly why your choices are reasonable

Devise a branch-and-bound algorithm for the SET COVER problem. This entails deciding:

(a) What is a subproblem?

(b) How do you choose a subproblem to expand?

(c) How do you expand a subproblem?

(d) What is an appropriate lowerbound

Do you think that your choices above will work well on typical instances of the problem? Why?

Local search for minimum spanning trees. Consider the set of all spanning trees (not just minimum ones) of a weighted, connected, undirected graphG=(V,E).

Recall from Section 5.1 that adding an edge to a spanning treeT creates an unique cycle, and subsequently removing any other edgee'e from this cycle gives back a different spanning treeT' . We will say that differ by a single edge swap (e,e')and that they are neighbors.

a) Show that it is possible to move from any spanning tree Tto any other spanning tree T' by performing a series of edge-swaps, that is, by moving from neighbor to neighbor. At most how many edge-swaps are needed?

(b) Show that ifT' is an MST, then it is possible to choose these swaps so that the costs of the spanning trees encountered along the way are nonincreasing. In other words, if the sequence of spanning trees encountered is

T=T0T1T2···Tk=T',

then cost(Ti+1)cost(Ti)foralli<k.

(c) Consider the following local search algorithm which is given as input an undirected graph G.

Let Tbe any spanning tree of G

while there is an edge-swap(e,e') which reduces cost(T):

TT+ee'returnT

Show that this procedure always returns a minimum spanning tree. At most how many iterations does it take ?

In the MULTIWAY CUT problem, the input is an undirected graphG=(V,E) and a set of terminal nodess1,s2,...,skV. The goal is to find the minimum set of edges in whose removal leaves all terminals in different components.

(a) Show that this problem can be solved exactly in polynomial time when k=2.

(b) Give an approximation algorithm with ratio at most2 for the case k=3.

(c) Design a local search algorithm for multiway cut.

Let us call a local search algorithm exact when it always produces the optimum solution. For example, the local search algorithm for the minimum spanning tree problem introduced in Problem 9.5 is exact. For another example, simplex can be considered an exact local search algorithm for linear programming.

(a) Show that the2- change local search algorithm for the TSP is not exact.

(b) Repeat for the [n2]- change local search algorithm, where is the number of cities.

(c) Show that (n-1)-change local search algorithm is exact.

(d) If A is a optimization problem, define A-IMPROVEMENT to be the following search problem: Given an instancexof A and a solutionsof A, find another solution ofxwith better cost ( or report that none exists, and thus is optimum). For example, in TSP IMPROVEMENT we are given a distance matrix and a tour, and we are asked to find a better tour. It turns out that TSP IMPROVEMENT is NP-complete, and so is SET COVER IMPROVEMENT. (Can you prove this?).

(e) We say that a local search algorithm has polynomial iterationif each execution of the loop requires polynomial time. For example, the obvious implementation of the (n-1) -change local search algorithm for the TSP defined above does not have polynomial iteration. Show that, unless , there is no exact local search algorithm with polynomial iteration for the TSP and SET COVER problems.

See all solutions

Recommended explanations on Computer Science Textbooks

View all explanations

What do you think about this solution?

We value your feedback to improve our textbook solutions.

Study anywhere. Anytime. Across all devices.

Sign-up for free