Non-Deterministic Time

Size: px
Start display at page:

Download "Non-Deterministic Time"

Transcription

1 Non-Deterministic Time Master Informatique Non-Deterministic Time Complexity Classes Reminder on DTM vs NDTM [Turing 1936] (q 0, x 0 ) (q 1, x 1 ) Deterministic (q n, x n ) Non-Deterministic (q m, x m ) (q 0, x 0 ) (q 1, x 1 ) (q k, x k ) (q n, x n ) (q o, x o ) (q p, x p ) Intuition on Solving an Exponential Problem with DTM Linear calculations since is a 1 to 1 mapping from configurations to transitions Exponential number of steps cannot be avoided... with NDTM The tree structure can simulate parallel computing The solving time is the length of the longest branch of the tree COULD BE polynomial (no guarantee in general) When it stays exponential, it COULD BE smaller exponential (e.g. O(2 n ) steps instead of O(10 n )) 1

2 Really Naive Example Solving an Equation... Does f(n) = 0 have a solution, with n [0, 1,, 10 9 ]?... with DTM Compute f(0). If it works, fine, otherwise compute f(1), then f(2), Not efficient: if the solutions of the equation are huge (e.g ), then a lot of useless calculations are made... with NDTM Compute f(i) on the i th branch of the tree, with 0 i 10 9 Whatever the solution of the problem, it is obtained in the time of a «single» f(i) computation Non-Deterministic Complexity Classes Evaluating Time with NDTM Given a function f : N N, NTIME(f(n)) is the set of all languages recognized by a NDTM M in less than g(n) steps (longer branch), with g(n) O(f(n)) Closeness under com- f : N N, then DTIME(f(n)) NTIME(f(n)) f(n) n, NTIME(f(n)) is closed for finite union and finite intersection if L 1,, L m NTIME(f(n)), then L 1 L m NTIME(f(n)) if L 1,, L m NTIME(f(n)), then L 1 L m NTIME(f(n)) plement is an open question. The answer is mainly assumed to be «no» Hierarchy Theorem Same intuition as deterministic time: «more time, more problems can be solved» Theorem [Cook 1972, Seiferas et al 1978] Given f : N N s.t. n, f(n) 0, and g : N N a time-constructible increasing function. If f(n + 1) o(g(n)), then NTIME(f(n)) NTIME(g(n)) Polynomial vs Exponential Time The complexity class NP is the set of languages recognized in polynomial time by a NDTM, i.e NP = k N NTIME(n k ) The complexity class NEXP is the set of languages recognized in exponential time by a NDTM, i.e NEXP = k N NTIME(2 nk ) Theorem P NP EXP NEXP Moreover, P EXP, NP NEXP. P = NP, NP = EXP or EXP = NEXP are open questions: Millennium Prize Problems Examples of Problems in NP Clique Input: G a graph, k N Problem: Does G contain a clique with size k? Subset Sum Input: {a 1,, a n } N, k N Problem: Is there a subset S {a 1,, a n } s.t. x S x = k? 2

3 2 Polynomial Hierarchy Complement of a Class Given a complexity class C, its complement coc is defined by coc = { P P C} For complexity classes C defined with DTM, coc = C Important Complement Class conp is the complement complexity class of NP Examples of Problems in conp No Clique Input: G a graph, k N Problem: Does G contain no clique with size k? Why determining if a graph has a k-clique has not the same complexity than proving that it has no k-clique? To accept an instance of Clique: just exhibit one example of a k-clique to answer YES To accept an instance of No Clique: you have to check every k-subgraph G and check if it s a clique Relations between P, NP, conp Theorem but NP = / conp is still an open question P NP and P conp Idea of the polynomial hierarchy: defined generalized complexity classes with similar inclusion pattern Oracle Machines Given C 1, C 2 two complexity classes, C C2 1 is the set of all problems which can be solved by a Turing machine from the class C 1 with an oracle from the class C 2 oracle of class C 2 : abstract entity which can solve in one step a problem from C 2 Example A problem belongs to P NP if it can be solved by a DTM with polynomially many calls to a NP oracle (i.e. a polynomial NDTM) Polynomial Hierarchy [Stockmeyer 1976] The polynomial hierarchy is the set if complexity classes defined recursively by P 0 = Σ P 0 = Π P 0 = P P k+1 = PΣP k Σ P k+1 = NPΣP k Π P k+1 = conpσp k 3

4 conp Π P 2 Π P 3 P P 2 P 3 NP Σ P 2 Σ P 3 C 1 C 2 means that C 1 C 2 PH = i N ΣP i Relative Hardness of Problems Polynomial-Time Functional Reduction A polynomial-time functional reduction f is a total computable function from a problem P 1 to a problem P 2 such that, for any instance i of P 1, f(i) can be computed in polynomial-time in the size of i i is a positive instance of P 1 iff f(i) is a positive instance of P 2 Notation: P 1 P f P 2 C-hardness A problem P is C-hard iff for each P C, P P f P Intuition: P is at least as hard to solve as every problem from C Completeness C-completeness A problem P is C-complete iff it is C-hard and P C Intuition: P is one of the hardest problems from C A lot of interesting AI problems are complete for NP, conp, Σ P 2 or Π P 2 3 Complexity of Well-Known Problems 3.1 SAT and Related Problems SAT Syntax and Semantics of al Logic V = {x 1,, x n } a set of Boolean variables C = {,, } a set of connectives A well formed formula (wff) φ is: an atom: φ = x i the negation of a wff: φ = ψ the conjunction of two wffs: φ = ψ 1 ψ 2 the disjunction of two wffs: φ = ψ 1 ψ 2 Interpretation ω : V B = {0, 1} Semantics of connectives: ω( ψ) = 1 ω(ψ) ω(ψ 1 ψ 2 ) = min(ω(ψ 1 ), ω(ψ 2 )) ω(ψ 1 ψ 2 ) = max(ω(ψ 1 ), ω(ψ 2 )) ω = φ iff ω(φ) = 1 4

