Informatik-Grundlagen

Ähnliche Dokumente
Endliche Automaten. Grundlagen: Alphabet, Zeichenreihe, Sprache. Karin Haenelt

NP Vollständigkeit. Patryk Mazur

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

Grundlagen der Informatik Kapitel 20. Harald Krottmaier Sven Havemann

Einige Grundlagen der Komplexitätstheorie

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Parsing regulärer Ausdrücke. Karin Haenelt

Klausur SoSe Juli2018

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

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

Übung Theoretische Grundlagen

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

Gliederung. 1. Einführung. 2. Polynominal Reduktion und NP-Vollständigkeit. 3. Geschichte. 4. Reale Probleme und Lösungsansetze 5.

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

Theoretische Informatik

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

Berechenbarkeit und Komplexität

Informatik III - WS07/08

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

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

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

3. Klausur Einführung in die Theoretische Informatik Seite 1 von Welches der folgenden klassischen Probleme der Informatik ist entscheidbar?

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

Überführung regulärer Ausdrücke in endliche Automaten

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

THEORETISCHE INFORMATIK UND LOGIK

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

abgeschlossen unter,,,, R,

Prüfungsprotokoll der mündlichen Prüfung Grundlagen der Theoretischen Informatik (Bachelor Informatik)

Algorithmentheorie 1. Vorlesung

Weitere NP-vollständige Probleme

1. Klausur Einführung in die Theoretische Informatik Seite 1 von 14

Vorname Name Matrikelnummer 1. a) Benennen Sie die übrigen 6 Komponenten einer nicht-deterministischen Turingmaschine (TM): (3 Punkte)

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Das SAT Problem oder Erfüllbarkeitsproblem. Formale Systeme. Teilklassen. Satz von Cook. SAT Instanz: Eine aussagenlogische Formel F For 0

Grundlagen der Theoretischen Informatik

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

Rucksackproblem und Verifizierbarkeit

Musterlösung Informatik-III-Nachklausur

Automaten und Formale Sprachen

Der Earley-Algorithmus

Theoretische Informatik I

14. Die polynomiell beschränkten Komplexitätsklassen. Die Grenzen der tatsächlichen Berechenbarkeit

Theoretische Grundlagen der Informatik

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

Komplexitätstheorie NP-Vollständigkeit: Reduktionen (2) Der Satz von Cook/Levin

Grundkurs Theoretische Informatik

Klausur SoSe Juli 2013

Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

Künstliche Intelligenz Logische Agenten & Resolution

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

Reguläre Ausdrücke. Karin Haenelt

3. Klausur Einführung in die Theoretische Informatik Seite 1 von 14

Willkommen zur Vorlesung Komplexitätstheorie

Kapitel 1 Automaten: Die Grundlagen und Methoden... 23

Grundlagen der Theoretischen Informatik

Theoretische Informatik und Logik Übungsblatt 2 (2017S) Lösung

Theoretische Informatik. Berechenbarkeit

Aufgaben aus den Übungsgruppen 8(Lösungsvorschläge)

1. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

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

Das Halteproblem für Turingmaschinen

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Grundkurs Theoretische Informatik

Algorithmentheorie 1. Vorlesung

Operationen auf endlichen Akzeptoren und Transduktoren

Musterlösung Informatik-III-Klausur

Berechenbarkeits- und Komplexitätstheorie

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Operationen auf endlichen Automaten und Transduktoren

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Theoretische Informatik 2 bzw. Formale Sprachen und Berechenbarkeit. Sommersemester Herzlich willkommen!

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

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

Theoretische Grundlagen der Informatik

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

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

Einführung in Automatentheorie, Formale Sprachen und Berechenbarkeit

VL-13: Polynomielle Reduktionen. (Berechenbarkeit und Komplexität, WS 2018) Gerhard Woeginger

Transkript:

Informatik-Grundlagen Komplexität Karin Haenelt 1

Komplexitätsbetrachtungen: Ansätze Sprachentheorie Klassifiziert Mengen nach ihrer strukturellen Komplexität Komplexitätstheorie Klassifiziert Probleme nach der Komplexität ihrer Berechnung in Einheiten von Zeit, Speicher und anderen Größen 2

Sprachentheorie Sprachklassen nach struktureller Komplexität (Chomsky-Hierarchie) Sprache Hierarchie Grammatik Regelformat rekursiv aufzählbare Typ 0 allgemeine Regelgrammatik α β α ε Sprachen kontextsensitive Typ 1 kontextsensitive Grammatik α1a α 2 α1βα 2 β ε Sprachen kontextfreie Sprachen Typ 2 kontextfreie Grammatik A α reguläre Typ 3 reguläre A wb Sprachen Grammatik A w rechtslinear A Bw A w linkslinear A, B nonterminale Symbole α Ketten aus Terminalen und Non Terminalen w terminale Ketten 3

