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

Similar documents
conp, Oracles, Space Complexity

CS154, Lecture 17: conp, Oracles again, Space Complexity

Lecture 19: Finish NP-Completeness, conp and Friends

Lecture 20: conp and Friends, Oracles in Complexity Theory

Lecture 21: Space Complexity (The Final Exam Frontier?)

Lecture 22: PSPACE

CS154, Lecture 13: P vs NP

CS154, Lecture 13: P vs NP

Space Complexity. The space complexity of a program is how much memory it uses.

Lecture 24: Randomized Complexity, Course Summary

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

CS5371 Theory of Computation. Lecture 19: Complexity IV (More on NP, NP-Complete)

COMPLEXITY THEORY. PSPACE = SPACE(n k ) k N. NPSPACE = NSPACE(n k ) 10/30/2012. Space Complexity: Savitch's Theorem and PSPACE- Completeness

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3

P vs. NP Classes. Prof. (Dr.) K.R. Chowdhary.

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

CS154, Lecture 10: Rice s Theorem, Oracle Machines

Time Complexity. CS60001: Foundations of Computing Science

Chapter 7: Time Complexity

Computability Theory

Principles of Knowledge Representation and Reasoning

The purpose here is to classify computational problems according to their complexity. For that purpose we need first to agree on a computational

Could we potentially place A in a smaller complexity class if we consider other computational models?

Chapter 1 - Time and Space Complexity. deterministic and non-deterministic Turing machine time and space complexity classes P, NP, PSPACE, NPSPACE

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

Lecture 3: Reductions and Completeness

Computability and Complexity CISC462, Fall 2018, Space complexity 1

CSE 555 HW 5 SAMPLE SOLUTION. Question 1.

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY. FLAC (15-453) Spring l. Blum TIME COMPLEXITY AND POLYNOMIAL TIME;

1 PSPACE-Completeness

1 Computational Problems

Notes for Lecture Notes 2

Lecture 16: Time Complexity and P vs NP

Lecture 17: Cook-Levin Theorem, NP-Complete Problems

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

V Honors Theory of Computation

Advanced topic: Space complexity

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

Finish K-Complexity, Start Time Complexity

NP-Completeness. A language B is NP-complete iff B NP. This property means B is NP hard

Time Complexity. Definition. Let t : n n be a function. NTIME(t(n)) = {L L is a language decidable by a O(t(n)) deterministic TM}

CSE 135: Introduction to Theory of Computation NP-completeness

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

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

Lecture 8: Alternatation. 1 Alternate Characterizations of the Polynomial Hierarchy

ITCS:CCT09 : Computational Complexity Theory Apr 8, Lecture 7

Computational Complexity Theory

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

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 9/6/2004. Notes for Lecture 3

Turing Machines and Time Complexity

The Polynomial Hierarchy

CISC 4090 Theory of Computation

Notes on Space-Bounded Complexity

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

Intractable Problems [HMU06,Chp.10a]

6.045: Automata, Computability, and Complexity (GITCS) Class 17 Nancy Lynch

Lecture 3: Nondeterminism, NP, and NP-completeness

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

Advanced Topics in Theoretical Computer Science

BBM402-Lecture 11: The Class NP

6-1 Computational Complexity

conp = { L L NP } (1) This problem is essentially the same as SAT because a formula is not satisfiable if and only if its negation is a tautology.

The Complexity of Optimization Problems

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

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

CS5371 Theory of Computation. Lecture 23: Complexity VIII (Space Complexity)

CSE 105 Theory of Computation

CSE 105 THEORY OF COMPUTATION

6.045 Final Exam Solutions

Notes on Space-Bounded Complexity

CS151 Complexity Theory. Lecture 1 April 3, 2017

COSE215: Theory of Computation. Lecture 20 P, NP, and NP-Complete Problems

Computability Theory

Time Complexity (1) CSCI Spring Original Slides were written by Dr. Frederick W Maier. CSCI 2670 Time Complexity (1)

The Class NP. NP is the problems that can be solved in polynomial time by a nondeterministic machine.

DRAFT. Diagonalization. Chapter 4

The P versus NP Problem. Dean Casalena University of Cape Town CSLDEA001

NP-Completeness and Boolean Satisfiability

Randomized Complexity Classes; RP

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

Computability and Complexity

