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

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.

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 ?

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?

In the MAX SAT problem, we are given a set of clauses, and we want to find an assignment that satisfies as many of them as possible.

(a) Show that if this problem can be solved in polynomial time, then so can SAT.

(b) Here’s a very naive algorithm.

for each variable:

set its value to either0or1 by flipping a coin

Suppose the input has m clauses, of which thejth haskj literals. Show that the expected number of clauses satisfied by this simple algorithm is

j=1m1-12k   m2

In other words, this is a 2-approximation in expectation! And if the clauses all contain literals, then this approximation factor improves to 1+1/2k1.

(c) Can you make this algorithm deterministic? (Hint: Instead of flipping a coin for each variable, select the value that satisfies the most of the as of yet unsatisfied clauses. What fraction of the clauses is satisfied in the end?)

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).

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