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