Die Komplexitätsklassen P und NP



Ähnliche Dokumente
Die Komplexitätsklassen P und NP

Vorlesung VL-13. P versus NP. Wdh.: LOOP versus WHILE. Korrektur: Primitiv rekursive Funktionen (2) Wdh.: Kostenmodelle der RAM

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Mächtigkeit von WHILE-Programmen

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Grundlagen der Theoretischen Informatik, SoSe 2008

Algorithmen II Vorlesung am

WS 2009/10. Diskrete Strukturen

Algorithmische Mathematik

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Kompetitive Analysen von Online-Algorithmen

Grundbegriffe der Informatik

Musterlösungen zur Linearen Algebra II Blatt 5

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Mathematische Maschinen

Algorithmentheorie Maximale Flüsse

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Rechnerische Komplexität

Konzepte der Informatik

1 Mathematische Grundlagen

Primzahlen und RSA-Verschlüsselung

Theoretische Grundlagen der Informatik WS 09/10

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

1 topologisches Sortieren

Übung Theoretische Grundlagen

Grundbegriffe der Informatik

Die Klasse NP und die polynomielle Reduktion. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Komplexität und Komplexitätsklassen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Anmerkungen zur Übergangsprüfung

Berechenbarkeit und Komplexität: Polynomielle Reduktion / NP-Vollständigkeit / Satz von Cook und Levin

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Anleitung über den Umgang mit Schildern

Grammatiken. Einführung

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

S=[n] Menge von Veranstaltungen J S kompatibel mit maximaler Größe J

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Theoretische Informatik SS 04 Übung 1

Das Dilemma des Einbrechers Wer die Wahl hat, hat die Qual!

Übungsaufgaben Tilgungsrechnung

Die Klasse NP und die polynomielle Reduktion

7 Rechnen mit Polynomen

Theoretische Grundlagen der Informatik

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Entscheidungsbäume. Definition Entscheidungsbaum. Frage: Gibt es einen Sortieralgorithmus mit o(n log n) Vergleichen?

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Informationsblatt Induktionsbeweis

Rente = laufende Zahlungen, die in regelmäßigen Zeitabschnitten (periodisch) wiederkehren Rentenperiode = Zeitabstand zwischen zwei Rentenzahlungen

Kapitel 6: Graphalgorithmen Gliederung

Plotten von Linien ( nach Jack Bresenham, 1962 )

Anmelden und Vorträge einreichen auf der JBFOne-Website Inhalt

Information Systems Engineering Seminar

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Software-Engineering SS03. Zustandsautomat

Motivation. Formale Grundlagen der Informatik 1 Kapitel 10. Motivation. Motivation. Bisher haben wir mit TMs. Probleme gelöst/entschieden/berechnet.

Datenstrukturen & Algorithmen

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

Informatik IC2. Balazs Simon

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

Kap. 8: Speziell gewählte Kurven

Der Zwei-Quadrate-Satz von Fermat

Algorithmen und Datenstrukturen 2

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Seit über. Jahren WIR SIND KARTZFEHN. Leitlinien zur Führung und Zusammenarbeit

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Abschnitt: Algorithmendesign und Laufzeitanalyse

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Glaube an die Existenz von Regeln für Vergleiche und Kenntnis der Regeln

Schriftliche Prüfungsarbeit zum mittleren Schulabschluss 2010 im Fach Mathematik. 26. Mai 2010

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Festigkeit von FDM-3D-Druckteilen

Definition und Begriffe

Wortproblem für kontextfreie Grammatiken

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

Wie Google Webseiten bewertet. François Bry

WS 2013/14. Diskrete Strukturen

Wichtiges Thema: Ihre private Rente und der viel zu wenig beachtete - Rentenfaktor

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

Data Mining: Einige Grundlagen aus der Stochastik

Datenbanken Microsoft Access 2010

