11. Tractability and Decidability

Size: px
Start display at page:

Download "11. Tractability and Decidability"

Transcription

1 11. Tractability and Decidability Frank Stephan April 1, 2014

2 Introduction Computational Complexity In 1844 Gabriel Lamé studied and analysed the running time of Euclid s algorithm. In 1982, Stephen Cook received the Turing Award for his contribution to complexity of computation. In 1985 Richard Karp received the Turing Award for his contributions to the theory of algorithms.

3 Introduction Complexity Theory The foundations [for complexity theory] were laid in the 1930s by a group of logicians, including Alan Turing, who were concerned with the existence or nonexistence of automatic procedures for deciding whether mathematical statements were true or false. Karp s Turing Award Lecture, Combinatorics, Complexity, and Randomness (

4 R Decidability A problem is decidable if there exists an algorithm that can solve all instances of the problem. We call R the class of all decidable problems. Undecidability A problem is undecidable if there does not exist an algorithm that can solve all instances of the problem. There are many more Problems than Algorithms Most problems are undecidable.

5 R Problems R

6 R Cardinality The set has 0 elements. The set {Cantor} and the set {Turing} have 1 element. The set {Cantor, Hilbert, Gödel} and the set {Turing, VonNeumann, Karp} have 3 elements. Natural Numbers N = {0, 1, 2, 3, 4, } is the set of possible cardinalities of finite sets.

7 R Infinity There are infinitely many natural numbers. The number of natural numbers is a not a natural number. There are ℵ 0 (pronounce aleph-naught, aleph-null, or aleph-zero) (countably many, countably infinite) natural numbers (they are countable). ℵ 0

8 R Countability The set of odd natural numbers is {1, 3, 5, 7, }. There are as many odd numbers as there are natural numbers. There are ℵ 0 (countably many) natural numbers. Countability m odd = 2 n + 1 The set of rational numbers is {0, 1 3, 1 2, 1, 5 4, }. There are as many rational numbers as there are natural numbers. There are ℵ 0 (countably many) natural numbers.

9 R

10 R Sets of Sets The set {1, 2, 3} contains 2 3 = 8 subsets of numbers:, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3} Sets of Natural Numbers How many sets of natural numbers are there? 2 ℵ 0 2 ℵ 0 = ℵ 1? (Continuum Hypothesis)

11 R Sets of Natural Numbers Let us represent a set of natural number as a (infinite) vector. =< 0, 0, 0, 0, 0, 0, 0,... > {0, 1} =< 1, 1, 0, 0, 0, 0, 0,... > {2, 4, 5} =< 0, 0, 1, 0, 1, 1, 0,... >

12 R set /number {0} {1, 2} {4} {0, 1}

13 R set /number {0} {1, 2} {4} {0, 1}

14 R Diagonal Argument Let us select a set A which differs from the diagonal everywhere: < 0, 0, 1, 0,, > A =< 1, 1, 0, 1,, > The new set A is distinct from all rows. Proof If there was a row identical to A, say the n th row, then the n th entry of A would be identical to the n th entry in the n th row, although A differs at the n th entry from the n th entry of the diagonal. Thus A does not occur in the list.

15 R Algorithms are Countable An algorithm can be represented by pseudo-code, by a program in JavaScript, by the program input to a universal Turing machine, namely, by a finite string of 1s and 0s. An algorithm is a natural number. Problems are Uncountable A decision problem is a function from a set of inputs to the set {yes, no}. There are ℵ 0 possible inputs and 2 ℵ 0 many possible answer-vectors to these inputs. A decision problem is the subset of those possible inputs which have yes as an answer. There are 2 ℵ 0 problems. There are 2 ℵ 0 problems, 2 ℵ 0 subsets of N and 2 ℵ 0 real numbers.

16 R Example: Primality The primality problem seeks to decide whether a natural number is a prime number. An algorithm is a natural number: it can be represented by the finite sequence of bits of its JavaScript code. < 1, 1, 0, 1, 1, 0, 0, 1, 1, 0,, 1, 0 > A problem is a real number: for each natural number, the following infinite vector indicates whether it is a prime or not. < 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, >

17 R Do we Know Undecidable Problems? The halting problem, Post correspondence problem, Wang tiles, Diophantine equations, etc.

