# P versus NP, and More

Save this PDF as:

Size: px
Start display at page:

## 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

### 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,

### 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

### 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 goddard@cse.unl.edu 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

### 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:

### 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

### 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 Ahto.Buldas@ut.ee Background One basic goal in complexity theory is to separate interesting complexity

### 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

### 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

### 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

### 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

### 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

### 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

### 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

### 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?

### 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.

### 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

### Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms

### 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

### 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

### 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

### 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....................

### COMS4236: Introduction to Computational Complexity. Summer 2014

COMS4236: Introduction to Computational Complexity Summer 2014 Mihalis Yannakakis Lecture 17 Outline conp NP conp Factoring Total NP Search Problems Class conp Definition of NP is nonsymmetric with respect

### 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

### 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 mdw@cs.berkeley.edu 1 Outline Complexity of algorithms Space and time complexity ``Big O'' notation Complexity

### 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

### 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

### 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

### 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

### 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

### What s next? Reductions other than kernelization

What s next? Reductions other than kernelization Dániel Marx Humboldt-Universität zu Berlin (with help from Fedor Fomin, Daniel Lokshtanov and Saket Saurabh) WorKer 2010: Workshop on Kernelization Nov

### 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

### Complexity and Completeness of Finding Another Solution and Its Application to Puzzles

yato@is.s.u-tokyo.ac.jp seta@is.s.u-tokyo.ac.jp Π (ASP) Π x s x s ASP Ueda Nagao n n-asp parsimonious ASP ASP NP Complexity and Completeness of Finding Another Solution and Its Application to Puzzles Takayuki

### 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

### Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

### ! 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

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

### 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

### 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}

### 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

### Notes on Matrix Multiplication and the Transitive Closure

ICS 6D Due: Wednesday, February 25, 2015 Instructor: Sandy Irani Notes on Matrix Multiplication and the Transitive Closure An n m matrix over a set S is an array of elements from S with n rows and m columns.

### 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.

### 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,

### Structural properties of oracle classes

Structural properties of oracle classes Stanislav Živný Computing Laboratory, University of Oxford, Wolfson Building, Parks Road, Oxford, OX1 3QD, UK Abstract Denote by C the class of oracles relative

### 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

### Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization

### 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

### 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

### 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: bvogt@ist.tugraz.at office hour: Tuesday 10:30 11:30 slides: http://www.ist.tugraz.at/pact.html

### 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

### Algorithm Design and Analysis Homework #6 Due: 1pm, Monday, January 9, === Homework submission instructions ===

Algorithm Design and Analysis Homework #6 Due: 1pm, Monday, January 9, 2012 === Homework submission instructions === Submit the answers for writing problems (including your programming report) through

### 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 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

### 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,

### 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

### 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008

MIT OpenCourseWare http://ocw.mit.edu 6.080 / 6.089 Great Ideas in Theoretical Computer Science Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

### 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

### Heuristic Methods. Part #1. João Luiz Kohl Moreira. Observatório Nacional - MCT COAA. Observatório Nacional - MCT 1 / 14

Heuristic Methods Part #1 João Luiz Kohl Moreira COAA Observatório Nacional - MCT Observatório Nacional - MCT 1 / Outline 1 Introduction Aims Course's target Adviced Bibliography 2 Problem Introduction

### 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

### 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

### Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

### Two General Methods to Reduce Delay and Change of Enumeration Algorithms

ISSN 1346-5597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII-2003-004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration

### P vs NP problem in the field anthropology

Research Article P vs NP problem in the field anthropology Michael.A. Popov, Oxford, UK Email Michael282.eps@gmail.com Keywords P =?NP - complexity anthropology - M -decision - quantum -like game - game-theoretical

### 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

### P, N P and mathematics a computational complexity perspective

P, N P and mathematics a computational complexity perspective Avi Wigderson December 21, 2006 P versus N P a gift to mathematics from computer science Abstract Steve Smale The P versus N P question distinguished

### Finding the Shortest Move-Sequence in the Graph-Generalized 15-Puzzle is NP-Hard

Finding the Shortest Move-Sequence in the Graph-Generalized 15-Puzzle is NP-Hard Oded Goldreich Abstract. Following Wilson (J. Comb. Th. (B), 1975), Johnson (J. of Alg., 1983), and Kornhauser, Miller and

### 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)

### Prime Numbers The generation of prime numbers is needed for many public key algorithms:

CA547: CRYPTOGRAPHY AND SECURITY PROTOCOLS 1 7 Number Theory 2 7.1 Prime Numbers Prime Numbers The generation of prime numbers is needed for many public key algorithms: RSA: Need to find p and q to compute

### 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.

### 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

### 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

### (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

### 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

### 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,

### 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

### Theoretical Computer Science Bridging Course - Introduction / General Info. Summer Term 2016 Fabian Kuhn

Theoretical Computer Science Bridging Course - Introduction / General Info Summer Term 2016 Fabian Kuhn About the Course Topics Foundations of theoretical computer science Introduction to logic No lectures

### 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

### The Computational Complexity Column

The Computational Complexity Column by Vikraman Arvind Institute of Mathematical Sciences, CIT Campus, Taramani Chennai 600113, India arvind@imsc.res.in http://www.imsc.res.in/~arvind We revisit robust

### 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

### SAMPLES OF HIGHER RATED WRITING: LAB 5

SAMPLES OF HIGHER RATED WRITING: LAB 5 1. Task Description Lab report 5. (April 14) Graph Coloring. Following the guidelines, and keeping in mind the assessment criteria, using where appropriate experimental

### 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

### Offline sorting buffers on Line

Offline sorting buffers on Line Rohit Khandekar 1 and Vinayaka Pandit 2 1 University of Waterloo, ON, Canada. email: rkhandekar@gmail.com 2 IBM India Research Lab, New Delhi. email: pvinayak@in.ibm.com

### 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

### 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.

### 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