440 likes | 600 Views
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.
E N D
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
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
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) …
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 cjfor each clause • Insert OR vertex c’jto connect big clauses
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 tilesQuadrupeds 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
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
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
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
OR tile • Total width 192 • Always tries to achieve 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 togetherBasic 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
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