Theoretische Informatik

Ähnliche Dokumente
Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Tutorium IX

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

Halteproblem/Kodierung von Turing-Maschinen

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

Entscheidungsprobleme

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

Einführung in die Theoretische Informatik

Theoretische Grundlagen der Informatik

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

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

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

Entscheidungsprobleme

2.5 Halteproblem und Unentscheidbarkeit

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

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

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

Ausgewählte unentscheidbare Sprachen

Theoretische Informatik Mitschrift

Universelle Turingmaschinen

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

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

Ein Induktionsbeweis über Schuhgrößen

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

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

LOOP-Programme: Syntaktische Komponenten

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Musterlösung Informatik-III-Nachklausur

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

Grundlagen der Programmierung (Vorlesung 24)

Theoretische Grundlagen der Informatik

Unentscheidbare Probleme bei formalen Sprachen

Der Satz von Rice. Dann ist C(S) eine unentscheidbare Menge.

Aufgaben aus den Übungsgruppen 8(Lösungsvorschläge)

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

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

THEORETISCHE INFORMATIK UND LOGIK

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

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

Wie man eine Sprache versteht

Rekursive Aufzählbarkeit Die Reduktion

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Semantik von Programmiersprachen SS 2017

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

Theoretische Informatik I

Klausur zur Vorlesung Einführung in die Theoretische Informatik

Ausgewählte Kapitel Diskreter Mathematik mit Anwendungen

Theoretische Informatik SS 03 Übung 5

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

Satz von Rice. Lemma 39

Der erste Gödelsche Unvollständigkeitssatz

Berechenbarkeits- und Komplexitätstheorie

2. Klausur Einführung in die Theoretische Informatik Seite 1 von Welche der folgenden Aussagen zur Aussagenlogik ist falsch?

1 Algorithmische Grundlagen

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

Grundlagen der Theoretischen Informatik

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

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

Lösungsvorschläge zu Blatt Nr. 6

Präsenzübung Berechenbarkeit und Komplexität

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Theorie der Informatik

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 12

Grundlagen der Theoretischen Informatik

Theoretische Informatik. Alphabete, Worte, Sprachen

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

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

LOOP-Programme: Syntaktische Komponenten

Prüfungsprotokoll der mündlichen Prüfung Grundlagen der Theoretischen Informatik (Bachelor Informatik)

Logik und Beweisbarkeit

1.5 Turing-Berechenbarkeit

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

Theoretische Informatik SS 03 Übung 3

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

Berechenbarkeit und Komplexität Vorlesung 11

Automaten und formale Sprachen Klausurvorbereitung

Maße auf Produkträumen

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

10. UNENTSCHEIDBARE PROBLEME:

Nachklausur zur Vorlesung

1.5 Turing-Berechenbarkeit

Kapitel 5. Entscheidbarkeit und Berechenbarkeit. 5.1 Entscheidbarkeit

Berechenbarkeit und Komplexität

Turing-Maschine Definition

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

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

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Einwegfunktionen. Problemseminar. Komplexitätstheorie und Kryptographie. Martin Huschenbett. 30. Oktober 2008

Transkript:

Theoretische Informatik Lektion 10: Entscheidbarkeit Kurt-Ulrich Witt Wintersemester 2013/14 Kurt-Ulrich Witt Theoretische Informatik Lektion 10 1/15

Inhaltsverzeichnis Kurt-Ulrich Witt Theoretische Informatik Lektion 10 2/15

Übung 10 Aufgabe 3: N N = { ϕ : N N ϕ total } ist überabzählbar. = Es existieren überabzählbar viele nicht berechenbare Probleme. Kurt-Ulrich Witt Theoretische Informatik Lektion 10 3/15