5 SAT Complexity Theorem [Cook 1971] Given a propositional formula φ, the SAT problem consists in determining whether φ is consistent, i.e. whether φ has a model. SAT is NP-complete. General knowledge: SAT is the first problem which has been proved NP-complete. The power of propositional logic to express a lot of «real» problems (solving games, planning, ) has led to the development of quite efficient methods to solve NP-complete problems. But even these methods do not allow to solve ALL instances of NP-complete problems. Normal Forms A literal l is either a variable x or its negation x A clause is a disjunction of literals l 1 l n A cube is a conjunction of literals l 1 l n Conjunctive Normal Form A formula is in CNF if it is a conjunction of clauses Disjunctive Normal Form A formula is in DNF if it is a disjunction of cubes Complexity of SAT with Normal Forms CNF-SAT Any formula can be transformed in an equivalent CNF formula The transformation can be done in polynomial time Solving CNF-SAT is NP-complete DNF-SAT Any formula can be transformed in an equivalent DNF formula Solving DNF-SAT is polynomial The transformation cannot be done in polynomial time :( Tractable Classes 2SAT A binary clause is a clause with two literals: l 1 l 2 A 2CNF is a CNF formula with only binary clauses Complexity of 2SAT Determining if a 2CNF formula is satisfiable is in P Tractable Classes Horn-SAT A Horn clause is a clause with at most one positive literal: x 1 x 2 x n A Horn formula (or Horn CNF) is a CNF formula with only Horn clauses Complexity of Horn-SAT Determining if a Horn formula is satisfiable is in P 5

6 Quantified Boolean Formula A canonical QBF is a formula Q 1 X 1, Q 2 X 2, Q n X n, φ with Q i {, } and Q i Q i+1 X 1, X n form a partition of the Boolean variables in φ φ is a propositional formula E.g. x 1, x 3, x 2, ( x 1 x 2 ) ( x 3 x 2 ) n QBF is the decision problem: is the QBF X 1, X 2, Q n X n, φ true? n QBF is the decision problem: is the QBF X 1, X 2, Q n X n, φ true? Complexity of n QBF n QBF is Σ P n -complete Complexity of n QBF n QBF is Π P n -complete 3.2 Other Problems Set Packing Given a universe U and S 2 U, a set packing of U is a subset C S s.t. all elements in C are pairwise disjoints Theorem [Karp 1972] Given U, S and k N, determining whether there is a set packing C s.t. C = k is NP-complete Knapsack Problem Given a list of objects x 1,, x n, each of them associated with a value v 1,, v n and a weight w 1,, w n, a knapsack with a maximal weight W, and an integer V, is it possible to fill the bag with some of the objects, such that the sum of the weights is lesser than W and the sum of the values is greater than V? Theorem Solving the Knapsack Problem is NP-complete Kernel of a Graph A graph is a pair G = N, E where elements of N are called nodes and E N N is the set of edges between the nodes. A kernel of G is a subset K N s.t. n i, n j K, (n i, n j ) / E and n j N \ K, n i K s.t. (n i, n j ) E Theorem [Creignou 1995] Given a graph G, determining whether G has a kernel is NP-complete. Shortest Implicant An implicant of a formula φ is a conjunction of literals c = x 1 x n s.t. c φ. Theorem [Umans 2001] Given a formula φ and k N, determining whether φ has an implicant c s.t. c k is Σ P 2 -complete More Information on Complexity of Problems [Garey and Johnson 1979]: One of the most well-known book on the topic, a lot of classical results [Schaefer and Umans 2002a, Schaefer and Umans 2002b]: More recent collection of results 6

7 4 Determining the Complexity of a Problem Bounds of Complexity In some cases, it s not easy to determine precisely the complexity of a problem, but we can give lower/upper bounds. Lower bound: C-hardness. E.g. if P is NP-hard, P is at least as hard as SAT Upper bound: C membership. E.g. if P Σ P 2, P is at most as hard as Shortest Implicant problem. Exact complexity: C-completeness Prove C-completeness: prove hardness (c.f. polynomial functional reductions) + prove membership Certificate A certificate (also called a witness) is a word that certifies the answer to a computation, or certifies the membership of some word in a language. Example P = Given a polynomial P, has P at least one root?. The instance P (x) = x 2 can be verified with the certificate x = 0: P (0) = 0. x = 0 is a certificate that P is a positive instance of P P = Given a polynomial P, is P (x) positive for all x? The instance P (x) = x 2 2 can be verified with the certificate x = 1: P ( 1) = ( 1) 2 2 = 1 2 = 1 < 0. x = 1 is a certificate that P is a negative instance of P Proving C-Membership with a Certificate Let P be a problem. Given an instance x of P and a certificate c, if the problem is in Π P i 1, then P ΣP i P : «Is c a proof that x is a positive instance of P?» Let P be a problem. Given an instance x of P and a certificate c, if the problem is in Σ P i 1, then P ΠP i NP and conp Membership P : «Is c a proof that x is a negative instance of P?» Let P be a problem. Given an instance x of P and a certificate c, if the problem is in P, then P NP P : «Is c a proof that x is a positive instance of P?» Let P be a problem. Given an instance x of P and c a certificate, if the problem is in P, then P conp P : «Is c a proof that x is a negative instance of P?» NP: Problems where checking a solution is easy conp: Problems where checking a counter-example is easy 7

8 Example Proving that Graph Kernel NP A kernel of G = N, E is a subset K N s.t. n i, n j K, (n i, n j ) / E and n j N \ K, n i K s.t. (n i, n j ) E Given a set of nodes K of a graph G = N, E, it is polynomial to determine whether K is a kernel of G Proof The algorithm to check if K is a kernel of G is polynomial: For all x, y K, check whether (x, y) / E: K 2 operations (O(n 2 )) For all y N \ K, check whether x K s.t. (x, y) E: N \ K K operations (O(n 2 )) Upper Bound through Reduction Instead of certificates, reductions can be used to give an upper bound complexity. Graph Kernel We define the Boolean variables V = {v x x N}. The set K is a kernel of the graph G iff V K = {v x V x K} is a model of the formula φ Kernel = [v x ( v y )] x N y N,(y,x) E The reduction from Graph Kernel to SAT is polynomial: the size of φ Kernel is polynomial in N ; an algorithm to build φ Kernel from G is O(n 2 ) References Références [Turing 1936] A. M. Turing, On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society, [Cook 1972] S. A. Cook, A Hierarchy for Nondeterministic Time Complexity. STOC, , [Seiferas et al 1978] J. I. Seiferas, M. J. Fischer and A. R. Meyer, Separating Non-deterministic Time Complexity Classes. J. ACM, 25.1, , [Stockmeyer 1976] L. J. Stockmeyer, The polynomial-time hierarchy. Theoretical Computer Science, 3, 1 22, References Références [Cook 1971] S. A. Cook, The Complexity of Theorem-Proving Procedures. Proc. of the Third Annual Symposium on Theory of Computing, , [Karp 1972] R. M. Karp, Reducibility Among Combinatorial Problems. Proc. of Symposium on the Complexity of Computer Computations, , [Creignou 1995] N. Creignou, The Class of Problems That are Linearly Equivalent to Satisfiability or a Uniform Method for Proving NP-Completeness. Theoretical Computer Science, 145, , [Umans 2001] C. Umans, The Minimum Equivalent DNF Problem and Shortest Implicants. J. Comput. Syst. Sci., 63, , References 8

9 Références [Garey and Johnson 1979] M. R. Garey and D. S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, [Schaefer and Umans 2002a] M. Schaefer and C. Umans, Completeness in the Polynomial-Time Hierarchy: A Compendium. Sigact News September, [Schaefer and Umans 2002b] M. Schaefer and C. Umans, Completeness in the Polynomial-Time Hierarchy: Part II. Sigact News December,

Space Complexity. Master Informatique. Université Paris 5 René Descartes. Master Info. Complexity Space 1/26

Space Complexity. Master Informatique. Université Paris 5 René Descartes. Master Info. Complexity Space 1/26 Space Complexity Master Informatique Université Paris 5 René Descartes 2016 Master Info. Complexity Space 1/26 Outline Basics on Space Complexity Main Space Complexity Classes Deterministic and Non-Deterministic

More information

NP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35.

NP-Completeness. f(n) \ n n sec sec sec. n sec 24.3 sec 5.2 mins. 2 n sec 17.9 mins 35. NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and

More information

Introduction to Complexity Theory

Introduction to Complexity Theory Introduction to Complexity Theory Read K & S Chapter 6. Most computational problems you will face your life are solvable (decidable). We have yet to address whether a problem is easy or hard. Complexity

More information

Advanced Topics in Theoretical Computer Science

Advanced Topics in Theoretical Computer Science Advanced Topics in Theoretical Computer Science Part 5: Complexity (Part II) 30.01.2014 Viorica Sofronie-Stokkermans Universität Koblenz-Landau e-mail: sofronie@uni-koblenz.de 1 Contents Recall: Turing

More information

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death Nathan Brunelle Department of Computer Science University of Virginia www.cs.virginia.edu/~njb2b/theory

More information

Complexity Theory. Knowledge Representation and Reasoning. November 2, 2005

Complexity Theory. Knowledge Representation and Reasoning. November 2, 2005 Complexity Theory Knowledge Representation and Reasoning November 2, 2005 (Knowledge Representation and Reasoning) Complexity Theory November 2, 2005 1 / 22 Outline Motivation Reminder: Basic Notions Algorithms

More information

Comp487/587 - Boolean Formulas

Comp487/587 - Boolean Formulas Comp487/587 - Boolean Formulas 1 Logic and SAT 1.1 What is a Boolean Formula Logic is a way through which we can analyze and reason about simple or complicated events. In particular, we are interested

More information

Introduction to Advanced Results

Introduction to Advanced Results Introduction to Advanced Results Master Informatique Université Paris 5 René Descartes 2016 Master Info. Complexity Advanced Results 1/26 Outline Boolean Hierarchy Probabilistic Complexity Parameterized

More information

Lecture 7: Polynomial time hierarchy

Lecture 7: Polynomial time hierarchy Computational Complexity Theory, Fall 2010 September 15 Lecture 7: Polynomial time hierarchy Lecturer: Kristoffer Arnsfelt Hansen Scribe: Mads Chr. Olesen Recall that adding the power of alternation gives

More information

NP-Complete Reductions 1

NP-Complete Reductions 1 x x x 2 x 2 x 3 x 3 x 4 x 4 CS 4407 2 22 32 Algorithms 3 2 23 3 33 NP-Complete Reductions Prof. Gregory Provan Department of Computer Science University College Cork Lecture Outline x x x 2 x 2 x 3 x 3

More information

1. Introduction Recap

1. Introduction Recap 1. Introduction Recap 1. Tractable and intractable problems polynomial-boundness: O(n k ) 2. NP-complete problems informal definition 3. Examples of P vs. NP difference may appear only slightly 4. Optimization

More information

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP CS 301 - Lecture 29 P, NP, and NP-Completeness Fall 2008 Review Languages and Grammars Alphabets, strings, languages Regular Languages Deterministic Finite and Nondeterministic Automata Equivalence of

More information

Polynomial Hierarchy

Polynomial Hierarchy Polynomial Hierarchy A polynomial-bounded version of Kleene s Arithmetic Hierarchy becomes trivial if P = NP. Karp, 1972 Computational Complexity, by Fu Yuxi Polynomial Hierarchy 1 / 44 Larry Stockmeyer

More information

NP-Completeness. NP-Completeness 1

NP-Completeness. NP-Completeness 1 NP-Completeness Reference: Computers and Intractability: A Guide to the Theory of NP-Completeness by Garey and Johnson, W.H. Freeman and Company, 1979. NP-Completeness 1 General Problems, Input Size and

More information

CISC 4090 Theory of Computation

CISC 4090 Theory of Computation CISC 4090 Theory of Computation Complexity Professor Daniel Leeds dleeds@fordham.edu JMH 332 Computability Are we guaranteed to get an answer? Complexity How long do we have to wait for an answer? (Ch7)

More information

CSE 135: Introduction to Theory of Computation NP-completeness

CSE 135: Introduction to Theory of Computation NP-completeness CSE 135: Introduction to Theory of Computation NP-completeness Sungjin Im University of California, Merced 04-15-2014 Significance of the question if P? NP Perhaps you have heard of (some of) the following

More information

SAT, NP, NP-Completeness

SAT, NP, NP-Completeness CS 473: Algorithms, Spring 2018 SAT, NP, NP-Completeness Lecture 22 April 13, 2018 Most slides are courtesy Prof. Chekuri Ruta (UIUC) CS473 1 Spring 2018 1 / 57 Part I Reductions Continued Ruta (UIUC)

More information

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler Complexity Theory Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität Wien 15 May, 2018 Reinhard

More information

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181. Complexity Theory Complexity Theory Outline Complexity Theory VU 181.142, SS 2018 6. The Polynomial Hierarchy Reinhard Pichler Institut für Informationssysteme Arbeitsbereich DBAI Technische Universität

More information

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9

Computational Complexity and Intractability: An Introduction to the Theory of NP. Chapter 9 1 Computational Complexity and Intractability: An Introduction to the Theory of NP Chapter 9 2 Objectives Classify problems as tractable or intractable Define decision problems Define the class P Define

More information

CSE 548: (Design and) Analysis of Algorithms

CSE 548: (Design and) Analysis of Algorithms 1 / 38 CSE 548: (Design and) Analysis of Algorithms NP and Complexity Classes R. Sekar 2 / 38 Search and Optimization Problems Many problems of our interest are search problems with exponentially (or even

More information

Principles of Knowledge Representation and Reasoning

Principles of Knowledge Representation and Reasoning Principles of Knowledge Representation and Reasoning Complexity Theory Bernhard Nebel, Malte Helmert and Stefan Wölfl Albert-Ludwigs-Universität Freiburg April 29, 2008 Nebel, Helmert, Wölfl (Uni Freiburg)

More information

NP Complete Problems. COMP 215 Lecture 20

NP Complete Problems. COMP 215 Lecture 20 NP Complete Problems COMP 215 Lecture 20 Complexity Theory Complexity theory is a research area unto itself. The central project is classifying problems as either tractable or intractable. Tractable Worst

More information

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013 Chapter 2 Reductions and NP CS 573: Algorithms, Fall 2013 August 29, 2013 2.1 Reductions Continued 2.1.1 The Satisfiability Problem SAT 2.1.1.1 Propositional Formulas Definition 2.1.1. Consider a set of

More information

Polynomial-Time Reductions

Polynomial-Time Reductions Reductions 1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. [von Neumann 1953, Godel

More information

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak; Topics in Theoretical Computer Science February 29, 2016 Lecturer: Ola Svensson Lecture 2 (Notes) Scribes: Ola Svensson Disclaimer: These notes were written for the lecturer only and may contain inconsistent

More information

Theory of Computation Time Complexity

Theory of Computation Time Complexity Theory of Computation Time Complexity Bow-Yaw Wang Academia Sinica Spring 2012 Bow-Yaw Wang (Academia Sinica) Time Complexity Spring 2012 1 / 59 Time for Deciding a Language Let us consider A = {0 n 1

More information

The Polynomial Hierarchy

The Polynomial Hierarchy The Polynomial Hierarchy Slides based on S.Aurora, B.Barak. Complexity Theory: A Modern Approach. Ahto Buldas Ahto.Buldas@ut.ee Motivation..synthesizing circuits is exceedingly difficulty. It is even

More information

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office?

Announcements. Friday Four Square! Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Did you lose a phone in my office? N P NP Completeness Announcements Friday Four Square! Today at 4:15PM, outside Gates. Problem Set 8 due right now. Problem Set 9 out, due next Friday at 2:15PM. Explore P, NP, and their connection. Did

More information

Quantified Boolean Formulas Part 1

Quantified Boolean Formulas Part 1 Quantified Boolean Formulas Part 1 Uwe Egly Knowledge-Based Systems Group Institute of Information Systems Vienna University of Technology Results of the SAT 2009 application benchmarks for leading solvers

More information

NP-completeness was introduced by Stephen Cook in 1971 in a foundational paper.

NP-completeness was introduced by Stephen Cook in 1971 in a foundational paper. NP Completeness NP-completeness was introduced by Stephen Cook in 1971 in a foundational paper. Leonid Levin independently introduced the same concept and proved that a variant of SAT is NP-complete. 1.

More information

NP and Computational Intractability

NP and Computational Intractability NP and Computational Intractability 1 Polynomial-Time Reduction Desiderata'. Suppose we could solve X in polynomial-time. What else could we solve in polynomial time? don't confuse with reduces from Reduction.

More information

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem. 1 More on NP In this set of lecture notes, we examine the class NP in more detail. We give a characterization of NP which justifies the guess and verify paradigm, and study the complexity of solving search

More information

MTAT Complexity Theory October 20th-21st, Lecture 7

MTAT Complexity Theory October 20th-21st, Lecture 7 MTAT.07.004 Complexity Theory October 20th-21st, 2011 Lecturer: Peeter Laud Lecture 7 Scribe(s): Riivo Talviste Polynomial hierarchy 1 Turing reducibility From the algorithmics course, we know the notion

More information

Lecture 8. MINDNF = {(φ, k) φ is a CNF expression and DNF expression ψ s.t. ψ k and ψ is equivalent to φ}

Lecture 8. MINDNF = {(φ, k) φ is a CNF expression and DNF expression ψ s.t. ψ k and ψ is equivalent to φ} 6.841 Advanced Complexity Theory February 28, 2005 Lecture 8 Lecturer: Madhu Sudan Scribe: Arnab Bhattacharyya 1 A New Theme In the past few lectures, we have concentrated on non-uniform types of computation

More information

Lecture 4: NP and computational intractability

Lecture 4: NP and computational intractability Chapter 4 Lecture 4: NP and computational intractability Listen to: Find the longest path, Daniel Barret What do we do today: polynomial time reduction NP, co-np and NP complete problems some examples

More information

Introduction to Complexity Theory. Bernhard Häupler. May 2, 2006

Introduction to Complexity Theory. Bernhard Häupler. May 2, 2006 Introduction to Complexity Theory Bernhard Häupler May 2, 2006 Abstract This paper is a short repetition of the basic topics in complexity theory. It is not intended to be a complete step by step introduction

More information

Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness

Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness Harvard CS 121 and CSCI E-121 Lecture 22: The P vs. NP Question and NP-completeness Harry Lewis November 19, 2013 Reading: Sipser 7.4, 7.5. For culture : Computers and Intractability: A Guide to the Theory

More information

NP-Completeness. Algorithmique Fall semester 2011/12

NP-Completeness. Algorithmique Fall semester 2011/12 NP-Completeness Algorithmique Fall semester 2011/12 1 What is an Algorithm? We haven t really answered this question in this course. Informally, an algorithm is a step-by-step procedure for computing a

More information

De Morgan s a Laws. De Morgan s laws say that. (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2.

De Morgan s a Laws. De Morgan s laws say that. (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2. De Morgan s a Laws De Morgan s laws say that (φ 1 φ 2 ) = φ 1 φ 2, (φ 1 φ 2 ) = φ 1 φ 2. Here is a proof for the first law: φ 1 φ 2 (φ 1 φ 2 ) φ 1 φ 2 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 0 a Augustus DeMorgan

More information

NP Completeness and Approximation Algorithms

NP Completeness and Approximation Algorithms Winter School on Optimization Techniques December 15-20, 2016 Organized by ACMU, ISI and IEEE CEDA NP Completeness and Approximation Algorithms Susmita Sur-Kolay Advanced Computing and Microelectronic

More information

Theory of Computation Chapter 9

Theory of Computation Chapter 9 0-0 Theory of Computation Chapter 9 Guan-Shieng Huang May 12, 2003 NP-completeness Problems NP: the class of languages decided by nondeterministic Turing machine in polynomial time NP-completeness: Cook

More information

CS Lecture 28 P, NP, and NP-Completeness. Fall 2008

CS Lecture 28 P, NP, and NP-Completeness. Fall 2008 CS 301 - Lecture 28 P, NP, and NP-Completeness Fall 2008 Review Languages and Grammars Alphabets, strings, languages Regular Languages Deterministic Finite and Nondeterministic Automata Equivalence of

More information

NP-Completeness. Subhash Suri. May 15, 2018

NP-Completeness. Subhash Suri. May 15, 2018 NP-Completeness Subhash Suri May 15, 2018 1 Computational Intractability The classical reference for this topic is the book Computers and Intractability: A guide to the theory of NP-Completeness by Michael

More information

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA.

Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA. Summer School on Introduction to Algorithms and Optimization Techniques July 4-12, 2017 Organized by ACMU, ISI and IEEE CEDA NP Completeness Susmita Sur-Kolay Advanced Computing and Microelectronics Unit

More information

Lecture 19: Finish NP-Completeness, conp and Friends

Lecture 19: Finish NP-Completeness, conp and Friends 6.045 Lecture 19: Finish NP-Completeness, conp and Friends 1 Polynomial Time Reducibility f : Σ* Σ* is a polynomial time computable function if there is a poly-time Turing machine M that on every input

More information

COP 4531 Complexity & Analysis of Data Structures & Algorithms

COP 4531 Complexity & Analysis of Data Structures & Algorithms COP 4531 Complexity & Analysis of Data Structures & Algorithms Lecture 18 Reductions and NP-completeness Thanks to Kevin Wayne and the text authors who contributed to these slides Classify Problems According

More information

Lecture 7: The Polynomial-Time Hierarchy. 1 Nondeterministic Space is Closed under Complement

Lecture 7: The Polynomial-Time Hierarchy. 1 Nondeterministic Space is Closed under Complement CS 710: Complexity Theory 9/29/2011 Lecture 7: The Polynomial-Time Hierarchy Instructor: Dieter van Melkebeek Scribe: Xi Wu In this lecture we first finish the discussion of space-bounded nondeterminism

More information

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P

Easy Problems vs. Hard Problems. CSE 421 Introduction to Algorithms Winter Is P a good definition of efficient? The class P Easy Problems vs. Hard Problems CSE 421 Introduction to Algorithms Winter 2000 NP-Completeness (Chapter 11) Easy - problems whose worst case running time is bounded by some polynomial in the size of the

More information

Intro to Theory of Computation

Intro to Theory of Computation Intro to Theory of Computation LECTURE 25 Last time Class NP Today Polynomial-time reductions Adam Smith; Sofya Raskhodnikova 4/18/2016 L25.1 The classes P and NP P is the class of languages decidable

More information

A An Overview of Complexity Theory for the Algorithm Designer

A An Overview of Complexity Theory for the Algorithm Designer A An Overview of Complexity Theory for the Algorithm Designer A.1 Certificates and the class NP A decision problem is one whose answer is either yes or no. Two examples are: SAT: Given a Boolean formula

More information

1 PSPACE-Completeness

1 PSPACE-Completeness CS 6743 Lecture 14 1 Fall 2007 1 PSPACE-Completeness Recall the NP-complete problem SAT: Is a given Boolean formula φ(x 1,..., x n ) satisfiable? The same question can be stated equivalently as: Is the

More information

satisfiability (sat) Satisfiability unsatisfiability (unsat or sat complement) and validity Any Expression φ Can Be Converted into CNFs and DNFs

satisfiability (sat) Satisfiability unsatisfiability (unsat or sat complement) and validity Any Expression φ Can Be Converted into CNFs and DNFs Any Expression φ Can Be Converted into CNFs and DNFs φ = x j : This is trivially true. φ = φ 1 and a CNF is sought: Turn φ 1 into a DNF and apply de Morgan s laws to make a CNF for φ. φ = φ 1 and a DNF

More information

: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall October 2007

: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall October 2007 80240233: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall 2007 16 October 2007 Instructor: Andrej Bogdanov Notes by: Jialin Zhang and Pinyan Lu In this lecture, we introduce the complexity

More information

Computational Complexity

Computational Complexity Computational Complexity Algorithm performance and difficulty of problems So far we have seen problems admitting fast algorithms flow problems, shortest path, spanning tree... and other problems for which

More information

Lecture 9: Polynomial-Time Hierarchy, Time-Space Tradeoffs

Lecture 9: Polynomial-Time Hierarchy, Time-Space Tradeoffs CSE 531: Computational Complexity I Winter 2016 Lecture 9: Polynomial-Time Hierarchy, Time-Space Tradeoffs Feb 3, 2016 Lecturer: Paul Beame Scribe: Paul Beame 1 The Polynomial-Time Hierarchy Last time

More information

COMPLEXITY THEORY. Lecture 17: The Polynomial Hierarchy. TU Dresden, 19th Dec Markus Krötzsch Knowledge-Based Systems

COMPLEXITY THEORY. Lecture 17: The Polynomial Hierarchy. TU Dresden, 19th Dec Markus Krötzsch Knowledge-Based Systems COMPLEXITY THEORY Lecture 17: The Polynomial Hierarchy Markus Krötzsch Knowledge-Based Systems TU Dresden, 19th Dec 2017 Review: ATM vs. DTM Markus Krötzsch, 19th Dec 2017 Complexity Theory slide 2 of

More information

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch]

NP-Completeness. Andreas Klappenecker. [based on slides by Prof. Welch] NP-Completeness Andreas Klappenecker [based on slides by Prof. Welch] 1 Prelude: Informal Discussion (Incidentally, we will never get very formal in this course) 2 Polynomial Time Algorithms Most of the

More information

The Cook-Levin Theorem

The Cook-Levin Theorem An Exposition Sandip Sinha Anamay Chaturvedi Indian Institute of Science, Bangalore 14th November 14 Introduction Deciding a Language Let L {0, 1} be a language, and let M be a Turing machine. We say M

More information

Correctness of Dijkstra s algorithm

Correctness of Dijkstra s algorithm Correctness of Dijkstra s algorithm Invariant: When vertex u is deleted from the priority queue, d[u] is the correct length of the shortest path from the source s to vertex u. Additionally, the value d[u]

More information

CS154, Lecture 13: P vs NP

CS154, Lecture 13: P vs NP CS154, Lecture 13: P vs NP The EXTENDED Church-Turing Thesis Everyone s Intuitive Notion of Efficient Algorithms Polynomial-Time Turing Machines More generally: TM can simulate every reasonable model of

More information

Polynomial time reduction and NP-completeness. Exploring some time complexity limits of polynomial time algorithmic solutions

Polynomial time reduction and NP-completeness. Exploring some time complexity limits of polynomial time algorithmic solutions Polynomial time reduction and NP-completeness Exploring some time complexity limits of polynomial time algorithmic solutions 1 Polynomial time reduction Definition: A language L is said to be polynomial

More information

NP-completeness. Chapter 34. Sergey Bereg

NP-completeness. Chapter 34. Sergey Bereg NP-completeness Chapter 34 Sergey Bereg Oct 2017 Examples Some problems admit polynomial time algorithms, i.e. O(n k ) running time where n is the input size. We will study a class of NP-complete problems

More information

Lecture 18: More NP-Complete Problems

Lecture 18: More NP-Complete Problems 6.045 Lecture 18: More NP-Complete Problems 1 The Clique Problem a d f c b e g Given a graph G and positive k, does G contain a complete subgraph on k nodes? CLIQUE = { (G,k) G is an undirected graph with

More information

Polynomial-time Reductions

Polynomial-time Reductions Polynomial-time Reductions Disclaimer: Many denitions in these slides should be taken as the intuitive meaning, as the precise meaning of some of the terms are hard to pin down without introducing the

More information

Essential facts about NP-completeness:

Essential facts about NP-completeness: CMPSCI611: NP Completeness Lecture 17 Essential facts about NP-completeness: Any NP-complete problem can be solved by a simple, but exponentially slow algorithm. We don t have polynomial-time solutions

More information

Introduction. Pvs.NPExample

Introduction. Pvs.NPExample Introduction Computer Science & Engineering 423/823 Design and Analysis of Algorithms Lecture 09 NP-Completeness (Chapter 34) Stephen Scott (Adapted from Vinodchandran N. Variyam) sscott@cse.unl.edu I

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 26 Computational Intractability Polynomial Time Reductions Sofya Raskhodnikova S. Raskhodnikova; based on slides by A. Smith and K. Wayne L26.1 What algorithms are

More information

CSC 373: Algorithm Design and Analysis Lecture 15

CSC 373: Algorithm Design and Analysis Lecture 15 CSC 373: Algorithm Design and Analysis Lecture 15 Allan Borodin February 13, 2013 Some materials are from Stephen Cook s IIT talk and Keven Wayne s slides. 1 / 21 Announcements and Outline Announcements

More information

1.1 P, NP, and NP-complete

1.1 P, NP, and NP-complete CSC5160: Combinatorial Optimization and Approximation Algorithms Topic: Introduction to NP-complete Problems Date: 11/01/2008 Lecturer: Lap Chi Lau Scribe: Jerry Jilin Le This lecture gives a general introduction

More information

CS154, Lecture 13: P vs NP

CS154, Lecture 13: P vs NP CS154, Lecture 13: P vs NP The EXTENDED Church-Turing Thesis Everyone s Intuitive Notion of Efficient Algorithms Polynomial-Time Turing Machines More generally: TM can simulate every reasonable model of

More information

Limitations of Algorithm Power

Limitations of Algorithm Power Limitations of Algorithm Power Objectives We now move into the third and final major theme for this course. 1. Tools for analyzing algorithms. 2. Design strategies for designing algorithms. 3. Identifying

More information

Search and Optimization Problems. CSE 548: (Design and) Analysis of Algorithms. Hard Problems: Where you find yourself...

Search and Optimization Problems. CSE 548: (Design and) Analysis of Algorithms. Hard Problems: Where you find yourself... Search and Optimization Problems CSE 548: (Design and) Analysis of Algorithms NP and Complexity Classes R. Sekar Many problems of our interest are search problems with exponentially (or even infinitely)

More information

Show that the following problems are NP-complete

Show that the following problems are NP-complete Show that the following problems are NP-complete April 7, 2018 Below is a list of 30 exercises in which you are asked to prove that some problem is NP-complete. The goal is to better understand the theory

More information

P = k T IME(n k ) Now, do all decidable languages belong to P? Let s consider a couple of languages:

P = k T IME(n k ) Now, do all decidable languages belong to P? Let s consider a couple of languages: CS 6505: Computability & Algorithms Lecture Notes for Week 5, Feb 8-12 P, NP, PSPACE, and PH A deterministic TM is said to be in SP ACE (s (n)) if it uses space O (s (n)) on inputs of length n. Additionally,

More information

NP-Completeness and Boolean Satisfiability

NP-Completeness and Boolean Satisfiability NP-Completeness and Boolean Satisfiability Mridul Aanjaneya Stanford University August 14, 2012 Mridul Aanjaneya Automata Theory 1/ 49 Time-Bounded Turing Machines A Turing Machine that, given an input

More information

6-1 Computational Complexity

6-1 Computational Complexity 6-1 Computational Complexity 6. Computational Complexity Computational models Turing Machines Time complexity Non-determinism, witnesses, and short proofs. Complexity classes: P, NP, conp Polynomial-time

More information

COMP Analysis of Algorithms & Data Structures

COMP Analysis of Algorithms & Data Structures COMP 3170 - Analysis of Algorithms & Data Structures Shahin Kamali Computational Complexity CLRS 34.1-34.4 University of Manitoba COMP 3170 - Analysis of Algorithms & Data Structures 1 / 50 Polynomial

More information

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM

8. INTRACTABILITY I. Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley. Last updated on 2/6/18 2:16 AM 8. INTRACTABILITY I poly-time reductions packing and covering problems constraint satisfaction problems sequencing problems partitioning problems graph coloring numerical problems Lecture slides by Kevin

More information

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in Oracle Turing Machines Nondeterministic OTM defined in the same way (transition relation, rather than function) oracle is like a subroutine, or function in your favorite PL but each call counts as single

More information

Space is a computation resource. Unlike time it can be reused. Computational Complexity, by Fu Yuxi Space Complexity 1 / 44

Space is a computation resource. Unlike time it can be reused. Computational Complexity, by Fu Yuxi Space Complexity 1 / 44 Space Complexity Space is a computation resource. Unlike time it can be reused. Computational Complexity, by Fu Yuxi Space Complexity 1 / 44 Synopsis 1. Space Bounded Computation 2. Logspace Reduction

More information

Umans Complexity Theory Lectures

Umans Complexity Theory Lectures Umans Complexity Theory Lectures Lecture 12: The Polynomial-Time Hierarchy Oracle Turing Machines Oracle Turing Machine (OTM): Deterministic multitape TM M with special query tape special states q?, q

More information

Compendium of Parameterized Problems at Higher Levels of the Polynomial Hierarchy

Compendium of Parameterized Problems at Higher Levels of the Polynomial Hierarchy Electronic Colloquium on Computational Complexity, Report No. 143 (2014) Compendium of Parameterized Problems at Higher Levels of the Polynomial Hierarchy Ronald de Haan, Stefan Szeider Institute of Information

More information

CS 5114: Theory of Algorithms

CS 5114: Theory of Algorithms CS 5114: Theory of Algorithms Clifford A. Shaffer Department of Computer Science Virginia Tech Blacksburg, Virginia Spring 2014 Copyright c 2014 by Clifford A. Shaffer CS 5114: Theory of Algorithms Spring

More information

CS 583: Algorithms. NP Completeness Ch 34. Intractability

CS 583: Algorithms. NP Completeness Ch 34. Intractability CS 583: Algorithms NP Completeness Ch 34 Intractability Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time? Standard working

More information

Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness

Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness Discrete Optimization 2010 Lecture 10 P, N P, and N PCompleteness Marc Uetz University of Twente m.uetz@utwente.nl Lecture 9: sheet 1 / 31 Marc Uetz Discrete Optimization Outline 1 N P and co-n P 2 N P-completeness

More information

Computational complexity

Computational complexity COMS11700 Computational complexity Department of Computer Science, University of Bristol Bristol, UK 2 May 2014 COMS11700: Computational complexity Slide 1/23 Introduction If we can prove that a language

More information

ECE 695 Numerical Simulations Lecture 2: Computability and NPhardness. Prof. Peter Bermel January 11, 2017

ECE 695 Numerical Simulations Lecture 2: Computability and NPhardness. Prof. Peter Bermel January 11, 2017 ECE 695 Numerical Simulations Lecture 2: Computability and NPhardness Prof. Peter Bermel January 11, 2017 Outline Overview Definitions Computing Machines Church-Turing Thesis Polynomial Time (Class P)

More information

CSE 3500 Algorithms and Complexity Fall 2016 Lecture 25: November 29, 2016

CSE 3500 Algorithms and Complexity Fall 2016 Lecture 25: November 29, 2016 CSE 3500 Algorithms and Complexity Fall 2016 Lecture 25: November 29, 2016 Intractable Problems There are many problems for which the best known algorithms take a very long time (e.g., exponential in some

More information

Tecniche di Verifica. Introduction to Propositional Logic

Tecniche di Verifica. Introduction to Propositional Logic Tecniche di Verifica Introduction to Propositional Logic 1 Logic A formal logic is defined by its syntax and semantics. Syntax An alphabet is a set of symbols. A finite sequence of these symbols is called

More information

CS311 Computational Structures. NP-completeness. Lecture 18. Andrew P. Black Andrew Tolmach. Thursday, 2 December 2010

CS311 Computational Structures. NP-completeness. Lecture 18. Andrew P. Black Andrew Tolmach. Thursday, 2 December 2010 CS311 Computational Structures NP-completeness Lecture 18 Andrew P. Black Andrew Tolmach 1 Some complexity classes P = Decidable in polynomial time on deterministic TM ( tractable ) NP = Decidable in polynomial

More information

LOGIC PROPOSITIONAL REASONING

LOGIC PROPOSITIONAL REASONING LOGIC PROPOSITIONAL REASONING WS 2017/2018 (342.208) Armin Biere Martina Seidl biere@jku.at martina.seidl@jku.at Institute for Formal Models and Verification Johannes Kepler Universität Linz Version 2018.1

More information

CS 5114: Theory of Algorithms. Tractable Problems. Tractable Problems (cont) Decision Problems. Clifford A. Shaffer. Spring 2014

CS 5114: Theory of Algorithms. Tractable Problems. Tractable Problems (cont) Decision Problems. Clifford A. Shaffer. Spring 2014 Department of Computer Science Virginia Tech Blacksburg, Virginia Copyright c 2014 by Clifford A. Shaffer : Theory of Algorithms Title page : Theory of Algorithms Clifford A. Shaffer Spring 2014 Clifford

More information

Chapter 34: NP-Completeness

Chapter 34: NP-Completeness Graph Algorithms - Spring 2011 Set 17. Lecturer: Huilan Chang Reference: Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms, 2nd Edition, The MIT Press. Chapter 34: NP-Completeness 2. Polynomial-time

More information

Complexity: moving from qualitative to quantitative considerations

Complexity: moving from qualitative to quantitative considerations Complexity: moving from qualitative to quantitative considerations Textbook chapter 7 Complexity Theory: study of what is computationally feasible (or tractable) with limited resources: running time (main

More information

Theory of Computation CS3102 Spring 2015 A tale of computers, math, problem solving, life, love and tragic death

Theory of Computation CS3102 Spring 2015 A tale of computers, math, problem solving, life, love and tragic death Theory of Computation CS3102 Spring 2015 A tale of computers, math, problem solving, life, love and tragic death Robbie Hott www.cs.virginia.edu/~jh2jf Department of Computer Science University of Virginia

More information

A brief introduction to Logic. (slides from

A brief introduction to Logic. (slides from A brief introduction to Logic (slides from http://www.decision-procedures.org/) 1 A Brief Introduction to Logic - Outline Propositional Logic :Syntax Propositional Logic :Semantics Satisfiability and validity

More information

The Complexity of Maximum. Matroid-Greedoid Intersection and. Weighted Greedoid Maximization

The Complexity of Maximum. Matroid-Greedoid Intersection and. Weighted Greedoid Maximization Department of Computer Science Series of Publications C Report C-2004-2 The Complexity of Maximum Matroid-Greedoid Intersection and Weighted Greedoid Maximization Taneli Mielikäinen Esko Ukkonen University

More information

CS 512, Spring 2017, Handout 10 Propositional Logic: Conjunctive Normal Forms, Disjunctive Normal Forms, Horn Formulas, and other special forms

CS 512, Spring 2017, Handout 10 Propositional Logic: Conjunctive Normal Forms, Disjunctive Normal Forms, Horn Formulas, and other special forms CS 512, Spring 2017, Handout 10 Propositional Logic: Conjunctive Normal Forms, Disjunctive Normal Forms, Horn Formulas, and other special forms Assaf Kfoury 5 February 2017 Assaf Kfoury, CS 512, Spring

More information