The space complexity of a standard Turing machine. The space complexity of a nondeterministic Turing machine

CSCI 1590 Intro to Computational Complexity

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Lecture Notes Each circuit agrees with M on inputs of length equal to its index, i.e. n, x {0, 1} n, C n (x) = M(x).

TIME COMPLEXITY AND POLYNOMIAL TIME; NON DETERMINISTIC TURING MACHINES AND NP. THURSDAY Mar 20

6.045: Automata, Computability, and Complexity (GITCS) Class 15 Nancy Lynch

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

Review of unsolvability

SAT, NP, NP-Completeness

Algorithms and Theory of Computation. Lecture 19: Class P and NP, Reduction

A.Antonopoulos 18/1/2010

Essential facts about NP-completeness:

Theory of Computation Space Complexity. (NTU EE) Space Complexity Fall / 1

1 Non-deterministic Turing Machine

CP405 Theory of Computation

Computational Models Lecture 11, Spring 2009

Theory of Computation Time Complexity

Polynomial Time Computation. Topics in Logic and Complexity Handout 2. Nondeterministic Polynomial Time. Succinct Certificates.

Transcription:

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 if some y leads to an accept state In conp algorithms, we can use a try all instruction: Try all strings y of x k length and the machine accepts if every y leads to an accept state 4

conp P NP 5

Definition: A language B is conp-complete if 1. B conp 2. For every A in conp, there is a polynomial-time reduction from A to B (B is conp-hard) 6

UNSAT = { is a Boolean formula and no variable assignment satisfies } Theorem: UNSAT is conp-complete Proof: UNSAT conp because UNSAT SAT (2) UNSAT is conp-hard: Let A conp. We show A P UNSAT On input w, transform w into a formula using the Cook-Levin Theorem and an NP machine N for A w A SAT w A UNSAT w A SAT w A UNSAT 7

UNSAT = { is a Boolean formula and no variable assignment satisfies } Theorem: UNSAT is conp-complete TAUTOLOGY = { is a Boolean formula and every variable assignment satisfies } = { UNSAT} Theorem: TAUTOLOGY is conp-complete (1) TAUTOLOGY conp (already shown) (2) TAUTOLOGY is conp-hard: UNSAT P TAUTOLOGY: Given formula, output 8

Every NP-complete problem has a conp-complete counterpart NP-complete problems: SAT, 3SAT, CLIQUE, VC, SUBSET-SUM, conp-complete problems: UNSAT, TAUTOLOGY, NOCLIQUE, 9

conp??? P NP 10

Is P = NP conp? THIS IS AN OPEN QUESTION! 11

An Interesting Problem in NP conp FACTORING = { (m, n) m > n > 1 are integers, there is a prime factor p of m where n p < m } If FACTORING P, then we could break most public-key cryptography currently in use! Theorem: FACTORING 2 NP conp 12

To show that FACTORING 2 NP conp, we ll use PRIMES = {n n is a prime integer} PRIMES is in P Manindra Agrawal, Neeraj Kayal and Nitin Saxena Ann. of Math. Volume 160, Number 2 (2004), 781-793. Abstract We present an unconditional deterministic polynomialtime algorithm that determines whether an input number is prime or composite. 13

FACTORING = { (m, n) m, n > 1 are integers, there is a prime factor p of m where n p < m } Theorem: FACTORING NP conp Proof: The prime factorization p 1 e1 p k ek of m can be used to efficiently prove that either (m,n) is in FACTORING or (m,n) is not in FACTORING: First verify each p i is prime and p 1 e1 p k ek = m If there is a p i n then(m,n) is in FACTORING If for all i, p i < n then (m,n) is not in FACTORING 14

conp TAUTOLOGY FACTORING P SAT NP 15

How to Think about Oracles? Think in terms of Turing Machine pseudocode! An oracle Turing machine M with oracle B Γ* lets you include the following kind of branching instructions: if (z in B) then <do something> else <do something else> where z is some string defined earlier in pseudocode. By definition, the oracle TM can always check the condition (z in B) in one step This notion makes sense even if B is not decidable! 17

Some Complexity Classes With Oracles P B = { L L can be decided by some polynomial-time TM with an oracle for B } P SAT P NP = the class of languages decidable in polynomial time with an oracle for SAT = the class of languages decidable by some polynomial-time oracle TM with an oracle for some B in NP 18

