Steiner Tree NP-completeness Proof

Similar documents
On the k-path cover problem for cacti

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs

Tutorial 8. NP-Complete Problems

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Steiner Tree Approximation via IRR. Randomized Rounding

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

CAD Algorithms. P and NP

8.1 Min Degree Spanning Tree

How To Solve The Line Connectivity Problem In Polynomatix

Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design

On the Relationship between Classes P and NP

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Lecture 7: NP-Complete Problems

Cycle transversals in bounded degree graphs

ON THE COMPLEXITY OF THE GAME OF SET.

Generating models of a matched formula with a polynomial delay

Introduction to Logic in Computer Science: Autumn 2006

Single machine parallel batch scheduling with unbounded capacity

Algorithm Design and Analysis

15.1. Exact Differential Equations. Exact First-Order Equations. Exact Differential Equations Integrating Factors

Matthias F.M. Stallmann Department of Computer Science North Carolina State University Raleigh, NC

Polynomial and Synthetic Division. Long Division of Polynomials. Example 1. 6x 2 7x 2 x 2) 19x 2 16x 4 6x3 12x 2 7x 2 16x 7x 2 14x. 2x 4.

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

Homework 2 Solutions

OHJ-2306 Introduction to Theoretical Computer Science, Fall

NP-Completeness and Cook s Theorem

LIMITS AND CONTINUITY

CMSC 858T: Randomized Algorithms Spring 2003 Handout 8: The Local Lemma

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Short Cycles make W-hard problems hard: FPT algorithms for W-hard Problems in Graphs with no short Cycles

1 Definitions. Supplementary Material for: Digraphs. Concept graphs

Cloud Computing is NP-Complete

CMPSCI611: Approximating MAX-CUT Lecture 20

Scheduling Shop Scheduling. Tim Nieberg

THE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM

A Working Knowledge of Computational Complexity for an Optimizer

The Basics of Graphical Models

5.1 Bipartite Matching

(a) (b) (a) A network example. (b) The associated graph. Fig. 2. Three possible VPN configurations for the example in Fig. 1.

Guessing Game: NP-Complete?

CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

Boulder Dash is NP hard

Determination of the normalization level of database schemas through equivalence classes of attributes

Small Maximal Independent Sets and Faster Exact Graph Coloring

Handout #Ch7 San Skulrattanakulchai Gustavus Adolphus College Dec 6, Chapter 7: Digraphs

Social Media Mining. Graph Essentials

The Classes P and NP. mohamed@elwakil.net

Chapter 4. Polynomial and Rational Functions. 4.1 Polynomial Functions and Their Graphs

Triangle deletion. Ernie Croot. February 3, 2010

All trees contain a large induced subgraph having all degrees 1 (mod k)

An Improved ACO Algorithm for Multicast Routing

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

The K-Observer Problem in Computer Networks

Section 6-3 Double-Angle and Half-Angle Identities

Discrete Applied Mathematics. The firefighter problem with more than one firefighter on trees

Every tree contains a large induced subgraph with all degrees odd

CSC 373: Algorithm Design and Analysis Lecture 16

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Policy Distribution Methods for Function Parallel Firewalls

Connected Identifying Codes for Sensor Network Monitoring

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

Portable Bushy Processing Trees for Join Queries

Graph Security Testing

Finding Ethernet-Type Network Topology is Not Easy

Quantum and Non-deterministic computers facing NP-completeness

Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations

Why? A central concept in Computer Science. Algorithms are ubiquitous.

On Matroid Representability and Minor Problems

Introduced by Stuart Kauffman (ca. 1986) as a tunable family of fitness landscapes.

Virtual Machine Allocation in Cloud Computing for Minimizing Total Execution Time on Each Machine

CSC2420 Spring 2015: Lecture 3

Problem Set 7 Solutions

Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms

Full and Complete Binary Trees

Connectivity and cuts

Treemaps with bounded aspect ratio

Near Optimal Solutions

Lecture 1: Course overview, circuits, and formulas

1 Approximating Set Cover

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Computational complexity theory

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Fairness in Routing and Load Balancing

Approximation Algorithms

Transcription:

Steiner Tree NP-completeness Proof Alessandro Santuari May 7, 2003 Abstract This document is an eercise for the Computational Compleity course taken at the University of Trento. We propose an NP-completeness proof for the Steiner Tree problem in graphs. 1