Bundesverband Flachglas Großhandel Isolierglasherstellung Veredlung e.v. U g -Werte-Tabellen nach DIN EN 673. Flachglasbranche.

der Eingabe! Haben Sie das Ergebnis? Auf diesen schwarzen Punkt kommen wir noch zu sprechen.

Lange Nacht der Wissenschaft. Ein Klassiker. Die Mathematik der Kürzesten Wege

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

DLP. Adolphe Kankeu Tamghe ALZAGK SEMINAR. Bremen, den 18. Januar Fachbereich Mathematik und Informatik 1 / 27

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

2.11 Kontextfreie Grammatiken und Parsebäume

3. Ziel der Vorlesung

Beispiel(unten ist der Spielfeldrand):

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Repetitionsaufgaben Wurzelgleichungen

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Wir machen neue Politik für Baden-Württemberg

Anwendungshinweise zur Anwendung der Soziometrie

Transkript:

Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 1 / 24

Definition von Polynomialzeitalgorithmus Definition (worst case Laufzeit eines Algorithmus) Die worst case Laufzeit t A (n), n N, eines Algorithmus A entspricht den maximalen Laufzeitkosten auf Eingaben der Länge n bezüglich des logarithmischen Kostenmaßes der RAM. Definition (Polynomialzeitalgorithmus) Wir sagen, die worst case Laufzeit t A (n) eines Algorithmus A ist polynomiell beschränkt, falls gilt α N : t A (n) = O(n α ). Einen Algorithmus mit polynomiell beschränkter worst case Laufzeit bezeichnen wir als Polynomialzeitalgorithmus. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 2 / 24

Definition der Klasse P Definition (Komplexitätsklasse P) P ist die Klasse der Probleme, für die es einen Polynomialzeitalgorithmus gibt. Anmerkungen: Alternativ kann man sich auch auf die Laufzeit einer TM beziehen, da sich RAM und TM gegenseitig mit polynomiellen Zeitverlust simulieren können. Polynomialzeitalgorithmen werden häufig auch als effiziente Algorithmen bezeichnet. P ist in diesem Sinne die Klasse derjenigen Probleme, die effizient gelöst werden können. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 3 / 24

Beispiele für Probleme in P Sortieren Kürzeste Wege Minimaler Spannbaum Graphzusammenhang Maximaler Fluss Maximum Matching Lineare Programmierung Größter Gemeinsamer Teiler Primzahltest Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 4 / 24

Warum ist Sortieren in P? Problem (Sortieren) Eingabe: N Zahlen a 1,...,a N N Ausgabe: aufsteigend sortierte Folge der Eingabezahlen Anmerkung: Soweit wir nichts anderes sagen, nehmen wir an, dass Zahlen binär kodiert sind. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 5 / 24

Warum ist Sortieren in P? Satz Sortieren P. Beweis: Wir lösen das Problem beispielsweise mit Mergesort. Laufzeit im uniformen Kostenmaß: O(N log N). Laufzeit im logarithmischen Kostenmaß: O(lN log N), wobei l = max 1 i N log(a i ). Sei n die Eingabelänge. Es gilt l n und log N N n. Somit ist die Laufzeit beschränkt durch ln log N n 3. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 6 / 24

Warum ist Graphzusammenhang in P? Problem (Graphzusammenhang) Eingabe: Graph G = (V,E) Frage: Ist G zusammenhängend? Anmerkung: Bei Graphproblemen gehen wir grundsätzlich davon aus, dass der Graph in Form einer Adjazenzmatrix eingegeben wird. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 7 / 24

Warum ist Graphzusammenhang in P? Satz Graphzusammenhang P. Beweis Wir lösen das Problem mit einer Tiefensuche. Laufzeit im uniformen Kostenmaß: O( V + E ) Laufzeit im logarithmischen Kostenmaß: O(( V + E ) log V ) Die Eingabelänge ist n = V 2 E. Die Gesamtlaufzeit ist somit O(( V + E )log V ) = O(n log n) = O(n 2 ). Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 8 / 24

