• Keine Ergebnisse gefunden

Theory of Computer Science D6. Beyond NP Gabriele R¨oger

N/A
N/A
Protected

Academic year: 2022

Aktie "Theory of Computer Science D6. Beyond NP Gabriele R¨oger"

Copied!
18
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Theory of Computer Science

D6. Beyond NP

Gabriele R¨oger

University of Basel

May 17, 2021

(2)

Theory of Computer Science

May 17, 2021 — D6. Beyond NP

D6.1 coNP

D6.2 Time and Space Complexity D6.3 Polynomial Hierarchy

D6.4 Counting

(3)

Complexity Theory: What we already have seen

I Complexity theoryinvestigates which problems are “easy” to solve and which ones are “hard”.

I two important problem classes:

I P: problems that are solvable inpolynomial time by“normal” computation mechanisms

I NP: problems that are solvable inpolynomial time with the help ofnondeterminism

I We know that P⊆NP, but we do not know whether P = NP.

I Many practically relevant problems are NP-complete:

I They belong to NP.

I All problems in NP can be polynomially reduced to them.

I If there is an efficient algorithm forone NP-complete problem, then there are efficient algorithms forall problems in NP.

(4)

D6. Beyond NP coNP

D6.1 coNP

(5)

D6. Beyond NP coNP

Complexity Class coNP

Definition (coNP)

coNPis the set of all languages Lfor which ¯L∈NP.

Example: The complement ofSATis in coNP.

(6)

D6. Beyond NP coNP

Hardness and Completeness

Definition (Hardness and Completeness) Let C be a complexity class.

A problemY is called C-hardifX ≤pY for allproblemsX ∈C.

Y is calledC-complete ifY ∈C andY is C-hard.

Example (Tautology)

The following problemTautologyis coNP-complete:

Given: a propositional logic formulaϕ

Question: Isϕvalid, i.e. is it true under all variable assignments?

(7)

D6. Beyond NP coNP

Known Results and Open Questions

Open

I NP= coNP? Known

I P⊆coNP

I IfX is NP-complete then ¯L is coNP-complete.

I If NP6= coNP then P6= NP.

I If a coNP-complete problem is in NP, then NP = coNP.

I If a coNP-complete problem is in P, then P = coNP = NP.

(8)

D6. Beyond NP Time and Space Complexity

D6.2 Time and Space Complexity

(9)

D6. Beyond NP Time and Space Complexity

Reminder: Time Complexity Classes

Definition (Time Complexity Classes TIME and NTIME) Lett :N→R+ be a function.

Thetime complexity class TIME(t(n))is the collection of all languages that are decidable by anO(t) time Turing machine, and NTIME(t(n))is the collection of all languages that are decidable by anO(t) time nondeterministic Turing machine.

I TIME(f): all languages accepted by a DTMin time f. I NTIME(f): all languages accepted by aNTM in timef. I P =S

k∈NTIME(nk) I NP =S

k∈NNTIME(nk)

(10)

D6. Beyond NP Time and Space Complexity

Space

I Analogously: A TM decides a language Lin spacef if the computation on every input visits at most f(|w|) tape cells besides it input on the tape.

I SPACE(f): all languages decided by a DTM in spacef. I NSPACE(f): all languages decided by a NTMin space f.

(11)

D6. Beyond NP Time and Space Complexity

Important Complexity Classes Beyond NP

I PSPACE =S

k∈NSPACE(nk) I NPSPACE =S

k∈NNSPACE(nk) I EXPTIME =S

k∈NTIME(2nk) I EXPSPACE =S

k∈NSPACE(2nk) Some known results:

I PSPACE = NPSPACE (from Savitch’s theorem) I PSPACE⊆EXPTIME⊆EXPSPACE

(at least one relationship strict)

I P6= EXPTIME, PSPACE6= EXPSPACE I P⊆NP⊆PSPACE

(12)

D6. Beyond NP Polynomial Hierarchy

D6.3 Polynomial Hierarchy

(13)

D6. Beyond NP Polynomial Hierarchy

Oracle Machines

Anoracle machine is like a Turing machine that has access to an oraclewhich can solve some decision problem in constant time.

Example oracle classes:

I PNP={L|Lcan get decided in polynomial time by a DTM PNP={L|with an oracle that decides some problem in NP}

I NPNP ={L|Lcan get decided in pol. time by a NTM NPNP ={L|with an oracle deciding some problem in NP}

(14)

D6. Beyond NP Polynomial Hierarchy

Polynomial Hierarchy

Inductively defined:

I ∆P0 := ΣP0 := ΠP0 := P I ∆Pi+1:= PΣPi

I ΣPi+1:= NPΣPi I ΠPi+1:= coNPΣPi I PH :=S

kΣPk

NP = ΣP1 ΠP1= coNP PNP= ∆P2

ΣP2 ΠP2

P3 ΣP3 ΠP3

...

(15)

D6. Beyond NP Polynomial Hierarchy

Polynomial Hierarchy: Results

I PH⊆PSPACE (PH= PSPACE is open)? I There are complete problems for each level.

I If there is a PH-complete problem, then the polynomial hierarchy collapses to some finite level.

I If P = NP, the polynomial hierarchy collapses to the first level.

(16)

D6. Beyond NP Counting

D6.4 Counting

(17)

D6. Beyond NP Counting

#P

Complexity class#P

I Set of functions f :{0,1} →N0, wheref(n) is the number of accepting paths of a polynomial-time NTM

Example (#SAT)

The following problem#SATis #P-complete:

Given: a propositional logic formulaϕ

Question: Under how many variable assignments isϕtrue?

(18)

D6. Beyond NP The End

What’s Next?

contents of this course:

A. background X

. mathematical foundations and proof techniques B. automata theory and formal languagesX

. What is a computation?

C. Turing computability X

. What can be computed at all?

D. complexity theoryX

. What can be computed efficiently?

E. more computability theory . Other models of computability

Referenzen

ÄHNLICHE DOKUMENTE

If you read a 1 at the first tape position, move every non-blank symbol on the tape one position to the right, write a 1 in the first tape position and accept...

I If you read a 1 at the first tape position, move every non-blank symbol on the tape one position to the right, write a 1 in the first tape position and accept...

We number the tape positions with natural numbers such that the TM head initially is on position 1. Observation: within p(n) computation steps the TM head can only reach positions

D3.2 Propositional Logic D3.3 Cook-Levin Theorem D3.4 3SAT..

Clique , IndSet , VertexCover three classical routing problems:. DirHamiltonCycle , HamiltonCycle

Does this graph have a vertex cover of size 4?.. VertexCover is

By using one or both of the padding numbers for each clause digit, all clause digits can be brought to their target value of 4, solving the SubsetSum instance.. For

An oracle machine is like a Turing machine that has access to an oracle which can solve some decision problem in constant timeA. Example