Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

Ähnliche Dokumente
Rekursive Aufzählbarkeit Die Reduktion

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

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

Die Reduktion Hilberts 10. Problem

Reduktion / Hilberts 10. Problem

Unentscheidbarkeit des Halteproblems: Unterprogrammtechnik

Unentscheidbarkeit des Halteproblems: Unterprogrammtechnik

Unentscheidbarkeit des Halteproblems, Unterprogrammtechnik

Allgemeines Halteproblem Hilberts 10. Problem

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

Reduktionen. Formalisierung von Sprache A ist nicht schwerer als Sprache B.

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem

Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

Präsenzübung Berechenbarkeit und Komplexität

Mehrband-Turingmaschinen und die universelle Turingmaschine

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

Unentscheidbare Probleme: Diagonalisierung

Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine

Theoretische Informatik I

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

Das Halteproblem. H = { M w M hält auf w}.

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Akzeptierbarkeit und Entscheidbarkeit. Teil V.

VL-06: Unentscheidbarkeit II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

Universelle Turingmaschinen

Halteproblem/Kodierung von Turing-Maschinen

VL-03: Turing Maschinen II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Theoretische Grundlagen der Informatik

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Wie man eine Sprache versteht

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

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

Die Komplexitätsklassen P und NP

Weitere universelle Berechnungsmodelle

Turing Maschinen II Wiederholung

Unentscheidbarkeit von Problemen mittels Turingmaschinen

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

Grundlagen der Theoretischen Informatik

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Beispiel einer nicht berechenbaren Funktion: Busy Beaver

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

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

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

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

1 Eine Menge M Σ heißt (rekursiv) aufzählbar genau. 2 Die Familie aller aufzählbaren Mengen wird mit RE

Theoretische Informatik Mitschrift

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

Wiederholung. Organisatorisches. VL-09: Das Postsche Correspondenzproblem. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

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

Berechenbarkeitstheorie 14. Vorlesung

VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

Grundlagen der Theoretischen Informatik

Willkommen zur Vorlesung Komplexitätstheorie

Theoretische Grundlagen der Informatik. Vorlesung am 07. November INSTITUT FÜR THEORETISCHE INFORMATIK

Typ-0-Sprachen und Turingmaschinen

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Entscheidungsprobleme

Theoretische Informatik. Probabilistische Turingmaschinen PTM PTM. Rainer Schrader. 10. Juni 2009

Informatik III - WS07/08

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Grundlagen der Theoretischen Informatik

Theorie der Informatik

Einführung in die Theoretische Informatik I/ Grundlagen der Theoretischen Informatik. SS 2007 Jun.-Prof. Dr. Bernhard Beckert Ulrich Koch

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

6.4 Entscheidbarkeit. nein sein müssen, ist klar. THEO 6.4 Entscheidbarkeit 205/307 c Ernst W. Mayr

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

Satz von Rice. Lemma 39

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

Einführung in die Theoretische Informatik Tutorium IX

Vorlesung Berechenbarkeit und Komplexität

Algorithmentheorie 8. Vorlesung

11.1 Kontextsensitive und allgemeine Grammatiken

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

Kapitel 5. Entscheidbarkeit und Berechenbarkeit. 5.1 Entscheidbarkeit

THEORETISCHE INFORMATIK UND LOGIK

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

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

Das Halteproblem für Turingmaschinen

Entscheidungsprobleme

Mächtigkeit von WHILE-Programmen

Theoretische Informatik 1

Die Klasse NP und die polynomielle Reduktion

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

Einführung in die Theoretische Informatik

Musterlösung Informatik-III-Nachklausur

Theoretische Informatik 1

Rekursiv aufzählbare Sprachen

Unentscheidbarkeitssätze der Logik

2.5 Halteproblem und Unentscheidbarkeit

Registermaschine (RAM), Church-Turing-These

Transkript:

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 9. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 1 / 20

Semi-Entscheidbarkeit Eine Sprache L wird von einer TM M entschieden, wenn M auf jeder Eingabe hält, und M genau die Wörter aus L akzeptiert. Eine Sprache L, für die eine TM existiert, die L entscheidet, wird als rekursiv oder auch als entscheidbar bezeichnet. Eine Sprache L wird von einer TM M erkannt, wenn M jedes Wort aus L akzeptiert, und M kein Wort akzeptiert, das nicht in L enthalten ist. Def: Eine Sprache L, für die eine TM existiert, die L erkennt, wird als semi-entscheidbar bezeichnet. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 2 / 20

Beispiel Das Halteproblem H = { M w M hält auf w}. ist nicht entscheidbar. Behauptung: Das Halteproblem ist jedoch semi-entscheidbar. Folgendes TM-Programm erkennt H: 1) 2) Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 3 / 20

Aufzähler, Rekursive Aufzählbarkeit Definition Ein Aufzähler für eine Sprache L Σ ist eine Variante einer TM mit einem angeschlossenen Drucker im Sinne eines zusätzlichen Ausgabebandes, auf dem sich der Kopf nur nach rechts bewegt. Gestartet mit leerem Arbeitsband, gibt der Aufzähler alle Wörter aus L (möglicherweise mit Wiederholungen) auf dem Drucker aus. Die ausgegebenen Wörter sind dabei durch ein Zeichen getrennt, das nicht in Σ enthalten ist. Definition Eine Sprache, für die es einen Aufzähler gibt, heißt rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 4 / 20

Aufzähler Illustration S T E U E R U N G (Zustand & Kopfpos.)...... hihihi blubblubblub blablabla D R U C K E R.. A r b e i t s b a n d... A r b e i t s b a n d... A r b e i t s b a n d... A r b e i t s b a Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 5 / 20