18 R The Halting Problem is Undecidable There is no algorithm that can decide whether an algorithm halts on every input. Proof (by Turing) Assume that there exists a function Halt(F, i) that decides whether the function F halts on input i. It returns 1 if F halts on input i, and 0 otherwise. Let us consider the function X below. If we call X(X), the call will loop forever if and only if Halt says that X with input X halts. This is a contradiction. 1 f u n c t i o n X( i ) { 2 i f ( H a l t ( i, i ) == 0) then r e t u r n 0 ; 3 e l s e l o o p f o r e v e r ; }

19 R Post Correspondence Problem Given a finite list of pairs of words, is there a sequence of any length of these pairs possibly repeated that yields the same sentence on the first and second line? ( ) ( ) ( ) ( ) ( ) ( ) s Amer a ic il l Po Pos wa an s t ( ) ( ) ( ) ( ) ( ) Em Emi t was n an A l merican logici og

20 R Wang Tiles A Wang tile is square split into four equilateral triangles painted in colors. As proposed by Wang Hao in 1961, the Wang tiles problem is the question whether a finite set of tiles can tile the plane such that adjacent triangles from different tiles have the same color. Wang thought the problem was decidable. In 1966, Robert Berger proved the problem is undecidable.

21 R Diophantine equations A Diophantine equation is a multivariable polynomial equation whose solutions should be integers. Deciding whether any given Diophantine equation has a solution is David Hilbert s tenth problem. In 1970, Yuri Matiyasevich proved that it is undecidable. Fermat s Last Theorem Andrew Wiles proved in 1995, as Pierre de Fermat suspected in 1637, that there is no positive integer solution to x n + y n = z n except for n = 1 and for n = 2 (Pythagorean triples).

22 R Is everything solvable? Time (1984): Put the right kind of software into a computer and it will do whatever you want it to. There may be limits on what you can do with the machines themselves but there are no limits on what you can do with software. David Harel (1993 and 2012): Bullshit!

23 P Karps Turing Award Citation For his continuing contributions to the theory of algorithms including the development of efficient algorithms for network flow and other combinatorial optimization problems, the identification of polynomial-time computability with the intuitive notion of algorithmic efficiency

24 P P P is the set of problems that can be solved in polynomial time (O(p(n)) where p(n) is a polynomial). Examples Searching a list, finding peaks, computing the maximum, sorting, Euclid algorithm, primality testing (2004 by Manindra Agrawal Neeraj Kayal and Nitin Saxena), circuit value problem, context-free grammar membership (membership in a language recognised by some push down automaton), some famous data-compression algorithms (Lempel-Ziv-Welch, 1978 and 1984).

25 P Problems R P

26 P Tractability The Cobham thesis proposes to call the problems in P tractable and the others untractable. Alan Cobham discussed the concept of the complexity class P in a 1965 paper.

27 EXP Combinatorial Explosion The input to the program was a set of Boolean formulas specifying how the outputs of the circuit were to depend on the inputs: the program was supposed to generate a circuit to do the job using a minimum number of logic gates. [...] The number of circuits that the program had to comb through grew at a furious rate as the number of input variables increased Combinatorial Explosion and Disillusionment Today, our optimism in even trying an enumerative approach may seem utterly naive [...] with an initial surge of excitement as toy problems were successfully solved, followed by disillusionment as the full seriousness of the combinatorial explosion phenomenon became apparent.

28 EXP EXP EXP is the set of problems that can be solved in exponential time (O(2 p(n) ) where p(n) is a polynomial). Examples Deciding if a position in chess, checkers, or Go, is a winning position (with an infinite board).

29 EXP n n Chess The n n Chess problem seeks to decide whether a given configuration on a n n chess board wins.

30 EXP Problems R EXP P

31 NP NP NP is the set of problems whose solutions can be verified in polynomial time. Examples Prime factorization, minimum circuit size, satisfiability of Boolean expressions, Sudoku, Tetris, Minesweeper, Nonograms, Eternity II, Traveling Salesman Problem, etc. Let us play Tetris (Can you survive versus can you die)

32 NP NP NP is the set of problems that can be solved in polynomial time (O(p(n)) where p(n) is a polynomial) by a non-deterministic Turing machine. NP stands for non-deterministic polynomial time. ( ;1;R) start q 0 q 1 ( ;0;R) ( ; ; ) ( ; ; ) ( ; ; ) ( ; ; ) q 2