1 The Steiner tree problem (ST) The Steiner tree problem in graphs, called for brevity ST, is defined in decisional form as follows: Instance: an undirected graph G = (V, E); a subset of the vertices R V, called terminal nodes; a number k N. Question: is there a subtree of G that includes all the vertices of R (i.e. spanning tree for R) and that contains at most k edges? a This problem has many applications, especially when we have to plan a connecting structure among different terminal points. For eample, when we want to find an optimal way to build roads and railways to connect a set of cities, or decide routing policies over the internet for multicast traffic, usually from a source to many destinations. Unfortunately, this problem has shown to be intractable, in the sense that there eists no polynomial algorithm to solve it, unless P = NP. However, many approimate algorithms have been developed by researchers, see for eample [2, 3, 4]. The goal of this eercise is to propose an NP-completeness proof for the Steiner tree problem by transforming another known NP-complete problem to it. In short, we will obtain our own proof to the following classical result. Theorem: Steiner tree problem in graphs is NP-complete. The proof will follow step by step the template advised by Garey and Johnson [1] to show that a problem Π is NP-complete: 1. show than Π is in NP; 2. select a known NP-complete problem Π ; 3. construct a transformation f from Π to Π; 4. prove that f is a polynomial transformation. 2 Steiner Tree is in NP So firstly we want to be sure that the ST problem is actually in NP. Assume G, R, k ST, that is, assume the instance G, R, k reserves a yes answer. In this case, given an hypothetic positive solution T G, we can check in polynomial time that: 2

T is really a tree: it contains no cycles and it is connected; the tree T touches all the terminals specified by the set R; the number of edges used by the tree is no more than k. We can now proceed to the net step: select an (appropriate) known NPcomplete problem for the reduction. 3 Eact Cover by 3-Sets (X3C) The Eact Cover by 3-Sets problem seems to serve well for the task, besides X3C is well known and it is mentioned among the basic NP-complete problems in [1] as a generalization of the 3-Dimensional Matching (3DM) problem. Instance: a finite set X with X = 3q; a collection C of 3-element subsets of X, C = {C 1,, C n }, C i X, C i = 3 1 i n; Question: does C contain an eact cover for X, that is, a subcollection C C such that every element of X occurs in eactly one member of C? Note that, where C is a solution which certificate that X, C X3C then: the members of the solution C form a partition of the set X; C = q. Now we are ready to move through the net step: construct a transformation function from X3C to ST. 4 Transform X3C to ST In this section, we propose a reduction from X3C to ST giving a set of rules to build an instance of ST starting from a generic instance of X3C and we prove that such transformation is eecutable in polynomial time. Given an instance of X3C, defined by the set X = { 1,, 3q } and a collection of 3-element sets C = {C 1,, C n }, we have to build the ST instance specifying the graph G = (V, E), the set of terminals R, and the upper-bound on the spanning tree size k. 3

define the set of vertices V as: V (G) = {v} {c 1,, c n } { 1,, 3q }. basically, we put a new node v, a node for each member of C, and a node for each element of X. now define the set of edges: E(G) = {vc 1,, vc n } {c i j } j C i there is an edge from v to each node c i, and an edge c i j if the element j appears into the set C i of the X3C instance. the terminal nodes set R V is: set k equal to 4q. R = {v, 1,, 3q } It s easy to see that the reduction from X3C to ST can be done in polynomial time. The graph constructed according to these rules is shown in Figure 1. The role of the new node v is to make sure that the graph we 1 c 1 2 3 c 2 v c n Figure 1: The graph constructed by the transformation process. The black nodes are those in the set R, the terminal nodes. just generated is connected. Now we are going to prove that there eists a Steiner tree with no more than k edges if and only if there is an eact cover for the X3C instance of the problem. Lemma: X, C belongs to X3C if and only if G, R, k belongs to ST. 3q 4

Proof: We split the proof into two parts, one for each implication. X3C ST Suppose there is an eact 3-cover C for the X3C problem. Clearly, C uses eactly q subsets. Without loss of generality suppose they are C 1,, C q (if it s not the case, we just have to relabel them). Then the tree consisting of edges: vc 1,, vc q c i j, if j C i and 1 i q is a Steiner tree solving the problem with q + 3q = 4q = k edges. So, if there is an eact 3-cover, then there is a Steiner tree using no more than k edges. X3C ST Suppose now there eists a Steiner tree T with at most 4q edges. Since T is a tree, it has at most 4q + 1 nodes. According to the definition of Steiner tree, T must also touch the terminal nodes 1,, 3q and v, so T contains at most q c-nodes. But the degree of c-nodes (considering only the edges toward -nodes) is 3, so it is impossible to hit all the 3q -nodes if the tree contains less than 4q + 1 nodes. We conclude that T has eactly 4q edges and contains eactly q c-nodes. Without loss of generality suppose these nodes are c 1,, c q, then the solution C of the X3C problem is given by the set C = {C 1,, C q }. This concludes the proof. References [1] Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Company, 1979. [2] Clemens Gröpl, Stefan Hougardy, Till Nierhoff, and Hans Jürgen Prömel. Steiner Trees in Uniformly Quasi-Bipartite Graphs. November 30, 2001. [3] Romeo Rizzi. On Rajagopalan and Vazirani s 3 2-Approimation Bound for the Iterated 1-Steiner Heuristic. Accepted by Information Processing Letters. [4] Gabriel Robins and Aleander Zelikovsky. Improved Steiner tree approimation in graphs. In Symposium on Discrete Algorithms, pages 770 779, 2000. 5