Berechenbarkeit und Komplexität Wintersemester 2010/2011 1 Relativierte Berechnungen und die arithmetische Hierachie Relativierte Berechnungen und Orakel Definition 1 Eine Menge A ist entscheidbar mit Orakel B, falls A ≤T B gilt, d.h., falls es eine Orakel-Turingmaschine M mit A = M (B) gibt . Eine Menge A ist rekursiv aufzählbar (r.a.) mit Orakel B, falls es eine Orakel-Turingmaschine M gibt, welche mit Orakel B den Definitionsbereich A hat, d.h., falls gilt A = {x ∈ N : M (x, B) ↓} . Falls A mit Orakel B entscheidbar ist, sagt man auch, A ist entscheidbar relativ zu oder entscheidbar in B, und entsprechend sagt man auch, A sei r.a. relativ zu oder r.a. in B. Viele Resultate über unrelativierte Berechnungen lassen sich mit sehr änhnlichen Beweisen auf den Fall relativierter Berechnungen übertragen. Bemerkung 2 Wie im unrelativierten Fall kann man zeigen, dass eine Menge A genau dann mit Orakel B aufzählbar ist, falls es eine mit einem geeigneten Ausgabemechanismus ausgestattete Orakel-Turingmaschine gibt, welche mit Orakel B eine Folge x0 , x1 , . . . ausgibt, so dass die Menge A gleich der Menge {x0 , x1 , . . .} ist. Satz 3 Es seien A und B Mengen. (i) A ist genau dann entscheidbar in B, wenn A und das Komplement A von A r.a. in B sind. (ii) A ist genau dann entscheidbar in B, wenn A relativ zu B eine monotone Aufzählung der Form x0 ≤ x1 ≤ x2 . . . hat. Definition 4 Es sei B eine Menge und M0 , M1 , . . . sei die Standardaufzählung aller Orakel-Turingmaschinen. Die Menge HB = {e : Me (e, B) ↓} wird als (diagonales) Halteproblem relativ zu B, als Sprung von B oder als Jump von B bezeichnet. Die Abbildung X 7→ HX heißt Sprungoperator oder Jump operator. 2 Wolfgang Merkle Für HB wird auch die Schreibweise B 0 benutzt (gesprochen: B Strich, englisch B prime oder B jump). Satz 5 Für alle Mengen A und B ist A genau dann r.a. relativ zum Orakel B, wenn A m-reduzierbar auf HB ist. Beweis. Gilt A ≤m HB vermöge einer berechenbaren Funktion f , so kann die Menge A mit Orakel B wie folgt aufgezählt werden. Für s = 0, 1, . . . berechne für alle x ≤ s den Wert f (x) und simuliere dann für jeweils s Schritte die Berechnung von Mf (x) (f (x), B). Zähle alle x auf, bei denen diese simulierte Berechnung terminiert. Nach Konstruktion werden nur x in A aufgezählt. Andererseits gibt es für jedes x in A ein s das so groß ist, dass die Berechnung von Mf (x) (f (x), B) in höchstens s Schritten terminiert. Ist umgekehrt A r.a. mit Orakel B, dann gibt es eine Orakel-Turingmaschine M , so dass der Definitionsbereich von M mit Orakel B gleich A ist, d.h., für alle x ist x genau dann in A, wenn M bei Eingabe x und Orakel B terminiert. Betrachte nun zu gegebenem x eine neue OrakelTuringmaschine Mh(x) , so dass für alle y und alle Orakel X gilt M (x, X) ∼ = Mh(x) (y, X) , d.h., bei gegebenem Orakel X verhält sich die Orakel-Turingmaschine Mh(x) bei jeder Eingabe y so wie M bei Eingabe x. Die Abbildung h kann dabei berechenbar gewählt werden und nach Konstruktion gilt für alle x x ∈ A ⇔ M (x, B) ↓⇔ Mh(x) (h(x), B) ↓⇔ h(x) ∈ HB , A ist also m-reduzierbar auf HB vermöge h. t u Da jede Menge auf sich selbst m-reduzierbar ist, erhalten wir folgenden Spezialfall von Satz 5. Korollar 6 Für alle Mengen B ist das Halteproblem relativ zu B r.a. mit Orakel B. Satz 7 Für alle Mengen B ist B m-reduzierbar auf HB und somit entscheidbar mit Orakel HB , aber HB ist nicht entscheidbar mit Orakel B, d.h., es gilt B ≤m HB und HB T B . Berechenbarkeit und Komplexität Wintersemester 2010/2011 3 Beweis. Es sei B eine Menge und M0 , M1 , . . . sei die Standardaufzählung aller Orakel-Turingmaschinen. Es sei h eine berechenbare Funktion, so dass für alle x die Orakel-Turingmaschine Mh(x) bei Eingabe y und Orakel X genau dann terminiert, wenn x in X ist. Dann gilt x ∈ B ⇔ Mh(x) (h(x), B) ⇔ h(x) ∈ HB , d.h., es gilt B ≤m HB vermöge h und damit auch B ≤T HB . Weiter nehmen wir für einen Beweis durch Widerspruch an, dass HB entscheidbar relativ zu B ist. Dann ist die durch ( 1 + Me (e, B), falls e ∈ HB , g(e) = 0 sonst, defnierte Funktion g mit Orakel B berechenbar, im Widerspruch dazu, dass sich g an der Stelle e von der Funktion unterscheidet, welche von der Orakel-Turingmaschine Me mit Orakel B berechnet wird. t u Satz 8 Ist eine Menge A T-reduzierbar auf eine Menge B, dann ist das Halteproblem relativ zu A m-reduzierbar auf das Halteproblem relativ zu B, d.h., es gilt A ≤T B impliziert HA ≤m HB . Insbesondere folgt aus A =T B, dass HA =m HB gilt. Beweis. Es gelte A ≤T B und M sei eine Orakel-Turingmaschine mit A = M (B) . Zu einer Orakel-Turingmaschine Me betrachte eine Orakel-Turingmaschine Mh(e) , welche bei Eingabe y und Orakel X die Rechnung von Me bei Eingabe e simuliert, dabei aber als Antwort auf jede Orakelfrage z den Wert M (z, X) benutzt (und nicht terminiert, falls einer dieser Werte nicht definiert ist). Für alle Indizes e arbeitet Mh(e) also bei jeder Eingabe wie Me bei Eingabe e, wobei in der Berechnung von Me an Stelle des tatsächlichen Orakels X das Orakel M (X) benutzt wird, falls die entsprechenden Werte von M (X) definiert sind. Die Abbildung h kann dabei berechenbar gewählt werden. Da nach Wahl von M für alle z der Wert M (z, B) definiert ist, gilt für alle y Me (e, A) ∼ = Mh(e) (y, B) ∼ = Mh(e) (h(e), B) . 4 Wolfgang Merkle Insbesondere gilt also für alle e e ∈ HA ⇔ Me (e, A) ↓ ⇔ Mh(e) (h(e), B) ↓ ⇔ h(e) ∈ HB . Es folgt HA ≤m HB vermöge h. t u Iteriert man die Anwendung des Jumpoperator X 7→ KX , mit der leeren Menge beginnend, so erhält man eine Folge von Mengen ∅, ∅0 , ∅00 , . . . . Definition 9 Es sei ∅[0] = ∅ und für n > 0 sei ∅[n] = H∅ [n−1] . Korollar 10 Für alle n > 0 gilt, dass die Menge ∅[n] r.a., aber nicht entscheidbar mit Orakel ∅[n−1] ist. Definition 11 Eine Relation R ⊆ Nk heißt entscheidbar, falls die Menge {hx1 , . . . , xk i : (x1 , . . . , xk ) ∈ R} entscheidbar ist. Definition 12 Es sei n ∈ N. Eine Menge A ist eine Σn -Menge, falls es eine entscheidbare Relation R gibt, so dass für alle x ∈ N gilt x ∈ A ⇔ ∃y1 ∀y2 . . . Qyn R(x1 , y1 , . . . , yn ) , wobei Q für einen Allquantor steht, falls n gerade ist, und sonst für einen Existenzquantor. Eine Menge A ist eine Πn -Menge, falls es eine entscheidbare Relation R gibt, so dass für alle x ∈ N gilt x ∈ A ⇔ ∀y1 ∃y2 . . . Qyn R(x1 , y1 , . . . , yn ) , wobei Q für einen Existenzquantor steht, falls n gerade ist, und sonst für einen Allquantor. Eine Menge A ist eine ∆n -Menge, falls A sowohl Σn Menge, als auch Πn -Menge ist. Die Klasse aller Σn -, Πn - und ∆n -Mengen wird mit Σn , Πn bzw. ∆n bezeichnet. Eine Menge B heißt arithmetisch, falls B in einer der Klassen Σn oder Πn enthalten ist, die Klasse aller arithmetischen Mengen heißt arithmetische Hierarchie. Bemerkung 13 Die Klasse Σ0 = Π0 = ∆0 = ∆1 enthält genau die entscheidbaren Mengen. Für alle n sind die Σn -Mengen gerade die Komplemente der Πn -Mengen und umgekehrt. Eine Menge A ist genau dann Σ1 , wenn A rekursiv aufzählbar, und A ist genau dann Π1 , wenn A das Komplement einer rekursiv aufzählbaren Menge ist. Berechenbarkeit und Komplexität Wintersemester 2010/2011 5 Lemma 14 Für alle n ≥ 0 sind die Klassen Σn , Πn und ∆n jeweils gegen die mengentheoretischen Operationen Vereinigung und Durchschnitt abgeschlossen, d.h., liegen zwei Mengen A und B in einer dieser Klassen, dann auch deren Vereinigung A ∪ B und Durchschnitt A ∩ B. Beweis. Seien A und B zwei Σn -Mengen mit x ∈ A ⇔ ∃y1 ∀y2 . . . Qn yn RA (x, y1 , . . . , yn ) , x ∈ B ⇔ ∃y1 ∀y2 . . . Qn yn RB (x, y1 , . . . , yn ) , dann gilt aus rein logischen Gründen x ∈ A ∪ B ⇔ ∃y1 ∃e y1 ∀y2 ∀e y2 . . . Qn yn Qn yen [RA (x, y1 , . . . , yn ) or RB (x, ye1 , . . . , yen )] . Für Πn -Mengen schließt man analog, und ebenso für den Fall des Durchschnitts. Die Aussage für Klassen der Form ∆n folgt, da Mengen A und B in ∆n nach Definition Σn und Πn sind und dies nach den bereits bewiesenen Abschlusseigenschaften auch für A ∪ B und A ∩ B gilt. t u Satz 15 Für alle n ≥ 1 gilt Σn ∪ Πn $ Σn+1 ∩ Πn+1 $ Σn+1 ∪ Πn+1 | {z } =∆n+1 Beweis. Die linke Inklusionsbeziehung gilt nach Definiton der beteiligten Klassen. Zum Beispiel ist jede Σn -Menge auch Πn+1 -Menge, wie man durch Voranstellen eines irrelevanten Allquantors in einer entsprechenden Σn -Darstellung sieht. Die rechte Inklusionsbeziehung gilt trivialerweise. Die Nichtinklusionen folgen aus dem folgenden Satz 16. Zum Beispiel ist ∅[n+1] eine Σn+1 -Menge, aber keine Σn -Menge, da sonst ∅[n+1] mreduzierbar auf ∅[n] wäre. Weiter ist ∅[n+1] keine Πn+1 -Menge, da sonst das Komplement von ∅[n+1] eine Σn+1 -Menge und damit ebenso wie die Menge ∅[n+1] selbst r.a. in ∅[n] wäre. Dann wäre aber ∅[n+1] entscheidbar mit Orakel ∅[n] . t u 6 Wolfgang Merkle Satz 16 (Satz von Post) Für alle n ≥ 0 und alle Mengen A sind die folgenden Aussagen äquivalent. (i) (ii) (iii) (iv) (v) A A A A A ist ist ist ist ist eine Σn+1 -Menge. m-reduzierbar auf ∅[n+1] . r.a. in ∅[n] . r.a. in einer Σn -Menge. r.a. in einer Πn -Menge. Beweis. Wir zeigen die Äquivalenz der Aussagen durch Induktion über n. Für n = 0 sind alle fünf Aussagen äquivalent dazu, dass die Menge A r.a. ist. Dies folgt für Aussage (iii) wegen ∅[n] = ∅, für Aussage (ii) aus Satz 5, und für die restlichen Aussagen aus Bemerkung 13. Im Induktionsschritt sei nun n > 0. (ii)⇔(iii): Die Äquivalenz der zweiten und dritten Aussage ergibt sich als Spezialfall von Satz 5, wenn man dort die Menge B gleich ∅[n] setzt. (iii)⇔(iv): Aus der Äquivalenz der ersten und zweiten Aussage in der Induktionsvoraussetzung folgt sofort, dass ∅[n] m-vollständig für die Klasse der Σn -Mengen ist. Also ist ∅[n] eine Σn -Menge, woraus sofort die Implikation (iii)⇒(iv) folgt, und jede andere Σn -Menge ist mit Orakel ∅[n] entscheidbar, woraus dann die Implikation (iv)⇒(iii) folgt. (iv)⇔(v): Wenn die Menge A relativ zu einem Orakel A in Σn r.a. ist, dann ist auch A r.a. relativ zum Orakel Ā r.a., welches in Πn liegt, und umgekehrt. (i)⇒(v): Sei A Σn+1 -Menge mit x ∈ A ⇔ ∃y1 ∀y2 . . . Qn yn [R(x, y1 , . . . , yn )] e für eine entscheidbare Relation R. Setzt man nun R(hx, y1 i, . . . , yn ) = R(x, y1 , . . . , yn ) und definiert man die Menge B durch e hx, y1 i ∈ B ⇔ ∀y2 . . . Qn yn [R(hx, y1 i, . . . , yn )] , so ist B eine Π2 -Menge. Da x ∈ A genau dann gilt, wenn es ein y1 mit hx, y1 i ∈ B gibt, kann man die Menge A relativ zum Orakel B aufzählen. (iv)⇒(i): Sei A r.a. in einer Πn -Menge B. Dann gibt es eine OrakelTuringmaschine M und eine entscheidbare Relation R mit x ∈ A ⇔ M (x, B) ↓ und z ∈ B ⇔ ∀y1 ∃y2 . . . Qn yn R(x, y1 , . . . , yn ) . Berechenbarkeit und Komplexität Wintersemester 2010/2011 7 Indem wir eine effektiv und effektiv invertierbare bijektive Abbildung zwischen der Menge der Wörter über dem Alphabet {0, 1} und der Menge der natürlichen Zahlen festlegen, können wir Wörter über {0, 1} und natürliche Zahlen miteinander identifizieren. Ist zum Beispiel w0 , w1 , . . . eine effektiv gegebene Folge in der jedes Wort über {0, 1} genau einmal vorkommt, so kann man wi mit der Zahl i identifizieren. Nimmt man an, dass eine Orakel-Turingmaschine in s Schritten nur auf die ersten s Bits des Orakelbands zugreifen kann, dann gilt für alle x x ∈ A ⇔ ∃w∃s[ M (x, w) ↓ in höchstens s Schritten & w v B ] . | {z } | {z } entscheidbar gegeben die Werte von x, w und s (1) Σn+1 Dabei bedeutet M (x, w) ↓, dass die Rechnung von M bei Eingabe x terminiert, falls auf dem Orakelband eine Menge mit Präfix w steht und dass weiter bei der entsprechenden Rechnung nur auf die ersten |w| Stellen des Orakels zugegriffen wird. Ob M (x, w) ↓ in höchstens s Schritten gilt, kann für gegebene Werte von x, w und s durch Simulation von M effektiv entschieden werden. Um A als Σn+1 -Menge nachzuweisen, genügt es also gemäß (1) zu zeigen, dass die Menge der Präfixe w von B eine Σn+1 -Menge ist. Für jedes Wort w = w(0)w(1) . . . w(` − 1) der Länge ` gilt w v B ⇔ ∀j ≤ `[(w(j) = 0 → j ∈ / B)&(w(j) = 1 → j ∈ B)] ⇔ ∀j ≤ `[w(j) = 0 → j ∈ / B] & ∀j ≤ `[w(j) = 1 → j ∈ B] ⇔ ∀j ≤ ` [ w(j) = 1 or j ∈ / B ] & ∀ j ≤ ` [ w(j) = 0 or j ∈ B ] . | {z } | {z } | {z } | {z } Σn Πn entscheidbar entscheidbar | {z } | {z } Σn | | {z Σn Πn | } {z Πn {z Σn+1 } } Dabei wird verwendet, dass nach Lemma 14 Klassen der Form Σn und Πn gegen Vereinigung und Durchschnitt abgeschlossen sind. Weiter kann man zeigen, dass Voranstellen des beschränkten Quantors ∀j ≤ ` wieder zu einer Σn -Menge führt. t u Indexmengen und die Stufen der arithmetischen Hierarchie Nach dem Satz von Rice sind nichttriviale Indexmengen nicht entscheidbar. In natürlicher Weise sich ergebende Indexmengen sind meist arithmetisch und darüberhinaus oft auch vollständig für eine Klasse der Form Σn oder Πn in der arithmetischen Hierarchie. 8 Wolfgang Merkle Definition 17 Eine Menge B heißt m-vollständig für eine Klasse von Mengen, falls die Menge B selbst in der Klasse liegt und jede Menge in dieser Klasse m-reduzierbar auf B ist. Der Begriff T-vollständig wird entsprechend definiert. Eine Menge heißt Σn -vollständig, falls die Menge m-vollständig für die Klasse Σn ist. Der Begriff Πn -vollständig ist entsprechend definiert. Beispiel 18 Die Menge Nonempty = {e : We 6= ∅} ist Σ1 -vollständig. Zunächst ist Nonempty eine Σ1 -Menge, da für alle e gilt e ∈ Nonempty ⇔ ∃x∃s[Me (x) terminiert in s Schritten] . Ist nun A eine weitere Σ1 -Menge, dann gibt es eine entscheidbare Relation R, so dass für alle x gilt x ∈ A ⇔ ∃yR(x, y) . Damit ist die zweistellige partielle Funktion ( 1, falls R(x,y) gilt, ϕ(x, y) = ↑ sonst. (2) partiell berechenbar, es gilt also ϕ = ϕe für einen Index e. Mit dem s-mn-Theorem folgt dann, dass es eine berechenbare Funktion g gibt, so dass für alle x und y gilt ∼ ϕ(2) e (x, y) = ϕg(e,x) (y) . Nach Konstruktion ist genau dann, wenn x in A liegt der Definitionsbereich Wg(e,x) von ϕg(e,x) nichtleer, also ist A m-reduzierbar auf die Menge Nonempty vermöge der berechenbaren Funktion x 7→ g(e, x). Beispiel 19 Die Menge Fin = {e : We ist endlich } ist Σ2 -vollständig. Zunächst ist Fin eine Σ2 -Menge, für alle e gilt e ∈ Fin ⇔ ∃b∀x∀s[Me (x) terminiert in s Schritten ⇒ x ≤ b] . Ist nun A eine weitere Σ2 -Menge, dann gibt es eine entscheidbare Relation R, so dass für alle x gilt x ∈ A ⇔ ∃y∀zR(x, y, z) und x ∈ / A ⇔ ∀y∃z¬R(x, y, z) . Damit ist die zweistellige partielle Funktion 0 1, falls es für alle y ≤ y ein z gibt, ϕ(x, y) = so dass R(x, y 0 , z) nicht gilt, ↑ sonst. Berechenbarkeit und Komplexität Wintersemester 2010/2011 9 (2) partiell berechenbar, es gilt also ϕ = ϕe für einen Index e. Mit dem s-mn-Theorem folgt dann, dass es eine berechenbare Funktion g gibt, so dass für alle x und y gilt ∼ ϕ(2) e (x, y) = ϕg(e,x) (y) . Nach Konstruktion ist genau dann, wenn x in A liegt der Definitionsbereich Wg(e,x) von ϕg(e,x) endlich, also ist A m-reduzierbar auf die Menge Fin vermöge der berechenbaren Funktion x 7→ g(e, x). Beispiel 20 Die Menge Coempty = {e : We = N} ist eine Π2 -Menge. Man kann zeigen, dass die Menge Coempty m-vollständig für die Klasse der Π2 -Mengen ist. Mit Satz 16 folgt, dass die in den Beispielen 18 bis 20 gegebenen Einordnunge optimal sind, z. B. ist Fin weder in Σ1 , noch in Π2 . Unvollständigkeit der Arithmetik Definition 21 Eine arithmetische Formel ist eine prädikatenlogische Formel über der Sprache {+, ·, s, 0, 1}, wobei die intendierte Bedeutung dieser logischen Symbole die natürliche ist, die Symbole stehen also für die Additions-, Multiplikations- und Nachfolgerfunktion auf N, sowie für die natürlichen Zahlen 0 und 1. Satz 22 Zu jeder Menge A in der arithmetischen Hierarchie gibt es eine arithmetische Formel ϕ mit einer freien Variable, so dass gilt x ∈ A ⇔ ϕ(x) . (2) Beweis. Es genügt, in einer Darstellung der Menge X als Σn -Menge, die entscheidbare Relation in der Matrix der Formel durch eine äquivalente arithmetische Formel ϕ0 zu ersetzen. Dies kann entweder durch Gödelisierung von Turingmaschinenberechnungen geschehen oder unter Verwendung des Satzes von Matiyasevich, welcher es sogar erlaubt, die Formel ϕ0 als nur existenziell quantifizierte Formel zu wählen. t u Satz 23 (Satz von Matiyasevich) Zu jeder r.a. Menge A gibt es ein n ∈ N und Polynome f und g über Variablen x, y1 , . . . , yn mit Koefffizienten in N, so dass gilt x ∈ A ⇔ ∃y1 ∈ N . . . ∃yn ∈ N[f (x, y1 , . . . , yn ) = g(x, y1 , . . . , yn )]. 10 Wolfgang Merkle Ohne Beweis, siehe Craig Smorynski, Logical Number Theory, SpringerVerlag 1991. Definition 24 Eine arithmetische Formel ϕ ist ein arithmetischer Satz, falls ϕ keine freien Variablen enthält. Ein arithmetischer Satz ist wahr (im Standardmodell der natürlichen Zahlen), falls der Satz eine wahre Aussage über die natürlichen Zahlen darstellt, wenn man die Symbole +, ·, s, 0 und 1 in der natürlichen Weise interpretiert und alle Quantoren über die Menge N laufen. Es sei T die Menge der wahren arithmetischen Sätze. Legt man eine geeignete effektive Bijektion zwischen der Menge der arithmetischen Formeln und den natürlichen Zahlen fest, so kann man T mit einer Teilmenge von N identifizieren. Satz 25 Die Menge T der wahren arithmetischen Sätze ist nicht arithmetisch. Beweis. Für einen Beweis durch Widerspruch nehmen wir an, dass T arithmetisch ist. Dann gibt es ein n, so dass T eine Σn -Menge ist, und somit T m-reduzierbar auf ∅[n+1] . Nach Satz 22 läßt sich die arithmetische Menge ∅[n+2] durch eine arithmetische Formel ϕ gemäß (2) darstellen kann. Definierte man nun für alle e ≥ 0 den Term te durch te ≡ s(s(. . . (s (0)) . . .)) , | {z } e mal so wird te zur natürlichen Zahl e ausgewertet. Nach Wahl von ϕ gilt also für alle e, e ∈ ∅[n+2] ⇔ ϕ(te ). Da die Abbildung e 7→ ϕ(te ) berechenbar gewählt werden kann, wäre die Menge ∅[n+2] m-reduzierbar auf die Menge ∅[n+1] , im Widerspruch zu Satz 7. t u Korollar 26 Die Menge T der wahren arithmetischen Sätze ist weder entscheidbar noch r.a. Die Aussage des Korollars wird auch als Unvollständigkeit der Arithmetik bezeichnet, da das Korollar impliziert, dass es kein Axiomensystem mit einer endlichen oder zumindest entscheidbaren Mengen von Axiomen und mit endlich vielen effektiven Schlussregeln gibt, das in dem Sinne vollständig ist, dass man im Axiomensystem alle wahren, aber keine falschen Sätze der Artihmetik ableiten kann.