DIE ENTSCHEIDBARKEIT DES P=NP-PROBLEMS Inhaltsverzeichnis 1. Grundlegendes 1.1. Ein wenig Logik 1.2. Komplexitätsklassen 1.3. erststufig definierbare Klassen sind in L entscheidbar 2. Der Satz von Fagin 3. Folgerungen aus dem Satz von Fagin 3.1. Entscheidbarkeit des P=NP Problems Literatur 1 1 2 2 3 5 5 5 1. Grundlegendes 1.1. Ein wenig Logik. Eine Signatur σ ist eine Menge nr−1 ks−1 {R0n0 , . . . , Rr−1 , f0k0 , . . . , fs−1 , c0 , . . . , ct−1 } von Relationssymbolen Rini , Funktiki onssymbolen fi sowie Konstantensymbolen ci , wobei ni , ki ∈ ω die Stelligkeit der entsprechenden Relation bzw. Funktion darstellt. Wenn nicht anders angegeben werden Signaturen keine Funktionssymbole enthalten. A A A , cA , f0A , . . . , fs−1 Eine σ-Struktur A ist ein Tupel hA, R0A , . . . , Rr−1 0 , . . . , ct−1 i, wobei A die, meist als Universum bezeichnete, der Struktur A zugrundeliegende si Menge ist, RiA ⊂ Ari die Interpretation des Relationssymbols Riri , fiA ∈ A A die Interpretation des Funktionssymbols fisi und cA i ∈ A die Interpretation des Konstantensymbols ci in A ist. Falls nicht anders angegeben, sind alle hier betrachteten Strukturen endlich. Ist σ eine Signatur, dann ist wie üblich L(σ) die Menge aller Formeln ϕ, die aus den logischen Zeichen ∀, ¬, ∧ und =, sowie den Symbolen aus σ und Variablen xi aufgebaut sind. In der Logik wird L(σ) meist als Sprache über σ bezeichnet. Mit L(ϕ) wird oft die Menge aller in ϕ vorkommenden nichtlogischen Symbole, mit V ar(ϕ) die Menge aller in ϕ vorkommenden Variablen und mit f rei(ϕ) die Menge aller in ϕ frei vorkommenden Variablen bezeichnet. Ist f rei(ϕ) = ∅ für eine Formel ϕ, dann nennt man ϕ eine Aussage. Eine Menge Φ von Aussagen wird mit Theorie bezeichnet. Ist σ eine Signatur, M eine σ-Struktur und ϕ ∈ L(σ) eine σ-Aussage, dann sagt man M ist ein Modell von ϕ, falls M ² ϕ, wobei ² wie üblich definiert ist. Ist Φ eine Menge von σ-Aussagen ϕi , dann ist M ein Modell von Φ, falls M |= ϕi für alle i. Für eine Aussage ϕ bezeichnet M od(ϕ) die Klasse aller (endlichen) Modelle von ϕ. Die bisher genannten Sprachen bezeichnet man in der Logik als erststufig, da sie nur Quantifikation über die Elemente einer Struktur erlauben. Im Gegensatz dazu bezeichnet man eine Sprache als zweitstufig, wenn Quantifikation über Teilmengen oder Relationen zugelassen wird. Die in diesem Fall genutzten Quantoren werden mit ∀1k bzw ∃1k bezeichnet, wobei die 1 anzeigt, daß es sich 1 2 DIE ENTSCHEIDBARKEIT DES P=NP-PROBLEMS um einen zweitstufigen Quantor handelt und k die Stelligkeit der Relation angibt. Analog kennzeichnet man eine Sprache ebenfalls als zweitstufig, indem man dem Symbol L eine 1 im Exponenten zufügt. Ist σ eine Signatur, so ist L(σ) die Menge aller erststufigen σ-Formeln und L1 (σ) die Menge aller zweitstufigen σ Formeln. Eine Theorie ist zweitstufig, falls sie zweitstufige Formeln enthält. Sei Φ eine zweitstufige Formel in pränexer Normalform, mit universellem erststufigen Teil, dessen quantorenfreies Fragment in konjunktiver Normalform steht. Also Φ ≡ Q1a0 P0 . . . Q1ak−1 Pk−1 ∀x0 . . . ∀xs−1 ϕ mit ϕ quantorenfrei in konjunktiver Normalform, dann nennt man Φ eine HornFormel, wenn in jeder Konjunktion höchstens ein nichtnegiertes Relationssymbol Pi auftaucht. Zum Beispiel ist ∃12 S∃11 P ∀x∀y(¬P x∨S(x, y)) ein Hornausdruck, während ∃11 P ∀x∀y(P x ∨ P y) kein Hornausdruck ist, weil im ersten Fall nur eine Relation positiv, im zweiten aber beide positiv vorkommen. 1.2. Komplexitätsklassen. Für unsere Fragestellung sind folgende Komplexitätsklassen von Interesse: L: Die Klasse aller Probleme, die von einer LOGSPACE-Turingmaschine entschieden werden können. P: Die Klasse aller Probleme, die von einer deterministischen Turingmaschine in polinomieller Zeit entschieden werden können. NP: Die Klasse aller Probleme, die von einer nichtdeterministischen Turingmaschine in polinomieller Zeit entschieden werden können. Von besonderem Interesse für uns ist die folgende r s−1 Definition 1.1. Ist σ = {R0r0 , . . . , Rs−1 , c0 , . . . , ct−1 } A A i , . . . , c , cA und A = hA, R0A , . . . , Rs−1 t−1 eine σ-Struktur mit |A| = n. Wir können 0 dann A als 0-1-Folge folgendermassen darstellen: Zunächst einmal codieren wir die einzelnen Relationen und Konstanten. Da es genau nri viele ri -stellige Relationen gibt, sei die binäre Codierung binA (Ri ) eine 0 − 1Folge der Länge nri , bei der an der k-ten Stelle genau dann eine 1 steht, wenn das A entsprechende Tupel in RiA liegt. Für jede Konstante cA i sei bin (ci ) eine 0−1-Folge der Länge n, die direkt das Element codiert, das ci in A interpretiert. Dann ist die binäre Codierung bin(A) von A die 0-1-Folge binA (R0 ) . . . binA (Rs−1 )binA (c0 ) . . . binA (ct−1 ). Ist σ = ∅, dann ist bin(A) eine Folge der Länge n, bei der jeder Eintrag eine 0 ist. Offenbar läßt sich bei Eingabe A bin(A) in P ausrechnen, so daß wir im Weiteren davon ausgehen können, daß alle Eingaben binär codiert sind. Ist M eine Turingmaschine und E eine Eingabe, dann schreiben wir kurz M (E) ↓ für ”M akzeptiert E”. 1.3. erststufig definierbare Klassen sind in L entscheidbar. Sei FO die Menge aller Klassen erststufig definierbarer Strukturen, also FO = {M od(ϕ) : es existiert Signatur τ mit ϕ ∈ L(τ )}. Dann gilt folgender Satz 1.2. FO ⊂ L DIE ENTSCHEIDBARKEIT DES P=NP-PROBLEMS 3 r s−1 Beweis. Sei σ = {R0r0 , . . . , Rs−1 , c0 , . . . , ct−1 } und ϕ ∈ L(σ) in prenexer Normalform, also ϕ ≡ Qx0 . . . Qxk−1 ψ(x0 , . . . , xk−1 ) mit quantorenfreiem ψ. Unser Ziel ist es eine LOGSPACE-Turingmaschine M ϕ zu konstruieren, die bei Eingabe bin(A) entscheidet, ob A ² ϕ oder nicht. Wir werden die Maschine induktiv über der Anzahl der Quantoren k definieren. k = 0 In diesem Fall ist ϕ ≡ ψ, also ϕ als quantorenfreie Formel eine boolesche Kombination von atomaren Formeln, also Ri (cl0 , . . . , clri −1 ) und ci = cj . Es reicht demnach nachzuweisen, daß eine Turingmaschine diese Formeln mit logarithmisch viel Platz entscheiden kann, da die Anzahl dieser Formeln von der Eingabelänge unabhängig, also konstant ist. Da aber auch die Stelligkeit der Relationen konstant ist, ist das trivial. k → k + 1 OBdA seien ϕ ≡ ∀xQx0 , . . . , Qxk−1 ψ(x, x0 , . . . , xk−1 ) und ϕ(x) ≡ Qx0 , . . . , Qxk−1 ψ(x, x0 , . . . , xk−1 ) dann erzeugt M ϕ induktiv alle n möglichen Interpretationen x von x, dazu reicht log(n) Platz und benutzt danach jeweils M ϕ(x) . Sind alle Antworten ”ja”, dann akzeptiert M ϕ die Eingabe bin(A), sonst nicht. ¤ Offenbar gilt somit folgendes Korollar 1.3. FO ⊂ P. 2. Der Satz von Fagin Bevor wir den Satz von Fagin formulieren können, benötigen wir noch folgende Definition 2.1. Sei σ eine Signatur, dann ist Σ10 (σ) = Π10 (σ) = ∆10 (σ) = L(σ) und induktiv • Σ1k+1 (σ) = {ψ : ψ ≡ ∃1 X0 , . . . , ∃1 Xn−1 ϕ f ür eine Π1k (σ) − F ormel ϕ} • Π1k+1 (σ) = {ψ : ψ ≡ ∀1 X0 , . . . , ∀1 Xn−1 ϕ f ür eine Σ1k (σ) − F ormel ϕ} • und ∆1k+1 (σ) = Σ1k+1 (σ) ∩ Π1k+1 (σ). Offenbar ist [ L1 (σ) = Σ1k (σ). Mit SO∃ bezeichnen wir die Klasse turen. k∈ω aller Σ11 definierbaren Mengen endlicher Struk- Satz 2.2 (Fagin). NP = SO∃ Beweis. Der Beweis gliedert sich in 2 Teile, dem einfachen SO∃ ⊂ NP und dem schweren NP ⊂ SO∃. Zum Ersten. Sei τ eine Signatur und ϕ eine Σ11 (τ )-Aussage, also ϕ ≡ ∃1r0 X0 . . . ∃1rk−1 Xk−1 ψ(X0 , . . . , Xk−1 ) 4 DIE ENTSCHEIDBARKEIT DES P=NP-PROBLEMS mit erststufigem ψ. Wir wissen bereits (siehe Satz 1.2 und Korollar 1.3), daß es eine deterministische PTIME-Turingmaschine M ψ(A0 ,...,Ar−1 ) gibt, die bei Eingabe bin(A) für feste Ai ⊂ Ari entscheidet, ob A ² ψ[A0 , . . . , Ak−1 ]. Die Maschine, die bei Eingabe bin(A) entscheiden soll, ob A ² ϕ, rät nichtdeterministisch die Relationen Xi , indem sie eine entsprechend lange 0 − 1Folge auf ihr Arbeitsband schreibt und diese als binA (X0 ) . . . binA (Xr−1 ) interpretiert. Danach wendet M ϕ einfach eine Variante von M ψ(X0 ,...,Xr−1 ) an. Offenbar geht all das in PTIME. Zum Zweiten. Sei N die zu beschreibende nichtdeterministische (Einband)-Turingmaschine über dem Alphabet Σ mit z Zuständen q0 , . . . , qz−1 , die für eine τ -Struktur A bei Eingabe bin(A) mit n = A maximal nk − 1 viele Schritte für eine Entscheidung benötigt. OBdA habe die Maschine in jedem Schritt höchstens zwei Auswahlmöglichkeiten und löscht das gesamte Band bis auf eine 1 an der ersten Stelle, bevor sie in den akzeptierenden Zustand qa wechselt. Unser Ziel ist es, eine Aussage ΦN = ∃12k Cγ0 . . . ∃12k Cγg−1 ∃1k ∆ϕ(Cγ0 , . . . , Cγg−1 , ∆), mit erststufigem ϕ anzugeben, die sagt: ”Es gibt eine akzeptierende Berechnung Cγ0 , . . . , Cγg−1 , ∆ von N .” Sei dazu C = (Cγ0 , . . . , Cγg−1 ), dann soll C, ∆ die Berechnung auf folgende Weise codieren: Seien s = s0 , . . . , sk−1 , t = t0 , . . . , tk−1 mit si , ti ∈ A. C(s, t) soll den Inhalt der s-ten Stelle auf dem Band zur Zeit t codieren. Dazu sei Γ = {γ0 , . . . , γg−1 } = ({q0 , . . . , qz−1 } × Σ) ∪ Σ die Menge aller möglichen Inhalt einer jeden Stelle des Bandes und C γi (s, t) heiße, daß zur Zeit t an der s-ten Stelle des Bandes der Eintrag γi steht. Zudem wird die Stelle, an der sich der Schreib/Lesekopf befindet, dadurch codiert, daß an dieser Stelle der momentane Zustand mit angegeben wird, also ein Paar (qi , wi ) mit wi ∈ Σ steht. (siehe auch folgendes Bild) RAUM 0 1 p n̂ − 1 n̂ ... nk − 1 ∆ ZEIT 0 hq0 , w0 i w1 ... wn̂−1 t ... t δ0 1 w0 hq1 , w1 i ... wn̂−1 t ... t δ1 .. .. .. .. .. .. .. .. .. . . . . . . . . . t t+1 .. . a−1 a0 a1 b .. . δt δt+1 .. . .. .. .. .. .. .. . . . . . . nk − 1 hqa , 1i ... ... Die k-stellige Relation ∆ codiert, welche Übergangsfunktion δi die Turingmaschine N zur Zeit t benutzt, wobei die 0-te Möglichkeit verwandt wird, wenn ∆(t) gilt, sonst die andere. Wir sind jetzt in der Lage die Aussage ϕ(C, ∆) zu formulieren, die sagt, daß C, ∆ eine akzeptierende Berechnung von N codiert. Dazu sei ϕ1 die DIE ENTSCHEIDBARKEIT DES P=NP-PROBLEMS 5 Aussage, daß die erste Zeile der Eingabe bin(A) entspricht, ϕ2 sagt, daß für i 6= j niemals Cγi (s, t) und Cγj (s, t) gilt. ϕ3 sagt daß die (t + 1)-te Zeile der Berechnung aus der t-ten via ∆(t) folgt. ϕ4 sagt, daß am Ende der Berechnung an der ersten Stelle im Schema hqa , 1i steht. Dann gilt mit ϕ ≡ ϕ1 ∧ ϕ2 ∧ ϕ3 ∧ ϕ4 , daß A ² ΦN gdw (N (bin(A)) ↓). ¤ Betrachtet man die beschreibende Formel genauer, so erhält man im Falle einer deterministischen Turingmaschine folgendes Korollar 2.3. P⊂ SO∃ − Horn. Betrachten wir ausschließlich Strukturen, auf denen eine Nachfolgerrelation existiert, kann man Korollar 2.3 noch verstärken. Satz 2.4 (Grädel). Für Strukturen mit Nachfolgerrelation ist P = SO∃ − Horn. . ¤ 3. Folgerungen aus dem Satz von Fagin 3.1. Entscheidbarkeit des P=NP Problems. P=NP ist nach Satz 2.2 und Satz 2.4 für τ -Strukturen mit Nachfolgerrelation zu der Aussage ”Für jede Σ11 (τ )-Aussage ϕ existiert eine Σ11 − Horn(τ )-Aussage ψ, so daß für alle τ -Strukturen A gilt, daß A ² ϕ genau dann, wenn A ² ψ” äquivalent. Uns interessiert nun die Frage, ob diese Aussage unabhängig von ZFC, oder zumindest von der Wahl von ”gutartigen” Modellen M ist. Wir können diese Frage leider nur im zweiten Fall positiv beantworten, während die Beantwortung der Frage im ersten Fall offen bleibt. Für den zweiten Fall reicht es anzunehmen, daß wir nur Modelle betrachten, bei denen die Menge der natürlichen Zahlen isomorph zum Standardmodell N ist. In diesem Fall können wir die Aussage, die P=NP darstellt, durch Gödelisieren der Formeln und dem Codieren der Erfüllungsrelation ² innerhalb von M in eine Form bringen, die, unabhängig von der Wahl des ”gutartigen” Modells, gilt oder eben nicht. Somit ist das P=NP-Problem für solche M entscheidbar, wegen des Satzes 2.4 allerdings nur im Falle der Existenz einer Nachfolgerrelation. Literatur [EFT98] [Im99] [Ku80] H.-D.Ebbinghaus, J. Flum, W. Thomas, ”Einführung in die mathematische Logik”, Spektrum 4th edition, 1998 N.Immerman, ”Descriptive Complexity”, Springer, 1999 K. Kunen, ”Set Theory”, North-Holland, 1980 6 DIE ENTSCHEIDBARKEIT DES P=NP-PROBLEMS