• Keine Ergebnisse gefunden

VL-13: P versus NP

N/A
N/A
Protected

Academic year: 2022

Aktie "VL-13: P versus NP"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VL-13: P versus NP

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

WS 2017, RWTH

BuK/WS 2017 VL-13: P versus NP 1/41

Organisatorisches

I achste Vorlesung:

Mittwoch, Dezember 13, 14:15–15:45 Uhr, Roter H¨orsaal

I Webseite:

http://algo.rwth-aachen.de/Lehre/WS1718/BuK.php

BuK/WS 2017 VL-13: P versus NP 2/41

Wiederholung

Wdh.: Die Berechenbarkeitslandschaft

Rekursiv aufz¨ahlbare

Probleme

H

H D

Probleme mit rekursiv aufz¨ahlbarem

Komplement H H D Rekursive

Probleme

Unentscheidbare Probleme mit unentscheidbarem Komplement Htot

MPCP PCP

Dioph A(·,·)

primitiv rekursive Probleme

(2)

Wdh.: LOOP versus WHILE

Lemma

F¨ur jedes LOOP-ProgrammP gibt es eine nat¨urliche ZahlmP, so dass f¨ur alle n∈Ngilt: FP(n)<A(mP,n).

Satz

Die Ackermann Funktion ist nicht LOOP-berechenbar.

Da die Ackermann Funktion (durch eine TM) berechenbar ist, folgt:

Satz

Die Menge der LOOP-berechenbaren Funktionen

bildet eineechte Teilmengeder berechenbaren Funktionen.

Satz (ohne Beweis)

Die Menge der LOOP-berechenbaren Funktionen

f¨allt mit der Menge derprimitiv rekursiven Funktionenzusammen.

BuK/WS 2017 VL-13: P versus NP 5/41

Korrektur: Primitiv rekursive Funktionen (2)

Definition

Des weiteren sind die folgenden Funktionen primitiv rekursiv:

I Die Komposition von primitiv rekursiven Funktionen ist primitiv rekursiv.

I Jede Funktion, die durch primitive Rekursion aus primitiv rekursiven Funktionen entsteht ist primitiv rekursiv.

Wenn die beiden Funktioneng:Nk →Nundh:Nk+2→Nprimitiv rekursiv sind, so ist auch die wie folgt definierte Funktion

f :Nk+1→Nprimitiv rekursiv:

f(0,x1, . . . ,xk) = g(x1, . . . ,xk)

f(n,x1, . . . ,xk) = h(n,f(n−1,x1, . . . ,xk), x1, . . . ,xk)

BuK/WS 2017 VL-13: P versus NP 6/41

Wdh.: Kostenmodelle der RAM

Modelle f¨ur die Rechenzeit einer RAM

I Uniformes Kostenmaß:

Jeder Schritt z¨ahlt als eine Zeiteinheit.

I Logarithmisches Kostenmaß:

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

Vorlesung VL-13 P versus NP

I Polynomielle Algorithmen I Die Komplexit¨atsklasse P

I Non-deterministische Turingmaschinen I Die Komplexit¨atsklasse NP

I P versus NP

(3)

Polynomielle Algorithmen

BuK/WS 2017 VL-13: P versus NP 9/41

Polynomielle Zeit (1)

Definition: Worst Case Laufzeit eines Algorithmus

DieWorst Case LaufzeittA(n)eines AlgorithmusA entspricht den 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 als

Polynomialzeitalgorithmus.

BuK/WS 2017 VL-13: P versus NP 10/41

Polynomielle Zeit (2): Beispiel

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:

I Wir l¨osen das Problem mit MergeSort oder HeapSort

I Laufzeit im uniformen Kostenmaß:O(nlogn)

I Laufzeit im logarithmischen Kostenmaß:

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

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

