Lecture 20: conp and Friends, Oracles in Complexity Theory

Similar documents
conp, Oracles, Space Complexity

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

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

Lecture 19: Finish NP-Completeness, conp and Friends

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

1 PSPACE-Completeness

CS154, Lecture 10: Rice s Theorem, Oracle Machines

BBM402-Lecture 11: The Class NP

Lecture 24: Randomized Complexity, Course Summary

CS154, Lecture 13: P vs NP

Computability Theory

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.

CS154, Lecture 13: P vs NP

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

Essential facts about NP-completeness:

Lecture 22: PSPACE

Lecture 16: Time Complexity and P vs NP

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

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

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

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

SAT, NP, NP-Completeness

Lecture 4 : Quest for Structure in Counting Problems

Umans Complexity Theory Lectures

Finish K-Complexity, Start Time Complexity

Principles of Knowledge Representation and Reasoning

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

CS 151 Complexity Theory Spring Solution Set 5

Lecture Notes 4. Issued 8 March 2018

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

Advanced topic: Space complexity

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

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

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

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

Computational Complexity of Bayesian Networks

Lecture 7: Polynomial time hierarchy

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

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

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.

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

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

NP and NP Completeness

P and NP. Or, how to make $1,000,000.

6-1 Computational Complexity

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

A An Overview of Complexity Theory for the Algorithm Designer

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

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

15.1 Proof of the Cook-Levin Theorem: SAT is NP-complete

Lecture 18: PCP Theorem and Hardness of Approximation I

Intro to Theory of Computation

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

Intro to Theory of Computation

uring Reducibility Dept. of Computer Sc. & Engg., IIT Kharagpur 1 Turing Reducibility

CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010

A.Antonopoulos 18/1/2010

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

Q = Set of states, IE661: Scheduling Theory (Fall 2003) Primer to Complexity Theory Satyaki Ghosh Dastidar

1 Computational Problems

Lecture 26: Arthur-Merlin Games

CSE 555 HW 5 SAMPLE SOLUTION. Question 1.

1 Reductions and Expressiveness

The Polynomial Hierarchy

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Turing Machines and Time Complexity

Notes for Lecture Notes 2

NP-Complete Problems. Complexity Class P. .. Cal Poly CSC 349: Design and Analyis of Algorithms Alexander Dekhtyar..

The Complexity of Optimization Problems

CSCI3390-Lecture 14: The class NP

CS 3719 (Theory of Computation and Algorithms) Lectures 23-32

More Completeness, conp, FNP,etc. CS254 Chris Pollett Oct 30, 2006.

Computability and Complexity Theory: An Introduction

CS21 Decidability and Tractability

Notes on Complexity Theory Last updated: October, Lecture 6

NP Completeness. Richard Karp, 1972.

CS20a: NP completeness. NP-complete definition. Related properties. Cook's Theorem

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.

Week 3: Reductions and Completeness

Chapter 7: Time Complexity

Logarithmic space. Evgenij Thorstensen V18. Evgenij Thorstensen Logarithmic space V18 1 / 18

P, NP, NP-Complete, and NPhard

Design and Analysis of Algorithms

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

Review of Basic Computational Complexity

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

CSE 105 THEORY OF COMPUTATION

On the Computational Hardness of Graph Coloring

6.080 / Great Ideas in Theoretical Computer Science Spring 2008

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

Non-Approximability Results (2 nd part) 1/19

CISC 4090 Theory of Computation

Introduction to Advanced Results

NP-Completeness and Boolean Satisfiability

NP Completeness. CS 374: Algorithms & Models of Computation, Spring Lecture 23. November 19, 2015

CSC 5170: Theory of Computational Complexity Lecture 5 The Chinese University of Hong Kong 8 February 2010

NP Complete Problems. COMP 215 Lecture 20

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).

Introduction. Pvs.NPExample

Transcription:

6.045 Lecture 20: conp and Friends, Oracles in Complexity Theory 1

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 iff 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 iff every y leads to an accept state 2

