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