• Keine Ergebnisse gefunden

VL-12: P versus NP (Berechenbarkeit und Komplexit¨at, WS 2018) Gerhard Woeginger

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-12: P versus NP (Berechenbarkeit und Komplexit¨at, WS 2018) Gerhard Woeginger"

Copied!
76
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-12: P versus NP

(Berechenbarkeit und Komplexit¨ at, WS 2018) Gerhard Woeginger

WS 2018, RWTH

(2)

Organisatorisches

N¨achste Vorlesungen:

Freitag, Dezember 14, 16:30–18:00 Uhr, Audimax Donnerstag, Dezember 20, 12:30–14:00 Uhr, Aula Donnerstag, Januar 11, 12:30–14:00 Uhr, Aula Keine Vorlesung:Freitag, Dezember 21 Webseite:

http://algo.rwth-aachen.de/Lehre/WS1819/BuK.php (−→ Arbeitsheft zur Berechenbarkeit)

(3)

Wiederholung

(4)

Wdh.: Primitiv rekursive Funktionen

Die primitiv rekursiven Funktionen bilden eine Unterfamilie der FunktionenNk →Nmitk ≥1.

Sie sind induktiv definiert, und werden durch zwei Operationen aus den sogenannten Basisfunktionen zusammengebaut.

Thoralf Skolem (1923):

“Begr¨undung der elementaren Arithmetik durch die rekurrierende Denkweise ohne Anwendung scheinbarer Ver¨anderlichen mit unendlichem Ausdehnungsbereich”, Skrifter utgit av Videnskapsselskapet i Kristiania 6, pp 1–38.

(5)

Wdh.: µ-rekursive Funktionen

Definition

Die Klasse derµ-rekursiven Funktionen ist die kleinste Klasse von (partiellen und totalen) Funktionen,

die die Basisfunktionen (konstant Funktionen; identischen Abbildungen; Nachfolgerfunktion) enth¨alt und

die abgeschlossen ist unter Komposition, primitiver Rekursion und Anwendung desµ-Operators.

(6)

Wdh.: ¨ Aquivalenz zu LOOP und WHILE

Satz

Die Menge der primitiv rekursiven Funktionen

f¨allt mit der Menge der LOOP-berechenbaren zusammen.

Satz

Die Menge derµ-rekursiven Funktionen

f¨allt mit der Menge der WHILE-berechenbaren (Turing-berechenbaren;

RAM-berechenbaren) Funktionen zusammen.

(7)

Wdh.: Landschaftsbild

TM = RAM = WHILE =µ-rekursiv

LOOP = primitiv rekursiv + − × ab ab kn

A(m,n)

Ackermann Funktion

(8)

Wdh.: Kostenmodelle der RAM

Modelle f¨ur die Rechenzeit einer RAM Uniformes Kostenmaß:

Jeder Schritt z¨ahlt als eine Zeiteinheit.

Logarithmisches Kostenmaß:

Die Laufzeitkosten eines Schrittes sind proportional zur bin¨aren L¨ange der Zahlen in den angesprochenen Registern.

(9)

Vorlesung VL-12 P versus NP

Polynomielle Algorithmen Die Komplexit¨atsklasse P

Non-deterministische Turingmaschinen Die Komplexit¨atsklasse NP

Katalog von Problemen in NP P versus NP

(10)

Komplexit¨ atstheorie

DieKomplexit¨atstheorie versucht,

(entscheidbare!) algorithmische Probleme

nach ihrem Bedarf an Berechnungsressourcen zu klassifieren und sie inKomplexit¨atsklasseneinzuteilen.

Berechnungsressourcen:

Rechenzeit und Speicherplatz (als Funktion der Eingabel¨ange)

(11)

Polynomielle Algorithmen

(12)

Polynomielle Zeit

Definition: Worst Case Laufzeit eines Algorithmus DieWorst Case LaufzeittA(n)eines AlgorithmusA misst

die maximalen Laufzeitkosten auf Eingaben der L¨angen bez¨uglich des logarithmischen Kostenmaßes der RAM.

Definition: Polynomielle Algorithmen

Die Worst Case LaufzeittA(n)eines Algorithmus Aistpolynomiell beschr¨ankt, falls gilt

∃α∈N: tA(n)∈O(nα)

Einen Algorithmus mit polynomiell beschr¨ankter Worst Case Laufzeit bezeichnen wir alspolynomiellen Algorithmusoder auch als

Polynomialzeitalgorithmus.

Beispiel: O(n); O(nlogn); O(n3); O(n100)

(13)

Polynomielle Zeit

Definition: Worst Case Laufzeit eines Algorithmus DieWorst Case LaufzeittA(n)eines AlgorithmusA misst

die maximalen Laufzeitkosten auf Eingaben der L¨angen bez¨uglich des logarithmischen Kostenmaßes der RAM.

Definition: Polynomielle Algorithmen

Die Worst Case LaufzeittA(n)eines AlgorithmusA istpolynomiell beschr¨ankt, falls gilt

∃α∈N: tA(n)∈O(nα)

Einen Algorithmus mit polynomiell beschr¨ankter Worst Case Laufzeit bezeichnen wir alspolynomiellen Algorithmusoder auch als

Polynomialzeitalgorithmus.

(14)

Beispiel: Sortieren

Problem: SORTIEREN

Eingabe: Zahlena1, . . . ,an∈Nin Bin¨ardarstellung

