Theoretische Informatik. Berechenbarkeit

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

Rekursiv aufzählbare Sprachen

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

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

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

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

abgeschlossen unter,,,, R,

Berechenbarkeit und Komplexität

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik

11.1 Kontextsensitive und allgemeine Grammatiken

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

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

8. Turingmaschinen und kontextsensitive Sprachen

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

2.4 Kontextsensitive und Typ 0-Sprachen

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen und Automaten

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Berechenbarkeit. Script, Kapitel 2

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Theoretische Informatik 1

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Theoretische Informatik 1

Speicherplatz-Komplexität 1 / 30

Mächtigkeit von WHILE-Programmen

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

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Einführung in die Theoretische Informatik

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Theoretische Informatik Kap 2: Berechnungstheorie

Wie viel Mathematik kann ein Computer?

Einführung in die Informatik

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Grundlagen der Theoretischen Informatik

Zusammenfassung Grundzüge der Informatik 4

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Theoretische Informatik SS 03 Übung 3

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

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

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Formale Sprachen und Automaten

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

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

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Theoretische Informatik

Theoretische Informatik Kap 1: Formale Sprachen/Automatentheorie

Theoretische Grundlagen der Informatik

Einführung in die Computerlinguistik deterministische und nichtdeterministische endliche Automaten

(Prüfungs-)Aufgaben zu formale Sprachen

Nichtdeterministische Platzklassen

Deterministischer Kellerautomat (DPDA)

Berechenbarkeits- und Komplexitätstheorie

Einführung in die Theoretische Informatik

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 3288

Sprachen und Automaten. Tino Hempel

Theoretische Informatik 1

Grundlagen der Theoretischen Informatik

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Wir haben eine Beziehung zwischen entscheidbar und rekursiv aufzählbar hergeleitet.

Grundlagen der Theoretischen Informatik

Komplexität und Komplexitätsklassen

Reguläre Sprachen und endliche Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten

Endliche Automaten. Endliche Automaten J. Blömer 1/23

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Vorlesung Theoretische Informatik

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

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

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

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

Einführung in die Theoretische Informatik

1 Vom Problem zum Programm

Theoretische Informatik 2

Ausgewählte unentscheidbare Sprachen

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

3. Ziel der Vorlesung

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

Grammatik konstruieren, Beispiel Ausdrücke der Aussagenlogik in zwei Prädikaten p und q und den Verknüpfungsoperationen. Produktionsregeln:

Was bisher geschah: Formale Sprachen

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Herzlich willkommen!!!

Theoretische Informatik

Beschreibungskomplexität von Grammatiken Definitionen

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

Sprachen/Grammatiken eine Wiederholung

Motivation natürliche Sprachen

Theoretische Grundlagen der Informatik

LOOP-Programme: Syntaktische Komponenten

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Lösungen zur 3. Projektaufgabe TheGI1

Theoretische Informatik

Theoretische Informatik I

Theorie der Informatik

Operationen auf endlichen Automaten und Transduktoren

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

Transkript:

Theoretische Informatik Berechenbarkeit 1

Turing Maschine Endlicher Automat mit unendlichem Speicher Ein Modell eines realen Computers Was ein Computer berechnen kann, kann auch eine TM berechnen. Was die TM nicht berechnen kann, kann auch ein Computer nicht berechnen. 2

Turing Maschine Zusatzfunktionen gegenüber einem DFA: Lesen und Schreiben auf einem Band Band nach links und rechts bewegen Band ist unendlich lang Endzustände (für OK oder Fehler) beenden, auch wenn noch Eingaben vorliegen TM Band 3

Turing Maschine Neue Übergangsfunktion: δ : Q x T Q x T x [L,R] Q : Zustandsmenge T : Alphabet auf dem Band [L,R] : Richtung der Bandbewegung Die Turingmaschine liest und schreibt bei jedem Schritt auf dem Band und bewegt es ständig hin und her. 4

Turing Maschine Beispiel einer Berechnung: 1. Prüfe die Eingabe, ob die Form a*b*c* stimmt 2. Fahre zum Anfang des Bandes zurück 3. Ersetze erstes a durch # und suche erstes b 4. Ersetze jedes c in bⁿ#*cⁿ durch # 5. Gehe zurück zu 2, bis kein a mehr da ist 6. Prüfe ob kein c mehr da ist, dann OK Was tut das Programm? 5

