Seminar: Komplexitätstheorien Prof. Helmut Alt WS 04/05 Referent: Arash Sarkohi Unentscheidbarkeitsprobleme in der Logik Motivation: Fragestellung: Gegeben sei ein mathematischer Satz über die natürlichen Zahlen in (logisch) formaler Form. Gibt es einen Algorithmus, der entscheidet, ob dieser Satz gültig ist oder nicht? Gibt es ein „allumfassendes“ Axiomssystem über die natürlichen Zahlen, das alle wahren Aussagen beinhaltet und keine falschen? Vermutung: Nein! Vorgehensweise: 1.Konstruieren einer Axiomsmenge {NT}, von der viele, aber nicht alle Sätze über N hergeleitet werden können 2.Die Fragestellung auf NT reduzieren. Wenn die Antwort bei NT Nein heißt, so ist sie auch bei N Nein. 1.Axiomssystem {NT}: x ( x) 0 xx 0 ( x) xx 0 y ( y ) x xx 0 x xx ( x) xy x y ( x) y xx 0 x xyz (( x y ) ( y z )) x z xy ( x) ( y ) x y xyx ( y ) ( x y ) xyx ( y ) ( x y ) Axiomssystem {NT} xy x ( y ) ( x y ) x xy ( x y ) y x xyzz ' mod( x, y, z ) mod( x, y, z ' ) z z ' NT enthält keine ungültigen Sätze über N, sie enthält aber nicht alle wahren Sätze über N, z.B. das Kommutativgesetz kann aus {NT} nicht hergeleitet werden. Um dies zu beweisen, müsste man NT15, die Induktion, einführen, also Aussagen zweiten Grades zulassen, dann wäre NT aber nicht mehr endlich. NT15 : (0) x( ( x) ( ( x))) y( ( y) Trotzdem ist NT sehr mächtig. Es können vielen Aussagen über die natürlichen Zahlen aus NT hergeleitet werden. Es gelten folgenden Sätze: Sei Φ ein Satz ohne Variablen, (z.B: 1<1+1).Dann gilt: {NT } | N | Sei Φ ein logischer Satz mit gebundenen Quantoren, so dass alle Quantoren dem Rest der Aussage vorausgehen (gebundener Satz). Dann gilt: {NT } | N | Es ist zu beachten, dass für gebundene Sätze der folgende Satz nicht gilt: N | {NT } | da die Klasse der gebundenen Sätze unter Komplement nicht abgeschlossen ist. 2.Turingmaschinen Unser Vorhaben ist es nun, die Berechnung einer Turingmaschine als einen Ausdruck in der Zahlentheorie, als eine logischen Formel, darzustellen. Sei M eine Turingmaschine mit M = (K,Σ,δ,s), wobei K die Menge der Zustände, Σ das Alphabet, δ die Übergangsfunktion und s der Anfangszustand ist. Das Band der Turingmaschine ist nach links beschränkt durch ein *, nach rechts ist sie unendlich, Wörter werden durch # getrennt, nach dem letzten Wort kommen nur noch #s vor. Nun können Zustände und Symbole als ganze Zahlen codiert werden: Σ = {0,1,...,|Σ|-1} K= {|Σ|,|Σ|+1,...,|Σ|+|K|-1} Anfangszustand s = |Σ| * = 0, # =1 „Ja“ und „Nein“ = Σ+1 und Σ+2. Die Konfiguration C=(q,u,w) der Maschine M, mit q aus K und w,u aus Σ muss auch codiert werden. Wir brauchen b=|Σ|+|K| Elemente um alle Zustände und Symbole zu codieren. Betrachten wir nun eine Beispielsmaschine, deren Übergangstabelle hier gegeben ist: M geht von rechts nach links, überschreibt alle a‘s mit # und sagt, ob alle Eingaben „a“ waren oder nicht. P aus K σ aus Σ s s s s q q q a b # * a b * δ (p, σ) (s,a,->) (s,b,->) (q,#,<-) (s,*,->) (q,#,<-) („nein“,b,-) („Ja“,*,->) In diesem Beispiel gilt: |K| =4, |Σ| = 4, b =8 Die Konfiguration (q,*aa,##) zum Beispiel wird codiert als (0,2,2,7,1,1) oder Zahl 0227118. Die gesamte Berechnung einer Turingmaschine wird so schließlich durch Hintereinanderstellen der codierten Konfigurationen durch eine ganze Zahl (zur Basis b) dargestellt. Der logische Ausdruck compm(x) in Form eines gebundenen Satzes beschreibt eine Turingmaschine M, die mit dem leeren Wort anfängt und hält mit „Ja“ (Σ+1) oder „nein“(Σ+2). Nun gilt: Zur jeder Turingmaschine M können wir einen gebundenen Satz compm(x) konstruieren, so dass gilt: N╞ compm(x). 3.Unentscheidbarkeit und Unvollständigkeit Wir gehen nun folgendermaßen vor: Wir beweisen erst, dass die Menge der aus NT beweisbaren Sätze und die Menge der Unerfüllbaren Sätze rekursiv untrennbar sind. Da Alle Sätze aus NT auch aus N sind, folgt daraus, dass die Menge der aus N beweisbaren Sätze und die Menge der Unerfüllbaren Sätze rekursiv untrennbar sind! Dazu benutzen wir das modifizierte Halteproblem: Die Frage, ob eine TM mit Gödelnummer n bei leerer Eingabe (ε) hält ist unentscheidbar. Dies entspricht der Sprache: E:={n| TM mit Gödelnummer n hält bei Eingabe ε} Mja Mnein L1={<m>: M(ε)=J} {NT } | Φ (M) M L2={<m>: M(ε)=N} Unerfüllbare Sätze Beweis durch Widerspruch: Wir wissen: Mja und Mnein sind rekursiv untrennbar. Zur Zeigen: L : { | {NT } | } ist nicht entscheidbar. Annahme: Es existiert TM ML, die immer hält und L entscheidet. Gegeben sei ferner ein Algorithmus A, der als Eingabe eine Turingmaschine M nimmt, und als Ausgabe den Satz Φm ausgibt (Gödelisierung). Wir vereinbaren nun: <M> aus Mj => {NT}|- Φm <M> aus Mn => Φm unerfüllbar Damit wären aber Mj und Mn rekursiv trennbar! Damit ist bewiesen, dass L unentscheidbar ist, dass also dass die Menge der aus NT beweisbaren Sätze und die Menge der Unerfüllbaren Sätze rekursiv untrennbar sind! Jetzt muss nur der Algorithmus A beschreiben werden, also der Satz Φm. m NT wobei Ψ besagt, dass es eine Zahl x existiert, die die kleinste ganze Zahl ist, die die Berechnung einer Turingmaschine darstellt, die mit leerem Wort beginnt und akzeptiert. In logischer Form sieht Ψ folgendermaßen aus: xcompM ( x) ((y x)compM ( y) mod( x, b 2 , b.(| | 1)) Folgerungen: Folgende Fragen sind unentscheidbar Gegeben ein Satz Φ: Ist Φ gültig? Ist N╞Φ? Ist {NT}├ Φ? Gödels Unvollständigkeitstheorem Es existiert keine rekursiv aufzählbare Menge von Axiomen Ξ, so dass für alle Aussagen Φ gilt: Ξ├ Φ nur dann wenn N╞ Φ. Beweis durch Widerspruch: Wenn Ξ rekursiv aufzählbar wäre, dann wäre die Menge aller Beweise aus Ξ auch rekursiv Aufzählbar. Also existiert eine Turingmaschine M, die diese aufzählt. M zählt auch die Menge {Φ: Ξ├ Φ} auf, die laut Annahme der Menge {Φ: N╞ Φ} gleicht. Analog dazu wäre die Menge {Φ: N╞ ⌐ Φ} auch rekursiv aufzählbar. Wenn eine Menge und ihr Komplement rekursiv aufzählbar (=akzeptierbar) sind, ist die Menge selbst entscheidbar. Wir haben aber oben bewiesen, dass diese Menge nicht entscheidbar ist. Widerspruch! Gödels Unvollständigkeitstheorem besagt vereinfacht gesagt, dass es keine Axiomsmenge (nicht einmal eine unendliche) gibt, von der alle wahren Sätze abgeleitet werden können. Es müssen immer Eigenschaften existieren, die vom Axiomssystem nicht beweisen werden können, oder das Axiomssystem ist widersprüchlich.