Definition von NTM Definition (Nichtdeterministische Turingmaschine NTM) Eine nichtdeterministische Turingmaschine (NTM) ist definiert wie eine deterministische Turingmaschine (TM), nur die Zustandsüberführungsfunktion wird zu einer Relation δ ((Q \ { q}) Γ) (Q Γ {L,R,N}). Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 9 / 24

Erläuterung der Rechnung einer NTM Eine Konfiguration K ist direkter Nachfolger einer Konfiguration K, falls K durch einen der in δ beschriebenen Übergänge aus K hervorgeht. Rechenweg = Konfigurationsfolge, die mit Startkonfiguration beginnt und mit Nachfolgekonfigurationen fortgesetzt wird bis sie eine Endkonfiguration im Zustand q erreicht. Beachte: Zu einer Konfiguration kann es mehrere direkte Nachfolgekonfigurationen geben.der Verlauf der Rechnung ist also nicht eindeutig bestimmt (nicht deterministisch). Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 10 / 24

Definition des Akzeptanzverhaltens Definition (Akzeptanzverhalten der NTM) Eine NTM M akzeptiert die Eingabe x Σ, falls es mindestens einen Rechenweg von M gibt, der in eine akzeptierende Endkonfiguration führt. Die von M erkannte Sprache L(M) besteht aus allen von M akzeptierten Wörtern. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 11 / 24

Definition der Laufzeit Definition (Laufzeit der NTM) Sei M eine NTM. Die Laufzeit von M auf einer Eingabe x L(M) ist definiert als T M (x) := Länge des kürzesten akzeptierenden Rechenweges von M auf x. Für x L(M) definieren wir T M (x) = 0. Die worst case Laufzeit t M (n) für M auf Eingaben der Länge n N ist definiert durch t M (n) := max{t M (x) x Σ n }. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 12 / 24

Definition der Klasse NP Definition (Komplexitätsklasse NP) NP ist die Klasse der Entscheidungsprobleme, die durch eine NTM M erkannt werden, deren worst case Laufzeit t M (n) polynomiell beschränkt ist. NP steht dabei für nichtdeterministisch polynomiell. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 13 / 24

Beispiel für ein Problem aus NP Problem (Cliquenproblem CLIQUE) Eingabe: Graph G = (V,E), k {1,..., V } Frage: Gibt es eine k-clique? Für das Cliquenproblem kennen wir keinen Polynomialzeitalgorithmus. Die besten bekannten Algorithmen haben eine exponentielle Laufzeit. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 14 / 24

Beispiel für ein Problem aus NP Satz CLIQUE NP. Beweis: Wir beschreiben eine NTM M mit L(M) = CLIQUE: 1 Syntaktisch inkorrekte Eingaben werden verworfen. 2 M rät einen 0-1-String y der Länge V. 3 Sei C = {i V y i = 1} V. 4 M akzeptiert, falls C aus k Knoten besteht und jedes Knotenpaar aus C durch eine Kante verbunden ist. Korrektheit: Es gibt genau dann einen akzeptierenden Rechenweg, wenn G eine k-clique enthält. Laufzeit: Alle Schritte haben polynomielle Laufzeit. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 15 / 24

Alternative Charakterisierung der Klasse NP Satz Eine Sprache L Σ ist genau dann in NP, wenn es einen Polynomialzeitalgorithmus V (einen sogenannten Verifizierer) und ein Polynom p mit der folgenden Eigenschaft gibt: x L y {0,1}, y p( x ) : V akzeptiert y#x. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 16 / 24

