Unentscheidbare Probleme: Diagonalisierung

Ähnliche Dokumente
VL-05: Unentscheidbarkeit I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

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

Allgemeines Halteproblem Hilberts 10. Problem

Reduktion / Hilberts 10. Problem

Die Reduktion Hilberts 10. Problem

Rekursive Aufzählbarkeit Die Reduktion

Theoretische Grundlagen der Informatik

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

Präsenzübung Berechenbarkeit und Komplexität

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

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

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

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

Angewandte Mathematik am Rechner 1

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

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

Grundlagen der Theoretischen Informatik

Registermaschine (RAM), Church-Turing-These

Registermaschine (RAM), Church-Turing-These. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen

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

Entscheidungsprobleme

Grundlagen der Theoretischen Informatik

Einführung in die Theoretische Informatik

Analysis I. Guofang Wang Universität Freiburg

2.5 Halteproblem und Unentscheidbarkeit

Entscheidungsprobleme

THEORETISCHE INFORMATIK UND LOGIK

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

Universelle Turingmaschinen

Automaten, Formale Sprachen und Berechenbarkeit I Wichtige Begriffe

GTI. Hannes Diener Juli. ENC B-0123,

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

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

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

Unentscheidbarkeitssätze der Logik

Unentscheidbarkeit von Problemen mittels Turingmaschinen

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

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

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

Kapitel 5. Entscheidbarkeit und Berechenbarkeit. 5.1 Entscheidbarkeit

Einführung in die Theoretische Informatik

Folgen. Definition. Sei M eine beliebige Menge. Eine Abbildung a : N M oder a : N 0 M heißt eine Folge.

Mächtigkeit von WHILE-Programmen

Berechenbarkeit und Komplexität: Mächtigkeit von Programmiersprachen: WHILE- und LOOP-Programme

Berechenbarkeit und Komplexität

Kapitel IV. Endliche, abzählbare und überabzählbare Mengen. IV.1 Abzählbare Mengen

2 Mengen, Abbildungen und Relationen

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

Berechenbarkeit und Komplexität

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

Berechenbarkeit und Komplexität: Simulationen zwischen TM und RAM und die Church-Turing-These

2. Schriftliche Leistungskontrolle (EK)

Mengenlehre: Mächtigkeit (Ordnung) einer Menge

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

Theoretische Informatik Kap 2: Berechnungstheorie

Kapitel 1. Grundlagen

Probeklausur zur Vorlesung Berechenbarkeit und Komplexität

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

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

Theoretische Grundlagen der Informatik

Kapitel 1. Grundlagen Mengen

Einführung in die Computerlinguistik Berechenbarkeit, Entscheidbarkeit, Halteproblem

Theoretische Grundlagen der Informatik

Kapitel 1. Grundlagen

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

Die Komplexitätsklassen P und NP

Gleichmächtige Mengen

Mehrband-Turingmaschinen und die universelle Turingmaschine

Mathematik III. Vorlesung 61. Abzählbare Mengen

Ausgewählte unentscheidbare Sprachen

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit und Komplexität

1. Alphabete, Wörter, Sprachen

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Probleme über Sprachen. Teil II.

Sprachen und Programmiersprachen

(b) Man nennt die Menge M beschränkt, wenn sie nach oben und unten beschränkt ist.

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

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK 1. ALPHABETE, WÖRTER, SPRACHEN. Prof. Dr. Klaus Ambos-Spies. Sommersemester 2011

Die Klasse NP und die polynomielle Reduktion

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

Diskrete Strukturen Kapitel 2: Grundlagen (Relationen)

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

Turingautomaten Jörg Roth Turingautomaten

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

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

Grundlagen der Theoretischen Informatik

Logische Grundlagen der Mathematik, WS 2014/15

Turing-Maschine Definition

Übungsaufgaben Blatt 3

Wie viel Mathematik kann ein Computer?

Theoretische Informatik II

Einführung in die mathematische Logik

Kochrezept für NP-Vollständigkeitsbeweise

Der Lese-Schreib-Kopf kann auch angehalten werden (H). Die Verarbeitung ist dann beendet.

