All that remains is to connect the edges in the variable-setters to the appropriate clause-checkers in the way that we require. This is done by the convey.

Slides:



Advertisements
Similar presentations
Lower Bounds for Additive Spanners, Emulators, and More David P. Woodruff MIT and Tsinghua University To appear in FOCS, 2006.
Advertisements

Analysis of Algorithms
NP-Hard Nattee Niparnan.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
Max Cut Problem Daniel Natapov.
Theory of Computing Lecture 18 MAS 714 Hartmut Klauck.
Department of Computer Science & Engineering
1 Partition Into Triangles on Bounded Degree Graphs Johan M. M. van Rooij Marcel E. van Kooten Niekerk Hans L. Bodlaender.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Data Structure and Algorithms (BCS 1223) GRAPH. Introduction of Graph A graph G consists of two things: 1.A set V of elements called nodes(or points or.
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.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Data Transmission and Base Station Placement for Optimizing Network Lifetime. E. Arkin, V. Polishchuk, A. Efrat, S. Ramasubramanian,V. PolishchukA. EfratS.
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.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Computability and Complexity 16-1 Computability and Complexity Andrei Bulatov NP-Completeness.
The Theory of NP-Completeness
Analysis of Algorithms CS 477/677
Computational Complexity, Physical Mapping III + Perl CIS 667 March 4, 2004.
Complexity ©D.Moshkovitz 1 Paths On the Reasonability of Finding Paths in Graphs.
Clique Cover Cook’s Theorem 3SAT and Independent Set
Steiner trees Algorithms and Networks. Steiner Trees2 Today Steiner trees: what and why? NP-completeness Approximation algorithms Preprocessing.
1 Shortest Path Algorithms. 2 Routing Algorithms Shortest path routing What is a shortest path? –Minimum number of hops? –Minimum distance? There is a.
GRAPH Learning Outcomes Students should be able to:
CSCI-455/552 Introduction to High Performance Computing Lecture 18.
Graph Coalition Structure Generation Maria Polukarov University of Southampton Joint work with Tom Voice and Nick Jennings HUJI, 25 th September 2011.
7 Graph 7.1 Even and Odd Degrees.
Nattee Niparnan. Easy & Hard Problem What is “difficulty” of problem? Difficult for computer scientist to derive algorithm for the problem? Difficult.
MCS 312: NP Completeness and Approximation algorithms Instructor Neelima Gupta
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
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.
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 9 (Part 2): Graphs  Graph Terminology (9.2)
Graphs Data Structures and Algorithms A. G. Malamos Reference Algorithms, 2006, S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani Introduction to Algorithms,Third.
1 3-COLOURING: Input: Graph G Question: Does there exist a way to 3-colour the vertices of G so that adjacent vertices are different colours? 1.What could.
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.
EMIS 8373: Integer Programming NP-Complete Problems updated 21 April 2009.
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.
Additional NP-complete problems
Data Structures & Algorithms Graphs
NP-COMPLETE PROBLEMS. Admin  Two more assignments…  No office hours on tomorrow.
1/19 Minimizing weighted completion time with precedence constraints Nikhil Bansal (IBM) Subhash Khot (NYU)
NP-Complete problems.
Tree Spanners on Chordal Graphs: Complexity, Algorithms, Open Problems A. Brandstaedt, F.F. Dragan, H.-O. Le and V.B. Le University of Rostock, Germany.
CS 3343: Analysis of Algorithms Lecture 25: P and NP Some slides courtesy of Carola Wenk.
CIRCUITS, PATHS, AND SCHEDULES Euler and Königsberg.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
LIMITATIONS OF ALGORITHM POWER
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
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
Chapter 9: Graphs.
COSC 3101A - Design and Analysis of Algorithms 14 NP-Completeness.
Construction We constructed the following graph: This graph has several nice properties: Diameter Two Graph Pebbling Tim Lewis 1, Dan Simpson 1, Sam Taggart.
2016/7/2Appendices A and B1 Introduction to Distributed Algorithm Appendix A: Pseudocode Conventions Appendix B: Graphs and Networks Teacher: Chun-Yuan.
Theory of Computational Complexity Probability and Computing Chapter Hikaru Inada Iwama and Ito lab M1.
ICS 353: Design and Analysis of Algorithms NP-Complete Problems King Fahd University of Petroleum & Minerals Information & Computer Science Department.
Chapter 10 NP-Complete Problems.
Chapter 9 (Part 2): Graphs
ICS 353: Design and Analysis of Algorithms
High Performance Computing & Bioinformatics Part 2 Dr. Imad Mahgoub
CSE 6408 Advanced Algorithms.
Copyright © Cengage Learning. All rights reserved.
CHAPTER 7 Time complexity
Presentation transcript:

All that remains is to connect the edges in the variable-setters to the appropriate clause-checkers in the way that we require. This is done by the convey apparatus, which consists simply of a series of pair requests of distance two. If the edge in the variable-setter is used, then s 1 will be forced to route its path through t 2, which causes a chain reaction ultimately forcing the edge in the clause-checker to be used. This is precisely what we want, and we can cleverly design these devices so that no two convey apparatuses will intersect. Extension We can use the reduction of Gonzalez and Serena to show the NP-completeness of the problem where the path lengths may be arbitrary. To do this we simply observe that whenever a source and target are a unit distance apart, we may assume without loss of generality that they are connected by a single edge. Now we can take the same construction of the components and simply force all paths to be shortest paths by adding enough source-target pairs to block off the necessary edges. To do this however, we relax the constraint that the set of source-target pairs is a permutation. The complexity of the problem where the path lengths are arbitrary and the set of source-target pairs is a permutation is still open. Szymanski’s Conjecture and the Complexity of Hypercube Routing Tim CarnesAdvisor: Ran Libeskind-Hadas Introduction Distributed memory parallel computers comprise a collection of processors which are interconnected via some network topology. A complete graph would be ideal for allowing the swiftest communication between processors, but such connections are impractical due to physical and economic constraints. Instead hypercubes are often used as topologies as they offer a relatively small diameter while keeping the degree of each node fairly low. A hypercube may be defined inductively as follows. A 0- dimensional hypercube is simply a single vertex. To construct a (n+1)-dimensional hypercube, we make two copies of a n-dimensional hypercube and connect each vertex to the copy of itself. The directed hypercube results from replacing each edge in the undirected hypercube with two oppositely-oriented directed edges. Establishing connections between processors motivates the following problem. Given a set of source-target pairs, which are ordered pairs of vertices in a hypercube, establish paths linking each source to its corresponding target such that no edge is used by more than one path. Szymanski conjectured that for special sets of source- target pairs known as permutations, a routing would always be possible. A permutation is a set of source-target pairs in which each node appears at most once as a source and at most once as a target. NP-Completeness We are concerned not only with the existence of routings, but also if we can find them efficiently. We show that the problem of hypercube routing is NP-complete, which implies that it is computationally intractable. This is shown by simply reducing a known provably hard problem, A, to this problem, B. A reduction must map every problem instance of A into a problem instance of B such that the answers to both problem instances are identical. Approximation Algorithm Although we do not know how to solve the problem of routing a permutation on the hypercube, we can show a result nearly as good. If we changed the directed hypercube so that every edge appeared twice, then we can in fact route two permutations. To do this we first show how to transform the hypercube into what is known as a Multistage Interconnection Network, or MIN. This is a network where request pairs will be routed through a series of stages, where at each stage only certain edges will be available. The edges available correspond to all of the edges crossing a particular dimension of the hypercube. A MIN is thus a representation of the hypercube, and the one corresponding to the three- dimensional cube is shown below. The advantage of transforming the hypercube into a MIN is that we can now apply known results, and in particular a routing method of Beneš that can be explained inductively. Clearly we can route two permutations on the 0-dimensional hypercube since there is only one vertex. Now, if we assume that we know how to route two permutations on a hypercube of dimension n, then we will show to do so for dimension n+1. We first take one permutation, and map its sources to a n- dimensional subcube by using all edges crossing dimension 1. This will put two sources on each vertex in the subcube. We do similarly with the targets, now using all edges crossing dimension 1 in the opposite direction, which again puts two targets on each vertex in the subcube. This is equivalent to two permutation requests in the subcube, which we know how to route by our assumption. We follow the same procedure for mapping the other permutation to the other subcube, and now we’ve used edges crossing each dimension at most twice. Acknowledgments Many thanks to my advisor, Ran, for all of his support and encouragement. Bibliography T. Szymanski. On the Permutation Routing of a Circuit-Switched Hypercube. Proc. International Conference on Parallel Processing (ICPP), 1: , T. F. Gonzalez, D. Serena. Complexity of k-Pairwise Disjoint Shortest Paths in the Undirected Hypercubic Network and Related Problems. PDCS, 61-66, Complexity Results Gonzalez and Serena provide a reduction from L3-SAT to hypercube routing, where all paths must be of minimal length. An L3-SAT instance simply gives a specific type of boolean formula and asks whether or not it is satisfiable. The formula consists of a set of clauses connected with ANDs, where each clause is either two or three literals connected with ORs. A literal is simply a boolean variable in either its regular or complemented form. To reduce L3-SAT to hypercube routing, we use three main constructions: the variable-setter, the clause-checker and the convey apparatus. The variable-setter is created for every variable x in the L3-SAT instance, and consists of a single request pair of distance two. There are only two possible shortest paths available to route source s to target t. The path that is chosen in the routing solution will determine the truth assignment of x in the corresponding L3-SAT solution. The clause-checker is created for each clause in the L3-SAT instance, and consists of a single request pair of distance two or three, depending on whether the clause has two or three variables. In order to make this reduction work, we want the clause-checker request pair to be satisfiable if and only if it contains a literal that is satisfied. To this end, we will connect each edge adjacent to t in the clause-checker to an edge corresponding to the negation of one of the literals in the clause in the variable-setter. The connection will be such that if the edge in the variable-setter is used, then so will the edge in the clause-checker. Thus if no literal in the clause is satisfied, then all edges leading to t will be used by the connection devices, and so there will be no minimal-length path available.