33 NP SAT Satisfiability seeks to decide whether a given Boolean formula can be true. p q r (p q) (r q) true true true false true true false true true false true true true false false false false true true false false true false true false false true true false false false true SAT is not known to be in P.

34 NP Problems R EXP NP P

35 NP NP-hard A problem is NP-hard if it is at least as hard as any problem in NP. NP-complete A problem is NP-complete if it is in NP and NP-hard. SAT NPC Stephen Cook proved that SAT is NP-complete in 1971 (Cook-Levin theorem, also known as Cook s theorem). Cook Turing Award Citation For his advancement of our understanding of the complexity of computation in a significant and profound way.

36 NP Reduction A reduction is an algorithm for transforming one problem into another problem. A many-one reduction is an algorithm for transforming one decision problem into another decision problem.

37 NP NP-complete Problems Richard Karp, in 1972, proved the NP-completeness of 21 problems by showing a polynomial time many-one reduction of SAT to each of these problems. Karps Turing Award Citation most notably, [for his] contributions to the theory of NP-completeness. Karp introduced the now standard methodology for proving problems to be NP-complete which has led to the identification of many theoretical and practical problems as being computationally difficult.

38 NP DNF A Boolean formula is in disjunctive normal form if and only if it is a disjunction of conjunctions of propositions and their negation. ( p q) (r q) (q r) CNF A Boolean formula is in conjunctive normal form if and only if it is a conjunction of disjunctions (called clauses) of propositions and their negation. ( p q r) ( q r)

39 NP 3-SAT 3-SAT is the special case in which a Boolean formula in CNF has at most three variables per clause. ( p q r) ( q r s) ( q r s) 3SAT NPC 3-SAT is NP-complete.

40 NP Proof Sketch We rewrite any k-sat formula into a 3-SAT one. (x 1 x 2 ) becomes (x 1 x 2 x new ) (x 1 x 2 x new ) (x 1 ) becomes (x 1 x new1 x new2 ) (x 1 x new1 x new2 ) (x 1 x new1 x new2 ) (x 1 x new1 x new2 ) (x 1 x k ) becomes (x 1 x 2 x new1 ) (x 3 x new1 x new2 ) (x 4 x new2 x new3 )... (x k 1 x k x newk 3 ) This transformation is polynomial. (x 1 x 2 x 3 x 4 ) (x 1 x 2 x new1 ) (x 3 x 4 x new1 )

41 NP Now we Use 3-SAT Now we can prove that an NP problem is NP-complete by reducing 3-SAT to it.

42 NP 2SAT P 2-SAT is in P. ( p q) ( q r) ( p r)

43 NP The Exponential Time Hypothesis The (unproven) exponential time hypothesis, by Russell Impagliazzo and Ramamohan Paturi (1999), proposes that NP-complete problems cannot be solved in subexponential time (faster than polynomial but slower than exponential) in the worst case. NPI Prime factorization and minimum circuit size are candidate to be NP-intermediate, that is NP, not in P and not NP-complete.

44 NP Problems R EXP NP P NPI? NPC

45 Conclusion Complexity Classes There are 495 classes and counting in the complexity zoo. What do we Know? There are problems which can be solved in exponential time but cannot be solved in polynomial time. If P NP then NPI, NPC and P are three disjoint nonempty classes. All regular languages are solvable in polynomial time, but not vice versa; the set of all natural numbers with as many digits 1 as digits 2 as digits 3 can be decided in polynomial time but is not regular.

46 Conclusion P=NP? The question whether P=NP is one of the six remaining Millennium Prize Problems. Millennium Prize The Millennium Prize problems are seven problems proposed by the Clay Mathematics Institute in There is a one million US dollars prize for being the first one solving any one of these problems.

47 Conclusion Stories... As of today, six of the Millennium Prize problems remain unsolved. The Poincaré conjecture was solved by Grigori Perelman. Grigori Perelman thought that his proof owed much to Richard Hamilton s work and declined the price. Richard Hamilton did not get Millennium Prize but he got half of the one million US dollar Shaw Prize. The Shaw Prize is a prize by the Shaw Prize Foundation. The prize is named after Sir Run Run Shaw who, with his brother, created the Shaw Organisation in Singapore.

