Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

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

Die Komplexitätsklassen P und NP

abgeschlossen unter,,,, R,

Nichtdeterministische Platzklassen

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

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Speicherplatz-Komplexität 1 / 30

Komplexita tstheorie eine erste Ubersicht. KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung.

Komplexität und Komplexitätsklassen

Rekursiv aufzählbare Sprachen

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

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

Theoretische Grundlagen der Informatik

Übung zur Vorlesung Berechenbarkeit und Komplexität

Rechnerische Komplexität

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

2.4 Kontextsensitive und Typ 0-Sprachen

11.1 Kontextsensitive und allgemeine Grammatiken

1 Varianten von Turingmaschinen

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

Komplexitätstheorie Einführung und Überblick (Wiederholung)

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

LogSpace. Isomorphie von Bäumen (gerichtet und ungerichtet) Entscheiden, ob ein Graph zusammenhängend ist (gerichtet und ungerichtet)

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Theoretische Informatik 2

Das P versus N P - Problem

IP=PSPACE. t Joachim Kneis t IP = PSPACE t 16. Dezember 2003 t

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

Komplexitätstheorie Slide 1. Komplexitätstheorie

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

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

Vorlesung Berechenbarkeit und Komplexität. Motivation, Übersicht und Organisatorisches

Komplexität des Äquivalenzproblems für reguläre Ausdrücke

Eine molekulare Lösung des Hamiltonkreisproblems mit DNA

Algorithmen II Vorlesung am

Pratts Primzahlzertifikate

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Lösungen zur 3. Projektaufgabe TheGI1

Berechenbarkeit und Komplexität

Primzahlen, Faktorisierung und Komplexitätstheorie

Anmerkungen zur Übergangsprüfung

Theoretische Informatik Testvorbereitung Moritz Resl

8. Turingmaschinen und kontextsensitive Sprachen

Vorlesung Theoretische Informatik

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

Lösungsvorschläge Blatt Z1

liefern eine nicht maschinenbasierte Charakterisierung der regulären

Theoretische Informatik 1

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Einführung in die Informatik

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Automaten und Formale Sprachen

Seminar über aktuelle Forschungsthemen in der Algorithmik, Dozent Prof. Dr. Alt;

Reguläre Ausdrücke. Karin Haenelt

Approximationsalgorithmen: Klassiker I. Kombinatorische Optimierung Absolute Gütegarantie Graph-Coloring Clique Relative Gütegarantie Scheduling

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

1 Einführung Zwei Beispiele (MIN JOB SCHEDULING und MAXCUT) Notationen und Definitionen Übungsaufgaben...

Primzahlzertifikat von Pratt

Wie viel Mathematik kann ein Computer?

Längen-beschränkte Schnitte und Flüsse

Spiele in der Informatik

Theoretische Informatik

Komplexitätstheorie. Arfst Nickelsen Universität zu Lübeck Institut für Theoretische Informatik Wintersemester 2006/07. Stand 8.

Theoretische Informatik für Medieninformatiker

Seminar Kompressionsalgorithmen Huffman-Codierung, arithmetische Codierung

Gliederung. Algorithmen und Datenstrukturen II. Problem: Längste gemeinsame Teilsequenz. Problem: Längste gemeinsame Teilsequenz

Ausgewählte unentscheidbare Sprachen

4 Greedy-Algorithmen (gierige Algorithmen)

Technische Universität München Zentrum Mathematik Propädeutikum Diskrete Mathematik. Weihnachtsblatt

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

Probabilistische Primzahltests

Algorithmische Methoden für schwere Optimierungsprobleme

Spiele für den. Christian Dax. Betreuer: Dr. Martin Lange. Wiederholung Spiele für VAL und SAT ν-line Automaten Entscheidungsverfahren

Erzeugung zufälliger Graphen und Bayes-Netze

Formale Sprachen und Automaten

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Satz 90 Sei A = (Q, Σ, δ, q 0, F ) ein DFA. Der Zeitaufwand des obigen Minimalisierungsalgorithmus ist O( Q 2 Σ ).

Eigenschaften regulärer Sprachen

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

Übungsaufgaben und Lösungen. zur Vorlesung. Theoretische Grundlagen der Informatik

7 Endliche Automaten. Reimund Albers Papierfalten Kapitel 7 Endliche Automaten 103

Technische Universität Wien Institut für Computergraphik und Algorithmen Arbeitsbereich für Algorithmen und Datenstrukturen

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

Wiederholung zu Flüssen

T (n) = max. g(x)=n t(n) S(n) = max. g(x)=n s(n)

