Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Unentscheidbare Probleme Vorlesung “Berechenbarkeit und Komplexität” alias “Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen” 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. Wintersemester 2011/12 Postsches Korrespondenzproblem PCP PCP: ein kombinatorisches Problem auf Wörtern, wichtiges (Hilfs-)Problem, um damit die Unentscheidbarkeit anderer Probleme zu zeigen Prof. Barbara König Übungsleitung: Henning Kerstan & Jan Stückrath Schnittproblem für kontextfreie Grammatiken Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie 1 BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 181 Adventure-Problem (Level 4) 10 Adventures bestehen aus Graphen bzw. Automaten, die mit folgenden Symbolen markiert sind: 1 4 2 6 5 11 12 Torbogen: Drachen: 7 Tür: 3 Schwert: Schlüssel: Fluss: 13 Schatz: Barbara König BeKo/TI 9 8 14 182 15 Barbara König BeKo/TI 16 183 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Adventure-Problem (Level 4) Adventure-Problem (Level 4) Regeln: 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. 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 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Schwerter werden jedoch durch das Drachenblut unbenutzbar, sobald man einen Drachen damit getötet hat. Außerdem werden Drachen sofort wieder “ersetzt”. 184 Adventure-Problem (Level 4) Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 185 Adventure-Problem (Level 4) Gegeben ist ein Adventure durch eine Karte bzw. einen endlichen Automaten M. Das Adventure-Problem (Level 4) lautet folgendermaßen: Schlüssel-Regel Der magische Torbogen kann nur passiert werden, wenn man keinen Schlüssel besitzt. A4 = {M | es gibt einen Pfad von einem Anfangs- zu einem Schwert-Regel Ein Fluss kann nur passiert werden, wenn man kein Schwert besitzt (weil man sonst ertrinkt!). Barbara König BeKo/TI Endzustand von M, der alle Regeln erfüllt}. Dabei sollen die Automaten M in entsprechender Kodierung als Eingabe zur Verfügung gestellt werden. 186 Barbara König BeKo/TI 187 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Adventure-Problem (Level 4) 10 1 4 2 6 5 11 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 . 12 Annahmen: 7 9 Um die Kodierung graphisch darstellen zu können, repräsentieren wir Goto-Programme durch Flussdiagramme, bei denen die Sprungmarken durch Pfeile ersetzt werden. 3 13 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) 8 14 15 Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie 16 BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 188 Adventure-Problem (Level 4) Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 189 Adventure-Problem (Level 4) Übersetzung: Goto-Programm → Adventure Intuition: x1 := x1 + 1 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 x1 := x1 − 1 190 Barbara König BeKo/TI 191 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Adventure-Problem (Level 4) Adventure-Problem (Level 4) Übersetzung: Goto-Programm → Adventure yes x1 = 0 Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Übersetzung: Goto-Programm → Adventure x2 := x2 + 1 no If . . . Then. . . x2 := x2 − 1 Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 191 Adventure-Problem (Level 4) yes BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 191 Adventure-Problem (Level 4) Übersetzung: Goto-Programm → Adventure x2 = 0 Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Übersetzung: Goto-Programm → Adventure Halt no If . . . Then. . . Mit “Schatz” beschriftete Transitionen können auch zum Zusammenfügen der einzelnen Teilautomaten verwendet werden. Barbara König BeKo/TI 191 Barbara König BeKo/TI 191 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Adventure-Problem (Level 4) Adventure-Problem (Level 4) Beispiel: Übersetze das folgende Goto-Programm in ein Adventure durch Zusammensetzen der einzelnen Teil-Automaten: 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. 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 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Wir können diese Kodierung daher als Reduktionsfunktion f auffassen und es folgt: M2 Unentscheidbarkeit des Adventure-Problems (Level 4) Das Adventure-Problem A4 ist unentscheidbar. BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 192 Adventure-Problem (Level 4) Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 193 BeKo/TI 194 Adventure-Problem (Level 4) Tag der offenen Tür 2011 an der TU München . . . Barbara König BeKo/TI 194 Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Postsches Korrespondenzproblem Postsches Korrespondenzproblem Beispiel 1: Löse das Postsche Korrespondenzproblem für Wir betrachten nun ein wichtiges unentscheidbares Problem, das dazu benutzt wird, die Unentscheidbarkeit vieler anderer Probleme zu zeigen: x1 = 0 y1 = 010 Postsches Korrespondenzproblem (PCP) x3 = 0101 y3 = 01 01 01 | 010 1 | 0 | 1 (Dabei ist Σ ein beliebiges Alphabet.) 01 | 01 | 010 | 1 Ausgabe: Gibt es eine Folge von Indizes i1 , . . . , in ∈ {1, . . . , k}, n ≥ 1 mit xi1 . . . xin = yi1 . . . yin ? BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme x2 = 1 y2 = 101 Eine mögliche Lösung: 3, 3, 1, 2: Eingabe: Eine endliche Folge von Wortpaaren (x1 , y1 ), . . . , (xk , yk ) mit xi , yi ∈ Σ+ . Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 0 1 Eine weitere (kürzere) Lösung ist: 3, 1 195 Postsches Korrespondenzproblem Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 196 Postsches Korrespondenzproblem Beispiel 2: Löse das Postsche Korrespondenzproblem für x1 = 001 y1 = 0 x2 = 01 y2 = 011 x3 = 01 y3 = 101 Semi-Entscheidbarkeit des PCP (Satz) x4 = 10 y4 = 001 Das Postsche Korrespondenzproblem ist semi-entscheidbar. Beweisidee: Probiere erst alle Indexfolgen der Länge 1 aus, dann alle Indexfolgen der Länge 2, . . . 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. Falls irgendwann eine passende Indexfolge gefunden wird, so gib 1 aus. An der Komplexität dieser Lösung kann man bereits die Schwierigkeit des Problems ablesen. Barbara König BeKo/TI 197 Barbara König BeKo/TI 198 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Postsches Korrespondenzproblem 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) Der erste Schritt des Unentscheidbarkeitsbeweises ist es, das folgende modifizierte Problem zu betrachten. MPCP ≤ PCP Modifiziertes PCP (MPCP) Eingabe: wie beim PCP. Ausgabe: Gibt es eine Lösung i1 , . . . , in des PCP mit i1 = 1? Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 199 Postsches Korrespondenzproblem Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 200 Postsches Korrespondenzproblem (Lemma) Halteproblem auf MPCP reduzierbar (Lemma) H ≤ MPCP 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 201 Barbara König BeKo/TI 202 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Postsches Korrespondenzproblem Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Schnittproblem für kontextfreie Grammatiken Bemerkungen: Das Postsche Korrespondenzproblem ist bereits unentscheidbar, wenn man sich auf das Alphabet Σ = {0, 1} einschränkt. Zuletzt betrachten wir noch das Schnittproblem für kontextfreie Grammatiken Schnittproblem für kontextfreie Grammatiken Eingabe: zwei kontextfreie Grammatiken G1 , G2 . Für unäres (einelementiges) Alphabet ist das PCP jedoch entscheidbar. Hier entspricht die Konkatenation von Wörtern der Addition von Zahlen. Ausgabe: Gilt L(G1 ) ∩ L(G2 ) = ∅? (D.h., es gibt kein Wort, das sowohl von G1 als auch von G2 erzeugt wird.) Wir werden nun das PCP dazu nutzen, um die Unentscheidbarkeit des Schnittproblems für kontextfreie Grammatiken zu zeigen. Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 203 Schnittproblem für kontextfreie Grammatiken Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 204 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 : PCP auf Schnittproblem reduzierbar (Lemma) Das Postsche Korrespondenzproblem ist auf das Komplement des Schnittproblems für kontextfreie Grammatiken reduzierbar. 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 205 Barbara König BeKo/TI 206 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Schnittproblem für kontextfreie Grammatiken Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Schnittproblem für kontextfreie Grammatiken Zusammen: L(G1 ) ∩ L(G2 ) = {xi1 . . . xin $yiRn . . . yiR1 | Schnittproblem unentscheidbar Das Schnittproblem für kontextfreie Grammatiken ist unentscheidbar. 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 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 207 Schnittproblem für kontextfreie Grammatiken Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 208 Spezielles Wortproblem Bemerkungen: Wir haben nun von mehreren semi-entscheidbaren Problemen (Halteproblem, PCP, etc.) gezeigt, dass sie unentscheidbar sind. 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. Damit haben wir Typ-0-Sprachen identifiziert, deren Wortproblem unentscheidbar ist. (Unentscheidbarkeit des speziellen Wortproblems.) Daraus folgt auch, dass das Schnittproblem selbst nicht semi-entscheidbar sein kann. Ansonsten wäre es nämlich entscheidbar. 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. 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 209 Barbara König BeKo/TI 210 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Typ-1-Sprachen und Entscheidbarkeit 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: 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.) G erzeugt Wörter über dem Alphabet Σ G ist vom Typ 1 (kontextsensitiv) cod(G ) 6∈ L(G ) Es gibt entscheidbare Sprachen, die nicht vom Typ 1 sind. Die Sprache E ist entscheidbar. Die letzte Bedingung ist überprüfbar, da das Wortproblem für Typ-1-Sprachen entscheidbar ist. Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 211 Typ-1-Sprachen und Entscheidbarkeit 212 Bemerkungen: 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. 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. 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. BeKo/TI BeKo/TI 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 . Barbara König Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie 213 Barbara König BeKo/TI 214 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Typ-1-Sprachen und Entscheidbarkeit Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Äquivalenzproblem für Turingmaschinen Damit ergibt sich folgende Hierarchie in Bezug auf semi-entscheidbare Sprachen (= Typ 0), Typ-1-Sprachen und entscheidbare Sprachen: Menge aller Sprachen 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. Typ-0-Sprachen semi-entscheidbare Sprachen Es gibt allerdings sogar noch schwerere Probleme, die nicht semi-entscheidbar sind und deren Komplement auch nicht semi-entscheidbar ist. Beispielsweise folgendes Problem: Entscheidbare Sprachen Äquivalenzproblem für Turingmaschinen Eingabe: Zwei Turingmaschinen M1 , M2 Typ-1-Sprachen kontextsensitive Sprachen Ausgabe: Berechnen M1 , M2 dieselbe Funktion? Beweis: Reduktion vom Satz von Rice. Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 215 Weitere Unentscheidbarkeitsresultate Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 216 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. Wir betrachten nun noch einige weitere interessante (unentscheidbare) Probleme aus der Logik und Mathematik: Unerfüllbarkeit für Formeln der Prädikatenlogik 1. Stufe und 2. Stufe Diophantische Gleichungen 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 217 Barbara König BeKo/TI 218 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Logik-Probleme 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. 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. 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.” 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). 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 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 219 Diophantische Gleichungen BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 220 Diophantische Gleichungen Wir beschäftigen uns nun mit dem Lösen diophantischer Gleichungen (auch bekannt als Hilberts 10. Problem). Problem: Lösen diophantischer Gleichungen Eingabe: Eine diophantische Gleichung Diophantische Gleichung Eine diophantische Gleichung ist eine Gleichung der Form Ausgabe: Hat diese Gleichung eine Lösung in den ganzen Zahlen? Alternative Fragestellung: Hat diese Gleichung eine Lösung in den natürlichen Zahlen? p(x1 , . . . , xn ) = 0 Wobei p(x1 , . . . , xn ) ein Polynom in den Variablen x1 , . . . , xn mit ganzzahligen Koeffizienten ist. 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) 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 Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI (Ohne Beweis) 221 Barbara König BeKo/TI 222 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie Diophantische Gleichungen Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme Abschlusseigenschaften 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 Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 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 223 Abschlusseigenschaften Barbara König Kontextsensitive und Typ-0-Sprachen Berechenbarkeitstheorie Komplexitätstheorie BeKo/TI Berechnungsmodelle Unentscheidbarkeit Unentscheidbare Probleme 224 Abschlusseigenschaften (Semi-)entscheidbare Sprachen: Abschluss unter Schnitt 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.) 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: kein Abschluss unter Komplement Die semi-entscheidbaren Sprachen sind nicht unter Komplement abgeschlossen. (Semi-)entscheidbare Sprachen: Abschluss unter Vereinigung Barbara König BeKo/TI 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. 225 Barbara König BeKo/TI 226