48 Conclusion And more Stories Logicomix: An Epic Search for Truth is a comics by Apostolos Doxiad and Christos Papadimitriou. It tells the story of Cantor, Hilbert, Gödel, Turing and infinity, logic, the Entscheindung problem and many other things.

49 Attribution Attribution The images and media files used in this presentation are either in the public domain or are licensed under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation, the Creative Commons Attribution-Share Alike 3.0 Unported license or the Creative Commons Attribution-Share Alike 2.5 Generic, 2.0 Generic and 1.0 Generic license.

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

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

The P-vs-NP problem. Andrés E. Caicedo. September 10, 2011

The P-vs-NP problem. Andrés E. Caicedo. September 10, 2011 The P-vs-NP problem Andrés E. Caicedo September 10, 2011 This note is based on lecture notes for the Caltech course Math 6c, prepared with A. Kechris and M. Shulman. 1 Decision problems Consider a finite

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

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

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

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

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

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1

CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY. E. Amaldi Foundations of Operations Research Politecnico di Milano 1 CHAPTER 3 FUNDAMENTALS OF COMPUTATIONAL COMPLEXITY E. Amaldi Foundations of Operations Research Politecnico di Milano 1 Goal: Evaluate the computational requirements (this course s focus: time) to solve

More information

NP and Computational Intractability

NP and Computational Intractability NP and Computational Intractability 1 Review Basic reduction strategies. Simple equivalence: INDEPENDENT-SET P VERTEX-COVER. Special case to general case: VERTEX-COVER P SET-COVER. Encoding with gadgets:

More information

Computability and Complexity Theory: An Introduction

Computability and Complexity Theory: An Introduction Computability and Complexity Theory: An Introduction meena@imsc.res.in http://www.imsc.res.in/ meena IMI-IISc, 20 July 2006 p. 1 Understanding Computation Kinds of questions we seek answers to: Is a given

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

NP and NP Completeness

NP and NP Completeness CS 374: Algorithms & Models of Computation, Spring 2017 NP and NP Completeness Lecture 23 April 20, 2017 Chandra Chekuri (UIUC) CS374 1 Spring 2017 1 / 44 Part I NP Chandra Chekuri (UIUC) CS374 2 Spring

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

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

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65

Undecidable Problems. Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, / 65 Undecidable Problems Z. Sawa (TU Ostrava) Introd. to Theoretical Computer Science May 12, 2018 1/ 65 Algorithmically Solvable Problems Let us assume we have a problem P. If there is an algorithm solving

More information

CSC 1700 Analysis of Algorithms: P and NP Problems

CSC 1700 Analysis of Algorithms: P and NP Problems CSC 1700 Analysis of Algorithms: P and NP Problems Professor Henry Carter Fall 2016 Recap Algorithmic power is broad but limited Lower bounds determine whether an algorithm can be improved by more than

More information

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK

Undecidability COMS Ashley Montanaro 4 April Department of Computer Science, University of Bristol Bristol, UK COMS11700 Undecidability Department of Computer Science, University of Bristol Bristol, UK 4 April 2014 COMS11700: Undecidability Slide 1/29 Decidability We are particularly interested in Turing machines

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

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1 U.C. Berkeley CS278: Computational Complexity Handout N1 Professor Luca Trevisan August 30, 2004 Notes for Lecture 1 This course assumes CS170, or equivalent, as a prerequisite. We will assume that the

More information

} } } Lecture 23: Computational Complexity. Lecture Overview. Definitions: EXP R. uncomputable/ undecidable P C EXP C R = = Examples

} } } Lecture 23: Computational Complexity. Lecture Overview. Definitions: EXP R. uncomputable/ undecidable P C EXP C R = = Examples Lecture 23 Computational Complexity 6.006 Fall 2011 Lecture 23: Computational Complexity Lecture Overview P, EXP, R Most problems are uncomputable NP Hardness & completeness Reductions Definitions: P =

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

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 31 P and NP Self-reducibility NP-completeness Adam Smith 12/1/2008 S. Raskhodnikova; based on slides by K. Wayne Central ideas we ll cover Poly-time as feasible most

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

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity CS 350 Algorithms and Complexity Winter 2019 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower

More information

Principles of Computing, Carnegie Mellon University. The Limits of Computing

