• Keine Ergebnisse gefunden

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

N/A
N/A
Protected

Academic year: 2022

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

Copied!
72
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-12: P und NP

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

WS 2019, RWTH

(2)

Organisatorisches

N¨achste Vorlesungen:

Freitag, Dezember 6:Keine Vorlesung (Tag der Informatik) Mittwoch, Dezember 11, 10:30–12:00, Aula

Freitag, Dezember 13, 12:30–14:00, Audimax Mittwoch, Dezember 18, 10:30–12:00, Aula

Webseite:

https://algo.rwth-aachen.de/Lehre/WS1920/BuK/BuK.py

(3)

Zusammenfassung: Berechenbarkeit

(4)

Zusammenfassung: Turing-M¨ achtigkeit

Wir haben die folgendenTuring-m¨achtigenRechenmodelle und Programmiersprachen kennengelernt:

Turingmaschine (TM) k-Band-TM

Registermaschine (RAM)

WHILE-Programme (und somit C, Java, Pascal, Postscript, etc.) µ-rekursive Funktionen (und somit LISP, Haskell, OCaml, etc)

Die folgenden Rechenmodelle sind hingegennicht Turing-m¨achtig:

LOOP-Programme

Primitiv rekursive Funktionen

(5)

Zusammenfassung: Church-Turing These

Church-Turing These

Die Klasse der TM-berechenbaren Funktionen stimmt mit der Klasse der “intuitiv berechenbaren” Funktionen ¨uberein.

In anderen Worten:

Ein Problem kann genau dann “algorithmisch gel¨ost werden”, wenn es eine TM f¨ur dieses Problem gibt.

An Stelle von “TM” k¨onnen wir auch jedes andere Turing-m¨achtige Rechenmodell in die obigen S¨atze einf¨ugen.

(6)

Zusammenfassung: Berechenbarkeitslandschaft

Rekursiv aufz¨ahlbare

Probleme

H

H D

Probleme mit rekursiv aufz¨ahlbarem Komplement

H H D entscheidbare

Probleme

Nicht rekursiv aufz¨ahlbare Probleme mit

nicht rekursiv aufz¨ahlbarem Komplement Htot PCP

Dioph

primitiv rekursive Probleme

(7)

Zusammenfassung: Unentscheidbarkeit (1)

Methoden zum Nachweis von Nicht-Berechenbarkeit:

Diagonalisierung Unterprogrammtechnik

Reduktionen (spezielle Variante der Unterprogrammtechnik) Satz von Rice: Aussagen ¨uber Eigenschaften von Funktionen, die durch eine gegebene TM berechnet werden, sind nicht entscheidbar Schlussfolgerung aus Rice: Die automatische Verifikation von

Programmen in T-m¨achtigen Programmiersprachen ist unm¨oglich

(8)

Zusammenfassung: Unentscheidbarkeit (2)

Wichtige nicht berechenbare Probleme:

Halteproblem, in verschiedenen Varianten Postsches Korrespondenzproblem

Verschiedene Entscheidungsprobleme f¨ur CFGs

Erkennung von Funktionen mit elementaren Stammfunktionen Hilberts zehntes Problem

(9)

Wiederholung

(10)

Wdh.: Kostenmodelle der RAM

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

Jeder Schritt der RAM z¨ahlt als eine Zeiteinheit.

Logarithmisches Kostenmaß:

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

(11)

Wdh.: Simulationen zwischen RAM und TM

Satz

F¨ur jede im logarithmischen Kostenmass t(n)-zeitbeschr¨ankte RAMR gibt es ein Polynomqund eineq(n+t(n))-zeitbeschr¨ankte

TMM, dieR simuliert.

Satz

Jedet(n)-zeitbeschr¨ankte TM kann durch eine RAM simuliert werden, die im logarithmischen Kostenmass durch

O((t(n) +n)·log(t(n) +n)) zeitbeschr¨ankt ist.

Also: TM und RAM im logarithmischen Kostenmodell k¨onnen einander gegenseitig mit polynomiellem Zeitverlust simulieren

(12)

Vorlesung VL-12 P und NP

Polynomielle Algorithmen Die Komplexit¨atsklasse P

Non-deterministische Turingmaschinen Die Komplexit¨atsklasse NP

Katalog von Problemen in NP P versus NP

(13)

Komplexit¨ atstheorie

DieKomplexit¨atstheorieversucht,

(entscheidbare!) algorithmische Probleme

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

Berechnungsressourcen:

Rechenzeit und Speicherplatz (als Funktion der Eingabel¨ange)

(14)

Polynomielle Algorithmen

(15)

Worst Case Laufzeit

Definition

DieWorst Case LaufzeittA(n)eines AlgorithmusAmisst die maximalen Laufzeitkosten auf Eingaben der L¨angen bez¨uglich des logarithmischen Kostenmaßes der RAM.

(16)

Polynomielle Zeit

Definition

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.

Polynomiell beschr¨ankt: O(n); O(nlogn); O(n3); O(n100) Nicht polynomiell beschr¨ankt: O(2n); O(3n); O(n!); O(22n)