Chomsky Hierarchie Typ 3 reguläre Sprachen Endlicher Automat Typ 2 kontextfreie Sprachen Stackautomat Typ 1 kontextsensitive Sprachen Turingmaschine mit endlichem Band Typ 0 unbeschränkte Sprachen Turingmaschine mit unendlichem Band 6

Registermaschine DFA mit Zusatzeigenschaften: Unendliche Anzahl von Registern R i (i 0) Inkrementieren eines Registers Dekrementieren eines Registers bis 0 Test eines Registers auf 0 Registermaschinen modellieren reale Rechner etwas natürlicher 7

Registermaschinen Register- und Turingmaschinen sind äquivalent Beweis durch Simulation: Für alle Operationen einer Turing Maschine existiert ein Registermaschinenprogramm Für alle Operationen einer Registermaschine existiert ein Turingmaschinenprogramm Idee: Zahl im Register = Anzahl von bestimmten Symbolen auf dem Band 8

λ - Kalkül Modellierung realer Computer durch Chomsky (parallel zu Turing) λ x x + 2 * x (x ist gebundene Variable) α Konvertierung: Variablenumbennung λ x x + 2 * x <=> λ y y + 2 * y β Reduktion: Variablenersetzung (λ x x + 2 * x) (4 1) <=> (4 1) + 2 * (4 1) η Reduktion: Variablenentfernung λ x f x <=> f http://worrydream.com/alligatoreggs/ 9

λ Kalkül: Spielfiguren Hungrige Krokodile fressen alles Eier müssen beschützt werden 10

λ Kalkül: Familien Krokodile schützen die unter ihnen stehenden Familienmitglieder Jedes Ei braucht ein Krokodil 11

λ Kalkül: β Reduktion Hungrige Krokodile essen, was vor ihrem Maul steht. Das oberste Krokodil darf zuerst essen 12

λ Kalkül: β Reduktion Es werden ganze Familien gefressen Wer zuviel frißt, stirbt 13

λ Kalkül: β Reduktion Ungeschützte Eier schlüpfen Es schlüpft genau das, was gefressen wurde 14

λ Kalkül: β Reduktion Und es wird weiter gefressen 15

λ Kalkül: β Reduktion Längere Ausdrücke sind verschieden reduzierbar Lazy (verzögert) oder Strict (mit Werten) lazy strict 16

λ Kalkül: α Konvertierung Doppelte Farben müssen entfernt werden. 17

λ Kalkül Das λ Kalkül ist Basis aller modernen Programmiersprachen Turing Maschinen und λ Kalkül sind äquivalent Beide Verfahren definieren Algorithmen 18

Berechenbarkeit Was eine TM akzeptiert oder ablehnt, ist berechenbar (Church-Turing-These) Berechenbare Probleme <=> Algorithmus Aber: Endlosschleifen sind möglich Halteproblem: Kann man allein vom Sourcecode einer TM entscheiden, ob diese immer anhält? 19

Theoretische Informatik Komplexitätstheorie 20

Komplexität Ermittlung des Zeitverhaltens und des Platzbedarfes in Abhängigkeit von der Eingabe Drei Fälle: Bester Fall: Trivialität Schlechtester Fall: Schwerste Berechnung Durchschnittlicher Fall: Typisches Verhalten Nur asympthotische Abschätzung 21

Komplexität f=o(g) (Groß-O) Obere Abschätzung f(x) bleibt bei großen Werten unter g(x) Meist sieht f wie g aus Konstante Faktoren (Skalierung) entfällt O(1) Konstantes Verhalten O(n) Lineares Verhalten O(log n) Logarithmisches Verhalten 22

Komplexitätsklassen P Alle Algorithmen die O(n k ) sind Schnelles Finden der Lösung NP Alle Probleme deren Lösungsprüfalgorithmus in P liegt Schnelles Überprüfung der Lösung Offenes Problem der Informatik: Ist P und NP gleich? 23

Komplexitätsklassen PSPACE Probleme, die O(n k ) Platz mit deterministischen Algorithmen brauchen NPSPACE Probleme, die O(n k ) Platz mit nichtdeterministischen Algorithmen brauchen EXPTIME Probleme, die O(2 n ) Zeit brauchen P NP PSPACE = NPSPACE EXPTIME 24