• Keine Ergebnisse gefunden

Bem: Ist ein L NP -vollständig und L ∈ P , so folgt P = NP

N/A
N/A
Protected

Academic year: 2022

Aktie "Bem: Ist ein L NP -vollständig und L ∈ P , so folgt P = NP"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Martin Ziegler

Komplexitätstheorie

NP -Vollständigkeit

L heißt NP -schwer, falls für jedes A ∈ NP gilt: A

p

L.

L heißt NP -vollständig, falls NP -schwer und ∈ NP ist.

Bem: Ist ein L NP -vollständig und L ∈ P , so folgt P = NP

Korollar: Falls NP ≠ P gilt, dann sind alle NP -vollständigen Sprachen in NP \ P , also insbesondere nicht in P .

A heißt polynomiell reduzierbar auf B ( „A

p

B” ),

falls es eine in polynomieller Zeit berechenbare totale Funktion f: Σ * → Σ * gibt mit xA f(x) Bx ∈ Σ *.

Lemma: a) A

p

B und B ∈ P ⇒ A ∈ P

b) A

p

B und B

p

CA

p

C (Transitivität)

P

NP c NP

(und 1 000 000 $US)

(2)

Komplexitätstheorie

Die Master-Reduktion

Satz von Cook-Levin (1971/72) SAT ist NP -vollständig.

Zu zeigen:

SAT ∈ NP

(schon erledigt)

• Für jedes L ∈ NP gilt:

L

≼≼p

SAT

(3)

Martin Ziegler 15

Komplexitätstheorie

Beweisidee

Sei L ∈ NP , N=(Q, Σ , Γ , δ , q

0

,F) eine 1-NTM,

die L in Zeit T(n) entscheidet für ein Polynom T.

O.B.d.A.: N macht immer genau T(n) Schritte!

Aufgabe: Beschreibe eine in polynomieller Zeit berechenbare Funktion f, die bei Eingabe w ∈ Σ *

eine Boole‘sche Formel Φ

w

=f(w) liefert, so dass gilt:

N akzeptiert w ⇔ Φ

w

ist erfüllbar

Idee: Konstruiere Formel Φ

so, dass erfüllende Belegungen für

Φ

zu akzeptierenden Rechnungen von N korrespondieren.

Boole‘sche Variablen von Φ und ihre intuitive Bedeutung:

d

s,a,t

: „Nach Schritt t steht in Bandzelle #s das Symbol a“

h

s,t

: „Nach Schritt t steht der Kopf auf Zelle #s“

z

q,t

: „Nach Schritt t ist N im Zustand q“

L ∈ NP : L ≼≼ p SAT

a ∈ Γ , qQ

s=1..S(|w|), t=0…T(|w|)

(4)

Komplexitätstheorie

Beweisskizze

T(n)·S(n)·|Γ| + T(n)·S(n) + |Q|·T(n)

= polynomiell viele Var.en Jede Rechnung von N gestartet mit w kann durch

passende Belegung der Var.en beschrieben werden.

Belegungen können aber auch Unsinn beschreiben.

Ziel: Entwerfe KNF Φ , die genau für diejenigen Belegungen der Variablen wahr wird, die eine akzeptierende Rechnung von N beschreiben.

Konstruiere Formel Φ

w

so, dass erfüllende Belegungen für Φ zu akzeptierenden Rechnungen von N korrespondieren.

Boole‘sche Variablen von Φ und ihre intuitive Bedeutung:

ds,a,t: „Nach Schritt t steht in Bandzelle s das Symbol a“

hs,t : „Nach Schritt t steht der Kopf auf Zelle s“

zq,t : „Nach Schritt t ist die Maschine im Zustand q“

a∈Γ, qQ s=1..S(|w|) t=0…T(|w|)

(5)

Martin Ziegler

Komplexitätstheorie

Teilformeln von Φ

Vt := der Teil der Variablen, die zum Rechenschritt #t gehören

= { ds,a,t : a ∈ Γ, s S } { hs,t : s S } { zq,t : q ∈ Q } Config(Vt) : wird wahr genau für die Belegungen von Vt ,

die eine Konfiguration beschreiben.

Succ(Vt, Vt+1) : wird wahr genau für die Belegungen von VtVt+1, die Konfigurationen K und K´ beschreiben mit KK´ .

Startw(V0) : wird wahr genau für Belegung, die q0w beschreibt.