(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≥`undL≥n Somit ist die Laufzeit durch`nlogn≤L3beschr¨ankt

(18)

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

(19)

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

(20)

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 Somit ist die Laufzeit durch`nlogn≤L3 beschr¨ankt

(21)

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

(22)

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 ausschliesslichEntscheidungsprobleme

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

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

(23)

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 ausschliesslichEntscheidungsprobleme

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

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

(24)

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

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

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)

(27)

Die non-deterministische

Turingmaschine (NTM)

(28)

Illustration

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

0

· · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(29)

Illustration

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

0

· · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(30)

Illustration

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

1

0 · · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(31)

Illustration

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

1

0 · · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(32)

Illustration

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

1

0 · · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

(33)

NTM: 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.

(34)

NTM: 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.

(35)

Berechnungsbaum (1)

δ 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 f¨ur Eingabew =0011den folgenden Berechnungsbaum:

q00011

q0011

q1011 reject q111

q011 reject

q11

q21 reject q1

q2 accept reject

(36)

Berechnungsbaum (2)

Rechenweg einer NTM= Konfigurationsfolge, die mit Startkonfiguration beginnt und mit Nachfolgekonfigurationen fortgesetzt wird, bis 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)

Berechnungsbaum (2)

Rechenweg einer NTM= Konfigurationsfolge, die mit Startkonfiguration beginnt und mit Nachfolgekonfigurationen fortgesetzt wird, bis 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

(38)

Akzeptanzverhalten (1)

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)

Akzeptanzverhalten (2)

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}

Frage:Welche Sprache wird von dieser NTM erkannt?

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

(40)

Akzeptanzverhalten (2)

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}

Frage:Welche Sprache wird von dieser NTM erkannt?

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

(41)

Laufzeit einer NTM

Definition: Laufzeit der NTM

DieLaufzeiteiner 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 NTMM auf Eingaben

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

(42)

Laufzeit einer NTM

Definition: Laufzeit der NTM

DieLaufzeiteiner 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 NTMM 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 Zahl k Frage:Enth¨altG eine Clique mit≥k Knoten?

Clique = MengeS⊆V von paarweise benachbarten 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 Zahl k Frage:Enth¨altG eine Clique mit≥k Knoten?

Clique = MengeS⊆V von paarweise benachbarten 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 Zahl k Frage:Enth¨altG eine Clique mit≥k Knoten?

Clique = MengeS⊆V von paarweise benachbarten 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

(48)

Alternative Charakterisierung von NP

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

wenn es einen polynomiellendeterministischen AlgorithmusV und ein Polynomp mit der folgenden Eigenschaft gibt:

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

Anmerkungen:

Der polynomielle AlgorithmusV wird auch Verifizierergenannt Das Worty∈ {0,1}wird auchZertifikat genannt

(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, mit≤log2∆Bits pro Verzweigung

Das Zertifikat hat polynomielle L¨ange|y| ≤log2∆·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, mit≤log2∆Bits pro Verzweigung

Das Zertifikat hat polynomielle L¨ange|y| ≤log2∆·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, mit≤log2∆Bits pro Verzweigung

Das Zertifikat hat polynomielle L¨ange|y| ≤log2∆·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, mit≤log2∆Bits pro Verzweigung

Das Zertifikat hat polynomielle L¨ange|y| ≤log2∆·q(|x|) Der VerifiziererV erh¨alty#x und simuliert den Rechenweg der NTMM f¨ur die Eingabex

(53)

Beweis: Zertifikat ⇒ NTM

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

Das Zertifikat wird in polynomieller Zeitp(|x|)geraten. Dann simuliertM den VerifiziererV auf dem Worty#x, und akzeptiert wenn der Verifizierer akzeptiert

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

(54)

Beweis: Zertifikat ⇒ NTM

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

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

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

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

(55)

Beweis: Zertifikat ⇒ NTM

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

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

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

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

(56)

Katalog von Problemen in NP

(57)

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?

(58)

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?

(59)

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

Problem: CLIQUE

Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahl k 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?

(60)

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

Problem: CLIQUE

Eingabe:Ein ungerichteter GraphG = (V,E); eine Zahl k 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?

(61)

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?

(62)

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?

(63)

Probleme in NP (4): Exact Cover

Problem: Exact Cover (EX-COVER)

Eingabe:Eine endliche MengeX; TeilmengenS1, . . . ,Sm von X 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?

(64)

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; mit Pn

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?

(65)

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; mit Pn

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?

(66)

P versus NP

(67)

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?

(68)

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 alle nat¨urlichen Probleme, die nach einem konkreten L¨osungsobjekt fragen

(69)

Die grosse offene Frage der Informatik

P=NP ?

Falls die L¨osung eines Problems einfach zu¨uberpr¨ufenist,

ist es dann auch immer einfach, die L¨osung selbst zuentdecken?

(70)

Konsequenzen einer m¨ oglichen Antwort (1)

Falls P=NP gilt:

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

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

Die Mathematik erreicht eine v¨ollig neue Stufe: Wenn es f¨ur ein Theorem einen kurzen Beweis gibt, so k¨onnen wir diesen Beweis auch schnell finden

Die moderne Kryptographie bricht zusammen

(71)

Konsequenzen einer m¨ oglichen Antwort (2)

Falls P6=NP gilt:

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

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

Die Mathematik arbeitet genauso weiter wie bisher Die Kryptographie arbeitet genauso weiter wie bisher (Default scenario, in dem die Informatik momentan arbeitet)

(72)

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 ausgelobt:

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

https://en.wikipedia.org/wiki/Millennium˙Prize˙Problems

Referenzen

ÄHNLICHE DOKUMENTE

L¨ osung lautet wieder: Probiere alle M¨ oglichkeiten durch Nachteil lautet wieder: Extrem langsamer Algorithmus.. Beispiel 2:

Auch dieses Problem kann dadurch gel¨ ost werden, dass man einfach alle M¨ oglichkeiten durchprobiert. Und auch dieser Algorithmus ist

Die Inhalte der Register sind nat¨ urliche Zahlen, die beliebig gross werden k¨ onnen.. in den ersten paar Registern

Da sich der Kopf einer Turingmaschine in einem Schritt nur um eine Position bewegen kann gilt: NP ⊆ NPSPACE = PSPACE.. Die Klasse

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

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

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