Rekursive Aufzählbarkeit Die Reduktion

Ähnliche Dokumente
Die Komplexitätsklassen P und NP

Mächtigkeit von WHILE-Programmen

Komplexität und Komplexitätsklassen

Theoretische Informatik 2

Theoretische Grundlagen der Informatik

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

Grammatiken und die Chomsky-Hierarchie

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

Zusammenfassung Grundzüge der Informatik 4

GTI. Hannes Diener. 6. Juni Juni. ENC B-0123, diener@math.uni-siegen.de

Grundlagen der Theoretischen Informatik

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

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

3. Ziel der Vorlesung

Grundlagen der Theoretischen Informatik, SoSe 2008

Theoretische Informatik II

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

effektives Verfahren ~ Algorithmus (Al Chwarismi) Regelsystem, Methode, Rezept, Gebrauchsanleitung Programm (griech. προγραφω, vor-schreiben)

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

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen.

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

Einführung in die Theoretische Informatik

Zur Vereinfachung betrachten wir nun nur noch Funktionen f, die einen Funktionswert f nµberechnen. Sie werden alle in einer Tabelle dargestellt:

Theoretische Informatik

Wortproblem für kontextfreie Grammatiken

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

Algorithmentheorie Maximale Flüsse

THEORETISCHE INFORMATIK

Algorithmen und Komplexität Teil 1: Grundlegende Algorithmen

Algorithmen und Berechnungskomplexität I

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Theoretische Informatik 2

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

Mathematische Maschinen

Approximationsalgorithmen

Beispiel vor dem Beweis:

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

Das P versus N P - Problem

Der Kurs bestand aus zwei Teilen. Mit welchem Teil wollen Sie anfangen? Ich habe mich für Teil A entschieden.

Teil II. Nichtlineare Optimierung

TEIL III: FORMALE SPRACHEN

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

Nichtlineare Optimierung ohne Nebenbedingungen

Das Briefträgerproblem

5. Varianten des Turingmaschinen-Konzeptes I: Varianten der Programmstruktur

Algorithmische Methoden der Netzwerkanalyse

Theoretische Informatik

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

Lösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung)

Theoretische Informatik

Grammatiken. Einführung

Sprachen/Grammatiken eine Wiederholung

Algorithmen & Programmierung. Aspekte von Algorithmen

Informatik IC2. Balazs Simon

Cramer-Shoup-Variante des ElGamal-Kryptoschemas

Grundbegriffe der Informatik

WS 2013/14. Diskrete Strukturen

Grundbegriffe der Informatik

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

Wissensbasierte Systeme

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

Grundbegriffe der Informatik

Zusammenstellung von Fragen der Vordiplomsprüfung Theoretische Informatik (Kurse 1653/54)

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

Theoretische Informatik und Logik, VU 4.0 (Teil1: Automaten und Formale Sprachen)

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Numerische Verfahren und Grundlagen der Analysis

1 Vom Problem zum Programm

Einfache Rechenstrukturen und Kontrollfluss II

Grundlagen der Künstlichen Intelligenz

Automaten, Formale Sprachen und Berechenbarkeit I. Skript zur Vorlesung im WS 2001/02 an der TU München

Theoretische Informatik - Zusammenfassung

Prolog basiert auf Prädikatenlogik

Grundbegriffe der Informatik

Formale Sprachen und deren Grammatiken. Zusammenhang mit der Automatentheorie.

Primzahlzertifikat von Pratt

Software-Engineering SS03. Zustandsautomat

Informatik II Greedy-Algorithmen

Programmiersprachen und Übersetzer

Data Mining: Einige Grundlagen aus der Stochastik

Program = Logic + Control

Kopieren, Drucken, Scannen mit den Multifunktionsgeräten der Firma Canon an der Universität Augsburg

Automatentheorie Berechnungsmodell für logische Sprachen

2.11 Kontextfreie Grammatiken und Parsebäume

Institut für Informatik. Rheinische Friedrich-Wilhelms-Universität Bonn

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

Kompetitive Analysen von Online-Algorithmen

Lernen Formaler Sprachen

Theoretische Grundlagen der Informatik

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Approximationsalgorithmen

TEILWEISE ASYNCHRONE ALGORITHMEN

Kapitel 1: Einführung. Was ist Informatik? Begriff und Grundprobleme der Informatik. Abschnitt 1.1 in Küchlin/Weber: Einführung in die Informatik

Transkript:

Rekursive Aufzählbarkeit Die Reduktion Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen November 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 1 / 25

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 November 2011 2 / 25

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: Erhält M eine Eingabe der Form M w so simuliert M die TM M mit Eingabe w, und akzeptiert, falls M auf w hält. Syntaktisch inkorrekte Eingaben werden von M verworfen. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 3 / 25

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 November 2011 4 / 25

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 November 2011 5 / 25

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 November 2011 6 / 25

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: M simuliert A mit Hilfe einer Spur, die die Rolle des Druckers übernimmt. Wenn immer ein neues Wort gedruckt worden ist, vergleicht M dieses Wort mit w und akzeptiert bei Übereinstimmung. Korrektheit: Falls w L, so wird w irgendwann gedruckt und somit von M akzeptiert. Falls w L, so wird w nicht gedruckt und somit nicht akzeptiert. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 7 / 25

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: For i = 1, 2, 3,... Simuliere i Schritte von M auf jedem Wort aus w 1,..., w i. Wird dabei eines der Worte akzeptiert, so drucke es aus. Korrektheit: A druckt offensichtlich nur Wörter aus L aus. Aber druckt er auch alle Wörter aus L aus? Sei w k ein Wort aus L. Dann wird w k von M nach einer endlichen Anzahl von Schritten, sagen wir nach t k vielen Schritten, akzeptiert. D.h. w k wird von A ausgedruckt, und zwar in jeder Iteration i max{k, t k }. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 8 / 25

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 November 2011 9 / 25

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: 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 das Wort w akzeptieren, so akzeptiert auch M; sonst wird w von M verworfen. Korrektheit: Falls w L 1 L 2, so wird M akzeptiert. Sonst wird w verworfen. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 10 / 25

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 w von M akzeptiert. Sonst wird w nicht akzeptiert. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 11 / 25

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 November 2011 12 / 25

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 akzeptiert, 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 November 2011 13 / 25

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... Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 14 / 25

Vereinigungen von Sprachen Beweis b) TM M, die L 1 L 2 erkennt Wir nehmen o.b.d.a. an, dass M über zwei Bänder verfügt. Auf Band 1 wird M 1 auf w simuliert. Auf Band 2 wird M 2 auf w simuliert. Sobald ein Schritt erreicht wird, in dem M 1 oder M 2 akzeptieren, so akzeptiert auch M. Korrektheit: Falls w L 1 L 2, so wird w von M 1 oder M 2 und somit auch von M akzeptiert. Sonst wird w nicht akzeptiert. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 15 / 25

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 November 2011 16 / 25

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 nach Lemma rekursiv. Also ist H nicht rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 17 / 25

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: Graphzusammenhang, Hamiltonkreis Kategorie 2: H, H ɛ, D Kategorie 3: D, H, H ɛ Kategorie 4: H all = { M M hält auf jeder Eingabe} Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 18 / 25

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 November 2011 19 / 25

Allgemeines Halteproblem Das allgemeine Halteproblem ist definiert als H all = { M M hält auf jeder Eingabe} Wie kann man nachweisen, dass sowohl H all als auch H all nicht rekursiv aufzählbar sind? Wir verwenden eine spezielle Variante der Unterprogrammtechnik, die Reduktion. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 20 / 25

Die Reduktion Definition Es seien L 1 und L 2 Sprachen über einem Alphabet Σ. Dann heißt L 1 auf L 2 reduzierbar, Notation L 1 L 2, wenn es eine berechenbare Funktion f : Σ Σ gibt, so dass für alle x Σ gilt x L 1 f (x) L 2. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 21 / 25

Die Reduktion Lemma Falls L 1 L 2 und L 2 rekursiv aufzählbar ist, so ist L 1 rekursiv aufzählbar. Beweis: Wir konstruieren eine TM M 1, die L 1 erkennt, durch Unterprogrammaufruf einer TM M 2, die L 2 erkennt: Die TM M 1 berechnet f (x) aus ihrer Eingabe x. Dann simuliert M 1 die TM M 2 mit der Eingabe f (x) und übernimmt das Akzeptanzverhalten. Korrektheit: M 1 akz x M 2 akz f (x) f (x) L 2 x L 1. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 22 / 25

Die Reduktion x M 1 f(x) M 2 accept reject Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 23 / 25

Wdh: Die Reduktion Im Umkehrschluss gilt: Lemma Falls L 1 L 2 und L 1 nicht rekursiv aufzählbar ist, so ist L 2 nicht rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 24 / 25

Anwendung der Reduktion H ɛ ist nicht rekursiv, aber rekursiv aufzählbar. Folglich ist H ɛ nicht rekursiv aufzählbar. Wir zeigen nun Behauptung A H ɛ H all Behauptung B H ɛ H all Aus diesen Reduktionen folgt: Satz Sowohl H all als auch H all sind nicht rekursiv aufzählbar. Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität November 2011 25 / 25