Definition: Sei Σ ein Alphabet. Eine Menge L Σ ist entscheidbar, falls die charakteristische Funktion von L χ L : Σ { 0, 1 } definiert durch χ L (w) = ( 1, falls w L 0, falls w / L berechenbar ist. L heißt semi-entscheidbar, falls die semi-charakteristische Funktion χ L : Σ { 0, 1 } definiert durch berechenbar ist. χ L (w) = ( 1, falls w L, falls w / L Kurt-Ulrich Witt Theoretische Informatik Lektion 10 4/15

Satz 10a: L Σ ist genau dann entscheidbar, wenn sowohl L als auch L = Σ L semi-entscheidbar sind. Beweis : Ist L entscheidbar, dann ist χ L berechenbar. Wir definieren χ L (w) = ( 1, falls χl (w) = 1, falls χ L (w) = 0 sowie χ L (w) = ( 1, falls χ L (w) = 0, falls χ L (w) = 1 χ L und χ berechenbar L und L semi-entscheidbar. L : Es sei T L und T mit f L TL = χ L bzw. f T L = χ. Dann berechnet das folgende Programm χ L L : read(w); l := 0; fertig := false; while not fertig do if T L stoppt bei Eingabe w in l Schritten then x := 1; fertig := true else if T stoppt bei Eingabe w in l Schritten then x := 0; fertig := true L endif; l := l + 1 endwhile; write(x). Kurt-Ulrich Witt Theoretische Informatik Lektion 10 5/15

Definition: Sei Σ ein Alphabet. Eine Sprache L Σ heißt rekursiv-aufzählbar, falls L = ist, oder falls eine totale berechenbare Funktion f : N 0 Σ existiert, so dass für alle w L ein i existiert mit f (i) = w. Es gilt also L = W (f ) für eine total berechenbare Funktion f : N 0 Σ : L = { f (0), f (1), f (2),... } RE Σ = Klasse der rekursiv-aufzählbaren Sprachen über Σ. Kurt-Ulrich Witt Theoretische Informatik Lektion 10 6/15

Satz: Sei Σ ein Alphabet. Eine Sprache L Σ ist genau dann rekursiv-aufzählbar, wenn sie semi-entscheidbar ist. Beweis : Es sei f : N 0 Σ total berechenbar mit L = W (f ) und T Turingmaschine mit f T = f. Dann berechnet das folgende Programm χ L : read(w); read(w); i := 0; fertig := false; i := 0; while not fertig do while f T (i) w 0 do g(w, i) = f (i) w if f T (i) = w then x := 1; fertig := true endif; i := i + 1; i := i + 1; endwhile; endwhile; x := sign(i + 1); write(x ). write(x ). χ = C [sign; µ [g]] L : Es sei L, v L, und T Turingmaschine mit f T berechenbare Funktion f : N 0 Σ mit L = W (f ): = χ. Dann berechnet das folgende Programm eine total L read(i); if T bei Eingabe von cantor 1 (i) in cantor 1(i)-Schritten stoppt und 1 ausgibt 21 22 then w := cantor 1 21 (i) else w := v endif; write(w). Kurt-Ulrich Witt Theoretische Informatik Lektion 10 7/15

Satz: Sei Σ ein Alphabet und L Σ. Folgende Aussagen sind äquivalent: L ist rekursiv-aufzählbar (es gibt eine total berechenbare Funktion f : N 0 Σ mit L = W (f )). L ist semi-entscheidbar. χ L ist berechenbar. Es gibt eine Turingmaschine T, die L akzeptiert: L = L(T). Es gibt eine Typ-0-Grammatik G, die L erzeugt: L = L(G). Es gibt eine berechenbare Funktion g : Σ N 0 mit Def (g) = L. Es gibt eine Turingmaschine, welche die Wörter von L auf ein Band schreibt. Satz: Sei Σ ein Alphabet und L Σ. a) Dann ist L entscheidbar genau dann, wenn eine Turingmaschine existiert, welche die Wörter von L längen-lexikografisch geordnet auf ein Band schreibt. b) kss Σ R Σ. Kurt-Ulrich Witt Theoretische Informatik Lektion 10 8/15

Definition: Sei Σ ein Alphabet. L 1 Σ heißt reduzierbar auf L 2 Σ, falls es eine totale berechenbare Funktion f : Σ Σ gibt mit w L 1 genau dann, wenn f (w) L 2 für alle w Σ Ist L 1 reduzierbar auf L 2 (mittels der totalen berechenbaren Funktion f ), so schreiben wir L 1 L 2 (oder L 1 f L 2, falls die Funktion, mit der die Reduktion vorgenommen wird, genannt werden soll). Satz: Es seien L 1, L 2 Σ. Ist L 1 L 2 und ist L 2 entscheidbar oder semi-entscheidbar, dann ist auch L 1 entscheidbar bzw. semi-entscheidbar. Beweis (für Entscheidbarkeit, für Semi-Entscheidbarkeit analog) Wir definieren χ L1 : Σ { 0, 1 } durch χ L1 (w) = χ L2 (f (w)) Es gilt: χ L1 ist die charakteristische Funktion von L 1, denn es ist j ff j ff 1, f (w) L2 1, w L1 χ L2 (f (w)) = = = χ 0, f (w) / L 2 0, w / L L1 (w) 1 χ L1 ist berechenbar, denn f und χ L2 sind berechenbar. Kurt-Ulrich Witt Theoretische Informatik Lektion 10 9/15

Folgerung 10a: Es seien L 1, L 2 Σ. Ist L 1 L 2 und ist L 1 nicht entscheidbar oder nicht semi-entscheidbar, dann ist auch L 2 nicht entscheidbar bzw. nicht semi-entscheidbar. Kurt-Ulrich Witt Theoretische Informatik Lektion 10 10/15

Das Halteproblem oder H = { w&x Ω < T > = w und T stoppt bei Eingabe von x } H = { (i, j) j Def(ϕ i ) } Das Selbstanwendbarkeitsproblem (spezielles Halteproblem) oder K = { w Ω < T > = w und T stoppt bei Eingabe von w } K = { i i Def(ϕ i ) } Kurt-Ulrich Witt Theoretische Informatik Lektion 10 11/15

Satz 10b: K ist nicht entscheidbar. Beweis Annahme: K sei entscheidbar. Dann ist χ K berechenbar, d.h. es gibt ein p mit χ K = ϕ p. Wir definieren die Funktion g durch ( 1, falls ϕ p(j) = 0 g(j) =, falls ϕ p(j) = 1 g ist berechenbar, also gibt es ein q mit g = ϕ q. Damit gilt: Damit haben wir die Aussage ϕ q(q) = 1 genau dann, wenn g(q) = 1 genau dann, wenn ϕ p(q) = 0 genau dann, wenn χ K (q) = 0 genau dann, wenn q / K genau dann, wenn q / Def(ϕ q) genau dann, wenn ϕ q(q) = ϕ q(q) = 1 genau dann, wenn ϕ q(q) = hergeleitet, die offensichtlich einen Widerspruch darstellt. Unsere Annahme, dass K entscheidbar ist, muss also falsch sein. Kurt-Ulrich Witt Theoretische Informatik Lektion 10 12/15

Folgerung 10b: H ist nicht entscheidbar. Beweis Definiere f : N 0 N 0 durch f (i) = (i, i). Dann gilt f ist berechenbar. i K gdw. (i, i) H gdw. f (i, i) H also K H, also mit Folgerung 10a H nicht entscheidbar, da K nicht entscheidbar (Satz 10b). Satz 10c: K und H sind rekursiv-aufzählbar (semi-entscheidbar). Beweis χ K (i) = u ϕ(i, i) + 1) bzw. χ H (i, j) = u ϕ(i, j) + 1) Satz: K und H nicht rekursiv-aufzählbar (nicht semi-entscheidbar). Beweis Wegen Sätze 10a, 10b bzw. Folgerung 10b und Satz 10c. Satz: REG Σ kfs Σ kss Σ R Σ RE Σ P(Σ ) Kurt-Ulrich Witt Theoretische Informatik Lektion 10 13/15

Das Korrektheitsproblem Satz: Sei f : N 0 N 0 eine Funktion, dann ist die Menge P f = { i ϕ i = f } nicht rekursiv-aufzählbar, damit nicht semi-entscheidbar und somit auch nicht entscheidbar. Das Äquivalenzproblem Satz: Die Menge A = { (i, j) ϕ i = ϕ j } ist nicht rekursiv-aufzählbar, damit nicht semi-entscheidbar und somit auch nicht entscheidbar. Kurt-Ulrich Witt Theoretische Informatik Lektion 10 14/15

Der Satz von Rice: Sei E P mit E und E P, dann ist die Menge A = { i ϕ i E } nicht entscheidbar. Kurt-Ulrich Witt Theoretische Informatik Lektion 10 15/15