Akz(VT) wahr für Belegung, die einen akz. Endzustand beschreibt

Konstruiere Formel Φ

w

so, dass erfüllende Belegungen für Φ zu akzeptierenden Rechnungen von N korrespondieren.

Boole‘sche Variablen von Φ und ihre intuitive Bedeutung:

ds,a,t: „Nach Schritt t steht in Bandzelle s das Symbol a“

hs,t : „Nach Schritt t steht der Kopf auf Zelle s“

zq,t : „Nach Schritt t ist die Maschine im Zustand q“

a∈Γ, qQ s=1..S(|w|) t=0…T(|w|)

Φ

w

(V

0

,..,V

T

) := Config(V

0

) ∧ Config(V

1

) ∧ … ∧ Config(V

T

)

Start

w

(V

0

) ∧ Succ(V

0

,V

1

) ∧ … ∧ Succ(V

T-1

,V

T

) Akz(V

T

)

(6)

Komplexitätstheorie

Skizze zum Beweis

Τ

S

s w

1

w

2

w

3

w

4

░ ░ ░ ░ ░ ░ ░

t=1

► … … … … q

accept

… … … …

t=2

t=T

Gibt es solch eine Rechnung auf der NTM?

Start(V

1

,w)

Akz(V

T

)

Gibt es so eine Belegung?

Succ(V

1

,V

2

) Succ(V

2

,V

3

)

Succ(V

T-1

,V

T

)

C o n fig (V

1

) ∧ … ∧ C o n fig (V

T

)

(7)

Martin Ziegler 19

Komplexitätstheorie

Config(V), Start w , Akz

Abkürzung uniq(x

1

,…,x

r

) := (x

1

∨ … ∨ x

r

) ∧ ∧

i≠j

( ¬ x

i

∨ ¬ x

j

)

wahr genau ein x

i

ist wahr , Länge O(r

2

).

Config(V) :=

uniq(h

1

,…,h

S

) ∧ uniq(z

q

:qQ) ∧ ∧

s≤S

uniq(d

s,a

:a Γ)

hat Länge O(S

2

+|Q|

2

+S · | Γ |

2

) = O(S

2

), da NTM N fixiert.

Start

w

(V) := h

1

z

s

d

1,w

1

∧ … ∧ d

n,w

n

d

n+1,B

∧ … ∧ d

S,B

Akz(V) := z

q

+

wahr für Belegungen, die eine Konfiguration beschreiben V = { d

s,a

: a ∈ Γ , s S } { h

s

: s S } { z

q

: q ∈ Q } d

s,a

: „in Bandzelle #s steht das Symbol a“

h

s

: „Kopf steht auf Zelle #s“ z

q

: „N ist in Zustand q“

Start

w

(V) : wird wahr genau für Belegung, die q

0

w beschreibt.

Länge O(S)

(8)

Komplexitätstheorie

nicht in KNF!

aber äquivalent umformulierbar

Succ(V t ,V t+1 )

Abkürzungen: „x=y“(x ∨ ¬ y) ∧ ( ¬ xy)

γ

s,q,a,p,b,L

:= „(h

s,t

z

q,t

d

s,a,t

) ⇒ (z

p,t+1

d

s,b,t+1

h

s-1,t+1

)“

γ

s,q,a,p,b,N

(V

t

,V

t+1

) und γ

s,q,a,p,b,R

(V

t

,V

t+1

) analog

wahr genau für die Belegungen, die aufein- anderfolgende Konfigurationen beschreiben

ds,a,t: „Nach Schritt t steht in Bandzelle s das Symbol a“

hs,t : „Nach Schritt t steht der Kopf auf Zelle #s“

a∈Γ, qQ s=1..S

„Kopf steht auf Bandzelle #s oder Zelle #s bleibt unverändert“

Succ (V

t

,V

t+1

) := ∧

sS

aΓ

( h

s,t

„d

s,a,t

= d

s,a,t+1

)

∧ ∧

sS

(p,b,X)δ(q,a)

γ

s,q,a,p,b,X

(V

t

,V

t+1

)

(9)

Martin Ziegler

Komplexitätstheorie

Jeweils berechenbar aus w in polynom. Zeit

Config(Vt) : wird wahr genau für die Belegungen von Vt , die eine Konfiguration beschreiben.