Is P SAT P NP? Yes! By definition Is P NP P SAT? Yes! Every NP language can be reduced to SAT! For every poly-time TM M with oracle B NP, we can simulate every query z to oracle B by reducing z to a formula in poly-time, then asking an oracle for SAT instead 19

P B = { L L can be decided by a polynomial-time TM with an oracle for B } Suppose B is in P. Is P B P? Yes! For every poly-time TM M with oracle B P, we can simulate every query z to oracle B by simply running a polynomial-time decider for B. The resulting machine runs in polynomial time! 20

Is NP P NP? Yes! Just ask the oracle for the answer! For every L NP define an oracle TM M L which asks the oracle if the input is in L. 21

Is conp P NP? Yes! Again, just ask the oracle for the answer! For every L conp we know L NP Define an oracle TM M L which asks the oracle if the input is in L accept if the answer is no, reject if the answer is yes In general, we have P NP = P conp 22

P NP = the class of languages decidable by some polynomial-time oracle TM M B for some B in NP Informally: P NP is the class of problems you can solve in polynomial time, assuming SAT solvers work 23

NP B = { L L can be decided by a polynomial-time nondeterministic TM with an oracle for B } conp B = { L L can be decided by a poly-time co-nondeterministic TM with an oracle for B } Is NP = NP NP? Is conp NP = NP NP? THESE ARE OPEN QUESTIONS! It is believed that the answers are NO 24

Logic Minimization is in conp NP Two Boolean formulas and over the variables x 1,,x n are equivalent if they have the same value on every assignment to the variables Are x and x xequivalent? Are x and x xequivalent? Yes No Are (x y) ( x y) and x yequivalent? Yes A Boolean formula is minimal if no smaller formula is equivalent to MIN-FORMULA = { is minimal } 25

Proof: Theorem: MIN-FORMULA conp NP Define NEQUIV = { (, ) and are not equivalent } Observation: NEQUIV NP (Why?) Here is a conp NEQUIV machine for MIN-FORMULA: Given a formula, Try all formulas smaller than : If (, ) NEQUIV then accept else reject MIN-FORMULA is not known to be in conp! 26

conp NP MIN-FORMULA conp P NP TAUT P FACTORING SAT NP NP NP Undecidable Decidable 27

Measuring Space Complexity FINITE STATE CONTROL I N P U T 1 2 3 4 5 6 7 8 9 10 We measure space complexity by looking at the largest tape index reached during the computation 29

Let M be a deterministic TM. Definition: The space complexity of M is the function :, where is the largest tape index reached by M on any input of length. Definition: SPACE( ) = { L L is decided by a Turing machine with O( )space complexity} 30

Theorem: 3SAT SPACE(n) Proof : Try all possible assignments to the (at most n) variables in a formula of length n. This can be done in O(n) space. Theorem: NTIME(t(n)) is in SPACE(t(n)) Proof : Try all possible computation paths of t(n) steps for an NTM on length-n input. This can be done in O(t(n)) space. 31

The class SPACE(s(n)) formalizes the class of problems solvable by computers with bounded memory. Fundamental (Unanswered) Question: How does time relate to space, in computing? SPACE(n 2 ) problems could potentially take much longer than n 2 steps to solve! Intuition: You can always re-use space, but how can you re-use time? 32

Time Complexity of SPACE(S(n)) Let M be a halting TM that on input x, uses S space How many time steps can M(x) possibly take? Is there an upper bound? The number of time steps is at most the total number of possible configurations! (If a configuration repeats, the machine is looping.) A configuration of M specifies a head position, state, and S cells of tape content. The total number of configurations is at most: S Q Γ S = 2 O(S) 34

Corollary: Space S(n) computations can be decided in 2 O(S(n)) time SPACE(s(n)) TIME(2 c s(n) ) c N Idea: After 2 O(s(n)) time steps, a s(n)-space bounded computation must have repeated a configuration, so then it will never halt 35

PSPACE = SPACE(n k ) k N EXPTIME = TIME(2 ) k N n k PSPACE EXPTIME 36

Is P PSPACE? YES 37

Is NP PSPACE? YES 38

Is NP NP PSPACE? YES 39

conp NP MIN-FORMULA conp P NP TAUT P FACTORING SAT NP NP NP EXPTIME PSPACE 40

Thank you! For being a great class!