The Rectilinear Steiner Arborescence Problem is NP-Complete

Slides:



Advertisements
Similar presentations
NP-Hard Nattee Niparnan.
Advertisements

Orthogonal Drawing Kees Visser. Overview  Introduction  Orthogonal representation  Flow network  Bend optimal drawing.
Lecture 23. Subset Sum is NPC
1 NP-completeness Lecture 2: Jan P The class of problems that can be solved in polynomial time. e.g. gcd, shortest path, prime, etc. There are many.
NP-Completeness: Reductions
The Theory of NP-Completeness
© The McGraw-Hill Companies, Inc., Chapter 8 The Theory of NP-Completeness.
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
CSC5160 Topics in Algorithms Tutorial 2 Introduction to NP-Complete Problems Feb Jerry Le
Complexity 11-1 Complexity Andrei Bulatov NP-Completeness.
Computability and Complexity 23-1 Computability and Complexity Andrei Bulatov Search and Optimization.
Computability and Complexity 15-1 Computability and Complexity Andrei Bulatov NP-Completeness.
Techniques for Proving NP-Completeness
Reduction Techniques Restriction Local Replacement Component Design Examples.
The Theory of NP-Completeness
Graph Colouring Lecture 20: Nov 25.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
NP-Completeness (2) NP-Completeness Graphs 4/17/2017 6:25 AM x x x x x
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 24 Instructor: Paul Beame.
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Black-box (oracle) Feed me a weighted graph G and I will tell you the weight of the max-weight matching of G.
Complexity ©D.Moshkovitz 1 Paths On the Reasonability of Finding Paths in Graphs.
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
1 The Theory of NP-Completeness 2 NP P NPC NP: Non-deterministic Polynomial P: Polynomial NPC: Non-deterministic Polynomial Complete P=NP? X = P.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
Crossing Minimisation (1) Ronald Kieft. Global contents Specific 2-layer Crossing Minimisation techniques After the break, by Johan Crossing Minimisation.
Lecture 22 More NPC problems
Theory of Computation, Feodor F. Dragan, Kent State University 1 NP-Completeness P: is the set of decision problems (or languages) that are solvable in.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
1 Steiner Tree Algorithms and Networks 2014/2015 Hans L. Bodlaender Johan M. M. van Rooij.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 024: Design & Analysis of Algorithms Chapter 9: NP Completeness Sedgewick Chp:40 David Luebke’s Course Notes / University of Virginia, Computer Science.
Techniques for Proving NP-Completeness Show that a special case of the problem you are interested in is NP- complete. For example: The problem of finding.
Unit 9: Coping with NP-Completeness
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
Graph Colouring Lecture 20: Nov 25. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including.
Design and Analysis of Algorithms - Chapter 101 Our old list of problems b Sorting b Searching b Shortest paths in a graph b Minimum spanning tree b Primality.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
CSE 589 Part V One of the symptoms of an approaching nervous breakdown is the belief that one’s work is terribly important. Bertrand Russell.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
CSC 413/513: Intro to Algorithms
Final Review Chris and Virginia. Overview One big multi-part question. (Likely to be on data structures) Many small questions. (Similar to those in midterm.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
CSE 421 Algorithms Richard Anderson Lecture 27 NP-Completeness Proofs.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
NP-Completeness (2) NP-Completeness Graphs 4/13/2018 5:22 AM x x x x x
More NP-complete problems
P & NP.
Richard Anderson Lecture 26 NP-Completeness
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness (2) NP-Completeness Graphs 7/23/ :02 PM x x x x
NP-Completeness Proofs
Richard Anderson Lecture 26 NP-Completeness
NP-Completeness Yin Tat Lee
NP-Completeness (2) NP-Completeness Graphs 11/23/2018 2:12 PM x x x x
Richard Anderson Lecture 25 NP-Completeness
NP-Completeness Proofs
Chapter 34: NP-Completeness
NP-Completeness Yin Tat Lee
Our old list of problems
NP-Completeness (2) NP-Completeness Graphs 7/9/2019 6:12 AM x x x x x
Presentation transcript:

The Rectilinear Steiner Arborescence Problem is NP-Complete Weiping Shi (Dept. of Electrical Engg. TAMU) Chen Su (Inet Technologies, TX) SIAM Journal of Computing 2006 Presenter: Vishal Kapoor

Getting Started – Background and Definitions

Steiner Tree A minimal length tree connecting a set of points in a plane May have Steiner Points

Rectilinear Steiner Tree A Steiner tree in which every path is made up of straight line segments

Rectilinear Steiner Arborescence (RSA) Directed Steiner tree rooted at origin Points are in the first quadrant of the plane Every segment in the tree is directed left to right or bottom to top

Difference? RSA is a shortest distance tree with respect to the origin

Rectilinear Steiner Minimum Arborescence (RSMA) A minimum length RSA Difference between RSA and RSMA:

Applications Useful in VLSI routing It has been shown that routing trees based on such structures may have much lesser delays than those based on traditional Steiner trees

The Proof

My thoughts about the proof Very “artistic” (geometric) proof Cited in literature as “pretty” Uses graph drawing techniques One of the clearest papers that I have read – provides details very clearly!

The Decision Problem A Set of points P = {p1, p2 … pn} in the plane and a positive number k Is there an RSA of total edge length k or less? Proof: Reduction from 3-SAT

3-SAT A set of variables V = {v1, v2 … vn} and clauses C = {c1, c2 … cn} Each clause has at most 3 literals. Is there an assignment of variables so that all clauses are satisfied? Satisfying the 3-CNF form is NP-Complete Eg: (v1 OR v2 OR v6) AND (v1 OR v8) …

3-SAT problem as a planar graph (Planar 3-SAT)

(Planar graph used in the paper)

A Quick Recap Steiner Tree / Points Rectilinear Steiner Tree RSA, RSMA + differences The Decision Problem 3-SAT, Planar 3-SAT

Reduction Technique Based on Component Design Steps: 3-SAT graph is reduced to another planar graph H H is embedded into a grid (as graph R) Each vertex of R is replaced by a “tile”

First Step – Transforming G to H H is planar with maximum degree = 3 Each vertex of G contribute deg(v) vertices in H Eg:

Properties of H: New Vertices – OR, NOT “Nice” form If not in Nice form: Insert NOT vertex wij Suppose the clause looks like below: Insert CLAUSE vertex cj for each clause Insert OR vertex c’j to connect big clauses

Example:

Second Step: Embedding H as graph R in a grid Can be done in polynomial time O(V2) - Valiant

Properties of R: Nice “drawing” techniques Vertices only unit distance apart are connected For each CLAUSE vertex: Positive variable enters from left Negative variable enters from below Eg: ->

… cont’d 3. Each OR vertex occupies 2 horizontal vertices in R

Final Step: Covering R with tiles Quadrupeds and forbidden regions These are a set of RSAs that connect the white points; each RSA is rooted at a black point Has 2 min forests, both of length Black points are interface points, white points are “inside” points Quadruped = 4 black points and 4 white points. To connect q4, we need a path of at least alpha (same for q1 – even by the path of q4). Similarly beta for each q2 and q3. Thus lower bound is 2(alpha + beta) Also, the above is the best we can do. To achieve the lower bound, each point must fall on this lowest possible path of 2(alpha + beta). Starting with q2, we can connect it with either a horizontal or vertical edge. If we use vertical solid edge, then we need to connect q3 with a horizontal solid edge, then q4 with a vertical edge and q1 with a horizontal edge, giving a total length of 2(alpha + beta). Similarly for the other edges. Forbidden region – because if there is any point inside it (say triangle b2, b3, q4) then you could make a tree less than alpha to connect to q4. But otherwise, if the point is outside the dashed diagonal b2, b3, the minimum distance with which you could connect it to q4 would be greater than alpha/2 + alpha/2. So you can’t go below the lower bound if you are outside this region! What do the points mean in the graph transformation in terms of the original SAT variables?

Another Recap 3 steps for reduction 1. Transforming G into H Always looking out for "nice" clauses Adding OR, NOT, CLAUSE vertices to make "nice" form 2. Embedding H into a grid as R Adding OR vertices having 2-horizontal-vertices Quadrupeds, Forbidden regions, minimum forests made of RSAs Now we have to see what is tiling

Tiling

A basic tile Represents a single variable Made up of overlapping quadrupeds Has height and width = 96 units Only OR tile has height = 96 and width = 2x96 Has

Parity of a tile 1 if the rightmost vertex connected by horizontal edge else 0 Tiles enforce (propagate) parities on neighboring tiles

Parity Enforcement (Propagation)

Flipping Parity: NOT Tiles A horizontal NOT tile with and

CLAUSE tiles Have the same interface to the left and to the bottom (Why?) Min forest (black) has length 108 achieved iff tile to left has parity 1 and tile below has 0 2 ways to connect q5 and q6, either through dashed edges q2-q5 and q3-q6 giving a total of 20+20 = 40 or through the Steiner point giving 24+4. So to connect q5 and q6 by solid edges, it can be done only if either q2 and q3 (and thus q4 and q1) are connected by a solid edge. Thus the parity of left forest should be 1 and right should be 0.

OR tile Total width 192 Always tries to achieve parity = 1 The right side of this tile is always a CLAUSE tile. So it will try to reduce the cost of that tile to min cost of 108 on the right. So it will try to have the parity = 1.

Another Recap A basic tile that represents ordinary variables Definition of Parity and Parity enforcement (propagation) NOT, CLAUSE and OR tiles and their properties and dimensions

Let’s go to the Final Result We are done – we have all the structures that we need All structures till were made / manipulated locally and can be constructed in polynomial time Thus the final reduction should be polynomial time

Connecting tiles together Basic Tiles and Trials Intuitively, trials “close” the basic tiles Are not in any forbidden region, so don’t affect how white points are connected

RSA problem is NP-Complete L = sum of min edge lengths to connect all black points + min forest length of each type of tile A planar 3-SAT having m clauses has a satisfying assignment iff the set of points has an RSA of length L+108m

Questions / Comments?

Homework – A Descriptive Question RSA is NP-Complete by reduction to 3-SAT 3-SAT is “Strongly NP-Complete” What does “Strongly NPC” mean in a general sense? Give a precise mathematical definition and 1 example explaining the idea What types of problems are not Strongly NP-complete? What are they called? Is there a complexity class/classes for such languages? What does this mean in terms of circuit complexity? A PTIME algorithm for solving the homework: 1: Choose any 1 color and answer questions of that color only 2: Google for a column (and a small paper) on NP-hardness by Garey & Johnson for checking this out Evaluation: I will grade based on the quality of your answer – not quantity 

Have a nice weekend!