Problem : Definition In der Automatentheorie besteht ein Problem in der Frage, ob eine gegebene Zeichenreihe Element einer bestimmten Sprache ist Was wir umgangssprachlich als Problem bezeichnen, kann als die Frage formuliert werden, ob eine bestimmte Zeichenreihe in einer gegebenen Sprache enthalten ist In Fällen, in denen der durch die Zeichenreihe repräsentierte Sachverhalt wichtiger ist als die Zeichenreihe selbst, wird eine Menge von Zeichenreihen eher als Problem verstanden Sei Σ ein Alphabet L eine Sprache über Σ Dann lautet das Problem L Gegeben sei eine Zeichenreihe w in Σ. Entscheiden Sie ob w in L enthalten ist oder nicht. Hopcroft/Motwani/Ullman, 2002: 41/42 4

Problemklassen nach Komplexität der Berechnung Klasse Definition P NP Die Menge aller Sprachen (die Gesamtheit aller Eingaben, die ein Algorithmus akzeptiert), die ein deterministischer Algorithmus (bzw. eine deterministische Turingmaschine) in Polynomialzeit lösen kann, bezeichnet man mit P Die Menge aller Sprachen, die ein nicht-deterministischer Algorithmus (bzw. eine nicht-deterministische Turingmaschine) in Polynomialzeit lösen kann, bezeichnet man mit NP Wikipedia, P/NP-Problem, 28.05.2004 5

Problemklassen nach Komplexität der Berechnung Klasse Komplexität Aufwand P polynomial n j (z.b. n, n log n, n 3) Bedeutung auf deterministischem Computer in polynomialer Zeit lösbar NP exponentiell 2 n auf nicht-deterministischem Computer in polynomialer Zeit lösbar (entspricht Durchsuchen aller einzelnen Lösungsalternativen auf je einem eigenen Rechner) = auf deterministischem Computer in exponentieller Zeit lösbar ein realer Computer arbeitet deterministisch 6

Berechnungszeit: Beispiel Annahme: jede Instruktion dauert 1 Milli-Sekunde Problemgröße n Zeitkomplexität 10 50 100 n 3.001 Sekunden.125 Sekunden 1.0 Sekunden 2 n.001 Sekunden 35.7 Jahre 10 15 Jahrhunderte Barton / Berwick / Ristad, 1987: 8 7

Klassifizierung von Problemen Der Nachweis der Nicht-Existenz einer polynomiellen Lösung ist schwierig Man beschränkt sich daher darauf, Probleme zueinander in Beziehung zu setzen und daraus abzuleiten, wie schwierig sie sind Man unterscheidet die Schwierigkeitsgrade P NP-schwierig (engl. NP-hard) NP-vollständig (engl. NP-complete) Wikipedia, P/NP-Problem, 28.05.2004 8

NP-schwierig, NP-vollständig Ein NP-schwieriges Problem ist ein Problem das stellvertretend für die Komplexität aller Probleme der Klasse NP steht. NP-Vollständigkeit klassifiziert eine Menge von Entscheidungsproblemen, die in gewisser Hinsicht besonders schwierig sind und für die angenommen wird, dass keine effizienten Algorithmen existieren, die diese lösen Fände man einen deterministisch polynonomiellen Algorithmus zur Lösung eines Problems in NP, so wären gleichzeitig alle Probleme in NP als deterministisch entscheidbar nachgewiesen. Wikipedia, P/NP-Problem, 28.05.2004 9

NP-schwierig, NP-vollständig eine Sprache L 1 heißt NP-schwierig, wenn jedes Entscheidungsproblem aus der Klasse NP (mit einer deterministischen Turingmaschine) in Polynomialzeit auf L 1 reduziert werden kann: L Σ heißt NP schwierig, falls L NP : L 1 * p L1 eine Sprache L heißt NP-vollständig, wenn gilt (1) L NP (2) L ist NP schwierig 10

Polynomialzeitreduktion eine Sprache L ist mittels einer Funktion f auf eine Sprache L 1 reduzierbar diese Funktion f muss in Polynomialzeit berechenbar sein Beispiel: ein bekanntes NP-vollständiges Problem L auf L 1 reduzieren um zu beweisen, dass L 1 NP-vollständig ist 11