I Somit ist die Laufzeit durch`nlogn≤L3 beschr¨ankt

Polynomielle Zeit (3): Weitere Beispiele

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

I Eulerkreis

I K¨urzester Weg

I Minimaler Spannbaum

I Maximaler Fluss

I Maximum Matching

I Gr¨osster gemeinsamer Teiler

I Huffman Code

I Konvexe H¨ulle in 2D

I Primzahltest

(4)

Polynomielle Zeit (4): Die Klasse P

Definition: Komplexit¨ atsklasse P

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

Anmerkungen:

I Psteht f¨urPolynomiell

I 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 polynomiellem Zeitverlust

I Polynomielle Algorithmen werden h¨aufig auch alseffiziente Algorithmenbezeichnet

I P ist in diesem Sinne die Klasse derjenigen Probleme, dieeffizient gel¨ostwerden k¨onnen

BuK/WS 2017 VL-13: P versus NP 13/41

Polynomielle Zeit (5a): Graphzusammenhang

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 eingegeben wird.

1 2

3 4

0 1 0 1

1 0 1 0

0 1 0 0

1 0 0 0

0101101001001000

BuK/WS 2017 VL-13: P versus NP 14/41

Polynomielle Zeit (5b): Graphzusammenhang

Satz

Graphzusammenhang∈P.

Beweis

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

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

I Laufzeit im logarithmischen Kostenmaß:O(|V|2·log|V|)

I Die Gesamtl¨ange der Eingabe istL=|V|2

I Die Gesamtlaufzeit ist somit

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

Die non-deterministische

Turingmaschine (NTM)

(5)

NTM (1): Illustration

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

1

0 · · ·

· · ·

NFA

Arbeitsband (beidseitig unbeschr¨ankt)

Lese/Schreibkopf

BuK/WS 2017 VL-13: P versus NP 17/41

NTM (2): Definition

Definition: Non-deterministische Turingmaschine (NTM)

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

I ein beidseitig unbeschr¨anktes Arbeitsband,

I einen Lese/Schreibkopf, und

I 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 eineFunktion sondern durch eineRelationgesteuert werden:

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

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

BuK/WS 2017 VL-13: P versus NP 18/41

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

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 NTM M auf einer Eingabe k¨onnen in einemBerechnungsbaumzusammengefasst werden:

I Die Knoten des Baumes entsprechen Konfigurationen

I Die Wurzel des Baumes entspricht der Startkonfiguration

I 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

(6)

NTM (4a): Akzeptanzverhalten

Definition: Akzeptanzverhalten der NTM

Eine NTMM akzeptiertdie Eingabe x∈Σ, falls es mindestens einen Rechenweg vonM gibt,

der in eine Konfiguration mit akzeptierendem Zustand f¨uhrt.

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

BuK/WS 2017 VL-13: P versus NP 21/41

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}

BuK/WS 2017 VL-13: P versus NP 22/41

NTM (5): Laufzeit

Definition: Laufzeit der NTM

Die Laufzeit einer NTMM auf einer Eingabe x ist wie folgt definiert.

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

I 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}

Die Komplexit¨ atsklasse NP

(7)

NP (1): Definition

Definition: Komplexit¨ atsklasse NP

NPist die Klasse aller Entscheidungsprobleme, die durch eine NTM M erkannt werden,

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

NPsteht dabei f¨urNon-deterministischPolynomiell

BuK/WS 2017 VL-13: P versus NP 25/41

NP (2): Beispiel

Problem: CLIQUE

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

Satz

CLIQUE∈NP

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

I Syntaktisch inkorrekte Eingaben werden verworfen

I M r¨at non-deterministisch einen 0-1-Stringy der L¨ange|V|

I M akzeptiert, falls der Stringy genauk Einsen enth¨alt und falls die KnotenmengeC ={i ∈V |yi =1}eine Clique bildet

Korrektheit:∃ akzeptierender Rechenweg ⇐⇒ G enth¨altk-Clique Laufzeit:Jede Phase kostet polynomielle Zeit

BuK/WS 2017 VL-13: P versus NP 26/41

NP (3): Alternative Charakterisierung

Satz (Zertifikat Charakterisierung von NP)

Eine SpracheL⊆Σliegt genau dann in NP,

wenn es einen polynomiellen (deterministischen) Algorithmus V und ein Polynom pmit der folgenden Eigenschaft gibt:

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

Anmerkungen:

IDer polynomielle AlgorithmusVheisst auchVerifizierer IDas Worty∈ {0,1}heisst auchZertifikat

NP (4a): Beweis / NTM ⇒ Zertifikat

Zur Erinnerung:

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

I Es seiMeine NTM, dieLin polynomieller Zeit erkennt I Die Laufzeit vonMsei beschr¨ankt durch ein Polynomq

I Der maximale Verzweigungsgrad eines Berechnungsbaumes sei2d

Konstruktion von Zertifikat und Verifizierer:

I ur die EingabexLbetrachten wir den k¨urzesten akzeptierenden Rechenweg im Berechnungsbaum

I Das Zertifikatykodiert den akzeptierenden Rechenweg Schritt f¨ur Schritt, mitdBits pro Verzweigung

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

I Der VerifiziererVerh¨alty#xund simuliert den Rechenweg der NTMMur die Eingabex

(8)

NP (4b): Beweis / NTM ⇐ Zertifikat

Zur Erinnerung:

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

IEs seiV ein Verifizierer mit polynomieller Laufzeitschranke IDas Polynompbeschr¨ankt die L¨ange des Zertifikats

Konstruktion von NTM:

I ur eine EingabexatMzun¨achst non-deterministisch das Zertifikaty∈ {0,1}mit

|y| ≤p(|x|)

I Dann simuliertMden VerifiziererVauf dem Worty#x, und akzeptiert wenn der Verifizierer akzeptiert

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

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

BuK/WS 2017 VL-13: P versus NP 29/41

Katalog von Problemen in NP

BuK/WS 2017 VL-13: P versus NP 30/41

Probleme in NP (1): Satisfiability

Problem: Satisfiability (SAT)

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

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

ILiteral: positive oder negierte Variable

IKlausel: ODER-Verkn¨upfung von einigen Literalen

Beispiele

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

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

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

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

Problem: CLIQUE

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

Problem: Independent Set (INDEP-SET)

Frage: Enth¨altG eine unabh¨angige Menge mitk Knoten?

Problem: Vertex Cover (VC)

Frage: Enth¨altG ein Vertex Cover mitk Knoten?

I Unabh¨angige Menge (independent set)SV: spannt keine Kanten I Vertex CoverSV: ber¨uhrt alle Kanten

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

(9)

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?

BuK/WS 2017 VL-13: P versus NP 33/41

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 miti ∈I eine Partition vonX bilden?

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

BuK/WS 2017 VL-13: P versus NP 34/41

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?

Probleme in NP (6)

Ubung ¨

Beweisen Sie, dassP⊆NP gilt

Argument 1: ¨Uber TM und NTM

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

(10)

P versus NP

BuK/WS 2017 VL-13: P versus NP 37/41

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¨osung existiert,

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

BuK/WS 2017 VL-13: P versus NP 38/41

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?

Konsequenzen

Falls P=NP ist:

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

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

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

I Die moderne Kryptographie bricht zusammen

Falls P6=NP ist:

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

I Perfekte L¨osungen f¨ur schwierige Probleme mit grossen

(11)

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:

I P versus NP Problem

I Hodge Vermutung

I Poincar´e Vermutung X (Perelman, 2006)

I Riemann’sche Vermutung

I Quantenversion der Yang-Mills Gleichungen

I Navier-Stokes Gleichungen

I Birch und Swinnerton-Dyer Vermutung

BuK/WS 2017 VL-13: P versus NP 41/41

Referenzen

ÄHNLICHE DOKUMENTE

Gibt es unter all diesen affinen Abbildungen eine

(Beachten Sie, dass die Regel “g¨ unstige F¨ alle/m¨ ogliche F¨ alle” hier nicht angewendet werden kann, weil nicht alle Elementarereignisse gleiche Wahrscheinlichkeit

Die Erfolgswahrscheinlichkeit ¨ andert sich also mit jeder gezogenen Person und ist von der vorhergehenden Wahl abh¨ angig.. Damit sind die beiden Grundannahmen der

Mit welcher Verteilung l¨ asst sich die Anzahl Frauen in diesem Team am besten

Die Macht ist gerade die Wahrscheinlichkeit, dass eine Beobachtung in den Verwerfungsbereich f¨ allt, wenn die Nullhypothese nicht richtig ist (z.B.. Daher nimmt die

Bei der Wahrscheinlichkeitsverteilung einer diskreten Zufallsvariable X kann die Wahr- scheinlichkeit f¨ ur das Ereignis x, also P (X = x) niemals gr¨ osser als 1 sein (weil

Welche Information in der folgenden Auswahl ist die einzige, die man nicht braucht, wenn man die Stichprobengr¨ osse f¨ ur einen t-Test berechnen

F¨ ur jede Person wurde die “Lean Bo- dy Mass” (Variable lbm; LBM = K¨ orpermasse ohne Fett; Einheit: kg) und die K¨ orperkraft (Variable strength; maximales Drehmoment am