conp P NP 3

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) 4

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 5

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

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, we could expect to break most public-key cryptography currently in use! Theorem: FACTORING 2 NP conp 7

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: (1) FACTORING NP A prime factor p of m such that p n is a proof that (m,n) is in FACTORING (2) FACTORING conp The prime factorization p 1 e1 p k ek of m is a proof that (m,n) is not in FACTORING: Verify each p i is prime, and p 1 e1 p k ek = m Verify that for all i=1,,k that p i < n

FACTORING = { (n, m) m, n > 1 are integers, there is a prime factor p of m where n p < m } Theorem: If FACTORING P, then there is a polynomial-time algorithm which, given an integer n, outputs either n is PRIME or a prime factor of n. Idea: Binary search for the prime factor! Given binary integer m, initialize an interval [2,m]. If (2, m) is not in FACTORING then output PRIME If ( m/2, m) is in FACTORING then shrink interval to [ m/2,m] else, shrink interval to [2, m/2 ] Keep picking n to halve the interval with each call to FACTORING. Takes O(log n) calls to FACTORING!

conp TAUTOLOGY UNSAT FACTORING P NP SAT CLIQUE Decidable 11

NP-complete problems: SAT, 3SAT, CLIQUE, VC, SUBSET-SUM, conp-complete problems: UNSAT, TAUTOLOGY, NOHAMPATH, (NP conp)-complete problems: Nobody knows if they exist! P, NP, conp can be defined in terms of specific machine models, and for every possible machine we can give an encoding of it. NP conp is not known to have a corresponding machine model! 12

Polynomial Time With Oracles P NP NP NP conp NP *We do not condone smoking. Don t do it. It s bad. Kthxbye 13

Oracle Turing Machines FINITE STATE qq YES? CONTROL Is formula F in SAT? yes AI N P U T INFINITE TAPE 14

Oracle Turing Machines An oracle Turing machine M B is equipped with a set B Γ* to which a TM M may ask membership queries on a special oracle tape [Formally, M B enters a special state q? ] and the TM receives a query answer in one step [Formally, the transition function on q? is defined in terms of the entire oracle tape: if the string y written on the oracle tape is in B, then state q? is changed to q YES, otherwise q NO ] This notion makes sense even when M runs in polynomial time and B is not in P! 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 16

Some Complexity Classes With Oracles Let B be a language. 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 17

Is P SAT P NP? Yes! By definition Is P NP P SAT? Yes! Every NP language can be reduced to SAT! Let M B be a poly-time TM with oracle B NP. We define N SAT that simulates M B step for step. When the sim of M B makes query w to oracle B, N SAT reduces w to a formula φ w in poly-time, then calls its oracle for SAT on φ w

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, and outputs the answer.

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, P NP = P conp

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! 21

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 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, if SAT solvers work A problem in P NP that looks harder than SAT or TAUT: FIRST-SAT = { (, i) SAT and the ith bit of the lexicographically first SAT assignment of is 1} Using polynomially many calls to SAT, we can compute the lex. first satisfying assignment

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 the answers are NO

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 x equivalent? Are x and x x equivalent? Yes No Are (x y) ( x y) and x y equivalent? Yes A Boolean formula is minimal if no smaller formula is equivalent to MIN-FORMULA = { is minimal }

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 such that is smaller than. If ((, ) NEQUIV) then accept else reject Note: MIN-FORMULA is not known to be in conp!

The Difficulty of Formula Minimization MIN-CNF-FORMULA = { is CNF and is minimal } Theorem: MIN-CNF-FORMULA is conp NP -complete Proof: Beyond the scope of this course Note: We don t know if MIN-FORMULA is conp NP complete!

conp NP MIN-FORMULA conp P NP TAUT P FACTORING SAT NP NP NP

Oracles and P vs NP Theorem: (1) There is an oracle B where P B = NP B (2) There is an oracle A where P A NP A See Sipser 9.2 Moral: Any proof technique that extends to Turing Machines with arbitrary oracles won t be able to resolve P versus NP!