Polynomialzeitreduktion Die Richtung der Reduktion ist wichtig. Häufig wird der Fehler begangen, den Beweis für die Unentscheidbarkeit eines Problems P2 über die Reduktion von P2 auf ein als unentscheidbar bekanntes Problem P1 zu führen. Es soll also die Aussage "wenn P1 entscheidbar ist, dann ist auch P2 entscheidbar" gezeigt werden. Diese Aussage ist zwar mit Sicherheit richtig, jedoch nutzlos, da deren Hypothese "P1 ist entscheidbar" falsch ist.... Ein bekanntes unentscheidbares Problem P1 muss auf P2 reduziert werden." Hopcroft/Motwani/Ullman, 2002: 326 12

Klassische Vetreter NPvollständiger Probleme Erfüllbarkeitsproblem der Aussagenlogik 3-SAT Max2SAT Vertex Cover Clique Partition gerichteter bzw. ungerichteter Hamiltonkreis Problem des Handlungsreisenden Bin-Packing-Problem Rucksackproblem Exact Cover Subset Sum... Wikipedia, P/NP-Problem, 28.05.2004 13

Erfüllbarkeitsproblem und 3SAT- Problem der Aussagenlogik SAT-Problem: Erfüllbarkeitsproblem beschäftigt sich innerhalb der Logik mit der Frage, ob eine in konjunktiver Normalform vorliegende Formel F erfüllbar ist 3SAT-Problem ist eine vereinfachte Form das Erfüllbarkeitsproblem der Aussagenlogik läßt sich polynomial reduzieren auf das 3SAT-Problem beschäftigt sich mit der Frage, ob eine in konjunktiver Normalform vorliegende aussagenlogische Formel F, die höchstens 3 Literale pro Klausel enthält, erfüllbar ist. Beispiel (1) ( x y z) ( y z u) ( x z u) ( x y u) Wikipedia, P/NP-Problem, 28.05.2004 Hopcroft/Motwani/Ullman, 2002: 41/42 14 (1) Barton/Berwick/Ristad, 1987, 8

3SAT-Problem Beispiel ( x y z) ( y z u) ( x z u) ( x y u) gibt es eine Zuordnung von wahr oder falsch zu den Variablen, so dass der gesamte Ausdruck wahr wird? mit n binären Variablen sind 2 n mögliche Wahrheitswertzuordnungen zu prüfen damit ist der Zeitaufwand mindestens proportional zu 2 n, d.h. exponentiell 15

Ansätze zum Umgang mit NPvollständigen Problemen Wahl eines optimalen Algorithmus zur Suche nach der besten Lösung und Verwendung unter der Einschränkung, dass die zu verarbeitende Datenmenge stets in einem Bereich bleibt, der klein genug ist, um die Lösung abzuwarten Wahl eines heuristischen Algorithmus und Suche nach einer suboptimalen Lösung, die für die Aufgabe gut genug ist Wahl eines approximativen Algorithmus, der keine perfekte, aber eine nahezu perfekte Lösung liefert 16

Komplexität in der Sprachverarbeitung 17

Komplexität: Modellierungen in der Sprachverarbeitung NP-komplex sind solche Probleme, die - wie das SAT-Problem - eine kombinatorische Suche erforderlich machen. Wenn ein solches Problem auftritt, besteht immer der Verdacht, dass irgendetwas etwas fehlt. Ein kombinatorischer Suchalgorithmus impliziert nämlich, dass das Problem keine spezifische Struktur hat, die man bei der Lösung ausnutzen könnte. NP-komplexe Probleme sind nach Berwick unnatürlich schwere Probleme. Natürliche Probleme haben typischerweise eine mehr modulare und lokale Struktur. Ein theoretisch NP-komplexer Grammatikformalismus sollte so revidiert werden, dass er nicht mehr erlaubt, Probleme zu formulieren, die nicht effizient lösbar sind. Da in der Wirklichkeit die Aufgabe, ob eine Zeichenkette zu einer Sprache gehört und welche Struktur sie hat, von Menschen effizient gelöst wird, heiß dies, dass der Grammatikformalismus mehr mit der linguistischen Realität in Übereinstimmung gebracht werden muss. Hellwig, 2003/2004:10 18

Literatur Barton Jr., G. Edward; Berwick, Robert, C. und Eric Sven Ristad (1987). Computational Complexity and Natural Language. MIT Press. Hellwig, Peter (2003). Komplexitätstheorie. Kursfolien http://www.cl.uni-heidelberg.de/kurs/ws03/pars/stunde_14.pdf Hopcroft, John E. und Jeffrey D. Ullman (1988). Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. Bonn u. a.: Addison-Wesley, 1988 Hopcroft, John E. Rajeev Motwani und Jeffrey D. Ullman (2001). Einführung in die Automatentheorie, Formale Sprachen und Komplexität. Pearson Studium engl. Original: Introduction to Automata Theory, Languages and Computation. Addison-Wesley. Wikipedia. Die freie Enzyklopädie. www.wikipedia.de 19