Theoretische Informatik 1

Ähnliche Dokumente
Theoretische Informatik 1

Laufzeit einer DTM, Klasse DTIME

Polynomielle Verifizierer und NP

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

Theoretische Informatik 1

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Theoretische Informatik. nichtdeterministische Turingmaschinen NDTM. Turingmaschinen. Rainer Schrader. 29. April 2009

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

Die Komplexitätsklassen P und NP

abgeschlossen unter,,,, R,

Klassische Informationstheorie: Berechenbarkeit und Komplexität

Theoretische Grundlagen der Informatik

Die Klassen P und NP. Formale Grundlagen der Informatik 1 Kapitel 11. Die Klassen P und NP. Die Klasse P

Teil III. Komplexitätstheorie

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Statt Turingmaschinen anzugeben, genügt die Angabe eines C++ Programms oder die Angabe eines Pseudocodes.

NP-vollständige Probleme. Michael Budahn - Theoretische Informatik 1

11.1 Kontextsensitive und allgemeine Grammatiken

Nichtdeterministische Platzklassen

Theorie der Informatik

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

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

Theoretische Informatik 1

Theoretische Informatik 1

Einführung in Algorithmen und Komplexität

Musterlösung Informatik-III-Klausur

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

Theoretische Informatik II

Klausur: Berechenbarkeit und Komplexität (Niedermeier/Chen/Froese/Sorge, Sommersemester 2016)

Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF

Formale Grundlagen der Informatik 1 Kapitel 23 NP-Vollständigkeit (Teil 2)

Theoretische Informatik 1

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

5.2 Endliche Automaten

P, NP und NP -Vollständigkeit

Theoretische Informatik 1

Theoretische Grundlagen der Informatik

FORMALE SYSTEME. Kompexitätsklassen. Deterministisch vs. nichtdeterministisch. Die Grenzen unseres Wissens. 25. Vorlesung: NP-Vollständigkeit

Theoretische Informatik 1

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reduktion. Komplexitätsklassen.

Die Komplexitätsklassen P und NP

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

Reelle Komplexität - Grundlagen II

FORMALE SYSTEME. 25. Vorlesung: NP-Vollständigkeit. TU Dresden, 23. Januar Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Die Klasse NP und die polynomielle Reduktion

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Theoretische Grundlagen der Informatik

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil VI. Komplexitätstheorie.

Grundlagen der Theoretischen Informatik

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

Präsenzübung Berechenbarkeit und Komplexität

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

Rekursiv aufzählbare Sprachen

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

Diskrete Mathematik II

Konjunktive Normalform

Grundlagen der Theoretischen Informatik

Hamiltonsche Graphen

Weitere universelle Berechnungsmodelle

Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Formale Sprachen. Script, Kapitel 4. Grammatiken

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Berechenbarkeitstheorie 19. Vorlesung

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

Speicherplatz-Komplexität 1 / 30

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

THEORETISCHE INFORMATIK UND LOGIK

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Reduktionen. Algorithmen und Datenstrukturen Kapitel 6.2 Komplexitätstheorie. Exkurs: Reduktionen allgemein. Reduktionen: Erläuterungen

Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2

Ist eine algorithmische Problemstellung lösbar und wenn ja, mit welchen Mitteln? was ist eine algorithmische Problemstellung?

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Theoretische Grundlagen der Informatik

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

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Transkript:

Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012

Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die Klasse NP Nichtdeterministische Algorithmen Die Klasse NP P vs. NP Das P vs. NP Problem Zusammenfassung

Motivation Wir wissen von sehr vielen Problemen nicht ob sie in polynomieller Zeit (bzw. effizient) lösbar sind Das trifft für viele relevante Probleme zu: das Traveling Salesman Problem (TSP), das Erfüllbarkeitsproblem von Boolschen Funktionen (SAT),... Wir können aber zeigen das durch eine kleine Erweiterung des Maschinenmodells polynomielle Algorithmen gefunden werden können Nichtdeterministische Turingmaschine

Nichtdeterminismus Programm einer Turingmaschine: deterministischer endlicher Automat Nichtdeterministische Turingmaschine (NTM): nicht-deterministischer endlicher Automat Ein deterministischer endlicher Automat hat in jedem Zustand maximal einen Zustandsübergang pro Symbol Ein nicht-deterministischer endlicher Automat kann in jedem Zustand mehrere Zustandsübergänge pro Symbol haben

Nichtdeterministische Turingmaschine Erweiterung des Maschinenmodells: Definition (Nichtdeterministische k-band-tm) Eine k-band-ntm ist ein Tupel T = (Q, Σ, Γ, δ, q 0,, F ) dessen Komponenten wie für eine k-band-dtm definiert sind, mit Ausnahme von δ : Q Γ P(Q Γ {,, }). δ(q, b) gibt also nicht eindeutig einen nächsten Schritt an, sondern repräsentiert die Menge der nunmehr möglichen nächsten Schritte. Konfigurationsrelation wird erweitert. T Konfigurationenfolge wird zu einem Berechnungsbaum.

Berechnungsbaum NTM

