Theorem 5:
Es gibt A mit PA =N PA. Beweis:
SeiA:={(T, x,1k)|T DTM die x akzeptiert und dabei h¨ochstens k Bandzellen verbraucht}
Nat¨urlich ist PA ⊆N PA, per Definition. Bleibt also zu zeigen, daß N PA⊆PA.
Sei nun L eine beliebige Sprache in N PA. Also gibt es eine Orakel-NTM T mit L = L(TA), T IM ET(x)≤p(|x|) f¨ur ein Polynom p.
Wir bauen daraus jetzt eine DTMT0, dieL(TA) ohne Orakel erkennt und dabei h¨ochstens q(|x|) Bandzellen beschreibt. (q Polynom).
Damit ist L=PA mit Algorithmus:
input x
schreibe (T0, x,1q(|x|)) aufs Anfrageband akzeptiere falls inA, sonst verwirf Was aber soll T0 machen?
Wir lassen es den Berechnungsbaum von T durchsuchen (analog zu Theorem 5, Kapitel 1).
Jeder globale Zustand von T braucht h¨ochstens p(|x|) viel Platz auf dem Band. Die Simulation braucht also O(p(|x|))≤q(|x|) Bandzellen (w¨ahle q groß genug).
Und was ist mit den Orakel-Anfragen?
WennT die Anfrage (T∗, x∗,1k∗) stellt, dann ist insbesonderek∗ ≤p(|x|). Also lassen wir T0 bei Eingabe x∗ die Maschine T∗ einfach simulieren. Da k∗ ≤q(|x|), ist dies m¨oglich ohne mehr als q(|x|) Bandzellen zu verbrauchen.
⇒ T’ entscheidet obX ∈L.
Der Algorithmus von oben entscheidet L in polynomieller Zeit, also N PA ⊆PA. Theorem 6:
Es gibt ein Orakel B ⊆ {0,1}∗ mit PB 6=N PB. Beweis:
F¨ur B ⊆ {0,1}∗ definiere LB:={0n|∃x∈B :|x|=n}.
Offensichtlich ist LB ∈N PB, n¨amlich so:
input w
falls w6= 0∗ verwerfe sonst rate x mit |x|=|w|
akzeptiere, falls x∈B, sonst verwerfe BleibtB zu konstruieren mit LB ∈/PB.
Sei dazu T0, T1, T2... eine Aufz¨ahlung von Orakel-DTM’s derart, daß f¨ur jedes Orakel X ⊆ {0,1}∗gilt:
• PX ={T0X, T1X. . . TiX. . .}
• f¨ur alle x und k h¨alt TkX bei Eingabe x nach h¨ochstens |x|k+k Schritten 1
B wird induktiv definiert:
B :=S
i∈NBi, gemeinsam mit Schranken ni mit ∀x∈Bi :|x| ≤ni B0 :=∅, n0 := 0.
ni+1 := min{m|m > nii+i,2m > mi+1+ (i+ 1)}
Um Bi+1 zu definieren, betrachte die Berechnung von Ti+1 bei Eingabe 0ni+1. Falls sie akzeptiert, so setze Bi+1 =Bi.
Verwirft sie, dann w¨ahle ein yi+1 mit |yi+1| = ni+1 f¨ur das die Berechnung nicht das Orakel befragt und setze Bi+1 := Bi ∪ {yi+1}. So ein yi+1 existiert immer, da Ti+1Bi nur ni+1i+1+i+ 1 <2ni+1 Anfragen an das Orakel stellt.
Beobachtung:
F¨ur alle i ist die Berechnung von TiBi bei Eingabe 0ni die gleiche wie vonTiBi−1 bei 0ni. Denn yi ∈Bi\Bi−1 wird von TiBi bei 0ni nicht befragt
Worte in B\Bi haben eine L¨ange ≥ ni+1 > nii +i, also hat Ti nicht genug Zeit, diese anzufragen.
Zu zeigen: LB ∈/ PB.
Sei also LB ∈PB. Dann ist LB =L(TjB) f¨ur einj ∈N. BetracheTjB(0nj) =TjBj(0nj).
Falls akzeptiert, dann gibt es in B kein Wort der L¨ange nj, also 0nj ∈/ LB. Falls verwirft, dann istyj ∈B mit |yj|=nj, also 0nj ∈LB.
Also akzeptiert TjB nichtLB!! Widerspruch
⇒ Somit ist LB ∈/ PB.
Ahnlich lassen sich alle m¨¨ oglichen Verh¨altnisse zwischen P, NP und co-NP relativ zu einem Orakel herstellen, z.B.:
N PC =co−N PC, aber PC 6= (co)−N PC f¨ur ein C N PD 6=co−N PD, PD =N PD ∩co−N PD f¨ur ein D N PE 6=co−N PE, PE 6=N PE ∩co−N PE f¨ur ein E
2