Principles of Computing, Carnegie Mellon University. The Limits of Computing The Limits of Computing Intractability Limits of Computing Announcement Final Exam is on Friday 9:00am 10:20am Part 1 4:30pm 6:10pm Part 2 If you did not fill in the course evaluations please do it today.

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

CS 350 Algorithms and Complexity

CS 350 Algorithms and Complexity 1 CS 350 Algorithms and Complexity Fall 2015 Lecture 15: Limitations of Algorithmic Power Introduction to complexity theory Andrew P. Black Department of Computer Science Portland State University Lower

More information

ENEE 459E/CMSC 498R In-class exercise February 10, 2015

ENEE 459E/CMSC 498R In-class exercise February 10, 2015 ENEE 459E/CMSC 498R In-class exercise February 10, 2015 In this in-class exercise, we will explore what it means for a problem to be intractable (i.e. it cannot be solved by an efficient algorithm). There

More information

Algorithms Design & Analysis. Approximation Algorithm

Algorithms Design & Analysis. Approximation Algorithm Algorithms Design & Analysis Approximation Algorithm Recap External memory model Merge sort Distribution sort 2 Today s Topics Hard problem Approximation algorithms Metric traveling salesman problem A

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

Chapter 2 Algorithms and Computation

Chapter 2 Algorithms and Computation Chapter 2 Algorithms and Computation In this chapter, we first discuss the principles of algorithm and computation in general framework, common both in classical and quantum computers, then we go to the

More information

Tractability. Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time?

Tractability. Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time? Tractability Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time?» Standard working definition: polynomial time» On an input

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

8.1 Polynomial-Time Reductions. Chapter 8. NP and Computational Intractability. Classify Problems

8.1 Polynomial-Time Reductions. Chapter 8. NP and Computational Intractability. Classify Problems Chapter 8 8.1 Polynomial-Time Reductions NP and Computational Intractability Slides by Kevin Wayne. Copyright 2005 Pearson-Addison Wesley. All rights reserved. 1 Classify Problems According to Computational

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CSE 5311 Lecture 25 NP Completeness Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 NP-Completeness Some

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

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

7.8 Intractability. Overview. Properties of Algorithms. Exponential Growth. Q. What is an algorithm? A. Definition formalized using Turing machines.

7.8 Intractability. Overview. Properties of Algorithms. Exponential Growth. Q. What is an algorithm? A. Definition formalized using Turing machines. Overview 7.8 Intractability Q. What is an algorithm? A. Definition formalized using Turing machines. Q. Which problems can be solved on a computer? A. Computability. Q. Which algorithms will be useful

More information

Handouts. CS701 Theory of Computation

Handouts. CS701 Theory of Computation Handouts CS701 Theory of Computation by Kashif Nadeem VU Student MS Computer Science LECTURE 01 Overview In this lecturer the topics will be discussed including The Story of Computation, Theory of Computation,

More information

INTRO TO COMPUTATIONAL COMPLEXITY

INTRO TO COMPUTATIONAL COMPLEXITY MA/CSSE 473 Day 38 Problems Decision Problems P and NP Polynomial time algorithms INTRO TO COMPUTATIONAL COMPLEXITY 1 The Law of the Algorithm Jungle Polynomial good, exponential bad! The latter is obvious,

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION "Winter" 2018 http://cseweb.ucsd.edu/classes/wi18/cse105-ab/ Today's learning goals Sipser Ch 7 Define NP-completeness Give examples of NP-complete problems Use polynomial-time

More information

Giving a step-by-step reduction from SAT to TSP and giving some remarks on Neil Tennant's Changes of Mind

Giving a step-by-step reduction from SAT to TSP and giving some remarks on Neil Tennant's Changes of Mind Faculty of Mathematics and Natural Sciences Giving a step-by-step reduction from SAT to TSP and giving some remarks on Neil Tennant's Changes of Mind Bachelor Thesis Mathematics July 2014 Student: M.M.

More information

P, NP, NP-Complete, and NPhard

P, NP, NP-Complete, and NPhard P, NP, NP-Complete, and NPhard Problems Zhenjiang Li 21/09/2011 Outline Algorithm time complicity P and NP problems NP-Complete and NP-Hard problems Algorithm time complicity Outline What is this course

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

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURES 30-31 NP-completeness Definition NP-completeness proof for CIRCUIT-SAT Adam Smith 11/3/10 A. Smith; based on slides by E. Demaine, C. Leiserson, S. Raskhodnikova,

