16.01.2013 Aufrufe

1x1 - Theoretische Informatik

1x1 - Theoretische Informatik

1x1 - Theoretische Informatik

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!