Hier ist ein einfaches Turingprogramm. Außer dem Leerzeichen ist das Band nur mit. 1 belegt.

Transkript:

Unentscheidbare Probleme: Diagonalisierung Prof Dr Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen Oktober 2011 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 1 / 15

Wdh: Die Church-Turing-These Kein jemals bisher vorgeschlagenes vernünftiges Rechnermodell hat eine größere Mächtigkeit als die TM Diese Einsicht hat Church zur Formulierung der folgenden These veranlasst Church-Turing-These Die Klasse der TM-berechenbaren Funktionen stimmt mit der Klasse der intuitiv berechenbaren Funktionen überein Wir werden deshalb nicht mehr von TM-berechenbaren Funktionen sprechen, sondern allgemein von berechenbaren Funktionen Gleichbedeutend verwenden wir den Begriff rekursive Funktion bzw rekursive oder auch entscheidbare Sprache Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 2 / 15

Gibt es nicht-rekursive Probleme? Ja, es gibt nicht-rekursive Probleme, denn die Mächtigkeit der Menge aller Sprachen ist größer als die Mächtigkeit der Menge aller TMen Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 3 / 15

Exkursion: abzählbare und überabzählbare Mengen Def: abzählbare Menge Eine Menge M heißt abzählbar, wenn es eine surjektive Funktion c : N M gibt Jede endliche Menge M ist offensichtlich abzählbar Im Fall einer abzählbar unendlichen Menge M gibt es immer auch eine bijektive Abbildung c : N M, denn Wiederholungen können bei der Abzählung offensichtlich ausgelassen werden Die Elemente einer abzählbaren Menge können also nummeriert werden Abzählbar unendliche Mengen haben somit dieselbe Mächtigkeit wie die Menge der natürlichen Zahlen N Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 4 / 15