Succ(Vt, Vt+1) : wird wahr genau für die Belegungen von VtVt+1, die Konfigurationen K und K´ beschreiben mit KK´ .

Startw(V0) : wird wahr genau für Belegung, die q0w beschreibt.

Akz(VT) wahr für Belegung, die einen akz. Endzustand beschreibt

Zusammenfassung des Beweises

N akzeptiert w ⇔ Φ w ist erfüllbar

Φ

w

(V

0

,..,V

T

) := Config(V

0

) ∧ Config(V

1

) ∧ … ∧ Config(V

T

)

Start

w

(V

0

) ∧ Succ(V

0

,V

1

) ∧ … ∧ Succ(V

T-1

,V

T

) ∧ Akz(V

T

)

Berechenbar in polynom. Zeit und gilt:

(10)

Komplexitätstheorie

NP-vollständige Probleme

Def. (Erinnerung): A heißt NP -vollständig, falls A ∈ NP und für jedes L ∈ NP gilt: L ≼≼ ≼ ≼

p

A

Cook-Levin: SAT ist NP -vollständig.

Wissen: CLIQUE ≡

p

IS ≼ ≼≼ ≼

p

SAT

p

3SAT ≼≼ ≼ ≼

p

IS.

⇒ auch CLIQUE, IS, 3SAT sind NP -vollständig

Lemma. Sei A NP -vollständig und gelte:

• B ∈ NP

• A ≼ ≼≼ ≼

p

B

Dann ist auch B ist NP -vollständig. P

NP c

NP

(11)

Martin Ziegler 23

Komplexitätstheorie

A NP-vollständig, B ∈ NP und A ≼≼≼≼p B. Dann auch B NP-vollständig.

SubsetSum NP -vollständig

SubsetSum ∈ NP √ Zeige: 3SAT ≼

p

SubsetSum

In polynom. Zeit: 3KNF Φ → Xund b ∈ mit:

∃ erfüllend. Belegung von Φ ⇔ ∃ YX: b= Σ

aY

a { 〈a

1

,…,a

N

,b〉 | a

1

,…,a

N

,b ∈ , ∃ α

1

,…, α

N

{0,1} : b= Σ

i

a

i

· α

i

}

Bsp Φ = (x

1

∨ ¬ x

3

x

5

) ∧ ( ¬ x

1

x

5

x

4

) ∧ ( ¬ x

2

∨ ¬ x

2

∨ ¬ x

5

)

v

1

:= 100 10000 v

2

:= 000 01000 v

3

:= 000 00100 v

4

:= 010 00010 v

5

:= 110 00001

v

1

‘ := 010 10000 v

2

' := 002 01000 v

3

' := 100 00100 v

4

' := 000 00010 v

5

' := 001 00001

b := 444 11111 c

1

:= 100 00000 d

1

:= 200 00000 c

2

:= 010 00000 d

2

:= 020 00000 c

3

:= 001 00000 d

3

:= 002 00000

m Klauseln in n Var. 2n+2m+1 Werte à n+m Dez.ziffern

Referenzen

ÄHNLICHE DOKUMENTE

•  set of those Decision problems, for that an algorithm exists, which solves the problem and which consumes no more than polynomial runtime.. The class P:

Dann sieht man nach, ob es der Fall ist und im allgemeinen ist es nicht der

•  Jede Kante repräsentiert eine Belegung von Variable auf ebene i des Baumes. •  repräsentiert den Wert von Variable

Ein Problem L auf großen Zahlen heisst stark NP-vollst¨andig wenn es ein Polynom p gibt, so dass L auf Eingaben, deren Zahlenwerte bei Eingabel¨ange n durch p(n) beschr¨ankt

variablen” stellen sicher, dass jede Klausel wahres Literal enth¨alt Gegeben 3-Formel ϕ, konstruiere in polynomieller Zeit Gleichungs- system G so dass ϕ erf¨ullbar gdw..

Es gibt aber auch NP-Probleme, die nicht als CSPs darstellbar sind 3F, k -F¨arbbarkeit f¨ur jedes feste k > 2, 3SAT,. IPROG ¨uber jedem festen Bereich

When all specified self-diagnostics terminate normally, the HDD posts the GOOD status for the SEND DIAGNOSTIC command. When an error is detected in the self-diagnostics, the

KARLSRUHER INSTITUT F ¨ UR TECHNOLOGIE (KIT) Institut f¨ ur