Entscheidungsprobleme Die algorithmische Leistung der NTM besteht darin, am Ende des Weges zu akzeptieren oder zu verwerfen. Eine NTM die eine Sprache entscheidet hat ausschließlich Pfade die akzeptieren oder verwerfen (keine die divergieren). Die Entscheidung der NTM heißt Ja, falls es zumindest einen akzeptierenden Pfad gibt Die Entscheidung der NTM heißt Nein wenn es keinen akzeptierenden Pfad gibt Asymmetrie zwischen JA und NEIN!

Laufzeitmessung einer NTM Die Zeitkosten einer NTM beziehen auf die maximale Tiefe des Berechnungsbaumes Definition (Laufzeit einer Entscheider NTM) Sei T eine NTM die eine Sprache entscheidet. Die Laufzeit t T von T ist die maximal auftretende Tiefe aller Pfade durch den Berechnungsbaum von T.

Guess & Check Nichtdeterminismus in Algorithmen Rate eine Lösung des Problems überprüfe, ob diese Lösung die Bedingungen des Entscheidungsproblems erfüllt Definition (Verifizierer) Ein Verifizierer für eine Sprache L ist ein Turingmaschine T, wobei L = {w Σ c Σ : T akzeptiert w, c } c wird Zertifikat oder Zeuge genannt und dient als Zusatzinformation. Der Zeitbedarf von T wird nur anhand der Länge von w bestimmt.

Rundreise Problem (TSP) Beispiel: TSP (Rundreise mit Gewichten): gegeben: n Städte Budget K Gewichte/Kosten für Reise zwischen den Städten (< K ) gesucht: Ist eine Rundreise (eine Reise die jede Stadt genau einmal besucht und wieder in der ersten Stadt endet) mit dem gegebenen Budget möglich?

Rundreise Problem (TSP) Das Rundreise Problem (TSP) ist in nichtdeterministischpolynomieller Zeit lösbar. Beweisskizze: Konstruktion einer NTM die TSP löst Rate nichtdeterministisch eine Rundreise (Zertifikat) Summiere Kosten für alle Kanten der Folge Wenn Summe K antworte Ja, sonst Antworte NEIN

Die Klasse NP Definition (Die Zeit-Komplexitätsklasse NTIME) Analog zu DTIME(t(n)), ist NTIME(t(n)) die Menge aller Sprachen die von einer O(t(n))-zeitbeschränkten NTM entschieden werden können. NTIME(t(n)) = { A Σ NTM T : f T = f A T T (n) = O(t(n)) } Definition (Die Klasse NP) Die Klasse NP ist die Menge aller Sprachen, die von einer NTM in polynomieller Zeit entschieden werden können. NP = NTIME(n k ) k N oder: die Menge der Sprachen die in polynomieller Zeit verifiziert werden können.

Beispiel CLIQUE geg: ungerichteter Graph G = (V, E) und Zahl k V = {v 1, v 2,..., v m }; E = {(v i1, v i2 ),...} (u, v) E (v, u) E ges: Existiert in G eine Clique der Größe k? CLIQUE CLIQUE = { G, k C V : C = k a, b C : (a, b) E} Zeige, dass CLIQUE in NP ist! siehe z.b. Sipser, Theorem 7.24

Bedeutung des Nichtdeterminismus Berechnungsstärke bleibt unverändert (NTM lässt sich auf DTM simulieren) Zeitkomplexität sinkt wesentlich (exponentiell?) Platzkomplexität sinkt unwesentlich

Das P vs. NP Problem P ist die Klasse von Sprachen die effizient entschieden werden können NP ist die Klasse von Sprachen die effizient verifiziert werden können Polynomielle Verifizierbarkeit scheint ein viel mächtigeres Konzept zu sein als Polynomielle Entscheidbarkeit Trotzdem: für keine einzige Sprache in NP konnte bisher bewiesen werden, dass sie nicht in P liegt!

Hinweise auf P NP Für keines der vielen Probleme in NP wurde bisher ein effizienter Algorithmus gefunden Aus P = NP ließen sich Konsequenzen ableiten von denen, im Moment ebenfalls angenommen wird das sie nicht zutreffen, z.b.: NP = CoNP Bisher aber kein Beweis...

CoP und CoNP Die komplementären Klassen zu P und NP werden CoP und CoNP genannt. Wir schreiben das Komplement einer Sprache L als L P ist abgeschlossen gegenüber dem Komplement, daher wenn L in P liegt, dann liegt auch L in P es gilt P = CoP

Beweis: P = CoP Da L in P liegt, gibt es eine DTM T die L entscheidet Wir konstruieren eine DTM T die T simuliert Für jeden verwerfenden Zustand von T geht T in einen akzeptierenden Zustand und umgekehrt Der Zeitverlust für die Berechnung ist Konstant, daher liegen T und T in der gleichen Komplexitätsklasse Für NP ist ein Beweis in dieser Form nicht möglich. Es wird angenommen das NP CoNP gilt

Zusammenfassung Nichtdeterministische Turingmaschine nicht-deterministischer endlicher Automat Die Klasse NP P vs. NP, es wird angenommen P NP