1x1 - Theoretische Informatik
1x1 - Theoretische Informatik
1x1 - Theoretische Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Vorlesung “Berechenbarkeit und Komplexität”<br />
alias<br />
“<strong>Theoretische</strong> <strong>Informatik</strong>: Komplexitätstheorie und<br />
effiziente Algorithmen”<br />
Wintersemester 2011/12<br />
Prof. Barbara König<br />
Übungsleitung: Henning Kerstan & Jan Stückrath<br />
Barbara König BeKo/TI 1
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Unentscheidbare Probleme<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Wir verwenden nun die Reduktions-Beweistechnik und zeigen die<br />
Unentscheidbarkeit folgender Probleme:<br />
Unentscheidbarkeit des Adventure-Problems (Level 4)<br />
Es ist unentscheidbar, ob ein gegebenes Adventure des<br />
Levels 4 eine Lösung besitzt.<br />
Postsches Korrespondenzproblem PCP<br />
PCP: ein kombinatorisches Problem auf Wörtern, wichtiges<br />
(Hilfs-)Problem, um damit die Unentscheidbarkeit anderer<br />
Probleme zu zeigen<br />
Schnittproblem für kontextfreie Grammatiken<br />
Barbara König BeKo/TI 181
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Adventures bestehen aus Graphen bzw. Automaten, die mit<br />
folgenden Symbolen markiert sind:<br />
Drachen:<br />
Schwert:<br />
Fluss:<br />
Torbogen:<br />
Tür:<br />
Schlüssel:<br />
Schatz:<br />
Barbara König BeKo/TI 182
1<br />
13<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
2<br />
3<br />
10<br />
7<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
4<br />
8<br />
9<br />
5 6<br />
11<br />
14 15 16<br />
Barbara König BeKo/TI 183<br />
12
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Regeln:<br />
Die Schatz-Regel<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Man muss mindestens zwei Schätze finden.<br />
Tür-Regel<br />
Die Schlüssel sind magisch und verschwinden sofort, nachdem eine<br />
Tür mit ihnen geöffnet wurde. Sobald man eine Tür durchschritten<br />
hat, schließt sie sich sofort wieder.<br />
Barbara König BeKo/TI 184
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Drachen-Regel<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Unmittelbar nach der Begegnung mit einem Drachen muss man in<br />
einen Fluss springen, da uns der Drache in Brand stecken wird.<br />
Dies gilt nicht mehr, sobald man ein Schwert besitzt, mit dem man<br />
den Drachen vorher töten kann.<br />
Schwerter werden jedoch durch das Drachenblut unbenutzbar,<br />
sobald man einen Drachen damit getötet hat. Außerdem werden<br />
Drachen sofort wieder “ersetzt”.<br />
Barbara König BeKo/TI 185
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Schlüssel-Regel<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Der magische Torbogen kann nur passiert werden, wenn man<br />
keinen Schlüssel besitzt.<br />
Schwert-Regel<br />
Ein Fluss kann nur passiert werden, wenn man kein Schwert besitzt<br />
(weil man sonst ertrinkt!).<br />
Barbara König BeKo/TI 186
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Gegeben ist ein Adventure durch eine Karte bzw. einen endlichen<br />
Automaten M. Das Adventure-Problem (Level 4) lautet<br />
folgendermaßen:<br />
A4 = {M | es gibt einen Pfad von einem Anfangs- zu einem<br />
Endzustand von M, der alle Regeln erfüllt}.<br />
Dabei sollen die Automaten M in entsprechender Kodierung als<br />
Eingabe zur Verfügung gestellt werden.<br />
Barbara König BeKo/TI 187
1<br />
13<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
2<br />
3<br />
10<br />
7<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
4<br />
8<br />
9<br />
5 6<br />
11<br />
14 15 16<br />
Barbara König BeKo/TI 188<br />
12
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Wir zeigen die Unentscheidbarkeit von A4 durch Reduktion des<br />
Halteproblems für Goto-Programme (mit zwei Variablen x1, x2<br />
und initialer Variablenbelegung 0) auf A4.<br />
Annahmen:<br />
Um die Kodierung graphisch darstellen zu können,<br />
repräsentieren wir Goto-Programme durch Flussdiagramme,<br />
bei denen die Sprungmarken durch Pfeile ersetzt werden.<br />
Wir betrachten nur Zuweisungen der Form xi := xi + 1 bzw.<br />
xi := xi − 1 und Vergleiche mit 0 (alle anderen Zuweisungen<br />
bzw. Vergleiche können simuliert werden)<br />
Barbara König BeKo/TI 189
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Intuition:<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Tür- und Schlüssel-Regel: wird zur Simulation einer Variable<br />
x1 benutzt (mit Inkrementierung und Nulltest).<br />
Drachen- und Schwert-Regel: wird zur Simulation einer<br />
Variable x2 benutzt<br />
Barbara König BeKo/TI 190
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Übersetzung: Goto-Programm → Adventure<br />
x1 := x1 + 1<br />
x1 := x1 − 1<br />
Barbara König BeKo/TI 191
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Übersetzung: Goto-Programm → Adventure<br />
x1 = 0<br />
yes no<br />
If . . . Then. . .<br />
Barbara König BeKo/TI 191
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Übersetzung: Goto-Programm → Adventure<br />
x2 := x2 + 1<br />
x2 := x2 − 1<br />
Barbara König BeKo/TI 191
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Übersetzung: Goto-Programm → Adventure<br />
x2 = 0<br />
yes no<br />
If . . . Then. . .<br />
Barbara König BeKo/TI 191
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Übersetzung: Goto-Programm → Adventure<br />
Halt<br />
Mit “Schatz” beschriftete Transitionen können auch zum Zusammenfügen<br />
der einzelnen Teilautomaten verwendet werden.<br />
Barbara König BeKo/TI 191
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Beispiel:<br />
Übersetze das folgende Goto-Programm in ein Adventure durch<br />
Zusammensetzen der einzelnen Teil-Automaten:<br />
x1 := x1 + 1; x1 := x1 + 1;<br />
M1 : If x1 = 0 Then Goto M2;<br />
x1 := x1 − 1; x2 := x2 + 1;<br />
Goto M1;<br />
M2 : Halt<br />
M2<br />
Barbara König BeKo/TI 192<br />
M1
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Goto-Programm → Adventure<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Ein Goto-Programm (bei dem alle Variablen am Anfang mit 0<br />
belegt werden) hält genau dann, wenn das entsprechend übersetzte<br />
Adventure eine Lösung hat.<br />
Wir können diese Kodierung daher als Reduktionsfunktion f<br />
auffassen und es folgt:<br />
Unentscheidbarkeit des Adventure-Problems (Level 4)<br />
Das Adventure-Problem A4 ist unentscheidbar.<br />
Barbara König BeKo/TI 193
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Tag der offenen Tür 2011 an der TU München . . .<br />
Barbara König BeKo/TI 194
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Adventure-Problem (Level 4)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Barbara König BeKo/TI 194
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Postsches Korrespondenzproblem<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Wir betrachten nun ein wichtiges unentscheidbares Problem, das<br />
dazu benutzt wird, die Unentscheidbarkeit vieler anderer Probleme<br />
zu zeigen:<br />
Postsches Korrespondenzproblem (PCP)<br />
Eingabe: Eine endliche Folge von Wortpaaren<br />
(x1, y1), . . . , (xk, yk) mit xi, yi ∈ Σ + .<br />
(Dabei ist Σ ein beliebiges Alphabet.)<br />
Ausgabe: Gibt es eine Folge von Indizes<br />
i1, . . . , in ∈ {1, . . . , k}, n ≥ 1 mit xi1 . . . xin = yi1 . . . yin?<br />
Barbara König BeKo/TI 195
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Postsches Korrespondenzproblem<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Beispiel 1: Löse das Postsche Korrespondenzproblem für<br />
x1 = 0 x2 = 1 x3 = 0101<br />
y1 = 010 y2 = 101 y3 = 01<br />
Eine mögliche Lösung: 3, 3, 1, 2:<br />
01 01 | 010 1 | 0 | 1<br />
01 | 01 | 010 | 1 0 1<br />
Eine weitere (kürzere) Lösung ist: 3, 1<br />
Barbara König BeKo/TI 196
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Postsches Korrespondenzproblem<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Beispiel 2: Löse das Postsche Korrespondenzproblem für<br />
x1 = 001 x2 = 01 x3 = 01 x4 = 10<br />
y1 = 0 y2 = 011 y3 = 101 y4 = 001<br />
Eine kürzeste Lösung besteht bereits aus 66 Indizes:<br />
2, 4, 3, 4, 4, 2, 1, 2, 4, 3, 4, 3, 4, 4, 3, 4, 4, 2, 1, 4, 4, 2, 1, 3, 4, 1, 1, 3,<br />
4, 4, 4, 2, 1, 2, 1, 1, 1, 3, 4, 3, 4, 1, 2, 1, 4, 4, 2, 1, 4, 1, 1, 3, 4, 1, 1, 3,<br />
1, 1, 3, 1, 2, 1, 4, 1, 1, 3.<br />
An der Komplexität dieser Lösung kann man bereits die<br />
Schwierigkeit des Problems ablesen.<br />
Barbara König BeKo/TI 197
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Postsches Korrespondenzproblem<br />
Semi-Entscheidbarkeit des PCP (Satz)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Das Postsche Korrespondenzproblem ist semi-entscheidbar.<br />
Beweisidee:<br />
Probiere erst alle Indexfolgen der Länge 1 aus, dann alle<br />
Indexfolgen der Länge 2, . . .<br />
Falls irgendwann eine passende Indexfolge gefunden wird, so gib 1<br />
aus.<br />
Barbara König BeKo/TI 198
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Postsches Korrespondenzproblem<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Der erste Schritt des Unentscheidbarkeitsbeweises ist es, das<br />
folgende modifizierte Problem zu betrachten.<br />
Modifiziertes PCP (MPCP)<br />
Eingabe: wie beim PCP.<br />
Ausgabe: Gibt es eine Lösung i1, . . . , in des PCP mit i1 = 1?<br />
Barbara König BeKo/TI 199
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Postsches Korrespondenzproblem<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Wir beweisen nun zwei Reduktions-Lemmata, aus denen die<br />
Unentscheidbarkeit des Postschen Korrespondenzproblems folgt:<br />
MPCP auf PCP reduzierbar (Lemma)<br />
MPCP ≤ PCP<br />
Barbara König BeKo/TI 200
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Postsches Korrespondenzproblem<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Halteproblem auf MPCP reduzierbar (Lemma)<br />
H ≤ MPCP<br />
Barbara König BeKo/TI 201
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Postsches Korrespondenzproblem (Lemma)<br />
PCP unentscheidbar<br />
Das Postsche Korrespondenzproblem ist unentscheidbar.<br />
Beweis: Die Behauptung folgt direkt aus den beiden vorherigen<br />
Lemmata. Aus<br />
H ≤ MPCP ≤ PCP<br />
folgt H ≤ PCP (durch Komposition der Reduktionsabbildungen).<br />
Und da außerdem bekannt ist, dass H (das allgemeine<br />
Halteproblem) nicht entscheidbar ist, folgt daraus, dass das PCP<br />
nicht entscheidbar ist.<br />
Barbara König BeKo/TI 202
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Postsches Korrespondenzproblem<br />
Bemerkungen:<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Das Postsche Korrespondenzproblem ist bereits<br />
unentscheidbar, wenn man sich auf das Alphabet Σ = {0, 1}<br />
einschränkt.<br />
Für unäres (einelementiges) Alphabet ist das PCP jedoch<br />
entscheidbar. Hier entspricht die Konkatenation von Wörtern<br />
der Addition von Zahlen.<br />
Wir werden nun das PCP dazu nutzen, um die<br />
Unentscheidbarkeit des Schnittproblems für kontextfreie<br />
Grammatiken zu zeigen.<br />
Barbara König BeKo/TI 203
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Schnittproblem für kontextfreie Grammatiken<br />
Zuletzt betrachten wir noch das Schnittproblem für kontextfreie<br />
Grammatiken<br />
Schnittproblem für kontextfreie Grammatiken<br />
Eingabe: zwei kontextfreie Grammatiken G1, G2.<br />
Ausgabe: Gilt L(G1) ∩ L(G2) = ∅? (D.h., es gibt kein Wort,<br />
das sowohl von G1 als auch von G2 erzeugt wird.)<br />
Barbara König BeKo/TI 204
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Schnittproblem für kontextfreie Grammatiken<br />
PCP auf Schnittproblem reduzierbar (Lemma)<br />
Das Postsche Korrespondenzproblem ist auf das Komplement des<br />
Schnittproblems für kontextfreie Grammatiken reduzierbar.<br />
Barbara König BeKo/TI 205
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Schnittproblem für kontextfreie Grammatiken<br />
Beweis (alternativ zum Beweis im Buch von Schöning):<br />
Gegeben sei ein Postsches Korrespondenzproblem<br />
K = {(x1, y1), . . . , (xk, yk)}<br />
über dem Alphabet {0, 1}.<br />
Betrachte zunächst folgende Grammatik G1:<br />
S → xiSy R<br />
i | xi$y R<br />
i<br />
Dabei steht y R<br />
i für yi rückwärts.<br />
L(G1) = {xi1<br />
i = 1, . . . , k<br />
R R<br />
. . . xin$yin . . . yi1 | i1, . . . , in ∈ {1, . . . , k}}<br />
Betrachte jetzt folgende Grammatik G2:<br />
S → 0S0 | 1S1 | $<br />
L(G2) = {w$w R | w ∈ {0, 1} ∗ }<br />
Barbara König BeKo/TI 206
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Schnittproblem für kontextfreie Grammatiken<br />
Zusammen:<br />
L(G1) ∩ L(G2) = {xi1<br />
R R<br />
. . . xin$yin . . . yi1 |<br />
i1, . . . , in ∈ {1, . . . , k},<br />
xi1 . . . xin = yi1 . . . yin}<br />
Das heißt, der Schnitt der Sprachen ist nicht-leer, genau dann,<br />
wenn das PCP eine Lösung hat.<br />
Barbara König BeKo/TI 207
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Schnittproblem für kontextfreie Grammatiken<br />
Schnittproblem unentscheidbar<br />
Das Schnittproblem für kontextfreie Grammatiken ist<br />
unentscheidbar.<br />
Barbara König BeKo/TI 208
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Schnittproblem für kontextfreie Grammatiken<br />
Bemerkungen:<br />
Das Komplement des Schnittproblems ist semi-entscheidbar:<br />
man leitet mit beiden Grammatiken parallel Wörter ab und<br />
bricht ab, sobald ein Wort von beiden Grammatiken abgeleitet<br />
wurde.<br />
Daraus folgt auch, dass das Schnittproblem selbst nicht<br />
semi-entscheidbar sein kann. Ansonsten wäre es nämlich<br />
entscheidbar.<br />
Außer dem Schnittproblem sind noch einige andere verwandte<br />
Probleme für kontextfreie Sprachen unentscheidbar: Inklusion,<br />
Gleichheit, Mehrdeutigkeit, Regularität, . . . (siehe Schöning).<br />
Barbara König BeKo/TI 209
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Spezielles Wortproblem<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Wir haben nun von mehreren semi-entscheidbaren Problemen<br />
(Halteproblem, PCP, etc.) gezeigt, dass sie unentscheidbar sind.<br />
Damit haben wir Typ-0-Sprachen identifiziert, deren Wortproblem<br />
unentscheidbar ist. (Unentscheidbarkeit des speziellen<br />
Wortproblems.)<br />
Es gibt natürlich auch Typ-0-Sprachen mit einem entscheidbaren<br />
Wortproblem. Beispielsweise, wenn es sich um Typ-1-, Typ-2- oder<br />
Typ-3-Sprachen handelt.<br />
Barbara König BeKo/TI 210
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Typ-1-Sprachen und Entscheidbarkeit<br />
Typ-1-Sprachen und Entscheidbarkeit (Zusammenfassung)<br />
Jede Typ-1-Sprache ist entscheidbar.<br />
(Aufgrund der Bedingung |linke Seite| ≤ |rechte Seite| kann<br />
man die Wörter, die von der Grammatik erzeugt werden, in<br />
aufsteigender Länge aufzählen. Stopp, sobald die Wörter<br />
länger als das gesuchte werden.)<br />
Es gibt entscheidbare Sprachen, die nicht vom Typ 1 sind.<br />
Barbara König BeKo/TI 211
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Typ-1-Sprachen und Entscheidbarkeit<br />
Konstruktion einer entscheidbaren Sprache, die nicht vom Typ 1 ist<br />
(mittels Diagonalisierung):<br />
Betrachte ein Alphabet Σ, in dem sich Grammatiken kodieren<br />
lassen. Wir bezeichnen die Kodierung einer Grammatik G mit<br />
cod(G).<br />
Sei E die Menge der Kodierungen aller Grammatiken G, die<br />
folgende Eigenschaften erfüllen:<br />
G erzeugt Wörter über dem Alphabet Σ<br />
G ist vom Typ 1 (kontextsensitiv)<br />
cod(G) �∈ L(G)<br />
Die Sprache E ist entscheidbar. Die letzte Bedingung ist<br />
überprüfbar, da das Wortproblem für Typ-1-Sprachen<br />
entscheidbar ist.<br />
Barbara König BeKo/TI 212
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Typ-1-Sprachen und Entscheidbarkeit<br />
Angenommen, E ist vom Typ 1. Dann gibt es eine<br />
Typ-1-Grammatik G ′ mit L(G ′ ) = E.<br />
Die Frage ist jetzt, ob die Kodierung von G ′ in E liegt. Da die<br />
ersten beiden Bedingungen auf jeden Fall erfüllt sind, hängt<br />
dies nur noch von der letzten Bedingung ab.<br />
cod(G ′ ) ∈ E ⇐⇒ cod(G ′ ) �∈ L(G ′ ) ⇐⇒ cod(G ′ ) �∈ E.<br />
Die letzte Äquivalenz gilt wegen L(G ′ ) = E.<br />
Damit ergibt sich ein Widerspruch und E kann nicht vom<br />
Typ 1 sein.<br />
Barbara König BeKo/TI 213
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Typ-1-Sprachen und Entscheidbarkeit<br />
Bemerkungen:<br />
Bei diesem Resultat gibt es eine Analogie zu der Tatsache,<br />
dass es totale und berechenbare Funktionen gibt, die nicht<br />
Loop-berechenbar sind.<br />
Jeder andere Versuch, syntaktisch eine Klasse von<br />
Grammatiken zu definieren, die genau die entscheidbaren<br />
Sprachen erzeugen, muss scheitern. In diesem Fall wäre ein<br />
analoger Diagonalisierungsbeweis möglich.<br />
Barbara König BeKo/TI 214
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Typ-1-Sprachen und Entscheidbarkeit<br />
Damit ergibt sich folgende Hierarchie in Bezug auf<br />
semi-entscheidbare Sprachen (= Typ 0), Typ-1-Sprachen und<br />
entscheidbare Sprachen:<br />
Menge aller Sprachen<br />
Typ-0-Sprachen<br />
semi-entscheidbare Sprachen<br />
Entscheidbare Sprachen<br />
Typ-1-Sprachen<br />
kontextsensitive Sprachen<br />
Barbara König BeKo/TI 215
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Äquivalenzproblem für Turingmaschinen<br />
Wir haben bereits ein Problem kennengelernt, das nicht<br />
semi-entscheidbar ist: das Schnittproblem für kontextfreie<br />
Sprachen. Allerdings ist das Komplement dieses Problems<br />
semi-entscheidbar.<br />
Es gibt allerdings sogar noch schwerere Probleme, die nicht<br />
semi-entscheidbar sind und deren Komplement auch nicht<br />
semi-entscheidbar ist. Beispielsweise folgendes Problem:<br />
Äquivalenzproblem für Turingmaschinen<br />
Eingabe: Zwei Turingmaschinen M1, M2<br />
Ausgabe: Berechnen M1, M2 dieselbe Funktion?<br />
Beweis: Reduktion vom Satz von Rice.<br />
Barbara König BeKo/TI 216
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Weitere Unentscheidbarkeitsresultate<br />
Wir betrachten nun noch einige weitere interessante<br />
(unentscheidbare) Probleme aus der Logik und Mathematik:<br />
Unerfüllbarkeit für Formeln der Prädikatenlogik 1. Stufe und<br />
2. Stufe<br />
Diophantische Gleichungen<br />
Barbara König BeKo/TI 217
Logik-Probleme<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Unerfüllbarkeit für Formeln der Prädikatenlogik 1. Stufe<br />
Das Problem, zu entscheiden, ob eine gegebene Formel F der<br />
Prädikatenlogik 1. Stufe unerfüllbar ist, ist unentscheidbar. Es ist<br />
jedoch noch semi-entscheidbar (z.B. mit Hilfe des<br />
Resolutionskalküls).<br />
Das gleiche gilt für das Gültigkeitsproblem.<br />
Prädikatenlogik 1. Stufe: die einfachste Form der Prädikatenlogik;<br />
man darf über Elemente quantifizieren (∀x, ∃x), nicht jedoch über<br />
Mengen oder Relationen.<br />
Barbara König BeKo/TI 218
Logik-Probleme<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Das Unerfüllbarkeits- bzw. Gültigkeitsproblem für Logiken höherer<br />
Stufe (beispielsweise für die Prädikatenlogik 2. Stufe, bei der<br />
Quantifikation über Relationen erlaubt ist), ist nicht mehr<br />
semi-entscheidbar.<br />
Der Beweis benutzt die Tatsache, dass man mit Hilfe dieser<br />
Logiken die natürlichen Zahlen axiomatisieren und damit Aussagen<br />
über arithmetische Ausdrücken formulieren kann, etwas, das mit<br />
Hilfe der Prädikatenlogik 1. Stufe nicht ohne weiteres möglich ist<br />
(da man darin das Induktionsaxiom nicht ausdrücken kann).<br />
Barbara König BeKo/TI 219
Logik-Probleme<br />
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Daraus folgt auch, dass solche Logiken höherer Stufe keinen Kalkül<br />
haben können. Denn aus einem Kalkül, der es ermöglicht, alle<br />
wahren Formeln abzuleiten, kann man immer ein<br />
Semi-Entscheidungsverfahren gewinnen.<br />
Die Nicht-Existenz eines solchen (vollständigen) Kalküls für die<br />
Arithmetik ist die Aussage des (Ersten) Gödelschen<br />
Unvollständigkeitssatzes (1931). Für die Mathematik bedeutet das:<br />
“Es gibt wahre Aussagen, die nicht beweisbar sind.”<br />
Unterhaltsame Lektüre zu diesem Thema:<br />
Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal<br />
Golden Braid<br />
In deutscher Übersetzung: Douglas R. Hofstadter: Gödel,<br />
Escher, Bach: Ein endloses geflochtenes Band<br />
Barbara König BeKo/TI 220
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Diophantische Gleichungen<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Wir beschäftigen uns nun mit dem Lösen diophantischer<br />
Gleichungen (auch bekannt als Hilberts 10. Problem).<br />
Diophantische Gleichung<br />
Eine diophantische Gleichung ist eine Gleichung der Form<br />
p(x1, . . . , xn) = 0<br />
Wobei p(x1, . . . , xn) ein Polynom in den Variablen x1, . . . , xn mit<br />
ganzzahligen Koeffizienten ist.<br />
Beispiele:<br />
3x − 4y − 1 = 0<br />
2x − 4y − 1 = 0<br />
x 2 − 1 = 0<br />
xy − 2y 2 − 2 = 0<br />
x 2 + y 2 − z 2 = 0<br />
x 3 + y 3 − z 3 = 0<br />
Barbara König BeKo/TI 221
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Diophantische Gleichungen<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Problem: Lösen diophantischer Gleichungen<br />
Eingabe: Eine diophantische Gleichung<br />
Ausgabe: Hat diese Gleichung eine Lösung in den ganzen<br />
Zahlen?<br />
Alternative Fragestellung: Hat diese Gleichung eine Lösung in den<br />
natürlichen Zahlen?<br />
Unentscheidbarkeit des Lösens diophantischer Gleichungen<br />
Es gibt kein allgemeines Verfahren, um diophantische Gleichungen<br />
zu lösen. D.h., das entsprechende Problem ist unentscheidbar.<br />
(Matiyasevich, 1970)<br />
(Ohne Beweis)<br />
Barbara König BeKo/TI 222
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Diophantische Gleichungen<br />
Bemerkungen:<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Eine der berühmtesten Klassen von diophantischen<br />
Gleichungen ist x n + y n = z n . Nach einem Result von Wiles<br />
von 1995 hat keine solche Gleichung für n > 2 eine Lösung in<br />
den natürlichen Zahlen (ohne die Null).<br />
(Beweis des letzten Satzes von Fermat)<br />
Für bestimmte Klassen von diophantischen Gleichungen gibt<br />
es Lösungsverfahren:<br />
Für eine Gleichung vom Typ x n + y n = z n mit n > 2 ist<br />
die Ausgabe der Algorithmus immer “nein” (= keine<br />
Lösung).<br />
Lineare diophantische Gleichungen der Form<br />
a<strong>1x1</strong> + · · · + anxn = b haben ein Lösungsverfahren<br />
(� erweiterter euklidischer Algorithmus).<br />
Barbara König BeKo/TI 223
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Abschlusseigenschaften<br />
Abgeschlossenheit (Definition)<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Gegeben sei eine Menge M und ein binärer Operator<br />
⊗: M × M → M.<br />
Man sagt, eine Menge M ′ ⊆ M ist unter ⊗ abgeschlossen, wenn<br />
für zwei beliebige Elemente m1, m2 ∈ M ′ gilt: m1 ⊗ m2 ∈ M ′ .<br />
Uns interessieren hier vor allem folgende Operatoren: Komplement,<br />
Schnitt, Vereinigung<br />
Barbara König BeKo/TI 224
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Abschlusseigenschaften<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
Entscheidbare Sprachen: Abschluss unter Komplement<br />
Die entscheidbaren Sprachen sind unter Komplement<br />
abgeschlossen. D.h., wenn L entscheidbar ist, dann ist auch Σ ∗ \L<br />
entscheidbar. (Dabei ist Σ das Alphabet, über dem L definiert ist.)<br />
Semi-entscheidbare Sprachen: kein Abschluss unter Komplement<br />
Die semi-entscheidbaren Sprachen sind nicht unter Komplement<br />
abgeschlossen.<br />
Barbara König BeKo/TI 225
Kontextsensitive und Typ-0-Sprachen<br />
Berechenbarkeitstheorie<br />
Komplexitätstheorie<br />
Abschlusseigenschaften<br />
Berechnungsmodelle<br />
Unentscheidbarkeit<br />
Unentscheidbare Probleme<br />
(Semi-)entscheidbare Sprachen: Abschluss unter Schnitt<br />
Die entscheidbaren Sprachen sind unter Schnitt abgeschlossen.<br />
D.h., wenn L1, L2 entscheidbar sind, dann ist auch L1 ∩ L2<br />
entscheidbar.<br />
Das gleiche gilt für die semi-entscheidbaren Sprachen.<br />
(Semi-)entscheidbare Sprachen: Abschluss unter Vereinigung<br />
Die entscheidbaren Sprachen sind unter Vereinigung abgeschlossen.<br />
D.h., wenn L1, L2 entscheidbar sind, dann ist auch L1 ∪ L2<br />
entscheidbar.<br />
Das gleiche gilt für die semi-entscheidbaren Sprachen.<br />
Barbara König BeKo/TI 226