More information

Algorithms: COMP3121/3821/9101/9801

Algorithms: COMP3121/3821/9101/9801 NEW SOUTH WALES Algorithms: COMP3121/3821/9101/9801 Aleks Ignjatović School of Computer Science and Engineering University of New South Wales LECTURE 9: INTRACTABILITY COMP3121/3821/9101/9801 1 / 29 Feasibility

More information

Artificial Intelligence. 3 Problem Complexity. Prof. Dr. Jana Koehler Fall 2016 HSLU - JK

Artificial Intelligence. 3 Problem Complexity. Prof. Dr. Jana Koehler Fall 2016 HSLU - JK Artificial Intelligence 3 Problem Complexity Prof. Dr. Jana Koehler Fall 2016 Agenda Computability and Turing Machines Tractable and Intractable Problems P vs. NP Decision Problems Optimization problems

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

Automata Theory CS Complexity Theory I: Polynomial Time

Automata Theory CS Complexity Theory I: Polynomial Time Automata Theory CS411-2015-17 Complexity Theory I: Polynomial Time David Galles Department of Computer Science University of San Francisco 17-0: Tractable vs. Intractable If a problem is recursive, then

More information

CSCI3390-Lecture 6: An Undecidable Problem

CSCI3390-Lecture 6: An Undecidable Problem CSCI3390-Lecture 6: An Undecidable Problem September 21, 2018 1 Summary The language L T M recognized by the universal Turing machine is not decidable. Thus there is no algorithm that determines, yes or

More information

Nondeterministic Turing Machines

Nondeterministic Turing Machines Nondeterministic Turing Machines Remarks. I The complexity class P consists of all decision problems that can be solved by a deterministic Turing machine in polynomial time. I The complexity class NP consists

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms Session 21. April 13, 2009 Instructor: Bert Huang http://www.cs.columbia.edu/~bert/courses/3137 Announcements Homework 5 due next Monday I m out of town Wed to Sun for conference

More information

About the impossibility to prove P NP or P = NP and the pseudo-randomness in NP

About the impossibility to prove P NP or P = NP and the pseudo-randomness in NP About the impossibility to prove P NP or P = NP and the pseudo-randomness in NP Prof. Marcel Rémon 1 arxiv:0904.0698v3 [cs.cc] 24 Mar 2016 Abstract The relationship between the complexity classes P and

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

17.1 The Halting Problem