Informatik I. Lutz Donnerhacke PGP:db c1c 6311 ef09 d819 e029 65be bfb6 c9cb

THEORETISCHE INFORMATIK

Alles zu seiner Zeit Projektplanung heute

Algorithmen und Datenstrukturen 2

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

Grundbegriffe der Informatik

Information Systems Engineering Seminar

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Approximationsalgorithmen

Automaten und formale Sprachen: Vorlesungsskript G. Brewka, A. Nittka

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Dynamische Programmierung. Problemlösungsstrategie der Informatik

9 Das Problem mit der Komplexität: P = NP?

Anwendungen des Fréchet-Abstandes Das Constrained Free Space Diagram zur Analyse von Körperbewegungen

Transkript:

Proseminar Theoretische Informatik Die Klasse NP von Marlina Spanel 29.11.2011 1

Gliederung Gliederung Problem des Handlungsreisenden Die Klasse NP Einleitung und Wiederholung Sprachen Nichtdeterministische Turingmaschinen Verifizierbarkeit Suchproblem-Definition Sprachakzeptanz-Definition Beweis der Äquivalenz der Definitionen NTIME Beispielprobleme aus NP Beziehungen zu anderen Komplexitätsklassen 29.11.2011 2

Das Problem des Handlungsreisenden Das Problem des Handlungsreisenden Ein Händler soll durch die großen Städte eines Landes reisen, um seine Waren anzubieten. Danach soll er wieder zu seinem Startpunkt reisen. Problem: Welches ist der kürzeste Weg? 29.11.2011 3

Das Problem des Handlungsreisenden Liegt das Problem des Handlungsreisenden in P? Bisher wurde kein deterministischer Lösungsalgorithmus in Polynomialzeit entdeckt. Trotzdem ist es nicht auszuschließen, dass das Problem dennoch in P liegt. P-NP-Problem 29.11.2011 4

Das Klasse NP - Einleitung Das Klasse NP - Einleitung NP steht für nichtdeterministisch polynomielle Zeit Komplexitätsklasse, für die bekannt ist: P NP Viele Probleme in NP lassen sich deterministisch vermutlich nicht effizient lösen, das heißt mit polynomiellen statt exponentiellen Algorithmen. 29.11.2011 5

Das Klasse NP - Einleitung Formale Sprachen Formale Sprache: Menge von Zeichenketten (genannt Wörter), die sich aus einem bestimmten Zeichenvorrat (genannt Alphabet) zusammensetzen und bestimmte Eigenschaften erfüllen. Bsp.: Σ = {0,1} w Σ A = w w > 5 A = {010101, 111100, } 29.11.2011 6

Das Klasse NP - Einleitung Nichtdeterministische Turingmaschinen (NTM) Übergangsrelation statt Übergangsfunktion (DTM) Kein eindeutiger Lauf, sondern verschiedene mögliche Akzeptiert, sofern ein akzeptierender Lauf Umwandlung polynomielle NTM exponentielle DTM Können entscheiden, ob Wörter in einer Sprache A sind man sagt dann, die NTM entscheidet A 29.11.2011 7

Das Klasse NP - Einleitung Beispiel: Zusammengesetzte Zahlen Composite = n n = pq mit p, q N und p, q > 1 Eine NTM N, die diese Sprache entscheidet, wird auf einer Zahl z ausgeführt: 1. N wählt nichtdeterministisch t 2, 3,, z 2 2. N teilt die Eingabe z durch t. Ist das Ergebnis ganzzahlig, akzeptiert N z Composite 29.11.2011 8

Verifizierbarkeit Verifizierbarkeit 29.11.2011 9

Verifizierbarkeit Hamiltonkreise Definition: Kreis in einem gerichteten Graphen, der durch jeden Knoten genau einmal verläuft a c e g b d f 29.11.2011 10

Verifizierbarkeit Hamiltonkreise Darstellung als Sprache: Hamkreis = G G enthält einen Hamiltonpfad 29.11.2011 11

Verifizierbarkeit Hamiltonkreise Beispiel einer deterministischen Lösung: 1. Alle Knoten des Graphen G hintereinander auflisten. 2. Dann prüfen, ob G zwischen jedem Knoten und dem jeweils darauffolgenden eine Kante besitzt. 3. Mit allen denkbaren Reihenfolgen wiederholen: G! 29.11.2011 12

Verifizierbarkeit Hamiltonkreise Ein gefundener Pfad kann in polynomieller Zeit auf seine Richtigkeit überprüft bzw. verifiziert werden: 1. Die Knoten des gefundenen Pfades werden aufgelistet und auf Vollständigkeit und Wiederholungen geprüft. 2. Sind alle jeweils genau einmal vorhanden, wird geprüft ob zwischen jeweils zwei aufeinanderfolgenden Knoten eine Kante liegt. Wenn ja G Hamkreis 29.11.2011 13