rekursiv aufzählbar = semi-entscheidbar Satz Eine Sprache L ist genau dann semi-entscheidbar, wenn sie rekursiv aufzählbar ist. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 6 / 20

Beweis: L ist rekursiv aufzählbar L ist semi-entscheidbar Sei A ein Aufzähler für L. Wir konstruieren eine TM M, die L erkennt. Bei Eingabe w arbeitet M wie folgt: Korrektheit: Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 7 / 20

Beweis: L ist semi-entscheidbar L ist rekursiv aufzählbar Sei nun M eine TM M, die L erkennt. Wir konstruieren einen Aufzähler A für L. Programm von A: Korrektheit: Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 8 / 20

Schnitte von Sprachen Satz a) Wenn die Sprachen L 1 und L 2 rekursiv sind, so ist auch die Sprache L 1 L 2 rekursiv. b) Wenn die Sprachen L 1 und L 2 rekursiv aufzählbar sind, so ist auch die Sprache L 1 L 2 rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 9 / 20

Schnitte von Sprachen Beweis a) Seien M 1 und M 2 zwei TM, die L 1 bzw. L 2 entscheiden. TM M, die L 1 L 2 entscheidet: Korrektheit: Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 10 / 20

Schnitte von Sprachen Beweis b) Seien nun M 1 und M 2 zwei TM, die L 1 bzw. L 2 erkennen. TM M, die L 1 L 2 erkennt: Auf Eingabe w, simuliert M zunächst das Verhalten von M 1 auf w und dann das Verhalten von M 2 auf w. Falls M 1 und M 2 akzeptieren, so akzeptiert auch M. Wir verwenden dieselbe TM M wie in a) Korrektheit: Falls w L 1 L 2, so wird M von w akzeptiert. Sonst wird w nicht akzeptiert. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 11 / 20

Vereinigungen von Sprachen Satz a) Wenn die Sprachen L 1 und L 2 rekursiv sind, so ist auch die Sprache L 1 L 2 rekursiv. b) Wenn die Sprachen L 1 und L 2 rekursiv aufzählbar sind, so ist auch die Sprache L 1 L 2 rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 12 / 20

Vereinigungen von Sprachen Beweis a) Seien M 1 und M 2 zwei TM, die L 1 bzw. L 2 entscheiden. TM M, die L 1 L 2 entscheidet Auf Eingabe w, simuliert M zunächst das Verhalten von M 1 auf w und dann das Verhalten von M 2 auf w. Falls M 1 oder M 2 akzeptieren, so akzeptiert auch M. Sonst verwirft M die Eingabe. Korrektheit: Falls w L 1 L 2, so wird w von M 1 oder M 2 und somit auch von M akzeptiert. Sonst verwerfen M 1 und M 2, so dass auch M verwirft. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 13 / 20

Vereinigungen von Sprachen Beweis b) Seien nun M 1 und M 2 zwei TM, die L 1 bzw. L 2 erkennen. Welches Problem tritt auf, wenn wir die Simulation aus a) einfach übernehmen? Idee: Simuliere M 1 und M 2 parallel statt sequentiell. O.B.d.A. verwenden M 1 und M 2 denselben Zustandsraum Q und dasselbe Bandalphabet Γ. Die Übergangsfunktionen von M 1 und M 2 werden mit δ 1 bzw. δ 2 bezeichnet. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 14 / 20

Vereinigungen von Sprachen Beweis b) 2-Band TM M, die L 1 L 2 erkennt Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 15 / 20

Vereinigungen von Sprachen Beweis b) Korrektheit: Falls w L 1 L 2, so wird w von M 1 oder M 2 und somit auch von M akzeptiert. Sonst akzeptiert M die Eingabe nicht. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 16 / 20

2 rekursiv aufzählbar = rekursiv Lemma Seien L Σ und L = Σ \L rekursiv aufzählbar. Dann ist L rekursiv. Beweis: Seien M und M Maschinen, die L bzw. L erkennen. Die TM M entscheidet L durch eine parallele Simulation von M und M auf der Eingabe w: M akzeptiert w, sobald M akzeptiert. M verwirft w, sobald M akzeptiert. Da entweder w L oder w L, tritt eines dieser Ereignisse nach endlicher Zeit ein, so dass die Terminierung von M sichergestellt ist. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 17 / 20

Komplemente von Sprachen Beobachtung 1: Wenn die Sprache L rekursiv ist, so ist auch L rekursiv, da wir das Akzeptanzverhalten einer TM M, die M entscheidet invertieren können. Beobachtung 2: Die Menge der rekursiv aufzählbaren Sprachen ist hingegen nicht gegen Komplementbildung abgeschlossen. Beispiel: H ist rekursiv aufzählbar. Wäre H ebenfalls rekursiv aufzählbar, so wäre H rekursiv. Also ist H nicht rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 18 / 20

Schlussfolgerung Korollar Für jede Sprache L gilt eine der vier folgenden Eigenschaften. 1 L ist rekursiv und sowohl L als auch L sind rekursiv aufzählbar. 2 L ist rekursiv aufzählbar, aber L ist nicht rekursiv aufzählbar 3 L ist rekursiv aufzählbar, aber L ist nicht rekursiv aufzählbar 4 sowohl L als auch L sind nicht rekursiv aufzählbar Beispiele: Kategorie 1: Kategorie 2: Kategorie 3: Kategorie 4: Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 19 / 20

Berechenbarkeitslandschaft rek. aufz. Probleme z.b. H rekursive Probleme Probleme mit rek. aufz. Komplement z.b. D nicht rek. aufz. Probleme, deren Komplement ebenfalls nicht rek. aufz. ist z.b. H all Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität 9. November 2009 20 / 20