17.1 The Halting Problem CS125 Lecture 17 Fall 2016 17.1 The Halting Problem Consider the HALTING PROBLEM (HALT TM ): Given a TM M and w, does M halt on input w? Theorem 17.1 HALT TM is undecidable. Suppose HALT TM = { M,w : M

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

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

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

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

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

Hilbert s problems, Gödel, and the limits of computation

Hilbert s problems, Gödel, and the limits of computation Hilbert s problems, Gödel, and the limits of computation Logan Axon Gonzaga University November 14, 2013 Hilbert at the ICM At the 1900 International Congress of Mathematicians in Paris, David Hilbert

More information

CITS2211 Discrete Structures (2017) Cardinality and Countability

CITS2211 Discrete Structures (2017) Cardinality and Countability CITS2211 Discrete Structures (2017) Cardinality and Countability Highlights What is cardinality? Is it the same as size? Types of cardinality and infinite sets Reading Sections 45 and 81 84 of Mathematics

More information

Notes for Lecture Notes 2

Notes for Lecture Notes 2 Stanford University CS254: Computational Complexity Notes 2 Luca Trevisan January 11, 2012 Notes for Lecture Notes 2 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

More information

conp, Oracles, Space Complexity

conp, Oracles, Space Complexity conp, Oracles, Space Complexity 1 What s next? A few possibilities CS161 Design and Analysis of Algorithms CS254 Complexity Theory (next year) CS354 Topics in Circuit Complexity For your favorite course

More information

Friday Four Square! Today at 4:15PM, Outside Gates

Friday Four Square! Today at 4:15PM, Outside Gates P and NP Friday Four Square! Today at 4:15PM, Outside Gates Recap from Last Time Regular Languages DCFLs CFLs Efficiently Decidable Languages R Undecidable Languages Time Complexity A step of a Turing

More information

Definition: conp = { L L NP } What does a conp computation look like?

Definition: conp = { L L NP } What does a conp computation look like? Space Complexity 28 Definition: conp = { L L NP } What does a conp computation look like? In NP algorithms, we can use a guess instruction in pseudocode: Guess string y of x k length and the machine accepts

More information

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions

P P P NP-Hard: L is NP-hard if for all L NP, L L. Thus, if we could solve L in polynomial. Cook's Theorem and Reductions Summary of the previous lecture Recall that we mentioned the following topics: P: is the set of decision problems (or languages) that are solvable in polynomial time. NP: is the set of decision problems

More information

CS151 Complexity Theory. Lecture 1 April 3, 2017

CS151 Complexity Theory. Lecture 1 April 3, 2017 CS151 Complexity Theory Lecture 1 April 3, 2017 Complexity Theory Classify problems according to the computational resources required running time storage space parallelism randomness rounds of interaction,

More information

CS3719 Theory of Computation and Algorithms

CS3719 Theory of Computation and Algorithms CS3719 Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational tool - analysis

More information

Analysis of Algorithms. Unit 5 - Intractable Problems

Analysis of Algorithms. Unit 5 - Intractable Problems Analysis of Algorithms Unit 5 - Intractable Problems 1 Intractable Problems Tractable Problems vs. Intractable Problems Polynomial Problems NP Problems NP Complete and NP Hard Problems 2 In this unit we

More information

CS6901: review of Theory of Computation and Algorithms

CS6901: review of Theory of Computation and Algorithms CS6901: review of Theory of Computation and Algorithms Any mechanically (automatically) discretely computation of problem solving contains at least three components: - problem description - computational

More information

15-251: Great Theoretical Ideas in Computer Science Fall 2016 Lecture 6 September 15, Turing & the Uncomputable

15-251: Great Theoretical Ideas in Computer Science Fall 2016 Lecture 6 September 15, Turing & the Uncomputable 15-251: Great Theoretical Ideas in Computer Science Fall 2016 Lecture 6 September 15, 2016 Turing & the Uncomputable Comparing the cardinality of sets A B if there is an injection (one-to-one map) from

More information

Welcome to... Problem Analysis and Complexity Theory , 3 VU

Welcome to... Problem Analysis and Complexity Theory , 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: Inffeldgasse 16B/II, room IC02044 slides: http://www.ist.tugraz.at/pact17.html

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

1 Computational Problems

1 Computational Problems Stanford University CS254: Computational Complexity Handout 2 Luca Trevisan March 31, 2010 Last revised 4/29/2010 In this lecture we define NP, we state the P versus NP problem, we prove that its formulation

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

The P versus NP Problem. Ker-I Ko. Stony Brook, New York

The P versus NP Problem. Ker-I Ko. Stony Brook, New York The P versus NP Problem Ker-I Ko Stony Brook, New York ? P = NP One of the seven Millenium Problems The youngest one A folklore question? Has hundreds of equivalent forms Informal Definitions P : Computational

More information

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever. ETH Zürich (D-ITET) October,

Automata & languages. A primer on the Theory of Computation. Laurent Vanbever.   ETH Zürich (D-ITET) October, Automata & languages A primer on the Theory of Computation Laurent Vanbever www.vanbever.eu ETH Zürich (D-ITET) October, 19 2017 Part 5 out of 5 Last week was all about Context-Free Languages Context-Free

More information

Spring Lecture 21 NP-Complete Problems

Spring Lecture 21 NP-Complete Problems CISC 320 Introduction to Algorithms Spring 2014 Lecture 21 NP-Complete Problems 1 We discuss some hard problems: how hard? (computational complexity) what makes them hard? any solutions? Definitions Decision

More information

Cantor and sets: La diagonale du fou

Cantor and sets: La diagonale du fou Judicaël Courant 2011-06-17 Lycée du Parc (moving to Lycée La Martinière-Monplaisir) Outline 1 Cantor s paradise 1.1 Introduction 1.2 Countable sets 1.3 R is not countable 1.4 Comparing sets 1.5 Cardinals

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

ECS 120 Lesson 18 Decidable Problems, the Halting Problem

ECS 120 Lesson 18 Decidable Problems, the Halting Problem ECS 120 Lesson 18 Decidable Problems, the Halting Problem Oliver Kreylos Friday, May 11th, 2001 In the last lecture, we had a look at a problem that we claimed was not solvable by an algorithm the problem

More information

NP-Completeness. Until now we have been designing algorithms for specific problems

NP-Completeness. Until now we have been designing algorithms for specific problems NP-Completeness 1 Introduction Until now we have been designing algorithms for specific problems We have seen running times O(log n), O(n), O(n log n), O(n 2 ), O(n 3 )... We have also discussed lower

More information

CSCI3390-Lecture 18: Why is the P =?NP Problem Such a Big Deal?

CSCI3390-Lecture 18: Why is the P =?NP Problem Such a Big Deal? CSCI3390-Lecture 18: Why is the P =?NP Problem Such a Big Deal? The conjecture that P is different from NP made its way on to several lists of the most important unsolved problems in Mathematics (never

More information

NP-Complete and Non-Computable Problems. COMP385 Dr. Ken Williams

NP-Complete and Non-Computable Problems. COMP385 Dr. Ken Williams NP-Complete and Non-Computable Problems COMP385 Dr. Ken Williams Start by doing what s necessary; then do what s possible; and suddenly you are doing the impossible. Francis of Assisi Our Goal Define classes

More information

Problems and Solutions. Decidability and Complexity

Problems and Solutions. Decidability and Complexity Problems and Solutions Decidability and Complexity Algorithm Muhammad bin-musa Al Khwarismi (780-850) 825 AD System of numbers Algorithm or Algorizm On Calculations with Hindu (sci Arabic) Numbers (Latin

More information

The Mathematical Story. Computation: Christos H. Papadimitriou. UC Berkeley

The Mathematical Story. Computation: Christos H. Papadimitriou. UC Berkeley Computation: The Mathematical Story Christos H. Papadimitriou UC Berkeley christos Outline The Foundational Crisis in Math (1900 31) How it Led to the Computer (1931 46) And to P vs NP (1946 72) The prehistory

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

Recap from Last Time

Recap from Last Time NP-Completeness Recap from Last Time Analyzing NTMs When discussing deterministic TMs, the notion of time complexity is (reasonably) straightforward. Recall: One way of thinking about nondeterminism is

More information

Chapter 8. NP and Computational Intractability. CS 350 Winter 2018

Chapter 8. NP and Computational Intractability. CS 350 Winter 2018 Chapter 8 NP and Computational Intractability CS 350 Winter 2018 1 Algorithm Design Patterns and Anti-Patterns Algorithm design patterns. Greedy. Divide-and-conquer. Dynamic programming. Duality. Reductions.

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

2 P vs. NP and Diagonalization

2 P vs. NP and Diagonalization 2 P vs NP and Diagonalization CS 6810 Theory of Computing, Fall 2012 Instructor: David Steurer (sc2392) Date: 08/28/2012 In this lecture, we cover the following topics: 1 3SAT is NP hard; 2 Time hierarchies;

More information

Notes for Lecture 21

Notes for Lecture 21 U.C. Berkeley CS170: Intro to CS Theory Handout N21 Professor Luca Trevisan November 20, 2001 Notes for Lecture 21 1 Tractable and Intractable Problems So far, almost all of the problems that we have studied

More information

Introduction to Computational Complexity

Introduction to Computational Complexity Introduction to Computational Complexity Jiyou Li lijiyou@sjtu.edu.cn Department of Mathematics, Shanghai Jiao Tong University Sep. 24th, 2013 Computation is everywhere Mathematics: addition; multiplication;

More information

NP-complete problems. CSE 101: Design and Analysis of Algorithms Lecture 20

NP-complete problems. CSE 101: Design and Analysis of Algorithms Lecture 20 NP-complete problems CSE 101: Design and Analysis of Algorithms Lecture 20 CSE 101: Design and analysis of algorithms NP-complete problems Reading: Chapter 8 Homework 7 is due today, 11:59 PM Tomorrow

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

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT Definition: A language B is NP-complete if: 1. B NP 2. Every A in NP is poly-time reducible to B That is, A P B When this is true, we say B is NP-hard On

More information

4/22/12. NP and NP completeness. Efficient Certification. Decision Problems. Definition of P

4/22/12. NP and NP completeness. Efficient Certification. Decision Problems. Definition of P Efficient Certification and completeness There is a big difference between FINDING a solution and CHECKING a solution Independent set problem: in graph G, is there an independent set S of size at least

More information