Exkursion: abzählbare und überabzählbare Mengen Beispiele für abzählbar unendliche Mengen: die Menge der ganzen Zahlen Z: c(i) = { i/2 falls i gerade (i + 1)/2 falls i ungerade die Menge der rationalen Zahlen Q Σ, die Menge der Wörter über einem endlichen Alphabet Σ Beispiel: {0, 1} in kanonischer Reihenfolge ɛ, 0, 1, 00, 01, 10, 11, 000, 001, 010, 011, 100, 101, Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 5 / 15

Exkursion: abzählbare und überabzählbare Mengen Beispiele für abzählbar unendliche Mengen: die Menge der Gödelnummern, da Gödelnummern Wörter über dem Alphabet {0, 1} sind, und somit auch die Menge der TMen, weil jede TM durch eine eindeutige Gödelnummer beschrieben wird Das i-te Wort gemäß der kanonischen Reihenfolge bezeichnen wir im Folgenden mit w i und die i-te TM mit M i Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 6 / 15

Exkursion: abzählbare und überabzählbare Mengen Nun betrachte die Potenzmenge P(N), also die Menge aller Teilmengen von N Satz: Die Menge P(N) ist überabzählbar Beweis: (Diagonalisierung) Zum Zweck des Widerspruchs nehmen wir an, dass P(N) abzählbar ist Mit S i bezeichnen wir die i-te Menge aus P(N) Wir definieren eine zwei-dimensionale unendliche Matrix (A i,j ) i N,j N mit A i,j = { 1 falls j Si 0 sonst Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 7 / 15

Exkursion: abzählbare und überabzählbare Mengen Illustration: die Matrix A könnte etwa folgendermaßen aussehen 0 1 2 3 4 5 6 S 0 0 1 1 0 1 0 1 S 1 1 1 1 0 1 0 1 S 2 0 0 1 0 1 0 1 S 3 0 1 1 0 0 0 1 S 4 0 1 0 0 1 0 1 S 5 0 1 1 0 1 0 0 S 6 1 1 1 0 1 0 1 Wir definieren die Menge S diag = {i N A i,i = 1} Das Komplement dieser Menge ist S diag = N \ S diag = {i N A i,i = 0} Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 8 / 15

Exkursion: abzählbare und überabzählbare Mengen Beachte: Auch S diag ist eine Teilmenge von N und kommt somit in der Aufzählung S 1, S 2, von P(N) vor Es gibt also ein k N, so dass S diag = S k Jetzt gibt es zwei Fälle, die jeweils zum Widerspruch führen Fall 1: A k,k = 1 Def S diag Def A k S diag k S k A k,k = 0 Fall 2: Widerspruch! A k,k = 0 Def S diag Def A k S diag k S k A k,k = 1 Folglich gibt es keine Aufzählung von P(N) Widerspruch! Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 9 / 15

Wie viele verschiedene Entscheidungsprobleme gibt es? Jedes Entscheidungsproblem mit binär kodierter Eingabe entspricht einer Sprache über dem Alphabet {0, 1} und umgekehrt Eine Sprache L über dem Alphabet {0, 1} ist eine Teilmenge von {0, 1} Sei L die Menge aller Sprachen (bzw Entscheidungsprobleme) über {0, 1} L ist somit die Menge aller Teilmengen also die Potenzmenge über {0, 1}, dh L = P({0, 1} ) Wir beobachten: {0, 1} hat dieselbe Mächtigkeit wie N L = P({0, 1} ) hat somit dieselbe Mächtigkeit wie P(N) Die Menge der Entscheidungsprobleme L ist also überabzählbar Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 10 / 15

Existenz unentscheidbarer Probleme Es gibt überabzählbar viele Sprachen Aber es gibt nur abzählbar viele TMen Schlussfolgerung Es gibt nicht-rekursive Sprachen Die reine Existenz unentscheidbarer Probleme ist noch nicht dramatisch, denn es könnte sich ja um uninteressante, nicht praxis-relevante Probleme handeln Leider werden wir sehen, dass diese Hoffnung sich nicht bestätigt Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 11 / 15

Das Halteproblem Beim Halteproblem geht es darum, zu entscheiden, ob ein gegebenes Programm mit einer gegebenen Eingabe terminiert In der Notation der TMen ergibt sich die folgende formale Problemdefinition H = { M w M hält auf w} Es wäre äußerst hilfreich, wenn Compiler das Halteproblem entscheiden könnten Wir werden jedoch sehen, dass dieses elementare Problem nicht entscheidbar ist Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 12 / 15

Unentscheidbarkeit der Diagonalsprache Zum Beweis der Unentscheidbarkeit des Halteproblems machen wir einen Umweg über die sogenannte Diagonalsprache D = { w {0, 1} w = w i und M i akzeptiert w nicht} Anders gesagt, das i-te Wort bzgl der kanonischen Reihenfolge, also w i, ist genau dann in D, wenn die i-te TM, also M i, dieses Wort nicht akzeptiert Satz: Die Diagonalsprache D ist nicht rekursiv Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 13 / 15

Unentscheidbarkeit der Diagonalsprache Intuition Warum trägt die Sprache den Namen Diagonalsprache? Betrachte eine unendliche binäre Matrix A mit A i,j = { 1 falls Mi akzeptiert w j 0 sonst Beispiel: w 0 w 1 w 2 w 3 w 4 M 0 0 1 1 0 1 M 1 1 0 1 0 1 M 2 0 0 1 0 1 M 3 0 1 1 1 0 M 4 0 1 0 0 0 Die Diagonalsprache läßt sich auf der Diagonale der Matrix ablesen Es ist D = {w i A i,i = 0} Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 14 / 15

Unentscheidbarkeit der Diagonalsprache Beweis Beweis: Wir führen einen Widerspruchsbeweis und nehmen an, D ist rekursiv Dann gibt es eine TM M j, die D entscheidet Wir starten die TM M j mit der Eingabe w j Es ergeben sich zwei Fälle, die jeweils direkt zum Widerspruch führen Fall 1: w j D M j entsch D Def von D M j akzeptiert w j w j D Fall 2: w j D M j entsch D M j akzeptiert w j nicht Def von D Widerspruch! w j D Widerspruch! Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und Komplexität Oktober 2011 15 / 15