Unentscheidbarkeitssätze der Logik

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

Die Church-Turing-These

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

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

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

Einführung in die Theoretische Informatik

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik

Das Halteproblem für Turingmaschinen

Theoretische Grundlagen der Informatik

Theoretische Informatik Mitschrift

Präsenzübung Berechenbarkeit und Komplexität

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

Wie man eine Sprache versteht

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Entscheidungsprobleme

Einführung in die Theoretische Informatik

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

Halteproblem/Kodierung von Turing-Maschinen

Einführung in die Theoretische Informatik Tutorium IX

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

Kapitel 5. Entscheidbarkeit und Berechenbarkeit. 5.1 Entscheidbarkeit

Algorithmentheorie 8. Vorlesung

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

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Einführung in die Theoretische Informatik

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

7. Übung TGI. Lorenz Hübschle-Schneider, Tobias Maier INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS. 1 Lorenz Hübschle-Schneider, Tobias Maier

Universelle Turingmaschinen

1 Prädikatenlogik: Korrektheit, Vollständigkeit, Entscheidbarkeit

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

Unentscheidbare Probleme bei formalen Sprachen

Die Unentscheidbarkeit extensionaler Eigenschaften von Turingmaschinen: der Satz von Rice

Grundlagen der Programmierung (Vorlesung 24)

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

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

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

FORMALE SYSTEME. 19. Vorlesung: Nichtdeterminismus und Unentscheidbarkeit. TU Dresden, 18. Dezember 2017

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

2.5 Halteproblem und Unentscheidbarkeit

Unentscheidbarkeit von Problemen mittels Turingmaschinen

Ein formales Berechnungsmodell: Turingmaschinen. Turingmaschinen 26 / 62

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

Berechenbarkeit und Komplexität

Angewandte Mathematik am Rechner 1

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

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

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

1.3.3 Allgemeingültigkeitsdefinierbarkeit durch eine Formel

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

Algorithmen und Komplexität, Teil II: Berechenbarkeit und Komplexität

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

Unentscheidbarkeit des Halteproblems: Unterprogrammtechnik