Verifizierbarkeit Zusammengesetzte Zahlen Composite = x x = pq mit p, q N und p, q > 1 n Bit Zahl x Laufzeit in Abhängigkeit von n 29.11.2011 14

Verifizierbarkeit Verifikator Ein Verifikator für eine Sprache A ist ein Algorithmus V, sodass: A = w V akzeptiert < w, c > für irgendeinen String c c heißt dabei Zertifikat (auch Beweis, Zeuge) Laufzeit eines polynomiellen Verifikators: O p w 29.11.2011 15

Verifizierbarkeit Verifikator Zertifikat für Wörter aus Hamkreis: Der gefundene Hamiltonkreis selbst Zertifikat für Wörter aus Composite: Eine ganzzahlige Faktorisierung der zu überprüfenden Zahl 29.11.2011 16

Suchproblem-Definition Suchproblem-Definition NP ist die Klasse der Sprachen, die polynomielle Verifikatoren besitzen. Hamkreis, Composite NP Zusammenhang zu NTMs? 29.11.2011 17

Suchproblem-Definition Sprachakzeptanz-Definition Eine Sprache liegt in NP, wenn sie von einer nichtdeterministischen Turingmaschine entschieden wird. Äquivalenz der beiden Definitionen? 29.11.2011 18

Beweis der Äquivalenz der Definitionen Beweis der Äquivalenz der Definitionen Zu zeigen: NTM entscheidet A V verifiziert x A in p( x ) 29.11.2011 19

Beweis der Äquivalenz der Definitionen : Zu zeigen: NTM entscheidet A V verifiziert x A in p( x ) NTM N entscheidet A für jedes a A gibt es eine akzeptierende Rechnung r von N. Damit kann V wie folgt simuliert werden: 29.11.2011 20

Beweis der Äquivalenz der Definitionen V = Bei Eingabe von < a, r > 1. Simuliere N auf der Eingabe a und behandle dabei jedes Symbol von r als Beschreibung der nichtdeterministischen Entscheidung, die bei jedem Schritt getroffen wird. 2. Wenn dieser durch r beschriebene Zweig von Ns Rechnung akzeptiert, akzeptiert auch V. 29.11.2011 21

Beweis der Äquivalenz der Definitionen : Zu zeigen: NTM entscheidet A V verifiziert x A in p( x ) Die NTM kann wie folgt konstruiert werden: 29.11.2011 22

Beweis der Äquivalenz der Definitionen NTM = Bei Eingabe von w der Länge n: 1. Nichtdeterministische Wahl eines Strings c mit c n k 2. Führe V auf < w, c > aus 3. Akzeptiert V, so akzeptiert die NTM. 29.11.2011 23

NTIME NTIME NTIME t n = L L wird von einer NTM in O t n entschieden NP = NTIME n k k 29.11.2011 24

Beispielprobleme in NP Beispielprobleme in NP SubsetSum = < S, t > S = {x 1,, x n } und für y 1,, y k S gilt: y i = t Bsp.: < 1,4,8,21, 25 > SubsetSum denn 4 + 21 = 25 29.11.2011 25

Beispielprobleme in NP Das Cliquenproblem Clique: Ein (Unter-)Graph, in dem jeder Knoten mit jedem anderen über eine Kante verbunden ist. k-clique: Clique bestehend aus k Knoten Clique = < G, k > G enthält eine k Clique 29.11.2011 26

Beziehungen zu anderen Komplexitätsklassen Beziehungen zu anderen Komplexitätsklassen Bis heute nicht beweisbar: P = NP Klasse der Entscheidungsprobleme, deren Komplemente in NP liegen: CoNP NP und CoNP sind nicht disjunkt wegen: P NP CoNP Aus P = NP würde demnach NP = CoNP folgen 29.11.2011 27

Beweis der Äquivalenz der Definitionen Insgesamt ist folgende Einordnung bekannt: L NL LOGCFL NC P NP NP PSPACE = NSPACE EXPTIME NEXPTIME Dabei sind nur ganz wenige echte Inklusionen bekannt: LOGCFL P P EXPTIME 29.11.2011 28

Quellen Quellen Michael Sipser: Introduction to the Theory of Computation (2006) Webseite der Princeton University: NP and NP Completeness Wikipedia.org: NP (Komplexitätsklasse) Nichtdeterministische Turingmaschine 29.11.2011 29

Vielen Dank 29.11.2011 30