Umans Complexity Theory Lectures

Slides:



Advertisements
Similar presentations
Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
Advertisements

Complexity Theory Lecture 6
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Complexity Classes: P and NP
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
CS151 Complexity Theory Lecture 3 April 6, CS151 Lecture 32 Introduction A motivating question: Can computers replace mathematicians? L = { (x,
Theory of Computing Lecture 16 MAS 714 Hartmut Klauck.
The diagonalization method The halting problem is undecidable Decidability.
P and NP Sipser (pages ). CS 311 Fall Polynomial time P = ∪ k TIME(n k ) … P = ∪ k TIME(n k ) … TIME(n 3 ) TIME(n 2 ) TIME(n)
CS151 Complexity Theory Lecture 3 April 6, Nondeterminism: introduction A motivating question: Can computers replace mathematicians? L = { (x,
March 2, 2015CS21 Lecture 231 CS21 Decidability and Tractability Lecture 23 March 2, 2015.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY Read sections 7.1 – 7.3 of the book for next time.
CS151 Complexity Theory Lecture 12 May 6, CS151 Lecture 122 Outline The Polynomial-Time Hierarachy (PH) Complete problems for classes in PH, PSPACE.
1 Polynomial Time Reductions Polynomial Computable function : For any computes in polynomial time.
CS Master – Introduction to the Theory of Computation Jan Maluszynski - HT Lecture NP-Completeness Jan Maluszynski, IDA, 2007
Umans Complexity Theory Lectures Lecture 2c: EXP Complete Problem: Padding and succinctness.
February 20, 2015CS21 Lecture 191 CS21 Decidability and Tractability Lecture 19 February 20, 2015.
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.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
Definition: Let M be a deterministic Turing Machine that halts on all inputs. Space Complexity of M is the function f:N  N, where f(n) is the maximum.
חישוביות וסיבוכיות Computability and Complexity Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A AAAA.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
Fall 2013 CMU CS Computational Complexity Lecture 3 and 4 Non-determinism, NTIME hierarchy threorem, Ladner’s Proof 9/17/2013.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
CSCI 2670 Introduction to Theory of Computing December 1, 2004.
Lecture 12 P and NP Introduction to intractability Class P and NP Class NPC (NP-complete)
NP-completeness Class of hard problems. Jaruloj ChongstitvatanaNP-complete Problems2 Outline  Introduction  Problems and Languages Turing machines and.
Umans Complexity Theory Lectures Lecture 1c: Robust Time & Space Classes.
Costas Busch - LSU1 Time Complexity. Costas Busch - LSU2 Consider a deterministic Turing Machine which decides a language.
NP-complete Languages
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.
Complexity ©D.Moshkovitz 1 Our First NP-Complete Problem The Cook-Levin theorem A B C.
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.
Chapter 10 NP-Complete Problems.
Umans Complexity Theory Lectures
Computational Complexity Theory
Part VI NP-Hardness.
Umans Complexity Theory Lectures
The diagonalization method The halting problem is undecidable
CS154, Lecture 13: P vs NP.
Turing Machines Acceptors; Enumerators
CS21 Decidability and Tractability
Summary.
CS151 Complexity Theory Lecture 2 April 5, 2017.
Space Complexity Costas Busch - LSU.
CS21 Decidability and Tractability
CS151 Complexity Theory Lecture 3 April 10, 2017.
CS21 Decidability and Tractability
CS154, Lecture 13: P vs NP.
Part II Theory of Nondeterministic Computation
Recall last lecture and Nondeterministic TMs
CS21 Decidability and Tractability
CS21 Decidability and Tractability
CS21 Decidability and Tractability
CS21 Decidability and Tractability
Our First NP-Complete Problem
NP and NP completeness 姚鹏晖
Umans Complexity Theory Lectures
CS151 Complexity Theory Lecture 1 April 2, 2019.
Instructor: Aaron Roth
Instructor: Aaron Roth
CS151 Complexity Theory Lecture 5 April 16, 2019.
CS151 Complexity Theory Lecture 4 April 12, 2019.
Intro to Theory of Computation
CS151 Complexity Theory Lecture 4 April 8, 2004.
Presentation transcript:

Umans Complexity Theory Lectures Lecture 3a: Nondeterminism

Nondeterminism: introduction A motivating question: Can computers replace mathematicians? L = { (x, 1k) : statement x has a proof of length at most k }

Nondeterminism: introduction Outline: nondeterminism nondeterministic time classes NP, NP-completeness, P vs. NP coNP NTIME Hierarchy Ladner’s Theorem

Nondeterminism Recall deterministic TM Q finite set of states ∑ alphabet including blank: “_” qstart, qaccept, qreject in Q transition function: δ : Q x ∑ → Q x ∑ x {L, R, -}

Nondeterminism nondeterministic Turing Machine: Q finite set of states ∑ alphabet including blank: “_” qstart, qaccept, qreject in Q transition relation ∆ ⊊ (Q x ∑) x (Q x ∑ x {L, R, -}) given current state and symbol scanned, several choices of what to do next.

Nondeterminism deterministic TM: given current configuration, unique next configuration qstartx1x2x3…xn qstartx1x2x3…xn x L x  L qaccept qreject nondeterministic TM: given current configuration, several possible next configurations

Nondeterminism asymmetric accept/reject criterion qstartx1x2x3…xn “computation path” x  L x  L “guess” qaccept qreject asymmetric accept/reject criterion

Nondeterminism all paths terminate time used: maximum length of paths from root space used: maximum # of work tape squares touched on any path from root

Nondeterminism NTIME(T(n)) = languages decidable by a multi-tape NTM that runs for at most T(n) steps on any computation path, where n is the input length, and T :N → N NSPACE(S(n)) = languages decidable by a multi-tape NTM that touches at most S(n) squares of its work tapes along any computation path, where n is the input length, and S: N → N

Nondeterminism Focus on time classes first: NP = k NTIME(nk) NEXP = k NTIME(2nk)

Poly-time verifiers Very useful alternate definition of NP: “witness” or “certificate” Very useful alternate definition of NP: Theorem: language L is in NP if and only if it is expressible as: L = { x| ∃ y, |y| ≤ |x|k, (x, y)  R } where R is a language in P. poly-time TM MR deciding R is a “verifier” efficiently verifiable

R = {(φ, A) : A is a sat. assign. for φ} Poly-time verifiers Example: 3SAT expressible as 3SAT = {φ : φ is a 3-CNF formula for which  assignment A for which (φ, A)  R} R = {(φ, A) : A is a sat. assign. for φ} satisfying assignment A is a “witness” of the satisfiability of φ (it “certifies” satisfiability of φ) R is decidable in poly-time

L = { x | ∃ y, |y| ≤ |x|k, (x, y)  R } Poly-time verifiers L = { x | ∃ y, |y| ≤ |x|k, (x, y)  R } Proof: () give poly-time NTM deciding L phase 1: “guess” y with |x|k nondeterministic steps phase 2: decide if (x, y)  R

Poly-time verifiers Proof: () given L  NP, describe L as: L = { x | ∃ y, |y| ≤ |x|k, (x, y)  R } L is decided by NTM M running in time nk define the language R = { (x, y) : y is an accepting computation history of M on input x} check: accepting history has length ≤ |x|k check: R is decidable in polynomial time check: M accepts x iff ∃y, |y| ≤ |x|k, (x, y)  R

Why NP? not a realistic model of computation problem requirements object we are seeking not a realistic model of computation but, captures important computational feature of many problems: exhaustive search works contains huge number of natural, practical problems many problems have form: L = { x | ∃ y s.t. (x,y)  R} efficient test: does y meet requirements?

Why NP? Why not EXP? too strong! important problems not complete.

Relationships between classes Easy: P ⊆ NP, EXP ⊆ NEXP TM special case of NTM Recall: L  NP iff expressible as L = { x | ∃ y, |y| · |x|k s.t. (x,y)  R} NP ⊆ PSPACE (try all possible y) The central question: P = NP finding a solution vs. recognizing a solution ?

NP-completeness Circuit SAT: given a Boolean circuit (gates , , ), with variables y1, y2, …, ym is there some assignment that makes it output 1? Theorem: Circuit SAT is NP-complete. Proof: clearly in NP

NP-completeness Given L  NP of form L = { x | ∃ y s.t. (x,y)  R} … xn y1 y2 … ym 1 iff (x,y)  R CVAL reduction for R hardwire input x; leave y as variables

NEXP-completeness Succinct Circuit SAT: given a succinctly encoded Boolean circuit (gates , , ), with variables y1, y2, …, ym is there some assignment that makes it output 1? Theorem: Succinct Circuit SAT is NEXP-complete. Proof: same trick as for Succinct CVAL EXP-complete.

Complement classes In general, if C is a complexity class co-C is the complement class, containing all complements of languages in C L  C implies (* - L)  co-C (* - L)  C implies L  co-C Some classes closed under complement: e.g. co-P = P

coNP Is NP closed under complement? Can we transform this machine: x  L Can we transform this machine: x  L x  L x  L qaccept qreject into this machine? qaccept qreject

L = { x | ∃ y, |y| ≤ |x|k, (x, y)  R } coNP “proof system” interpretation: Recall: L  NP iff expressible as L = { x | ∃ y, |y| ≤ |x|k, (x, y)  R } “proof verifier” “proof” languages in NP have “short proofs” coNP captures (in its complete problems) problems least likely to have “short proofs”. e.g., UNSAT is coNP-complete

coNP NP ≠ coNP P = NP implies NP = coNP Belief: another major open problem