Unentscheidbarkeit. 1. Wann sind Sprachen unentscheidbar? 1, A 0, A } = {

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

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

Grundlagen Theoretischer Informatik 2 WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Nachklausur zur Vorlesung

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Rekursiv aufzählbare Sprachen

Turingautomaten Jörg Roth Turingautomaten

Theoretische Informatik. Berechenbarkeit

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

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

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

Berechenbarkeit und Komplexität

Algorithmentheorie 9. Vorlesung

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

Inhalt Theoretische Informatik WS17/18

Unentscheidbare Probleme: Diagonalisierung

Satz von Rice. Lemma 39

Theoretische Informatik Kap 2: Berechnungstheorie

Typen von Programmiersprachen

Informatik III - WS07/08

FORMALE SYSTEME. Rückblick. Die Turingmaschine. Church-Turing-These. 19. Vorlesung: Nichtdeterminismus und Unentscheidbarkeit

Unentscheidbare Probleme: Existenz, Diagonalsprache, Halteproblem

Grundlagen der Theoretischen Informatik

Grundkurs Theoretische Informatik

Grundkurs Theoretische Informatik

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

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

1.5 Turing-Berechenbarkeit

THEORETISCHE INFORMATIK UND LOGIK

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

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

Logik und Beweisbarkeit

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4.

14. Rekursiv aufzählbare Mengen

1.5 Turing-Berechenbarkeit

Grundlagen der Theoretischen Informatik

Grundbegriffe der Informatik Tutorium 13

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

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 11

Rekursive Aufzählbarkeit Die Reduktion

Universelle Maschinen und universelle Funktionen

Transkript:

Unentscheidbarkeitssätze der Logik Elmar Eder () Unentscheidbarkeitssätze der Logik 1 / 30

Die Zahlentheorie ist nicht formalisierbar Satz (Kurt Gödel) Zu jedem korrekten formalen System der Zahlentheorie gibt es eine geschlossene zahlentheoretische Formel H so, dass weder H noch H in dem System beweisbar ist. () Unentscheidbarkeitssätze der Logik 2 / 30

Beweisidee Sei u 1 := x 1. Definiere eine Formel Fx 1 durch Fx 1 := Bew(sb(x 1 u 1 zahl(x 1 ) )). Für eine Formel Gx 1 und für n := Gx 1 ist dann F n = Bew(sb(n u 1 zahl(n) )). sb(n u 1 zahl(n) ) ist aber die Gödelnummer von Gn, also von G Gx 1. F Gx 1 besagt also, dass G Gx 1 nicht beweisbar ist. Wählt man Gx 1 := Fx 1, so erhält man Sei H := F Fx 1. F Fx 1 F Fx 1 ist nicht beweisbar. Dann besagt H, dass H nicht beweisbar ist. () Unentscheidbarkeitssätze der Logik 3 / 30

Beweisidee (Fortsetzung) Die Formel H besagt also in etwa: Ich bin nicht beweisbar. H muss wahr sein. Andernfalls wäre H falsch und damit beweisbar im Widerspruch zur Korrektheit des Kalküls. Also ist H wahr und daher nicht beweisbar. Also ist H falsch und daher wegen der Korrektheit des Kalküls nicht beweisbar. () Unentscheidbarkeitssätze der Logik 4 / 30

Folgerung Für die Zahlentheorie gibt es keinen Kalkül, der korrekt und vollständig ist. Dies steht im Gegensatz zur reinen Prädikatenlogik erste Stufe, wo der vorgestellte Logikkalkül ein korrekter und vollständiger Kalkül ist. In der reinen Prädikatenlogik erster Stufe gilt jedoch () Unentscheidbarkeitssätze der Logik 5 / 30

Satz Die Menge aller natürlichen Zahlen, die nicht Gödelnummer einer allgemeingültigen Formel sind, ist nicht allgemeingültigkeitsdefinierbar: Es gibt keine Formel Ax 1 der Prädikatenlogik erster Stufe, die nur x 1 als freie Variable enthält, so, dass für alle geschlossenen Formeln G gilt Beweisidee indirekt (angenommen *) = A G = G. * Die Diagonalfunktion d : Fx 1 F Fx 1 ist primitivrekursiv. Es gibt daher eine Formel Bx 1, sodass für alle Fx 1 gilt = B Fx 1 = A F Fx 1 = F Fx 1. (wegen *) Setze Fx 1 : Bx 1. Dann = B Bx 1 = B Bx 1. Widerspruch () Unentscheidbarkeitssätze der Logik 6 / 30

Satz Die Widerspruchsfreiheit eines korrekten hinreichend ausdrucksstarken Kalküls der Zahlentheorie ist in dem Kalkül selbst nicht beweisbar. () Unentscheidbarkeitssätze der Logik 7 / 30

Unentscheidbarkeit der Terminierung von Programmen Elmar Eder () Unentscheidbarkeit der Terminierung von Programmen 8 / 30

Programmiersprachen Im Folgenden nehmen wir an, dass S eine Programmiersprache ist, die unter anderen die folgenden Strukturen und Konstrukte bietet: Datentyp der Wörter (Strings) Fallunterscheidung Endlosschleife () Unentscheidbarkeit der Terminierung von Programmen 9 / 30

Definition Seien X 1,..., X n Datenbereiche von S. Sei A X 1 X n. Dann sagen wir, A sei in S entscheidbar, wenn es in S ein Programm Q gibt derart, dass für alle x 1 X 1,..., x n X n gilt: Der Aufruf Q(x 1,..., x n ) liefert { ja, wenn (x1,..., x n ) A nein sonst. Definition Ein Programm P heiße selbstterminierend, wenn P als Eingabe ein Wort erwartet und bei Eingabe von P terminiert. () Unentscheidbarkeit der Terminierung von Programmen 10 / 30

Definition Wenn P ein Wort als Eingabe erwartet und bei Eingabe des Wortes w terminiert, heißt (P, w) ein terminierendes Paar. Sei T die Menge der terminierenden Paare. Satz T ist in S unentscheidbar. Beweis Angenommen, T wäre in S entscheidbar. Dann wäre die Menge der selbstterminierenden Programme in S entscheidbar. Dann gäbe es ein Programm ST derart, dass für alle Wörter P gilt: ST(P) liefert { ja, wenn P selbstterminierend ist nein sonst () Unentscheidbarkeit der Terminierung von Programmen 11 / 30

Beweis (Fortsetzung) Wir definieren ein Programm P 0 folgendermaßen: P 0 (P) : Wenn ST(P) ja liefert, dann gehe in Endlosschleife. Sonst brich ab. Dann gilt: P 0 ist selbstterminierend P 0 (P 0 ) terminiert Widerspruch ST(P 0 ) liefert nicht ja P 0 ist nicht selbstterminierend. () Unentscheidbarkeit der Terminierung von Programmen 12 / 30

Universelle Programmiersprachen Definition Eine Programmiersprache heißt universell oder Turing-vollständig, wenn man darin jede partiellrekursive Funktion implementieren kann. Beispiele Prolog Lisp Haskell C Ada Java () Unentscheidbarkeit der Terminierung von Programmen 13 / 30

Unentscheidbarkeit der Terminierung von Programmen Satz Nehmen wir die Church-Turing-These an. Beweis. Nehmen wir weiter an, die Programmiersprache S sei universell. Dann ist die Terminierung von Programmen von S ein unentscheidbares Problem. T Menge der terminierenden Paare (P, w). Nach dem vorigen Satz ist T nicht in S entscheidbar. Da S universell ist, ist T daher nicht rekursiv. Nach der Church-Turing-These ist T daher nicht entscheidbar. Also ist die Terminierung von Programmen von S unentscheidbar. () Unentscheidbarkeit der Terminierung von Programmen 14 / 30

Der Normalformsatz von Kleene Elmar Eder () Der Normalformsatz von Kleene 15 / 30

Der Normalformsatz von Kleene Satz Es gibt eine 1-stellige primitivrekursive Funktion U und zu jedem r N eine r + 2-stellige primitivrekursive Funktion T r so, dass für jede r-stellige partiellrekursive zahlentheoretische Funktion f eine natürliche Zahl e existiert so, dass f (x 1,..., x r ) = für alle (x 1,..., x r ) N r. { (U(µTr ))(e, x 1,..., x r ), falls dies definiert ist undefiniert sonst Definition Diese Zahl e nennt man einen Index der partiellen zahlentheoretischen Funktion f. Man schreibt dann oft f = {e} r. () Der Normalformsatz von Kleene 16 / 30

Bemerkung (U(µT r )) ist eine universelle partiellrekursive Funktion. Durch sie kann man jede partiellrekursive Funktion berechnen. Entsprechend gibt es auch für Programmiersprachen ein universelles Programm, einen sogenannten Interpreter, der jedes Programm der Programmiersprache simulieren kann. Auch für den Formalismus der Turingmaschinen (s. später) gibt es eine universelle Turingmaschine, die jede beliebige Turingmaschine simulieren kann. Entsprechendes gilt auch für alle anderen Formalismen zur Beschreibung partiell berechenbarer Funktionen. () Der Normalformsatz von Kleene 17 / 30

Chomsky-Grammatiken Elmar Eder () Chomsky-Grammatiken 18 / 30

Zur Definition des Begriffs des Semi-Thue-Systems und der Chomsky-Grammatik siehe Proseminar und Skript. Chomsky-Grammatiken werden hauptsächlich zur Beschreibung der Syntax von natürlichen Sprachen und von Programmiersprachen verwendet. Dazu eignen sich besonders die kontextfreien Chomsky-Grammatiken, die die Syntaxanalyse und Konstruktion von Strukturbäumen ermöglichen. Bequemere Darstellung von kontextfreien Grammatiken durch Backus-Naur-Form. Auch reguläre Ausdrücke auf der rechten Seite einer Regel erlaubt. Allgemeine Chomsky-Grammatiken können beliebige rekursiv aufzählbare Sprachen erzeugen. () Chomsky-Grammatiken 19 / 30

Turing-Maschinen Elmar Eder () Turing-Maschinen 20 / 30

Turing-Maschinen Zur Definition des Begriffs der Turing-Maschine siehe Proseminar und Skript. Turing-Maschinen definieren ein einfaches und doch universelles Maschinen-Modell. Turing-Maschinen erlauben die Berechnung beliebiger partiellrekursiver Funktionen. Turing-Maschinen erlauben die Beschreibung beliebiger rekursiv aufzählbarer Sprachen. Turing-Maschinen werden in der Komplexitätstheorie zur Definition und Untersuchung der Komplexität von Berechnungen verwendet. () Turing-Maschinen 21 / 30

Turing-Berechenbarkeit Definition Wenn eine Turingmaschine T eine Konfiguration ua S v im Startzustand in eine Konfiguration w bx im Haltezustand überführt, also uav T w b x, so H S H schreiben wir uav T wbx. Definition Sei f : ( ) r p. Wir sagen, f werde berechnet durch eine Turingmaschine T = (Q, Σ, S, H, δ), wenn für alle u 1,..., u r gilt Wenn (u 1,..., u r ) Def(f ), dann u 1 #... #u r # T f (u 1,..., u r )#. Andernfalls gibt es keine Berechnung, die mit u 1 #... #u r # beginnt und hält, d.h. im Zustand H endet. Man sagt dann, f sei turingberechenbar. S () Turing-Maschinen 22 / 30

Definition Eine partielle zahlentheoretische Funktion heißt turingberechenbar, wenn die entsprechende partielle Funktion auf dem einelementigen Alphabet { } turingberechenbar ist, wobei eine Zahl n als Wort { n } kodiert wird. Bemerkung Man kann Turing-Maschinen zusammensetzen und damit zeigen, dass eine Komposition von turingberechenbaren Funktionen wieder turingberechenbar sind. Ähnlich lassen sich Schleifen simulieren. So lässt sich zeigen, dass jede µ-partiellrekursive Funktion turingberechenbar ist. Wie für das Terminierungsproblem von Programmiersprachen zeigt man, dass das Halteproblem für Turingmaschinen, d.h. die Frage, ob eine Turingmaschine nach endlich vielen Schritten anhält, unentscheidbar ist. () Turing-Maschinen 23 / 30

Akzeptierte Sprache Definition Eine Turingmaschine akzeptiert ein Wort w, wenn sie bei Eingabe von w nach endlich vielen Schritten hält. Die von einer Turingmaschine akzeptierte Sprache ist die Menge der von ihr akzeptierten Wörter. Satz Eine Sprache wird genau dann von einer Turingmaschine akzeptiert, wenn sie rekursiv aufzählbar ist. () Turing-Maschinen 24 / 30

Universelle Turingmaschine Codiere Turingmaschine T als Wort [T ] über {0, 1}. Codiere Eingabe w als Wort [w] über {0, 1}. Codiere Paar (T, w) als Wort [T, w] über {0, 1}. Es gibt eine universelle Turingmaschine T u, die bei Eingabe der Codierung von [T, w] die Turingmaschine T bei Eingabe w simuliert. T u akzeptiert die universelle Sprache L u = {[T, w] T akzeptiert w} () Turing-Maschinen 25 / 30

Probleme und Sprachen Beispiel Beispiel Probleme in der Informatik werden oft als ja/nein-fragen gestellt. Einem solchen Problem entspricht dann eine Sprache und umgekehrt. Halteproblem: Gegeben eine Turingmaschine T und ein Eingabewort w. Hält T bei Eingabe w nach endlich vielen Schritten? Sprache: L u = {[T, w] T hält bei w} Erfüllbarkeitsproblem: Gegeben eine Formel F. Ist F erfüllbar? Sprache: Menge der Codierungen erfüllbarer Formeln () Turing-Maschinen 26 / 30

Probleme und Sprachen Beispiel Travelling Salesman-Problem: Gegeben ein Netz G von Städten und Straßen und eine Länge l. Gibt es eine Rundroute mit Länge l, die jede Stadt besucht? Sprache: Menge der Codierungen von Paaren (G, l), sodass es eine solche Rundroute gibt. () Turing-Maschinen 27 / 30

Von Turingmaschinen akzeptierte Sprachen Satz Eine Sprache wird genau dann von einer Turingmaschine akzeptiert, wenn sie rekursiv aufzählbar ist. () Turing-Maschinen 28 / 30

Cantor sches Diagonalverfahren Lemma Sei L := {[T ] T hält bei Eingabe [T ] nicht} Dann gibt es keine Turingmaschine, die L akzeptiert. Beweis. Angenommen, T 0 würde L akzeptieren. Dann würde für alle w {0, 1} gelten: Dann Widerspruch T 0 akzeptiert w w L T 0 akzeptiert [T 0 ] [T 0 ] L T 0 akzeptiert [T 0 ] nicht () Turing-Maschinen 29 / 30

Halteproblem Satz Das Halteproblem für Turingmaschinen ist nicht Turing-entscheidbar. Church-Turing-These nicht entscheidbar. () Turing-Maschinen 30 / 30