Beweis: Von der NTM zu Zertifikat & Verifizierer Gegeben: Sei M eine NTM, die L NP in polynomieller Zeit erkennt. M s Laufzeit sei beschränkt durch ein Polynom q. O.B.d.A. sehe die Überführungsrelation von δ immer genau zwei Übergänge vor, die wir mit 0 und 1 bezeichnen. Konstruktion von Zertifikat und Verifizierer: Für die Eingabe x L beschreibe y {0,1} q(n) den Pfad von M auf einem akzeptierenden Rechenweg. Wir verwenden y als Zertifikat. Der Verifizierer V erhält als Eingabe y#x und simuliert einen Rechenweg der NTM M für die Eingabe x. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 17 / 24

Beweis: Von der NTM zu Zertifikat & Verifizierer Korrektheit der Konstruktion: Gemäß Konstruktion gilt x L M akzeptiert x y {0,1} q(n) : V akzeptiert y#x. Der Verifizierer kann die durch das Zertifikat y beschriebene Rechnung mit polynomiellem Zeitverlust simulieren. Somit erfüllen y und V die im Satz geforderten Eigenschaften. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 18 / 24

Beweis: Von Zertifikat & Verifizierer zur NTM Gegeben: Verifizierer V mit polynomieller Laufzeitschranke und Polynom p mit der Eigenschaft: x L y {0,1}, y p( x ) : V akzeptiert y#x. Konstruktion der NTM: 1 M rät das Zertifikat y {0,1}, y p(n). 2 M führt V auf y#x aus und akzeptiert, falls V akzeptiert. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 19 / 24

Beweis: Von Zertifikat & Verifizierer zur NTM Korrektheit der Konstruktion: M erkennt die Sprache L, weil gilt x L y {0,1}, y p(n) : V akzeptiert y#x Es gibt einen akzeptierenden Rechenweg für M M akzeptiert x. Die Laufzeit von M ist polynmiell beschränkt, denn die Laufzeit von Schritt 1 entspricht der Länge des Zertifikats, und die Laufzeit von Schritt 2 entspricht der Laufzeit des Verizierers. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 20 / 24

Die Komplexitätsklasse EXPTIME Definition (Komplexitätsklasse EXPTIME) EXPTIME ist die Klasse der Probleme, die sich auf einer DTM mit Laufzeitschranke 2 q(n) berechnen lassen, wobei q ein geeignetes Polynom ist. Wie verhält sich NP zu P und EXPTIME? Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 21 / 24

Wie verhält sich NP zu P und EXPTIME? Im Folgenden schränken wir die Klassen P und EXPTIME auf Entscheidungsprobleme ein, um sie mit der Klasse NP in Beziehung setzen zu können. Satz P NP EXPTIME Beweis: Offensichtlich gilt P NP, weil eine DTM als eine spezielle NTM aufgefasst werden kann. Wir müssen noch zeigen NP EXPTIME. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 22 / 24

Exponentielle Laufzeitschranke für Probleme aus NP Sei L NP. Die Länge der Zertifikate für L sei p(n). Wir beschreiben einen det. Algorithmus A mit exponentieller Laufzeitschranke, der L entscheidet: Bei Eingabe x {0,1} n startet A den Verifizierer V mit y#x für jedes Zertifikat y {0,1} p(n). A akzeptiert, falls V eines der generierten Zertifikate akzeptiert. Laufzeitanalyse: Sei p eine polynomielle Laufzeitschranke für V. Die Laufzeit unseres Algorithmus ist dann höchstens 2 p(n) p (p(n) + 1 + n) 2 p(n) 2 p (p(n)+1+n) 2 p(n)+p (p(n)+1+n) = 2 q(n) für das Polynom q(n) = p(n) + p (p(n) + 1 + n). Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 23 / 24

Die große offene Frage der Informatik lautet P = NP? Diese Frage ist so bedeutend, weil sehr viele wichtige Probleme in NP enthalten sind, für die kein Polynomialzeitalgorithmus bekannt ist. Einige dieser Problem lernen wir in der nächsten Vorlesung kennen. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 3. Dezember 2009 24 / 24