P versus NP, and More
|
|
|
- Brandon Osborne
- 10 years ago
- Views:
Transcription
1 1 P versus NP, and More Great Ideas in Theoretical Computer Science Saarland University, Summer 2014 If you have tried to solve a crossword puzzle, you know that it is much harder to solve it than to verify a solution provided by someone else. Likewise, proving a mathematical statement by yourself is usually much harder than verifying a proof provided by your instructor. A usual explanation for this difference is that solving a puzzle, or proving a mathematical statement, requires some creativity, which makes it much harder than verifying a solution. This lecture studies several complexity classes, which classify problems with respect to their hardness. We will define a complexity class P which consists of problems that can be solved efficiently, and a complexity class NP which consists of the problems that can be verified efficiently. One of the outstanding open questions in mathematics is whether P = NP, or verifying a statement is indeed much easier than proving a statement. We will discuss efforts theoreticians have made towards solving the question over the 40 years, and the consequences of this question. 1.1 P and NP In early days of computer science, various algorithm design techniques are discovered which lead to efficient solutions of problems. We list a few here. Problem 1.1 (Euler Cycle Problem). Give a graph G, is there a closed cycle which visits each edge of G exactly once? It is not difficult to prove that such cycle exists if and only if the degree of every vertex in G is even. Problem 1.2 (Shortest Path). Given a graph G and two vertices s and t, find the shortest path between s and t. The famous Dijkstra algorithm solving this problem is discovered by Edsgar Dijkstra in 1959 [4]. The algorithm runs in time linear in the number of edges in G. 1
2 2 P versus NP, and More Problem 1.3 (Max Flow). Given a graph G and two vertices s and t, compute the maximum flow between s and t. This problem was first formulated in 1954 by Ted Harris and Frank Ross. The first algorithm for this problem is presented in 1956, by Lester Ford, Jr., and Delbert Fulkerson [5]. Algorithms solving these problems run in time polynomial in the size of the inputs, and we call such algorithms efficient. Efficient algorithms for solving problems are usually based on (i) mathematical properties of the problem, (ii) techniques of algorithm design, e.g. dynamic programing or greedy strategy, and (iii) use of data structures. However, there are problems for which the existence of efficient algorithms is unknown, and researchers still do not known the answer after 40 year s extensive studies. Let us look at some problems for example. Problem 1.4 (Clique). Given a graph G of n vertices, is there a clique of size k in G? Problem 1.5 (Hamiltonian Cycle). Given a graph G of n vertices, is there a cycle of length n which visits every vertex exactly once? Problem 1.6 (Satisfiability). Given a boolean formula φ with n variables and m clauses, where every clause has at least three literals, is ϕ satisfiable? That is, we ask if there is an assignment of x 1,..., x n such that ϕ(x 1,..., x n ) = 1? While efficient algorithms for these problems are unknown, these problems have some properties in common: (i) all existing algorithms for solving any of these problems are essentially based on brute-force search, i.e. listing all possible candidate solutions and checking if one candidate is indeed a solution. (ii) For every candidate solution, verifying the candidate is efficient and takes polynomial-time. Thousands of problems in different disciplines have been shown to have these two properties. A question of efficient algorithms for these problems essentially asks whether brute-force search can be avoided. In 1956, Kurt Gödel wrote a letter to John von Neumann [7], and mentioned this problem in the letter. Despite that Kurt Gödel described the question in a remarkably modern way, the question can be more or less summarized by how much we can improve upon the bruteforce search. Unfortunately, the question was stated as a mathematical logic problem and the Gödel s letter was lost. It takes theoretical computer scientists almost 15 years until Stephen Cook re-formulated the P versus NP conjecture in [3]! Search versus Decision. We have informally defined P as a set of problems which can be efficiently solved, and NP as a set of problems for which a solution can be efficiently verified. To give mathematical definitions of P and NP, we reduce search problems to decision problems, i.e. we study the decision problems ( Is this cycle a Hamiltonian cycle? ) instead of search problems ( Find a Hamiltonian cycle. ). Clearly, search problems are harder than decision problems. Solutions of a search problem gives a solution of decision problems. Moreover, the hardness of decision problems implies the hardness of the corresponding search problems.
3 1.1. P and NP 3 Problems versus Sets. We build up correspondence between problems and sets. For any problem P, we define a set S P, and S P consists of the instances for which the answer to the decision problem is Yes. For instance, for a parameter k the Clique problem is defined as the set Clique {G v 1,..., v k : G(v 1,..., v k ) is a complete graph}, (1.1) where G(v 1,..., v k ) is the induced subgraph of G by v 1,..., v k. The satisfiability problem is defined as SAT {ϕ x 1,..., x n : ϕ(x 1,..., x n ) = 1}. (1.2) That is, SAT consists of boolean formulae for which there is a satisfiable assignment. Certificate. From (1.1) and (1.2), we know that every instance in the set has a short certificate, a string supporting the membership of every instance in the set. For instance, for the set Clique, every graph G Clique can use vertices v 1,, v k as a certificate, and for the set SAT, every infeasible assignment is a certificate of ϕ SAT. Moreover, given the certificate, membership of instances in a set can be effectively verified. For instance, let us look at the Hamiltonian problem. We know that an n-vertex graph G Hamiltonian if and only if there is a permutation of G, denoted by v 1,..., v n, such that (i) every vertex u of G appears exactly once in the sequence, and (ii) for any 1 i n 1, {v i, v i+1 }, as well as {v n, v 1 }, are edges in G. For the SAT problem, it is easy to verify if x 1,..., x n, x i {0, 1}, is a feasible assignment of ϕ. P, NP and NP-Completeness. Now we define P and NP. The complexity class P formalizes the intuition of efficiently solvable problems, and consists of the problems that can be solved in polynomial-time. The complexity class NP formalizes the intuition of efficiently verifiable problems, and consists of all problems that admit a short certificat for membership. Given this certificate, also called a witness, membership can be verified efficiently in polynomial time. Definition 1.7 (P). The class P consists of those problems that are solvable in polynomial time, i.e. the problems that can be solved in time O(n k ) for some constant k, where n is the size of the input to the problem. Definition 1.8 (NP). The class NP consists of problems for which the solutions can be verified in polynomial-time. More formally, NP consists of sets L such that for all x {0, 1} x L w {0, 1} p( x ) : M(x, w) = 1, where p : N N is a polynomial, and M is a polynomial-time algorithm that is used to verify the membership of x. Intuitively, an algorithm M verifies a language L if for any string x L, there is a certificate y that M can use to prove that x L. Moreover, for any string x L, there must be no certificate proving that x L. Example 1.9 (Composite Numbers). Given a number N, decide N is a composite. This problem
4 4 P versus NP, and More is in NP, since any number N is composite iff there is two numbers p, q 2 such that N = p q. Hence any numbers p, q with p q = N is the witness of N being composite. Example 1.10 (Subset Sum). Given a set S of numbers x 1,, x n, and a number T, decide if there is a subset of numbers in S that sums up to T. The certificate is the list of members in S. Since if a problem in P then we can solve it in polynomial-time without knowing a certificate, we have that P NP. However, because of various practical problems for which only brute-force based algorithms are known, people are interested in finding polynomial-time algorithms for such problems. To study this, Stephen Cook [3] and Leonid Levin [10] independently proposed the notion of NP-completeness around 1971, and gave examples of combinatorial NP-complete problems. They show that, in order to prove P = NP, it suffices to study a few problems in NP. These problems are supposed to be the hardest problems in NP, and is called NPcomplete problems (NPC problems). They further show that a polynomial-time algorithm for any problem in NPC implies P = NP. Definition 1.11 (Reduction). A language L {0, 1} is a polynomial-time reducible to a language L {0, 1}, denoted by L p L, if there is a polynomial-time computable function f : {0, 1} {0, 1} such that for every x {0, 1}, x L if and only if f(x) L. We say that L is NP-hard if L p L for every L NP. We say that L is NP-complete if L is NP-hard and L NP. Theorem If any NP-complete problem can be solved in polynomial-time, then every NP-complete problem has a polynomial-time algorithm. Theorem 1.13 (Cook-Levin Theorem). SAT is NP-complete. In 1972, Richard Karp further showed 21 problems where are NP-complete [8]. In particular, Karp s paper includes NP-completeness proofs for the clique, vertex cover, and the Hamiltonian cycle problem. After that, thousands of problems are shown to be NP-complete. What are the consequences of the P vs. NP question? First, P = NP implies that every efficiently verifiable problem can be solved efficiently, and brute-force search can be essentially avoided. Various seemingly hard problems have efficient algorithms for the exact solutions. Moreover, all randomized polynomial-time algorithms can be derandomized, and we do not need randomness in algorithm design. On a negative side, P = NP implies that any encryption scheme has a trivial decoding scheme, and modern cryptography does not exist anymore. On the other hand, P NP implies that brute-force search is essential and cannot be avoided for most problems. This also shows existence of hard problems which are the basis for cryptography. Ladner Theorem. We know that (i) P NP, and (2) NPC NP \ P, if P NP. A tricky question arising is that, assuming P NP, if there are problems that is in an intermediate state between P and NPC? I.e. is NP \ P \ NPC =? Richard Ladner gave an affirmative answer to this question [9] in 1975.
5 1.2. Polynomial-Time Hierarchy 5 P NP NPC Figure 1.1: How most theoretical computer scientists view the relationship among P, NP, and NPC. Here P NP and NP \ P \ NPC. Theorem 1.14 (Ladner Theorem, 1975). If P NP, then NP \ P \ NPC. Ladner showed that if P NP, then there are infinitely many levels of difficulties inside NP, see Figure 1.1. However, assuming that P NP we know few natural candidates which should be non NP-complete. Problem 1.15 (graph isomorphism). Given two simple graphs G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ), decide if there is an isomorphism mapping between G 1 and G 2, i.e. a permutation φ : V 1 V 2 such that {u, v} E 1 if and only if {φ(u), φ(v)} E 2. Problem 1.16 (Factoring). Given a number N N, L, U, decide if N has a prime factor p in the interval [L, U]. These two problems are in NP, and are conjectured to be not NP-complete. Graph Isomorphism is used to build zero-knowledge proofs, and Factoring is widely used nowadays in building crypto systems. Indeed, we do not know yet how to base cryptography on NPcomplete problems. 1.2 Polynomial-Time Hierarchy Oracle. Alam Turing introduced the notion of oracle in his PhD thesis in Informally, an oracle is a hypothetical device that would solve a computational program, free of charge. For instance, say we have a subroutine to multiply two matrices. After we create the subroutine, we do not have to think about how to multiply two matrices again, we simply think about it as a black block which always returns the correct answer. Now assume that we have a program M, and program M uses another program A as a subroutine. Program M can invoke A as many times as it likes. We use M A to represent such a program. Moreover, we denote P A by the set of polynomial-time algorithms where each algorithm can use A as a subroutine and the runtime of A is assumed to be O(1). Similarly, for complexity classes A, B, we define A B as the set of problems which can be solved by using an algorithm in A that invokes another procedure in B as a subroutine. Example P P = P.
6 6 P versus NP, and More Proof. Since use of oracles gives algorithms extra power, we have P P P. Now we prove P P P. Let L be any problem in P P, then there is a polynomial-time algorithm A to solve L, where A uses another polynomial-time algorithm O as an oracle. Suppose that on input x the runtime of A is p( x ), and the runtime of O is q( x ), where p, q are polynomials. Now, instead of spending O(1) time to get an answer from the oracle O, algorithm A simulates the task of O, and the runtime of this new algorithm is at most p( x ) q( x ), which is a polynomial of x. Hence L P, which implies that P P = P. So far we discussed two complexity classes: P and NP. While most practical problems can be categorized into these two classes and most people in early 70s were studying the relationship between P and NP, a young graduate student, Larry Stockmeyer, and his advisor Albert Meyer started to think what the next step is. In the 1972 s paper [11], they looked at the following problem. Problem The set MINIMAL consists of all boolean formulas for which there is no shorter and equivalent boolean formula. We look at the complexity of MINIMAL, and show the following result. Theorem MINIMAL NP NP. Proof. Note that for any formula ϕ and ϕ of n variables, if ϕ ϕ, then there is an assignment x 1,..., x n such that ϕ(x 1,..., x n) ϕ (x 1,..., x n). This assignment x 1,..., x n is the certificate of ϕ ϕ. Hence the question of testing ϕ ϕ is in NP. Let A NP be the algorithm testing if ϕ ϕ. Now we use A as an oracle. By definition, a formula ϕ MINIMAL if and only if there is a formula ϕ such that (1) the size of ϕ is smaller than the size of ϕ, and (2) ϕ ϕ. By Item (1), ϕ can be used as a certificate, and the property of Item (2) can be checked by oracle A. Therefore we have that MINIMAL NP NP. Polynomial-Time Hierarchy. In 1975, Larry Stockmeyer generalized the notion of P, NP, and oracles, and defined the Polynomial-Time Hierarchy [14]. Polynomial-Time Hierarchy contains an infinite number of subclasses, and these subclasses are conjectured to be distinct. Definition 1.20 (Polynomial-Time Hierarchy). Σ i is a sequence of sets and is defined inductively as follows: 1. Σ 0 P, Σ 1 NP; 2. Σ i+1 NP Σ i. Moreover, let Π i coσ i, and i+1 P Σ i. We say the Polynomial-Time Hierarchy is infinite if Σ i Σ i+1 for any i 0 and otherwise we say it collapses. We call the Polynomial-Time Hierarchy collapses to the ith level if Σ i = Σ i+1. In such case, we have that PH = Σ i.
7 1.3. Remarks 7 Theorem The following statements hold: 1. If Σ i = Π i, then PH = Σ i ; 2. If Σ i = Σ i+1, then PH = Σ i. Many complexity theoreticians conjecture that the Polynomial-Time Hierarchy is infinite and such a conjecture implies that many other complexity results. In computational complexity theory we will see many pigs can fly theorems, that show that if some conjecture does not hold then the Polynomial-Time Hierarchy collapses. If someone eventually does prove that the Polynomial-Time Hierarchy is infinite, then we will immediately get that all these conjectures are true. For instance, one such pigs can fly result relates the complexity of graph isomorphism to Σ 2. Theorem 1.22 ([2]). If Graph Isomorphism is NPC, then PH = Σ 2. Problem Language Σ i -SAT is the set of boolean formulae ϕ such that there are vectors x i of boolean variables satisfying x 1 x 2 Q i x i ϕ( x 1,..., x i ) = 1, where Q i = if i is even, and Q i = otherwise. Language Π i -SAT is defined similarly. Theorem Σ i -SAT is Σ i -complete, and Π i -SAT is Π i -complete. Theorem 1.24 shows that there are complete problems in every level of PH. In contrast to thousands of NP-complete problems we known, our knowledge of complete problems in various levels of PH is quite limited. A list of complete problems in higher levels of PH can be found in [12]. 1.3 Remarks The definition of NP shows that for every language L in NP, and every x L, there is a short witness y, such that membership of x can be efficiently verified given the witness y. This definition implies that a non-deterministic algorithm A for language L. For any input x, algorithm A picks a random string y as the witness and verifies the membership of x. If x L, there is no witness at all, and algorithm A always outputs correct answers. Otherwise, x L, and algorithm A successes with nonzero probability. The complexity class P consists of problems that can be solved in polynomial-time. We can use a similar way to define the complexity class BPP, which consists of problems that can be solved by a randomized polynomial-time algorithm, i.e., for every problem P in BPP, there is a randomized algorithm that runs in polynomial-time and outputs correct solutions of P with probability at least 99%. Clearly, P BPP. A lot of research in complexity theory indicates that randomization does not provide more power over
8 8 References the deterministic algorithms, and most theoreticians believe that P = BPP. We already showed that computing exact solutions of certain problems are NP-hard. The study of hardness of approximation shows that, for many NP-hard problems, even computing an approximate solution with certain approximate guarantees are NP-hard. 1.4 Further Reading The history and status of the P versus NP question is an excellent survey [13], in which you can find the Gödel s original letter and the translation in English. An essay by Scott Aaaronson titled NP-Complete Problems and Physical Reality [1] addresses the question if NP-complete problems can be solved efficiently in the physical reality. [6] summaries the work of Larry Stockmeyer. References [1] Scott Aaronson. Guest column: NP-complete problems and physical reality. SIGACT News, 36(1):30 52, [2] Ravi B. Boppana, Johan Håstad, and Stathis Zachos. Does co-np have short interactive proofs? Inf. Process. Lett., 25(2): , [3] Stephen A. Cook. The complexity of theorem-proving procedures. In 3rd Annual ACM Symposium on Theory of Computing (STOC 71), pages , [4] Edsgar Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1: , [5] Lester R. Ford and Delbert R. Fulkerson. Maximal flow through a network. Canadian J. of Mathematics, 8: , [6] Lance Fortnow. Beyond NP: the work and legacy of larry stockmeyer. In 37th Annual ACM Symposium on Theory of Computing (STOC 05), pages , [7] Kurt Gödel. A letter to John von Neumann. the-gdel-letter/. [8] Richard M. Karp. Reducibility among combinatorial problems. In Complexity of Computer Computations, pages , [9] Richard E. Ladner. On the structure of polynomial time reducibility. J. ACM, 22(1): , [10] Leonid A. Levin. Universal sequential search problems. PINFTRANS: Problems of Information Transmission (translated from Problemy Peredachi Informatsii (Russian)), 9, [11] Albert R. Meyer and Larry J. Stockmeyer. The equivalence problem for regular expressions with squaring requires exponential space. In SWAT, pages , [12] M. Schaefer and C. Umans. Completeness in the polynomial-timer hierarchy: A compendium. [13] Michael Sipser. The history and status of the P versus NP question. In 24th Annual ACM Symposium on Theory of Computing (STOC 92), pages , [14] Larry J. Stockmeyer. The polynomial-time hierarchy. Theor. Comput. Sci., 3(1):1 22, 1976.
NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics
NP-complete? NP-hard? Some Foundations of Complexity Prof. Sven Hartmann Clausthal University of Technology Department of Informatics Tractability of Problems Some problems are undecidable: no computer
Exponential time algorithms for graph coloring
Exponential time algorithms for graph coloring Uriel Feige Lecture notes, March 14, 2011 1 Introduction Let [n] denote the set {1,..., k}. A k-labeling of vertices of a graph G(V, E) is a function V [k].
CSC 373: Algorithm Design and Analysis Lecture 16
CSC 373: Algorithm Design and Analysis Lecture 16 Allan Borodin February 25, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 17 Announcements and Outline Announcements
NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University
NP-Completeness CptS 223 Advanced Data Structures Larry Holder School of Electrical Engineering and Computer Science Washington State University 1 Hard Graph Problems Hard means no known solutions with
On the Relationship between Classes P and NP
Journal of Computer Science 8 (7): 1036-1040, 2012 ISSN 1549-3636 2012 Science Publications On the Relationship between Classes P and NP Anatoly D. Plotnikov Department of Computer Systems and Networks,
Page 1. CSCE 310J Data Structures & Algorithms. CSCE 310J Data Structures & Algorithms. P, NP, and NP-Complete. Polynomial-Time Algorithms
CSCE 310J Data Structures & Algorithms P, NP, and NP-Complete Dr. Steve Goddard [email protected] CSCE 310J Data Structures & Algorithms Giving credit where credit is due:» Most of the lecture notes
OHJ-2306 Introduction to Theoretical Computer Science, Fall 2012 8.11.2012
276 The P vs. NP problem is a major unsolved problem in computer science It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a $ 1,000,000 prize for the
1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)
Some N P problems Computer scientists have studied many N P problems, that is, problems that can be solved nondeterministically in polynomial time. Traditionally complexity question are studied as languages:
A Working Knowledge of Computational Complexity for an Optimizer
A Working Knowledge of Computational Complexity for an Optimizer ORF 363/COS 323 Instructor: Amir Ali Ahmadi TAs: Y. Chen, G. Hall, J. Ye Fall 2014 1 Why computational complexity? What is computational
Introduction to computer science
Introduction to computer science Michael A. Nielsen University of Queensland Goals: 1. Introduce the notion of the computational complexity of a problem, and define the major computational complexity classes.
Lecture 7: NP-Complete Problems
IAS/PCMI Summer Session 2000 Clay Mathematics Undergraduate Program Basic Course on Computational Complexity Lecture 7: NP-Complete Problems David Mix Barrington and Alexis Maciel July 25, 2000 1. Circuit
Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li
Computer Algorithms NP-Complete Problems NP-completeness The quest for efficient algorithms is about finding clever ways to bypass the process of exhaustive search, using clues from the input in order
Tutorial 8. NP-Complete Problems
Tutorial 8 NP-Complete Problems Decision Problem Statement of a decision problem Part 1: instance description defining the input Part 2: question stating the actual yesor-no question A decision problem
NP-Completeness and Cook s Theorem
NP-Completeness and Cook s Theorem Lecture notes for COM3412 Logic and Computation 15th January 2002 1 NP decision problems The decision problem D L for a formal language L Σ is the computational task:
Diagonalization. Ahto Buldas. Lecture 3 of Complexity Theory October 8, 2009. Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach.
Diagonalization Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas [email protected] Background One basic goal in complexity theory is to separate interesting complexity
Complexity Classes P and NP
Complexity Classes P and NP MATH 3220 Supplemental Presentation by John Aleshunas The cure for boredom is curiosity. There is no cure for curiosity Dorothy Parker Computational Complexity Theory In computer
Computational complexity theory
Computational complexity theory Goal: A general theory of the resources needed to solve computational problems What types of resources? Time What types of computational problems? decision problem Decision
Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits
Outline NP-completeness Examples of Easy vs. Hard problems Euler circuit vs. Hamiltonian circuit Shortest Path vs. Longest Path 2-pairs sum vs. general Subset Sum Reducing one problem to another Clique
NP-Completeness I. Lecture 19. 19.1 Overview. 19.2 Introduction: Reduction and Expressiveness
Lecture 19 NP-Completeness I 19.1 Overview In the past few lectures we have looked at increasingly more expressive problems that we were able to solve using efficient algorithms. In this lecture we introduce
Why? A central concept in Computer Science. Algorithms are ubiquitous.
Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online
The Classes P and NP
The Classes P and NP We now shift gears slightly and restrict our attention to the examination of two families of problems which are very important to computer scientists. These families constitute the
Tetris is Hard: An Introduction to P vs NP
Tetris is Hard: An Introduction to P vs NP Based on Tetris is Hard, Even to Approximate in COCOON 2003 by Erik D. Demaine (MIT) Susan Hohenberger (JHU) David Liben-Nowell (Carleton) What s Your Problem?
Introduction to Algorithms. Part 3: P, NP Hard Problems
Introduction to Algorithms Part 3: P, NP Hard Problems 1) Polynomial Time: P and NP 2) NP-Completeness 3) Dealing with Hard Problems 4) Lower Bounds 5) Books c Wayne Goddard, Clemson University, 2004 Chapter
Lecture 2: Complexity Theory Review and Interactive Proofs
600.641 Special Topics in Theoretical Cryptography January 23, 2007 Lecture 2: Complexity Theory Review and Interactive Proofs Instructor: Susan Hohenberger Scribe: Karyn Benson 1 Introduction to Cryptography
Theoretical Computer Science (Bridging Course) Complexity
Theoretical Computer Science (Bridging Course) Complexity Gian Diego Tipaldi A scenario You are a programmer working for a logistics company Your boss asks you to implement a program that optimizes the
Chapter 1. NP Completeness I. 1.1. Introduction. By Sariel Har-Peled, December 30, 2014 1 Version: 1.05
Chapter 1 NP Completeness I By Sariel Har-Peled, December 30, 2014 1 Version: 1.05 "Then you must begin a reading program immediately so that you man understand the crises of our age," Ignatius said solemnly.
THE P VERSUS NP PROBLEM
THE P VERSUS NP PROBLEM STEPHEN COOK 1. Statement of the Problem The P versus NP problem is to determine whether every language accepted by some nondeterministic algorithm in polynomial time is also accepted
2.1 Complexity Classes
15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look
Chapter. NP-Completeness. Contents
Chapter 13 NP-Completeness Contents 13.1 P and NP......................... 593 13.1.1 Defining the Complexity Classes P and NP...594 13.1.2 Some Interesting Problems in NP.......... 597 13.2 NP-Completeness....................
Introduction to Logic in Computer Science: Autumn 2006
Introduction to Logic in Computer Science: Autumn 2006 Ulle Endriss Institute for Logic, Language and Computation University of Amsterdam Ulle Endriss 1 Plan for Today Now that we have a basic understanding
Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar
Complexity Theory IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar Outline Goals Computation of Problems Concepts and Definitions Complexity Classes and Problems Polynomial Time Reductions Examples
SOLVING NARROW-INTERVAL LINEAR EQUATION SYSTEMS IS NP-HARD PATRICK THOR KAHL. Department of Computer Science
SOLVING NARROW-INTERVAL LINEAR EQUATION SYSTEMS IS NP-HARD PATRICK THOR KAHL Department of Computer Science APPROVED: Vladik Kreinovich, Chair, Ph.D. Luc Longpré, Ph.D. Mohamed Amine Khamsi, Ph.D. Pablo
Lecture 2: Universality
CS 710: Complexity Theory 1/21/2010 Lecture 2: Universality Instructor: Dieter van Melkebeek Scribe: Tyson Williams In this lecture, we introduce the notion of a universal machine, develop efficient universal
SIMS 255 Foundations of Software Design. Complexity and NP-completeness
SIMS 255 Foundations of Software Design Complexity and NP-completeness Matt Welsh November 29, 2001 [email protected] 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity
Generating models of a matched formula with a polynomial delay
Generating models of a matched formula with a polynomial delay Petr Savicky Institute of Computer Science, Academy of Sciences of Czech Republic, Pod Vodárenskou Věží 2, 182 07 Praha 8, Czech Republic
NP-completeness and the real world. NP completeness. NP-completeness and the real world (2) NP-completeness and the real world
-completeness and the real world completeness Course Discrete Biological Models (Modelli Biologici Discreti) Zsuzsanna Lipták Imagine you are working for a biotech company. One day your boss calls you
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009. Notes on Algebra
U.C. Berkeley CS276: Cryptography Handout 0.1 Luca Trevisan January, 2009 Notes on Algebra These notes contain as little theory as possible, and most results are stated without proof. Any introductory
! X is a set of strings. ! Instance: string s. ! Algorithm A solves problem X: A(s) = yes iff s! X.
Decision Problems 8.2 Definition of NP Decision problem. X is a set of strings. Instance: string s. Algorithm A solves problem X: A(s) = yes iff s X. Polynomial time. Algorithm A runs in polytime if for
Factoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.
A factor 1 European Journal of Operational Research xxx (00) xxx xxx Discrete Optimization approximation algorithm for two-stage stochastic matching problems Nan Kong, Andrew J. Schaefer * Department of
Introduction to NP-Completeness Written and copyright c by Jie Wang 1
91.502 Foundations of Comuter Science 1 Introduction to Written and coyright c by Jie Wang 1 We use time-bounded (deterministic and nondeterministic) Turing machines to study comutational comlexity of
Lecture 11: The Goldreich-Levin Theorem
COM S 687 Introduction to Cryptography September 28, 2006 Lecture 11: The Goldreich-Levin Theorem Instructor: Rafael Pass Scribe: Krishnaprasad Vikram Hard-Core Bits Definition: A predicate b : {0, 1}
Complexity Theory. Jörg Kreiker. Summer term 2010. Chair for Theoretical Computer Science Prof. Esparza TU München
Complexity Theory Jörg Kreiker Chair for Theoretical Computer Science Prof. Esparza TU München Summer term 2010 Lecture 8 PSPACE 3 Intro Agenda Wrap-up Ladner proof and time vs. space succinctness QBF
Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU
Welcome to... Problem Analysis and Complexity Theory 716.054, 3 VU Birgit Vogtenhuber Institute for Software Technology email: [email protected] office hour: Tuesday 10:30 11:30 slides: http://www.ist.tugraz.at/pact.html
One last point: we started off this book by introducing another famously hard search problem:
S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani 261 Factoring One last point: we started off this book by introducing another famously hard search problem: FACTORING, the task of finding all prime factors
The P versus NP Solution
The P versus NP Solution Frank Vega To cite this version: Frank Vega. The P versus NP Solution. 2015. HAL Id: hal-01143424 https://hal.archives-ouvertes.fr/hal-01143424 Submitted on 17 Apr
Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA
A Factor 1 2 Approximation Algorithm for Two-Stage Stochastic Matching Problems Nan Kong, Andrew J. Schaefer Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA Abstract We introduce
Definition 11.1. Given a graph G on n vertices, we define the following quantities:
Lecture 11 The Lovász ϑ Function 11.1 Perfect graphs We begin with some background on perfect graphs. graphs. First, we define some quantities on Definition 11.1. Given a graph G on n vertices, we define
Transportation Polytopes: a Twenty year Update
Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,
Discuss the size of the instance for the minimum spanning tree problem.
3.1 Algorithm complexity The algorithms A, B are given. The former has complexity O(n 2 ), the latter O(2 n ), where n is the size of the instance. Let n A 0 be the size of the largest instance that can
Lecture 19: Introduction to NP-Completeness Steven Skiena. Department of Computer Science State University of New York Stony Brook, NY 11794 4400
Lecture 19: Introduction to NP-Completeness Steven Skiena Department of Computer Science State University of New York Stony Brook, NY 11794 4400 http://www.cs.sunysb.edu/ skiena Reporting to the Boss Suppose
Notes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
Why Study NP- hardness. NP Hardness/Completeness Overview. P and NP. Scaling 9/3/13. Ron Parr CPS 570. NP hardness is not an AI topic
Why Study NP- hardness NP Hardness/Completeness Overview Ron Parr CPS 570 NP hardness is not an AI topic It s important for all computer scienhsts Understanding it will deepen your understanding of AI
Non-Black-Box Techniques In Crytpography. Thesis for the Ph.D degree Boaz Barak
Non-Black-Box Techniques In Crytpography Introduction Thesis for the Ph.D degree Boaz Barak A computer program (or equivalently, an algorithm) is a list of symbols a finite string. When we interpret a
Offline 1-Minesweeper is NP-complete
Offline 1-Minesweeper is NP-complete James D. Fix Brandon McPhail May 24 Abstract We use Minesweeper to illustrate NP-completeness proofs, arguments that establish the hardness of solving certain problems.
Notes on NP Completeness
Notes on NP Completeness Rich Schwartz November 10, 2013 1 Overview Here are some notes which I wrote to try to understand what NP completeness means. Most of these notes are taken from Appendix B in Douglas
The Challenger-Solver game: Variations on the theme of P =?NP
The Challenger-Solver game: Variations on the theme of P =?NP Yuri Gurevich Electrical Engineering and Computer Science Department University of Michigan, Ann Arbor, MI 48109, U.S.A. Logic in Computer
Million Dollar Mathematics!
Million Dollar Mathematics! Alissa S. Crans Loyola Marymount University Southern California Undergraduate Math Day University of California, San Diego April 30, 2011 This image is from the Wikipedia article
Notes on Complexity Theory Last updated: August, 2011. Lecture 1
Notes on Complexity Theory Last updated: August, 2011 Jonathan Katz Lecture 1 1 Turing Machines I assume that most students have encountered Turing machines before. (Students who have not may want to look
Cycle transversals in bounded degree graphs
Electronic Notes in Discrete Mathematics 35 (2009) 189 195 www.elsevier.com/locate/endm Cycle transversals in bounded degree graphs M. Groshaus a,2,3 P. Hell b,3 S. Klein c,1,3 L. T. Nogueira d,1,3 F.
MATHEMATICS: CONCEPTS, AND FOUNDATIONS Vol. III - Logic and Computer Science - Phokion G. Kolaitis
LOGIC AND COMPUTER SCIENCE Phokion G. Kolaitis Computer Science Department, University of California, Santa Cruz, CA 95064, USA Keywords: algorithm, Armstrong s axioms, complete problem, complexity class,
Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs
CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like
CoNP and Function Problems
CoNP and Function Problems conp By definition, conp is the class of problems whose complement is in NP. NP is the class of problems that have succinct certificates. conp is therefore the class of problems
P vs NP problem in the field anthropology
Research Article P vs NP problem in the field anthropology Michael.A. Popov, Oxford, UK Email [email protected] Keywords P =?NP - complexity anthropology - M -decision - quantum -like game - game-theoretical
Universality in the theory of algorithms and computer science
Universality in the theory of algorithms and computer science Alexander Shen Computational models The notion of computable function was introduced in 1930ies. Simplifying (a rather interesting and puzzling)
(67902) Topics in Theory and Complexity Nov 2, 2006. Lecture 7
(67902) Topics in Theory and Complexity Nov 2, 2006 Lecturer: Irit Dinur Lecture 7 Scribe: Rani Lekach 1 Lecture overview This Lecture consists of two parts In the first part we will refresh the definition
Exact Polynomial-time Algorithm for the Clique Problem and P = NP for Clique Problem
xact Polynomial-time Algorithm for the Clique Problem and P = NP for Clique Problem Kanak Chandra Bora Department of Computer Science & ngineering Royal School of ngineering & Technology, Betkuchi, Guwahati-7810,
CMPSCI611: Approximating MAX-CUT Lecture 20
CMPSCI611: Approximating MAX-CUT Lecture 20 For the next two lectures we ll be seeing examples of approximation algorithms for interesting NP-hard problems. Today we consider MAX-CUT, which we proved to
Discrete Applied Mathematics. The firefighter problem with more than one firefighter on trees
Discrete Applied Mathematics 161 (2013) 899 908 Contents lists available at SciVerse ScienceDirect Discrete Applied Mathematics journal homepage: www.elsevier.com/locate/dam The firefighter problem with
JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004
Scientiae Mathematicae Japonicae Online, Vol. 10, (2004), 431 437 431 JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS Ondřej Čepeka and Shao Chin Sung b Received December May 12, 2003; revised February
Cycles and clique-minors in expanders
Cycles and clique-minors in expanders Benny Sudakov UCLA and Princeton University Expanders Definition: The vertex boundary of a subset X of a graph G: X = { all vertices in G\X with at least one neighbor
Graph Classification and Easy Reliability Polynomials
Mathematical Assoc. of America American Mathematical Monthly 121:1 November 18, 2014 1:11 a.m. AMM.tex page 1 Graph Classification and Easy Reliability Polynomials Pablo Romero and Gerardo Rubino Abstract.
School Timetabling in Theory and Practice
School Timetabling in Theory and Practice Irving van Heuven van Staereling VU University, Amsterdam Faculty of Sciences December 24, 2012 Preface At almost every secondary school and university, some
ON THE COMPLEXITY OF THE GAME OF SET. {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu
ON THE COMPLEXITY OF THE GAME OF SET KAMALIKA CHAUDHURI, BRIGHTEN GODFREY, DAVID RATAJCZAK, AND HOETECK WEE {kamalika,pbg,dratajcz,hoeteck}@cs.berkeley.edu ABSTRACT. Set R is a card game played with a
Offline sorting buffers on Line
Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: [email protected] 2 IBM India Research Lab, New Delhi. email: [email protected]
Quantum and Non-deterministic computers facing NP-completeness
Quantum and Non-deterministic computers facing NP-completeness Thibaut University of Vienna Dept. of Business Administration Austria Vienna January 29th, 2013 Some pictures come from Wikipedia Introduction
Ch.9 Cryptography. The Graduate Center, CUNY.! CSc 75010 Theoretical Computer Science Konstantinos Vamvourellis
Ch.9 Cryptography The Graduate Center, CUNY! CSc 75010 Theoretical Computer Science Konstantinos Vamvourellis Why is Modern Cryptography part of a Complexity course? Short answer:! Because Modern Cryptography
Applied Algorithm Design Lecture 5
Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design
1 Definitions. Supplementary Material for: Digraphs. Concept graphs
Supplementary Material for: van Rooij, I., Evans, P., Müller, M., Gedge, J. & Wareham, T. (2008). Identifying Sources of Intractability in Cognitive Models: An Illustration using Analogical Structure Mapping.
Regular Languages and Finite Automata
Regular Languages and Finite Automata 1 Introduction Hing Leung Department of Computer Science New Mexico State University Sep 16, 2010 In 1943, McCulloch and Pitts [4] published a pioneering work on a
Boulder Dash is NP hard
Boulder Dash is NP hard Marzio De Biasi marziodebiasi [at] gmail [dot] com December 2011 Version 0.01:... now the difficult part: is it NP? Abstract Boulder Dash is a videogame created by Peter Liepa and
8.1 Min Degree Spanning Tree
CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree
Approximation Algorithms
Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms
Lecture 30: NP-Hard Problems [Fa 14]
[I]n his short and broken treatise he provides an eternal example not of laws, or even of method, for there is no method except to be very intelligent, but of intelligence itself swiftly operating the
Private Approximation of Clustering and Vertex Cover
Private Approximation of Clustering and Vertex Cover Amos Beimel, Renen Hallak, and Kobbi Nissim Department of Computer Science, Ben-Gurion University of the Negev Abstract. Private approximation of search
CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA
We Can Early Learning Curriculum PreK Grades 8 12 INSIDE ALGEBRA, GRADES 8 12 CORRELATED TO THE SOUTH CAROLINA COLLEGE AND CAREER-READY FOUNDATIONS IN ALGEBRA April 2016 www.voyagersopris.com Mathematical
Lecture 13 - Basic Number Theory.
Lecture 13 - Basic Number Theory. Boaz Barak March 22, 2010 Divisibility and primes Unless mentioned otherwise throughout this lecture all numbers are non-negative integers. We say that A divides B, denoted
Problem Set 7 Solutions
8 8 Introduction to Algorithms May 7, 2004 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Handout 25 Problem Set 7 Solutions This problem set is due in
Degrees that are not degrees of categoricity
Degrees that are not degrees of categoricity Bernard A. Anderson Department of Mathematics and Physical Sciences Gordon State College [email protected] www.gordonstate.edu/faculty/banderson Barbara
Classification - Examples
Lecture 2 Scheduling 1 Classification - Examples 1 r j C max given: n jobs with processing times p 1,...,p n and release dates r 1,...,r n jobs have to be scheduled without preemption on one machine taking
Fixed-Point Logics and Computation
1 Fixed-Point Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
Mathematics Course 111: Algebra I Part IV: Vector Spaces
Mathematics Course 111: Algebra I Part IV: Vector Spaces D. R. Wilkins Academic Year 1996-7 9 Vector Spaces A vector space over some field K is an algebraic structure consisting of a set V on which are
5.1 Bipartite Matching
CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson
Cloud Computing is NP-Complete
Working Paper, February 2, 20 Joe Weinman Permalink: http://www.joeweinman.com/resources/joe_weinman_cloud_computing_is_np-complete.pdf Abstract Cloud computing is a rapidly emerging paradigm for computing,
Chapter 7. Permutation Groups
Chapter 7 Permutation Groups () We started the study of groups by considering planar isometries In the previous chapter, we learnt that finite groups of planar isometries can only be cyclic or dihedral