Ausgabe: Die aufsteigend sortierte Folge der Eingabezahlen

Satz

SORTIEREN kann in polynomieller Zeit gel¨ost werden. Beweis:

Wir l¨osen das Problem mit MergeSort oder HeapSort Laufzeit im uniformen Kostenmaß: O(nlogn) Laufzeit im logarithmischen Kostenmaß:

O(`nlogn), wobei`=max1≤i≤nlogai

F¨ur die Gesamtl¨angeLder Eingabe giltL≥`undL≥n Somit ist die Laufzeit durch`nlogn≤L3beschr¨ankt

(15)

Beispiel: Sortieren

Problem: SORTIEREN

Eingabe: Zahlena1, . . . ,an∈Nin Bin¨ardarstellung

Ausgabe: Die aufsteigend sortierte Folge der Eingabezahlen

Satz

SORTIEREN kann in polynomieller Zeit gel¨ost werden.

Beweis:

Wir l¨osen das Problem mit MergeSort oder HeapSort Laufzeit im uniformen Kostenmaß: O(nlogn) Laufzeit im logarithmischen Kostenmaß:

O(`nlogn), wobei`=max1≤i≤nlogai

F¨ur die Gesamtl¨angeLder Eingabe giltL≥`undL≥n Somit ist die Laufzeit durch`nlogn≤L3beschr¨ankt

(16)

Beispiel: Sortieren

Problem: SORTIEREN

Eingabe: Zahlena1, . . . ,an∈Nin Bin¨ardarstellung

Ausgabe: Die aufsteigend sortierte Folge der Eingabezahlen

Satz

SORTIEREN kann in polynomieller Zeit gel¨ost werden.

Beweis:

Wir l¨osen das Problem mit MergeSort oder HeapSort Laufzeit im uniformen Kostenmaß: O(nlogn)

Laufzeit im logarithmischen Kostenmaß: O(`nlogn), wobei`=max1≤i≤nlogai

F¨ur die Gesamtl¨angeLder Eingabe giltL≥`undL≥n Somit ist die Laufzeit durch`nlogn≤L3beschr¨ankt

(17)

Beispiel: Sortieren

Problem: SORTIEREN

Eingabe: Zahlena1, . . . ,an∈Nin Bin¨ardarstellung

Ausgabe: Die aufsteigend sortierte Folge der Eingabezahlen

Satz

SORTIEREN kann in polynomieller Zeit gel¨ost werden.

Beweis:

Wir l¨osen das Problem mit MergeSort oder HeapSort Laufzeit im uniformen Kostenmaß: O(nlogn) Laufzeit im logarithmischen Kostenmaß:

O(`nlogn), wobei`=max1≤i≤nlogai

F¨ur die Gesamtl¨angeLder Eingabe giltL≥`und L≥n

(18)

Weitere Beispiele

Die folgenden Probleme k¨onnen in polynomieller Zeit gel¨ost werden:

Eulerkreis K¨urzester Weg Minimaler Spannbaum Maximaler Fluss Maximum Matching

Gr¨osster gemeinsamer Teiler Konvexe H¨ulle in 2D Primzahltest

(19)

Die Klasse P

Definition: Komplexit¨atsklasse P

Pist die Klasse aller Entscheidungsprobleme, f¨ur die es einen polynomiellen Algorithmus gibt.

Anmerkungen:

Psteht f¨urPolynomiell

Penth¨alt ausschliesslich Entscheidungsprobleme

Statt der RAM k¨onnte man in der Definition der polynomiellen Laufzeit und der polynomiellen Algorithmen genauso gut die TM verwenden: RAM (mit logarithmischem Kostenmaß) und TM simulieren einander ja mit polynomiellem Zeitverlust

Polynomielle Algorithmen werden oft alseffiziente Algorithmen bezeichnet, und Pals die Klasse dereffizient l¨osbaren Probleme.

(20)

Die Klasse P

Definition: Komplexit¨atsklasse P

Pist die Klasse aller Entscheidungsprobleme, f¨ur die es einen polynomiellen Algorithmus gibt.

Anmerkungen:

Psteht f¨urPolynomiell

Penth¨alt ausschliesslich Entscheidungsprobleme

Statt der RAM k¨onnte man in der Definition der polynomiellen Laufzeit und der polynomiellen Algorithmen genauso gut die TM verwenden: RAM (mit logarithmischem Kostenmaß) und TM simulieren einander ja mit polynomiellem Zeitverlust

Polynomielle Algorithmen werden oft alseffiziente Algorithmen bezeichnet, und Pals die Klasse dereffizient l¨osbaren Probleme.

(21)

Beispiel: Graphzusammenhang (1)

Problem: Graphzusammenhang

Eingabe: Ein ungerichteter GraphG = (V,E) Frage: IstG zusammenh¨angend?

Anmerkung: Bei Graphproblemen gehen wir grunds¨atzlich davon aus, dass der Graph in Form einer Adjazenzmatrix gegeben ist.

1 2

3 4

0 1 0 1

1 0 1 0

0 1 0 0

1 0 0 0

0101101001001000

(22)

Beispiel: Graphzusammenhang (2)

Satz

Graphzusammenhang∈P.

Beweis

Wir l¨osen das Problem mit Tiefensuche (DFS).

Laufzeit im uniformen Kostenmaß: O(|V|+|E|) =O(|V|2)

Laufzeit im logarithmischen Kostenmaß:O(|V|2·log|V|) Die Gesamtl¨ange der Eingabe istL=|V|2

Die Gesamtlaufzeit liegt somit in

O(|V|2log|V|) ⊆ O(LlogL) ⊆ O(L2)

(23)

Beispiel: Graphzusammenhang (2)

Satz

Graphzusammenhang∈P.

Beweis

Wir l¨osen das Problem mit Tiefensuche (DFS).

Laufzeit im uniformen Kostenmaß: O(|V|+|E|) =O(|V|2) Laufzeit im logarithmischen Kostenmaß:O(|V|2·log|V|)

Die Gesamtl¨ange der Eingabe istL=|V|2 Die Gesamtlaufzeit liegt somit in

O(|V|2log|V|) ⊆ O(LlogL) ⊆ O(L2)

(24)

Beispiel: Graphzusammenhang (2)

Satz

Graphzusammenhang∈P.

Beweis

Wir l¨osen das Problem mit Tiefensuche (DFS).

Laufzeit im uniformen Kostenmaß: O(|V|+|E|) =O(|V|2) Laufzeit im logarithmischen Kostenmaß:O(|V|2·log|V|) Die Gesamtl¨ange der Eingabe istL=|V|2

Die Gesamtlaufzeit liegt somit in

O(|V|2log|V|) ⊆ O(LlogL) ⊆ O(L2)

(25)

Beispiel: Graphzusammenhang (2)

Satz

Graphzusammenhang∈P.

Beweis

Wir l¨osen das Problem mit Tiefensuche (DFS).

Laufzeit im uniformen Kostenmaß: O(|V|+|E|) =O(|V|2) Laufzeit im logarithmischen Kostenmaß:O(|V|2·log|V|) Die Gesamtl¨ange der Eingabe istL=|V|2

Die Gesamtlaufzeit liegt somit in

O(|V|2log|V|) ⊆ O(LlogL) ⊆ O(L2)

(26)

Die non-deterministische

Turingmaschine (NTM)

(27)

NTM (1): Illustration

0 1 1 0 1 1 1 0 1 1 0 1 0

0

· · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(28)

NTM (1): Illustration

0 1 1 0 1 1 1 0 1 1 0 1 0

0

· · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(29)

NTM (1): Illustration

0 1 1 0 1 1 0 1 1 0 1 0

1

0 · · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(30)

NTM (1): Illustration

0 1 1 0 1 1 0 1 1 0 1 0

1

0 · · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(31)

NTM (1): Illustration

0 1 1 0 1 1 0 1 1 0 1 0

1

0 · · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(32)

NTM (2): Definition

Definition: Non-deterministische Turingmaschine (NTM) Eine non-deterministische Turingmaschine (NTM) verf¨ugt ¨uber

ein beidseitig unbeschr¨anktes Arbeitsband, einen Lese/Schreibkopf, und

einen Mechanismus, der die Zustands¨uberf¨uhrungen steuert.

Der einzige Unterschied zur deterministischen Turingmaschine TM besteht darin, dass die Zustands¨uberf¨uhrungen bei der NTM nicht durch eineFunktionsondern durch eine Relationgesteuert werden:

δ ⊆ ((Q\ {¯q})×Γ) × (Q×Γ× {L,R,N})

Berechnungen auf einer NTM sindnicht deterministisch, da es zu einer Konfiguration mehrere direkte Nachfolgekonfigurationen geben kann.

(33)

NTM (2): Definition

Definition: Non-deterministische Turingmaschine (NTM) Eine non-deterministische Turingmaschine (NTM) verf¨ugt ¨uber

ein beidseitig unbeschr¨anktes Arbeitsband, einen Lese/Schreibkopf, und

einen Mechanismus, der die Zustands¨uberf¨uhrungen steuert.

Der einzige Unterschied zur deterministischen Turingmaschine TM besteht darin, dass die Zustands¨uberf¨uhrungen bei der NTM nicht durch eineFunktionsondern durch eine Relationgesteuert werden:

δ ⊆ ((Q\ {¯q})×Γ) × (Q×Γ× {L,R,N})

Berechnungen auf einer NTM sindnicht deterministisch, da es zu einer

(34)

NTM (3a): Berechnungsbaum

δ 0 1 B

q0 {(q0,B,R),(q1,B,R)} {reject} {reject}

q1 {reject} {(q1,B,R),(q2,B,R)} {reject}

q2 {reject} {reject} {accept}

Diese NTM hat auf der Eingabew =0011folgenden Berechnungsbaum:

q00011

q0011

q1011 reject q111

q011 reject

q11

q21 reject q1

q2 accept reject

(35)

NTM (3b): Berechnungsbaum

Rechenweg einer NTM= Konfigurationsfolge, die mit Startkonfiguration beginnt und mit Nachfolgekonfigurationen fortgesetzt wird, bis eine Endkonfiguration im Zustandq¯ erreicht wird

Die m¨oglichen Rechenwege einer NTMM auf einer Eingabe k¨onnen in einemBerechnungsbaumzusammengefasst werden:

Die Knoten des Baumes entsprechen Konfigurationen Die Wurzel des Baumes entspricht der Startkonfiguration Die Kinder einer Konfiguration entsprechen den m¨oglichen Nachfolgekonfigurationen

Dermaximale Verzweigungsgraddes Berechnungsbaumes ist

∆ := max

|δ(q,a)|

q∈Q\ {¯q}, a∈Γ .

Anmerkung:∆h¨angt nur vonM und nicht von der Eingabe ab

(36)

NTM (3b): Berechnungsbaum

Rechenweg einer NTM= Konfigurationsfolge, die mit Startkonfiguration beginnt und mit Nachfolgekonfigurationen fortgesetzt wird, bis eine Endkonfiguration im Zustandq¯ erreicht wird

Die m¨oglichen Rechenwege einer NTMM auf einer Eingabe k¨onnen in einemBerechnungsbaumzusammengefasst werden:

Die Knoten des Baumes entsprechen Konfigurationen Die Wurzel des Baumes entspricht der Startkonfiguration Die Kinder einer Konfiguration entsprechen den m¨oglichen Nachfolgekonfigurationen

Dermaximale Verzweigungsgraddes Berechnungsbaumes ist

∆ := max

|δ(q,a)|

q∈Q\ {¯q}, a∈Γ .

Anmerkung:∆h¨angt nur vonM und nicht von der Eingabe ab

(37)

NTM (3b): Berechnungsbaum

Rechenweg einer NTM= Konfigurationsfolge, die mit Startkonfiguration beginnt und mit Nachfolgekonfigurationen fortgesetzt wird, bis eine Endkonfiguration im Zustandq¯ erreicht wird

Die m¨oglichen Rechenwege einer NTMM auf einer Eingabe k¨onnen in einemBerechnungsbaumzusammengefasst werden:

Die Knoten des Baumes entsprechen Konfigurationen Die Wurzel des Baumes entspricht der Startkonfiguration Die Kinder einer Konfiguration entsprechen den m¨oglichen Nachfolgekonfigurationen

Dermaximale Verzweigungsgraddes Berechnungsbaumes ist

∆ := max

|δ(q,a)|

q∈Q\ {¯q}, a∈Γ .

(38)

NTM (4a): Akzeptanzverhalten

Definition: Akzeptanzverhalten der NTM Eine NTMM akzeptiert die Eingabex∈Σ,

falls esmindestenseinen Rechenweg vonM gibt,

der in eine Konfiguration mit akzeptierendem Zustand f¨uhrt.

Die von der NTMM erkannte SpracheL(M) besteht aus allen vonM akzeptierten W¨ortern.

(39)

NTM (4b): Akzeptanzverhalten

0 1 1 0 1 1 0 0 1 1 0 1 0 · · ·

· · ·

δ 0 1 B

q0 {(q0,B,R),(q1,B,R)} {reject} {reject}

q1 {reject} {(q1,B,R),(q2,B,R)} {reject}

q2 {reject} {reject} {accept}

Welche Sprache wird von dieser NTM erkannt?

L(M) ={0i1j |i ≥1,j≥1}

(40)

NTM (4b): Akzeptanzverhalten

0 1 1 0 1 1 0 0 1 1 0 1 0 · · ·

· · ·

δ 0 1 B

q0 {(q0,B,R),(q1,B,R)} {reject} {reject}

q1 {reject} {(q1,B,R),(q2,B,R)} {reject}

q2 {reject} {reject} {accept}

Welche Sprache wird von dieser NTM erkannt?

L(M) ={0i1j |i ≥1,j≥1}

(41)

NTM (5): Laufzeit

Definition: Laufzeit der NTM

Die Laufzeit einer NTMM auf einer Eingabex ist wie folgt definiert.

Fallsx∈L(M), so ist die LaufzeitTM(x)die L¨ange des k¨urzesten akzeptierenden Rechenweges vonM aufx Fallsx∈/ L(M), so ist die LaufzeitTM(x) =0.

DieWorst Case LaufzeittM(n)der NTM M auf Eingaben

der L¨angen∈Nist definiert als tM(n) :=max{TM(x)|x∈Σn}

(42)

NTM (5): Laufzeit

Definition: Laufzeit der NTM

Die Laufzeit einer NTMM auf einer Eingabex ist wie folgt definiert.

Fallsx∈L(M), so ist die LaufzeitTM(x)die L¨ange des k¨urzesten akzeptierenden Rechenweges vonM aufx Fallsx∈/ L(M), so ist die LaufzeitTM(x) =0.

DieWorst Case LaufzeittM(n)der NTM M auf Eingaben

der L¨angen∈Nist definiert als tM(n) :=max{TM(x)|x∈Σn}

(43)

Die Komplexit¨ atsklasse NP

(44)

Die Klasse NP: Definition

Definition: Komplexit¨atsklasse NP

NPist die Klasse aller Entscheidungsprobleme, die durch eine NTMM erkannt werden,

deren Worst Case LaufzeittM(n)polynomiell beschr¨ankt ist.

NPsteht f¨urNon-deterministischPolynomiell

(45)

Beispiel

Problem: CLIQUE

Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahlk Frage:Enth¨altG eine Clique mit≥k Knoten?

Satz

CLIQUE∈NP

Beweis: Wir beschreiben eine NTMM mitL(M) =CLIQUE. Syntaktisch inkorrekte Eingaben werden verworfen

M r¨at non-deterministisch einen 0-1-Stringy der L¨ange|V| M akzeptiert, falls der Stringy mindestensk Einsen enth¨alt und falls die KnotenmengeC ={i ∈V |yi =1} eine Clique bildet Korrektheit:∃akzeptierender Rechenweg ⇐⇒ G enth¨alt k-Clique Laufzeit: Jede Phase kostet polynomielle Zeit

(46)

Beispiel

Problem: CLIQUE

Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahlk Frage:Enth¨altG eine Clique mit≥k Knoten?

Satz

CLIQUE∈NP

Beweis: Wir beschreiben eine NTMM mitL(M) =CLIQUE. Syntaktisch inkorrekte Eingaben werden verworfen

M r¨at non-deterministisch einen 0-1-Stringy der L¨ange|V| M akzeptiert, falls der Stringy mindestensk Einsen enth¨alt und falls die KnotenmengeC ={i ∈V |yi =1} eine Clique bildet Korrektheit:∃akzeptierender Rechenweg ⇐⇒ G enth¨alt k-Clique Laufzeit: Jede Phase kostet polynomielle Zeit

(47)

Beispiel

Problem: CLIQUE

Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahlk Frage:Enth¨altG eine Clique mit≥k Knoten?

Satz

CLIQUE∈NP

Beweis: Wir beschreiben eine NTMM mitL(M) =CLIQUE.

Syntaktisch inkorrekte Eingaben werden verworfen

M r¨at non-deterministisch einen 0-1-Stringy der L¨ange|V| M akzeptiert, falls der Stringy mindestensk Einsen enth¨alt und falls die KnotenmengeC ={i ∈V |yi =1} eine Clique bildet Korrektheit:∃akzeptierender Rechenweg ⇐⇒ G enth¨alt k-Clique

(48)

Alternative Charakterisierung von NP

Satz (Zertifikat Charakterisierung von NP) Eine SpracheL⊆Σliegt genau dann in NP,

wenn es einen polynomiellen (deterministischen) AlgorithmusV und ein Polynomp mit der folgenden Eigenschaft gibt:

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Anmerkungen:

Der polynomielle AlgorithmusV heisst auch Verifizierer Das Worty∈ {0,1}heisst auch Zertifikat

(49)

Beweis: NTM ⇒ Zertifikat

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Es seiM eine NTM, dieLin polynomieller Zeit erkennt Die Laufzeit vonM sei beschr¨ankt durch ein Polynomq

Der maximale Verzweigungsgrad eines Berechnungsbaumes sei∆

Konstruktion von Zertifikat und Verifizierer:

F¨ur die Eingabex ∈Lbetrachten wir den k¨urzesten akzeptierenden Rechenweg im Berechnungsbaum

Das Zertifikat y kodiert den akzeptierenden Rechenweg Schritt f¨ur Schritt, mitd:=log2∆ Bits pro Verzweigung

Das Zertifikat hat polynomielle L¨ange|y| ≤d·q(|x|)

Der VerifiziererV erh¨alty#x und simuliert den Rechenweg der NTMM f¨ur die Eingabex

(50)

Beweis: NTM ⇒ Zertifikat

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Es seiM eine NTM, dieLin polynomieller Zeit erkennt Die Laufzeit vonM sei beschr¨ankt durch ein Polynomq

Der maximale Verzweigungsgrad eines Berechnungsbaumes sei∆ Konstruktion von Zertifikat und Verifizierer:

F¨ur die Eingabex ∈Lbetrachten wir den k¨urzesten akzeptierenden Rechenweg im Berechnungsbaum

Das Zertifikat y kodiert den akzeptierenden Rechenweg Schritt f¨ur Schritt, mitd:=log2∆ Bits pro Verzweigung

Das Zertifikat hat polynomielle L¨ange|y| ≤d·q(|x|)

Der VerifiziererV erh¨alty#x und simuliert den Rechenweg der NTMM f¨ur die Eingabex

(51)

Beweis: NTM ⇒ Zertifikat

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Es seiM eine NTM, dieLin polynomieller Zeit erkennt Die Laufzeit vonM sei beschr¨ankt durch ein Polynomq

Der maximale Verzweigungsgrad eines Berechnungsbaumes sei∆ Konstruktion von Zertifikat und Verifizierer:

F¨ur die Eingabex ∈Lbetrachten wir den k¨urzesten akzeptierenden Rechenweg im Berechnungsbaum

Das Zertifikat y kodiert den akzeptierenden Rechenweg Schritt f¨ur Schritt, mitd:=log2∆ Bits pro Verzweigung

Das Zertifikat hat polynomielle L¨ange|y| ≤d·q(|x|)

Der VerifiziererV erh¨alty#x und simuliert den Rechenweg der NTMM f¨ur die Eingabex

(52)

Beweis: NTM ⇒ Zertifikat

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Es seiM eine NTM, dieLin polynomieller Zeit erkennt Die Laufzeit vonM sei beschr¨ankt durch ein Polynomq

Der maximale Verzweigungsgrad eines Berechnungsbaumes sei∆ Konstruktion von Zertifikat und Verifizierer:

F¨ur die Eingabex ∈Lbetrachten wir den k¨urzesten akzeptierenden Rechenweg im Berechnungsbaum

Das Zertifikat y kodiert den akzeptierenden Rechenweg Schritt f¨ur Schritt, mitd:=log2∆ Bits pro Verzweigung

Das Zertifikat hat polynomielle L¨ange|y| ≤d·q(|x|)

Der VerifiziererV erh¨alty#x und simuliert den Rechenweg der NTMM f¨ur die Eingabex

(53)

Beweis: NTM ⇒ Zertifikat

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Es seiM eine NTM, dieLin polynomieller Zeit erkennt Die Laufzeit vonM sei beschr¨ankt durch ein Polynomq

Der maximale Verzweigungsgrad eines Berechnungsbaumes sei∆ Konstruktion von Zertifikat und Verifizierer:

F¨ur die Eingabex ∈Lbetrachten wir den k¨urzesten akzeptierenden Rechenweg im Berechnungsbaum

Das Zertifikat y kodiert den akzeptierenden Rechenweg Schritt f¨ur Schritt, mitd:=log2∆ Bits pro Verzweigung

Das Zertifikat hat polynomielle L¨ange|y| ≤d·q(|x|)

Der VerifiziererV erh¨alty#x und simuliert den Rechenweg der

(54)

Beweis: NTM ⇐ Zertifikat

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Es seiV ein Verifizierer mit polynomieller Laufzeitschranke Das Polynomp beschr¨ankt die L¨ange des Zertifikats

Konstruktion von NTM:

F¨ur eine Eingabex r¨atM zun¨achst non-deterministisch das Zertifikaty ∈ {0,1}mit|y| ≤p(|x|)

Dann simuliertM den Verifizierer V auf dem Worty#x, und akzeptiert wenn der Verifizierer akzeptiert

Das Zertifikat wird in polynomieller Zeit p(|x|)geraten. Die Zeit f¨ur die Simulation ist polynomiell beschr¨ankt in der polynomiellen Laufzeit des Verifizierers.

(55)

Beweis: NTM ⇐ Zertifikat

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Es seiV ein Verifizierer mit polynomieller Laufzeitschranke Das Polynomp beschr¨ankt die L¨ange des Zertifikats Konstruktion von NTM:

F¨ur eine Eingabex r¨atM zun¨achst non-deterministisch das Zertifikaty ∈ {0,1}mit|y| ≤p(|x|)

Dann simuliertM den VerifiziererV auf dem Worty#x, und akzeptiert wenn der Verifizierer akzeptiert

Das Zertifikat wird in polynomieller Zeitp(|x|)geraten. Die Zeit f¨ur die Simulation ist polynomiell beschr¨ankt in der polynomiellen Laufzeit des Verifizierers.

(56)

Beweis: NTM ⇐ Zertifikat

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Es seiV ein Verifizierer mit polynomieller Laufzeitschranke Das Polynomp beschr¨ankt die L¨ange des Zertifikats Konstruktion von NTM:

F¨ur eine Eingabex r¨atM zun¨achst non-deterministisch das Zertifikaty ∈ {0,1}mit|y| ≤p(|x|)

Dann simuliertM den VerifiziererV auf dem Worty#x, und akzeptiert wenn der Verifizierer akzeptiert

Das Zertifikat wird in polynomieller Zeitp(|x|)geraten. Die Zeit f¨ur die Simulation ist polynomiell beschr¨ankt in der polynomiellen Laufzeit des Verifizierers.

(57)

Beweis: NTM ⇐ Zertifikat

x ∈L ⇐⇒ ∃y ∈ {0,1}, |y| ≤p(|x|) : V akzeptierty#x

Es seiV ein Verifizierer mit polynomieller Laufzeitschranke Das Polynomp beschr¨ankt die L¨ange des Zertifikats Konstruktion von NTM:

F¨ur eine Eingabex r¨atM zun¨achst non-deterministisch das Zertifikaty ∈ {0,1}mit|y| ≤p(|x|)

Dann simuliertM den VerifiziererV auf dem Worty#x, und akzeptiert wenn der Verifizierer akzeptiert

Das Zertifikat wird in polynomieller Zeitp(|x|)geraten.

Die Zeit f¨ur die Simulation ist polynomiell beschr¨ankt in der polynomiellen Laufzeit des Verifizierers.

(58)

Katalog von Problemen in NP

(59)

Probleme in NP (1): Satisfiability

Problem: Satisfiability (SAT)

Eingabe:Eine Boole’sche Formelϕin CNF ¨uber einer Boole’schen VariablenmengeX ={x1, . . . ,xn}

Frage:Existiert eine Wahrheitsbelegung vonX, die ϕerf¨ullt?

Literal: positive oder negierte Variable

Klausel: ODER-Verkn¨upfung von einigen Literalen Beispiele

ϕ1 = (x∨y∨z)∧(¬x∨ ¬y∨ ¬z) ϕ1 = (x+y+z) (x+y+z)

ϕ2 = (x∨y)∧(¬x∨y)∧(x∨ ¬y)∧(¬x∨ ¬y) ϕ2 = (x+y) (x+y) (x+y) (x+y)

Frage: Wie sieht ein NP-Zertifikat f¨ur SAT aus?

(60)

Probleme in NP (1): Satisfiability

Problem: Satisfiability (SAT)

Eingabe:Eine Boole’sche Formelϕin CNF ¨uber einer Boole’schen VariablenmengeX ={x1, . . . ,xn}

Frage:Existiert eine Wahrheitsbelegung vonX, die ϕerf¨ullt?

Literal: positive oder negierte Variable

Klausel: ODER-Verkn¨upfung von einigen Literalen Beispiele

ϕ1 = (x∨y∨z)∧(¬x∨ ¬y∨ ¬z) ϕ1 = (x+y+z) (x+y+z)

ϕ2 = (x∨y)∧(¬x∨y)∧(x∨ ¬y)∧(¬x∨ ¬y) ϕ2 = (x+y) (x+y) (x+y) (x+y)

Frage: Wie sieht ein NP-Zertifikat f¨ur SAT aus?

(61)

Probleme in NP (2): Clique / Independent Set / VC

Problem: CLIQUE

Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahlk Frage:Enth¨altG eine Clique mit≥k Knoten?

Problem: Independent Set (INDEP-SET)

Frage:Enth¨altG eine unabh¨angige Menge mit≥k Knoten?

Problem: Vertex Cover (VC)

Frage:Enth¨altG ein Vertex Cover mit≤k Knoten?

Unabh¨angige Menge (independent set)S⊆V: spannt keine Kanten Vertex CoverS⊆V: ber¨uhrt alle Kanten

Frage: Wie sieht NP-Zertifikat f¨ur CLIQUE / INDEP-SET / VC aus?

(62)

Probleme in NP (2): Clique / Independent Set / VC

Problem: CLIQUE

Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahlk Frage:Enth¨altG eine Clique mit≥k Knoten?

Problem: Independent Set (INDEP-SET)

Frage:Enth¨altG eine unabh¨angige Menge mit≥k Knoten?

Problem: Vertex Cover (VC)

Frage:Enth¨altG ein Vertex Cover mit≤k Knoten?

Unabh¨angige Menge (independent set)S⊆V: spannt keine Kanten Vertex CoverS⊆V: ber¨uhrt alle Kanten

Frage: Wie sieht NP-Zertifikat f¨ur CLIQUE / INDEP-SET / VC aus?

(63)

Probleme in NP (3): Hamiltonkreis / TSP

Problem: Hamiltonkreis (Ham-Cycle)

Eingabe:Ein ungerichteter GraphG = (V,E) Frage:BesitztG einen Hamiltonkreis?

Problem: Travelling Salesman Problem (TSP)

Eingabe:St¨adte1, . . . ,n; Distanzend(i,j); eine Zahlγ

Frage:Gibt es eine Rundreise (TSP-Tour) mit L¨ange h¨ochstensγ?

Fragen:

Wie sieht ein NP-Zertifikat f¨ur Ham-Cycle aus? Wie sieht ein NP-Zertifikat f¨ur TSP aus?

(64)

Probleme in NP (3): Hamiltonkreis / TSP

Problem: Hamiltonkreis (Ham-Cycle)

Eingabe:Ein ungerichteter GraphG = (V,E) Frage:BesitztG einen Hamiltonkreis?

Problem: Travelling Salesman Problem (TSP)

Eingabe:St¨adte1, . . . ,n; Distanzend(i,j); eine Zahlγ

Frage:Gibt es eine Rundreise (TSP-Tour) mit L¨ange h¨ochstensγ?

Fragen:

Wie sieht ein NP-Zertifikat f¨ur Ham-Cycle aus?

Wie sieht ein NP-Zertifikat f¨ur TSP aus?

(65)

Probleme in NP (4): Exact Cover

Problem: Exact Cover (EX-COVER)

Eingabe:Eine endliche MengeX; TeilmengenS1, . . . ,Sm vonX Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,m},

sodass die MengenSi mit i ∈I eine Partition vonX bilden?

Frage: Wie sieht ein NP-Zertifikat f¨ur Exact Cover aus?

(66)

Probleme in NP (4): Exact Cover

Problem: Exact Cover (EX-COVER)

Eingabe:Eine endliche MengeX; TeilmengenS1, . . . ,Sm vonX Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,m},

sodass die MengenSi mit i ∈I eine Partition vonX bilden?

Frage: Wie sieht ein NP-Zertifikat f¨ur Exact Cover aus?

(67)

Probleme in NP (5): SUBSET-SUM / PARTITION

Problem: SUBSET-SUM

Eingabe:Positive ganze Zahlena1, . . . ,an; eine ganze Zahlb Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n} mitP

i∈Iai =b?

Problem: PARTITION

Eingabe:Positive ganze Zahlena1, . . . ,an; mitPn

i=1ai=2A Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n} mitP

i∈Iai =A?

Fragen:

Wie sieht ein NP-Zertifikat f¨ur SUBSET-SUM aus? Wie sieht ein NP-Zertifikat f¨ur PARTITION aus?

(68)

Probleme in NP (5): SUBSET-SUM / PARTITION

Problem: SUBSET-SUM

Eingabe:Positive ganze Zahlena1, . . . ,an; eine ganze Zahlb Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n} mitP

i∈Iai =b?

Problem: PARTITION

Eingabe:Positive ganze Zahlena1, . . . ,an; mitPn

i=1ai=2A Frage:Existiert eine IndexmengeI ⊆ {1, . . . ,n} mitP

i∈Iai =A?

Fragen:

Wie sieht ein NP-Zertifikat f¨ur SUBSET-SUM aus?

Wie sieht ein NP-Zertifikat f¨ur PARTITION aus?

(69)

P versus NP

(70)

P versus NP

Ubung¨

Beweisen Sie, dassP⊆NP gilt

Argument 1: ¨Uber TM und NTM

Argument 2: Wie sieht das NP-Zertifikat f¨ur ein Problem inP aus?

(71)

Was haben wir bis jetzt gesehen?

Die Komplexit¨atsklasse P

Die KlasseP enth¨alt alle Entscheidungsprobleme, die effizient auf dem Computer gel¨ost werden k¨onnen

Intuitiv: P enth¨alt die Probleme, die wir gut verstehen k¨onnen und die wir in vern¨unftiger Rechenzeit erledigen k¨onnen

Die Komplexit¨atsklasse NP

Die KlasseNP enth¨alt alle Entscheidungsprobleme, f¨ur die eine kurze L¨osungexistiert,

und deren kurze L¨osung wir effizient ¨uberpr¨ufen k¨onnen (wenn wir diese L¨osung erst einmal gezeigt bekommen)

Intuitiv: NP enth¨alt so ziemlich alle Probleme, die nach einem konkreten L¨osungsobjekt fragen

(72)

Was haben wir bis jetzt gesehen?

Die Komplexit¨atsklasse P

Die KlasseP enth¨alt alle Entscheidungsprobleme, die effizient auf dem Computer gel¨ost werden k¨onnen

Intuitiv: P enth¨alt die Probleme, die wir gut verstehen k¨onnen und die wir in vern¨unftiger Rechenzeit erledigen k¨onnen

Die Komplexit¨atsklasse NP

Die KlasseNP enth¨alt alle Entscheidungsprobleme, f¨ur die eine kurze L¨osungexistiert,

und deren kurze L¨osung wir effizient ¨uberpr¨ufen k¨onnen (wenn wir diese L¨osung erst einmal gezeigt bekommen)

Intuitiv: NP enth¨alt so ziemlich alle Probleme, die nach einem konkreten L¨osungsobjekt fragen

(73)

Die grosse offene Frage der Informatik

P=NP ?

Falls die L¨osung eines Problems einfach zu ¨uberpr¨ufen ist, ist es dann auch immer einfach, die L¨osung zu entdecken?

(74)

M¨ ogliche Konsequenzen

Falls P=NP ist:

Viele schwierige Probleme aus Wirtschaft und Industrie k¨onnen schnell gel¨ost werden

Perfekte Fahrpl¨ane, Produktionspl¨ane, Transportpl¨ane, etc

Die Mathematik erreicht eine neue Stufe: Wenn es f¨ur ein Theorem einen kurzen Beweis gibt, so k¨onnen wir diesen Beweis auch finden Die moderne Kryptographie bricht zusammen

Falls P6=NP ist:

Schwierige Probleme aus Wirtschaft und Industrie k¨onnen nur durch viel Rechenzeit und Expertenwissen attackiert werden

Perfekte L¨osungen f¨ur schwierige Probleme mit grossen Datenmengen sind nicht zu erwarten

Mathematik und Kryptographie arbeiten genauso weiter wie bisher

(75)

M¨ ogliche Konsequenzen

Falls P=NP ist:

Viele schwierige Probleme aus Wirtschaft und Industrie k¨onnen schnell gel¨ost werden

Perfekte Fahrpl¨ane, Produktionspl¨ane, Transportpl¨ane, etc

Die Mathematik erreicht eine neue Stufe: Wenn es f¨ur ein Theorem einen kurzen Beweis gibt, so k¨onnen wir diesen Beweis auch finden Die moderne Kryptographie bricht zusammen

Falls P6=NP ist:

Schwierige Probleme aus Wirtschaft und Industrie k¨onnen nur durch viel Rechenzeit und Expertenwissen attackiert werden

Perfekte L¨osungen f¨ur schwierige Probleme mit grossen Datenmengen sind nicht zu erwarten

(76)

Eine Million Dollar Preisgeld

Im Jahr 2000 hat dasClay Mathematics Institute (CMI)je eine Million Dollar Preisgeld f¨ur die L¨osung der folgenden sieben Probleme angeboten:

P versus NP Problem Hodge Vermutung

Poincar´e Vermutung (erledigt 2002–2006; Grigori Perelman) Riemann’sche Vermutung

Quantenversion der Yang-Mills Gleichungen Navier-Stokes Gleichungen

Birch und Swinnerton-Dyer Vermutung

Referenzen

ÄHNLICHE DOKUMENTE

Der einzige Unterschied zur deterministischen Turingmaschine TM besteht darin, dass die Zustands¨ uberf¨ uhrungen bei der NTM nicht durch eine Funktion sondern durch eine

Die Klasse P enth¨ alt alle Entscheidungsprobleme, die effizient auf dem Computer gel¨ ost werden k¨ onnen. Intuitiv: P enth¨ alt die Probleme, die wir gut verstehen k¨ onnen und

U enth¨ alt somit genau ein Literal pro Klausel Kein Literal tritt sowohl positiv als auch negiert auf Ergo: Alle diese Literale k¨ onnen gleichzeitig erf¨ ullt werden Also ist ϕ

, n} gilt: Nur zwei der Var-Zahlen und Dummy-Zahlen haben an dieser Stelle die Ziffer 1; alle anderen Zahlen haben an dieser Stelle die Ziffer 0. F¨ ur jede Dezimalstelle i ∈ {n

Wenn das Entscheidungsproblem X NP-vollst¨ andig ist, so ist das komplement¨ are Problem X coNP-vollst¨ andig. Komplement¨

Also: Das Problem X ist sogar dann NP-schwer, wenn alle Zahlenwerte in der Instanz I nur polynomiell gross (gemessen in |I |)

Auch wenn eine Aufgabe als Entscheidungsfrage formuliert wird, gibt es f¨ ur ein einfaches Ja oder Nein keine Punkte. Allgemein: Punkte werden bei der Klausur haupts¨ achlich f¨

Statt der RAM kann man in der Definition von polynomieller Laufzeit und von polynomiellen Algorithmen genauso gut die TM verwenden: RAM und TM simulieren einander ja mit