1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155
Überblick Zunächst einmal definieren wir formal den Begriff Entscheidbarkeit. Was bedeutet es überhaupt, daß ein Problem entscheidbar ist? Dann kommen wir zum Begriff Semi-Entscheidbarkeit. Hier wird erlaubt, daß das Entscheidungsverfahren bei einer negativen Antwort nicht terminiert und keine Antwort liefert. Anschließend geht es um negative Resultate. Wie kann man zeigen, daß ein Problem nicht entscheidbar ist? WS 11/12 156
Entscheidbarkeit und Semi-Entscheidbarkeit Definition Eine Sprache A Σ heißt entscheidbar, fallsdiecharakteristische Funktion von A, d.h. die Funktion χ A :Σ {0, 1} mit χ A (w) = 1 falls w A 0 falls w A berechenbar ist. Eine Sprache, die nicht entscheidbar ist, heißt unentscheidbar. WS 11/12 157
Darstellung der Entscheidbarkeit an einem Maschinenmodell: w Ja (Ausgabe 1) Nein (Ausgabe 0) Bei jeder Eingabe rechnet die Maschine endliche Zeit und gibt dann entweder Ja oder Nein aus. WS 11/12 158
Definition Eine Sprache A Σ heißt semi-entscheidbar, fallsdie halbe charakteristische Funktion von A, d.h. die partielle Funktion χ A :Σ {1} mit χ A(w) = 1 undefiniert falls w A falls w A berechenbar ist. Bei Semi-Entscheidbarkeit erlaubt man also, daß die berechnete Funktion χ A im negativen Fall undefiniert ist, d.h. keine Antwort zurückkommt. Bei konkreten Berechnungsmodellen bedeutet das dann Nicht-Terminierung. WS 11/12 159
Darstellung der Semi-Entscheidbarkeit an einem Maschinenmodell: w??? Ja (Ausgabe 1) Bei jeder Eingabe rechnet die Maschine und gibt im Fall w A nach endlicher Zeit Ja aus. Falls w A gilt, so terminiert die Maschine nicht. Das heißt, man kann sich nie sicher sein, ob nicht doch irgendwann Ja ausgegeben wird, da die Antwortzeit der Maschine nicht beschränkt ist. WS 11/12 160
Satz 26 Eine Sprache A ist semi-entscheidbar genau dann, wenn sie vom Typ 0 ist. Beweis: Die Typ-0-Sprachen sind nach Satz 5 genau die Sprachen, die von einer Turing-Maschine akzeptiert werden. : Eine Turing-Maschine, die die halbe charakteristische Funktion χ A berechnet, akzeptiert auch die Sprache A, dasienachschreibender1in einen Endzustand übergeht. : Sei M deterministische Turing-Maschine, die A akzeptiert. neue Turing-Maschine M wird aus M konstruiert: wenn M in Endzustand z E übergeht, lösche Band und schreibe 1, beiübergang in Haltekonfiguration ohne Endzustand wechsle in Fehlerzustand und laufe unendlich nach rechts. Diese TM berechnete χ A. WS 11/12 161
Zur Erinnerung: die Chomsky-Hierarchie Menge aller Sprachen Typ-0-Sprachen semi-entscheidbare Sprachen Typ-1-Sprachen kontextsensitive Sprachen Typ-2-Sprachen kontextfreie Sprachen Typ-3-Sprachen reguläre Sprachen WS 11/12 162
Bemerkungen: Im Zusammenhang mit Fragestellungen der Entscheidbarkeit werden Sprachen oft auch als Probleme bezeichnet. Auch wenn charakteristische Funktionen Wörter als Argumente haben, kann man sie leicht als Funktionen über natürlichen Zahlen auffassen und so mit While- bzw.goto-programmen berechnen: Jedes Wort aus Γ kann als Zahl zur Basis b aufgefaßt werden, wobei b Γ. (Siehe auch die Umwandlung Turing-Maschinen Goto-Programme.) Daher werden wir als Probleme im folgenden auch Teilmengen von N bzw. N k betrachten. WS 11/12 163
Typische Beispiele für Probleme: Beispiel 1: das Wortproblem Sei G eine Chomsky-Grammatik und das Problem sei L(G). In einer Hausaufgabe beweisen Sie, daß L(G) entscheidbarist,fallsg vom Typ 1 ist. Wir werden später sehen, daß es Grammatiken gibt, für die L(G) nicht entscheidbar ist. Beispiel 2: das allgemeine Wortproblem Das allgemeine Wortproblem ist die Menge A = {(w, G) w L(G), G Chomsky-Grammatik}, wobei die Paare (w, G) geeignet als Zeichenketten kodiert werden müssen. WS 11/12 164
Satz 27 Das allgemeine Wortproblem ist unentscheidbar. Beweis: Sei G eine Grammatik, für die das Wortproblem L(G) unentscheidbar ist. Wenn das allgemeine Wortproblem A entscheidbar wäre, so wäre auch L(G) entscheidbar: Für ein gegebenes Wort w müßte man nämlich nur überprüfen, ob (w, G) A gilt. Widerspruch! w G Maschine für allgemeines Wortproblem Ja Nein Maschine für (spezielles) Wortproblem WS 11/12 165
Das heißt, aus einer Maschine zur Lösung des allgemeinen Wortproblems könnte man eine Maschine zur Lösung des (speziellen) Wortproblems bauen. Da es letztere aber für die Grammatik G nicht gibt, kann es auch erstere nicht geben. Argumentationen dieser Art ( wenn es ein Verfahren für A gibt, dann kann man daraus ein Verfahren für B konstruieren ) bezeichnet man als Reduktionen. Wir werden sie im folgenden häufiger anwenden. WS 11/12 166
Beispiel 3: das Schnittproblem Das Schnittproblem für kontextfreie Grammatiken ist die Menge A = {(G 1, G 2 ) G 1, G 2 kontextfreie Grammatiken, L(G 1 ) L(G 2 )= }. Das Schnittproblem ist unentscheidbar (noch ohne Beweis). Bemerkung: in der Übung folgern Sie hieraus mit Hilfe des folgenden Satzes, daß es nicht einmal semi-entscheidbar ist. WS 11/12 167
Satz 28 Eine Sprache A Σ ist genau dann entscheidbar, wenn sowohl A als auch A =Σ \ A semi-entscheidbar sind. Beweis: Sei zunächst A entscheidbar. Dann ist also die charakterische Funktion χ A berechenbar mittels einer Turing-Maschine M. Die folgende Turing-Maschine M A berechnet die halbe charakteristische Funktion χ A von A: M A simuliert die Maschine M. Falls M mit der Ausgabe 0 terminiert, geht jedoch M A in eine Endlosschleife über. Also ist A semi-entscheidbar. WS 11/12 168
Die folgende Turing-Maschine M A berechnet die halbe charakteristische Funktion χ von A: A M A simuliert die Maschine M. Falls M mit der Ausgabe 1 terminiert, geht M A in eine Endlosschleife über. Falls M mit der Ausgabe 0 terminiert, so terminiert M A mit der Ausgabe 1. Also ist auch A semi-entscheidbar. Damit ist die erste Implikation gezeigt. WS 11/12 169
Seien umgekehrt sowohl A als auch A semi-entscheidbar. Dann existieren Turing-Maschinen M A und M A,dieχ A bzw. χ A berechnen. Der Algorithmus auf der folgenden Folie berechnet dann χ A. Sei w Σ. Wir unterscheiden 2 Fälle: 1 w A. Dann existiert t N, sodaßm A nach t Schritten terminiert. Wegen w / A terminiert M A niemals (und insbesondere nicht vorher). Damit terminiert der Algorithmus mit der korrekten Ausgabe 1=χ A (w). 2 w / A. Dann existiert t N, sodaßm A nach t Schritten terminiert. Wegen w / A terminiert M A niemals (und insbesondere nicht vorher). Damit terminiert der Algorithmus mit der korrekten Ausgabe 0=χ A (w). Dieses letzte Argument heißt mitunter Schwalbenschwanz-Argument. WS 11/12 170
Input w t := 1; While true Do If M A terminiert bei Eingabe w nach t Schritten Then Output(1) Elseif M A terminiert bei Eingabe w nach t Schritten Then Output(0) End t := t +1 End WS 11/12 171
Definition Eine Sprache A Σ heißt rekursiv aufzählbar, fallsa = oder es gibt eine totale und berechenbare Funktion f : N Σ mit A = {f (n) n N} = {f (1), f (2), f (3),...}. Bemerkungen: Sprechweise: die Funktion f zählt die Sprache A auf. Äquivalente Definition von rekursiver Aufzählbarkeit: es gibt eine totale, berechenbare und surjektive Funktion f : N A. WS 11/12 172
Satz 29 Eine Sprache A ist genau dann rekursiv aufzählbar, wenn sie semi-entscheidbar ist. Beweis: SeiA Σ rekursiv aufzählbare Sprache. Dann existiert berechenbare und totale Funktion f mit A = {f (n) n N}. Algorithmus, der χ A berechnet: Input w i := 1; While true Do If f (i) =w Then Output(1) End i := i +1 End WS 11/12 173
SeiA Σ semi-entscheidbar. 1. Fall: A = {w 0, w 1,...,w n } ist endlich dann setze wi falls i n f (i) = w n sonst Dann ist f berechenbar, total, mit Bild A. WS 11/12 174
2. Fall: A ist unendlich. Es gibt eine Turing-Maschine M =(Z, Σ, Γ,δ,z 0,, E) mita = T (M) Im Beweis von Satz 8 haben wir erfolgreiche Berechnungen von M durch Wörter c Ω mit Ω = Z Γ {#} beschrieben. Für eine solche erfolgreiche Berechnung c sei w(c) ihr Eingabewort. Input: i N c := ε; j := 0; While true Do c := das längenlexikographisch nach c kommende Wort aus Ω ; If c ist eine erfolgreiche Berechnung Then j := j + 1; If j = i Then Output w(c) End End berechnet totale Funktion mit Bild A: Sei c 1, c 2, c 3... die längenlexikographische Auflistung aller erfolgreichen Berechnungen von M. Dann berechnet dieser Algorithmus die Funktion i w(c i ). WS 11/12 175
Aus den Sätzen 5, 26 und 29 folgt, daß die folgenden Aussagen für eine Sprache A äquivalent sind. Semi-Entscheidbarkeit und äquivalente Begriffe A ist semi-entscheidbar (d.h. χ A ist berechenbar). A ist rekursiv aufzählbar (d.h. Bild einer totalen berechenbaren Funktion). A ist vom Typ 0 (d.h. von einer Grammatik erzeugt). A = T (M) für eine Turing-Maschine M (d.h. von einem Algorithmus akzeptiert). WS 11/12 176
Satz 30 Die folgenden Aussagen sind für A = äquivalent: 1 Aistsemi-entscheidbar(d.h.χ A ist berechenbar) 2 A ist rekursiv aufzählbar (d.h. Bild einer totalen berechenbaren Funktion) 3 A ist Bild einer partiellen berechenbaren Funktion 4 A ist Definitionsbereich einer partiellen berechenbaren Funktion. Beweis 1 2: schon gezeigt in Satz 29 2 3: trivial, da jede totale Funktion eine partielle Funktion ist 1 4: trivial, da χ A partielle berechenbare Funktion ist 4 1: ist f partielle berechenbare Funktion mit Definitionsbereich A, so gilt χ A (w) =k 1(f (w)). Also ist χ A berechenbar. WS 11/12 177
3 2: Sei f partielle berechenbare Funktion mit Bild A und a A beliebig. Definiere neue Funktion g mit g(u#v) = f (v) a falls f (v) nach u Schritten berechnet ist sonst Dies ist eine totale und berechenbare Funktion. Das Bild dieser Funktion ist gleich dem Bild von f (und damit A): Sei w = f (v). Dann existiert t N, so daß Berechnung von f (v) nach t N Schritten terminiert. Dann gilt g(0 t #v) =v. Also ist das Bild von f im Bild von g enthalten. Sei w = g(u#v), alsow {f (v), a}. Sowohl f (v) alsaucha sind aber im Bild von f enthalten. Also ist auch das Bild von g in dem von f enthalten. WS 11/12 178