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

In the backtracking algorithm for SAT, suppose that we always choose a subproblem (CNF formula) that has a clause that is as small as possible; and we expand it along a variable that appears in this small clause. Show that this is a polynomial-time algorithm in the special case in which the input formula has only clauses with two literals (that is, it is an instance of 2SAT).

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 ?

Given an undirected graphG=(V,E) in which each node hasdegreed , show how to efficiently find an independent set whose size is at least1d+1times that of the largest independent set.

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

In the MAXIMUM CUT problem we are given an undirected graphG=(V,E) with a weightw(e) on each edge, and we wish to separate the vertices into two sets S and V − S so that the total weight of the edges between the two sets is as large as possible. For eachSV definew(S) to be the sum of allwe over all edges{u,v} such that |Su,v|=1. Obviously, MAX CUT is about maximizing w(S) over all subsets of .

Consider the following local search algorithm for MAX CUT:

start with anySV

while there is a subsetS'V such that

||S 0 | − |S|| = 1 andw(S')>w(S) do:

set S=S'

  1. Show that this is an approximation algorithm for MAX CUT with ratio2.

(b) But is it a polynomial-time algorithm?

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