P Vs NP Turing Machine. Definitions - Turing Machine Turing Machine M has a tape of squares Each Square is capable of storing a symbol from set Γ (including.

Slides:



Advertisements
Similar presentations
Complexity Classes: P and NP
Advertisements

Time Complexity P vs NP.
Variants of Turing machines
JAYASRI JETTI CHINMAYA KRISHNA SURYADEVARA
Cook’s Theorem The Foundation of NP-Completeness.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
The Theory of NP-Completeness
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
Computability and Complexity 14-1 Computability and Complexity Andrei Bulatov Cook’s Theorem.
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Definition of complexity class NP –Nondeterministic computation –Problems.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Read sections 7.1 – 7.3 of the book for next time.
1 Polynomial Church-Turing thesis A decision problem can be solved in polynomial time by using a reasonable sequential model of computation if and only.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
NP-Complete Problems Problems in Computer Science are classified into
Turing Machines.
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
NP-complete and NP-hard problems
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
Chapter 11: Limitations of Algorithmic Power
Prof. Busch - LSU1 Turing Machines. Prof. Busch - LSU2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
1 The Cook-Levin Theorem Zeph Grunschlag. 2 Announcements Last HW due Thursday Please give feedback about course at oracle.seas.columbia.edu/wces oracle.seas.columbia.edu/wces.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
1 Turing Machines. 2 A Turing Machine Tape Read-Write head Control Unit.
1 L is in NP means: There is a language L’ in P and a polynomial p so that L 1 ≤ L 2 means: For some polynomial time computable map r : x: x L 1 iff r(x)
Turing Machines A more powerful computation model than a PDA ?
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
Prabhas Chongstitvatana1 NP-complete proofs The circuit satisfiability proof of NP- completeness relies on a direct proof that L  p CIRCUIT-SAT for every.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
CSCI 2670 Introduction to Theory of Computing December 1, 2004.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
CSE 105 Theory of Computation Alexander Tsiatas Spring 2012 Theory of Computation Lecture Slides by Alexander Tsiatas is licensed under a Creative Commons.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
1 The Theory of NP-Completeness 2 Cook ’ s Theorem (1971) Prof. Cook Toronto U. Receiving Turing Award (1982) Discussing difficult problems: worst case.
1 P P := the class of decision problems (languages) decided by a Turing machine so that for some polynomial p and all x, the machine terminates after at.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
NP-completeness Class of hard problems. Jaruloj ChongstitvatanaNP-complete Problems2 Outline  Introduction  Problems and Languages Turing machines and.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Costas Busch - LSU1 Time Complexity. Costas Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
1 Turing Machines - Chap 8 Turing Machines Recursive and Recursively Enumerable Languages.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
NP-complete Languages
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
Given this 3-SAT problem: (x1 or x2 or x3) AND (¬x1 or ¬x2 or ¬x2) AND (¬x3 or ¬x1 or x2) 1. Draw the graph that you would use if you want to solve this.
Prof. Busch - LSU1 Time Complexity. Prof. Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
Computability Examples. Reducibility. NP completeness. Homework: Find other examples of NP complete problems.
1 Turing Machines. 2 The Language Hierarchy Regular Languages Context-Free Languages ? ?
Chapters 11 and 12 Decision Problems and Undecidability.
NP-Completeness A problem is NP-complete if: It is in NP
L is in NP means: There is a language L’ in P and a polynomial p so that L1 ≤ L2 means: For some polynomial time computable map r :  x: x  L1 iff.
Part VI NP-Hardness.
Busch Complexity Lectures: Turing Machines
Time Complexity Costas Busch - LSU.
Busch Complexity Lectures: Reductions
Reductions Costas Busch - LSU.
COSC 3340: Introduction to Theory of Computation
Turing Machines 2nd 2017 Lecture 9.
Turing Machines Acceptors; Enumerators
Chapter 9 TURING MACHINES.
Decidable Languages A language L is decidable if there is a Turing machine ML such that given any word w  0*, then: Input of ML: a  b  … w Output of.
CS154, Lecture 13: P vs NP.
Recall last lecture and Nondeterministic TMs
RAIK 283 Data Structures & Algorithms
Presentation transcript:

P Vs NP Turing Machine

Definitions - Turing Machine Turing Machine M has a tape of squares Each Square is capable of storing a symbol from set Γ (including blank Symbol b) Σ is an input string such that Σ ⊆ Γ and b ∈ Γ − Σ. Machine Starts with input String Σ, Initial State is q₀, final state is q accept or q reject. At each step M is in a state q, scans symbol s The action is to output a symbol, enter a new state and move tape head left/right

Definitions - Turing Machine Formally, Turing Machine M is a Tuple: (Σ, Γ,Q, δ) Γ is the finite, non-empty alphabet of M Q is the finite, non-empty set of States of M Σ ⊆ Γ and b ∈ Γ − Σ. δ is the transition function, such that: δ : (Q − {q accept, q reject }) × Γ → Q × Γ × {−1, 1}

Definitions - Turing Machine given δ(q, s) = (q 1, s 1, h) in Γ, If M is in q, Scanning s Then q 1 is the new state s 1 is the output symbol The tape moves left if h is –1 or right if h is +1 M halts if it reaches a state q accept or q reject

Definitions - Turing Machine Example of simulator:

Definitions – L(M) L(M) is a Language accepted by M, such that M is a Turing Machine Σ is finite, non-empty set of alphabet Σ * is the set of finite strings over Σ If w ∈ Σ * is Input to M L(M) = {w ∈ Σ ∗ | M accepts w} M halts at an accepting state.

Definitions – tM(w) Time M takes to accept w - number of steps tM(w) = ∞ means M never halts.

Definitions – TM(n) Worst case time for M For n ∈ N, TM(n) is worst case run time for M TM(n) = max{tM(w) | w ∈ Σ n }, where Σ n is set of all string in Σ of length n

Definitions – Polynomial Time M runs in Polynomial time: There exists k, such that for all n TM(n) ≤ n k + k

P P in P vs NP stands for Polynomial More specifically – Deterministic Polynomial P is a Set of Languages: P = {L | L = L(M), M runs in Polynomial Time }

Definitions – TM(n) Worst case time for M For n ∈ N, TM(n) is worst case run time for M TM(n) = max{tM(w) | w ∈ Σ n }, where Σ n is set of all string in Σ of length n

Definitions – Checking Relation Checking Relation is a binary relation: R ⊆ Σ * × Σ 1 *, Over some alphabet Σ and Σ 1 Sort of all sets of combinations over Σ and Σ 1 A Language L R over Σ ∪ Σ1 ∪ {#} is defined as: L R = {w#y | R(w, y)} # is used to separate w and y R is Polynomial iff L R ∈ P.

NP NP in P Vs NP stands for Non-deterministic Polynomial. A Language L over Σ is in NP iff there is k ∈ N, Polynomial Time checking Relation R, and for all w ∈ Σ * w ∈ L ⇐⇒ ∃ y(|y| ≤ |w| k and R(w, y)) Where |w| is length of w, |y| is the length of y

Is P = NP The question is: Suppose that solutions to a problem can be verified quickly. Then, can the solutions themselves also be computed quickly? Quickly is defined as in Polynomial time In Travelling Salesman Problem a route can be quickly verified, but the problem can be quickly solved !

History – c.e c.e. – Computably enumerable L is c.e. (or semi-decidable) iff L = L(M) for some Turing machine M L is c.e. iff there is checking relation R(x, y), L = {x | ∃ yR(x, y)}

History – Decidable L is decidable iff L = L(M) for some Turing machine M which satisfies the condition that M halts on all input strings w (compare with c.e.)

History - c.e. and Decidable Halting Problem (HP): HP = {M | M is a Turing machine which halts on input M} HP is c.e. but it is not decidable.

History - Reducibility Symbol for one to many reducibility is ≤ m Definition: Suppose that L i is a language over Σ i, i = 1, 2. Then L 1 ≤ m L 2 iff there is a (total) computable function f : Σ 1 * → Σ 2 *, such that x ∈ L 1 ⇐⇒ f(x) ∈ L 2, for all x ∈ Σ 1 *

History – Reducibility: Consequences if L 1 ≤ m L 2 and L 2 is decidable, then L 1 is decidable. Alternatively: if HP ≤ m L then L is undecidable

History – Reducibility: Example Travelling Salesman Problem can be reduced to Hamiltonian Graph Problem

History - NP-Complete, c.e. Complete c.e. complete definition: A language L is c.e.-complete iff L is c.e., and L ’ ≤ m L for every c.e. language L HP is c.e. Complete ≤ m is transitive.

History - NP-Complete, Polynomial time Polynomial Time computation first introduced in 1960s by Cobham [Cob64] and Edmonds [Edm65]. Polynomial Time Algorithms – “good Algorithms” Is Polynomial of n 100 a “good Algorithm” ? NP-Complete is plynomial time equivalent of c.e. Complete.

History - NP-Complete, Definition Suppose that L i is a language over Σ i, i = 1, 2. Then L 1 ≤ p L 2 (L 1 is p-reducible to L 2 ) iff there is a polynomial-time computable function f : Σ 1 * → Σ 2 *, such that x ∈ L 1 ⇐⇒ f(x) ∈ L 2, for all x ∈ Σ 1 * A language L is NP-complete iff L is in NP, and L ’ ≤ p L for every language L ’ in NP Focus on reducibility is polynomial

History - NP-Complete, Propositions a)If L 1 ≤ p L 2 and L 2 ∈ P then L 1 ∈ P. b)If L 1 is NP-complete, L 2 ∈ NP, and L 1 ≤ p L 2 then L 2 is NP-complete. c)If L is NP-complete and L ∈ P, then P=NP.

Some NP-Complete Problems - SAT a)Satisfiability (SAT): given a boolean function F of M variables x 1, x 2.. x M. F can involve the operators and, or and not. The problem is to find values for these variables which give the function F the value true

Some NP-Complete Problems - 3SAT a)An important special case of Satisfiability is 3- SAT Satisfiability (SAT). Instances of 3-SAT are restricted to formulas in conjunctive normal form with three literals per clause: (P ∨ Q ∨ R) ∧ ( ~P ∨ Q ∨ ~R) ∧ (P ∨ ~Q ∨ S) ∧ ( ~P ∨ ~R ∨ ~S)

Attempts at proving Over the years several attempts have been made to Prove P = NP or P != NP The latest in Aug 2010 by Vinay Deolalikar announcing P != NP. Shown to be no correct Since 1987, 34 papers try to Prove P = NP Since 1987, 25 papers try to Prove P != NP Ref :