Komplexitätstheorie WS 04/05 03.11.04
Definition
Für Mengen A,B definiere
A∆B (A\B) (B\A) ( = (A B) \ (A B) ).
Lemma 3
Falls L∆L' endlich ist, dann ist L P gdw L' P.
Beweis:
Sei T eine DTM die L in polynomieller Zeit erkennt.
Es ist leicht die endlich vielen Fälle, in denen T' sich anders verhalten muss, in den Zuständen und der Übergangsfunktion zu kodieren, so dass L(T') = L'.
Bemerkung
Lemma 3 gilt für alle Komplexitätsklassen.
Theorem 4
Falls P ≠ NP ist, dann gibt es ein L
*NP mit L
*P und L
*ist nicht NP
vollständig.
Beweis:
Sei L NPvollständig und w
0L. (∑
*ist nach Annahme nicht NPvollständig).
Wir definieren G und L
*{ w L w G }.
Setzte f(x) x falls x G, f(x) w
0sonst.
f ist PReduktion von L
*nach L falls “ x G” in polynomieller Zeit entscheidbar ist. Es ist dann L
*NP (da L NP).
Seien {L
1,L
2,L
3,...} eine Aufzählung der Sprachen in P.
{L'
1,L'
2,L'
3,...} eine Aufzählung der NPvollständigen Sprachen.
Definiere für i Funktionen g
i, b
i: ∑
*wie folgt:
g
i(n) “das kürzeste w L∆L
imit w ≥ n”
b
i(n) “das kürzeste w L'
imit w ≥ n”
“g
i(n) ist ein Gegenbeispiel, dass zeigt L
*≠ L
i.” g
i(n) existiert immer, da sonst L∆L
iendlich wäre und damit nach Lemma 3 L P (Widerspruch zu L NP
vollständig).
“b
i(n) ist ein Beispiel für L'
i≠ L
*.” b
i(n) existiert immer, da sonst L'
iendlich wäre (Widerspruch zu P ≠ NP).
Definiere noch für n ,
r(n) max{ g
i(n) , b
i(n) i ≤ n }
Es gelten nun folgende Eigenschaften. Für jedes n gibt es:
–
für alle i ≤ n: w
iL∆L
imit n ≤ w
i≤ r(n)
–für alle j ≤ n: w
jL'
jmit n ≤ w
j≤ r(n)
Wähle eine geeignete Abbildung r' mit r'(n) > r(n) und definiere r
o0
r
i+1r'(r
i) und weiter
G { n r
i≤ n ≤ r
i+1für i gerade }
Seite 1
Komplexitätstheorie WS 04/05 03.11.04
Angenommen L
*P. Dann ist L
*= L
ifür ein i . Sei n gerade mit r
n≥ i.
Dann gibt es ein w mit r
n≤ w ≤ r(r
n) ≤ r
n+1(also w G) und w L∆L
i. Da w G ist und L
*L, ist w L
*∆L
i, also L
*≠ L
iund das ist ein Widerspruch.
Sei jetzt angenommen L
*sei NPvollständig. Dann ist L
*= L'
jfür ein j . Sei m ungerade mit r
m≥ j.
Dann gibt es ein w mit r
m≤ w ≤ r(r
m) ≤ r
m+1(also w G) und w L'
j. Da w G ist, ist w L
*, also L
*≠ L
j; Widerspruch.
Damit G brauchbar ist ( d.h. { x x G } P ) muss r' folgende Eigenschaft haben:
(1) Es gibt eine DTM, die bei Eingabe 1
ngenau r'(n) Schritte rechnet.
Es gilt aber folgendes
Lemma: Für jede berechenbare Funktion r gibt es ein r' mit (1) und r (n) < r'(n) für alle n .
Mit (1) hat man dann folgenden Algorithmus, der „ x G“ entscheidet:
Sei T die DTM aus (1) für r'.
Input x.
Berechne r
0,r
1,r
2,r
3,...,r
kdurch Simulation von T bis r
k+1≥ x . (es ist dann r
i≤ x für i ≤ k, also wird O( x ) Zeit zur Berechnung eines r
ibenötigt)
Akzeptiere falls i gerade, sonst verwerfe.
Da für alle i r
i< r
i+1ist und man bei der Berechnung von r
k+1nach x + 1 Schritten aufhören kann, ist die Laufzeit des Algorithmus 0( x
2).
Bemerkung
Falls NP ≠ coNP ist, so sind alle L coNP nicht NPvollständig.
In NP coNP liegen z.B.
–
PRIM ( P ! )
–
FAKTORISIEREN = { (n,k) n hat Primfaktor p ≤ k }
–ModelChecking für Lμ
2.4 Relativierung
Definition ( OrakelTuringmaschinen )
Deterministische (bzw. nichtdeterministische) OrakelTuringmaschinenen sind DTM'n (bzw. NTM'n) für die folgende Zusatzbedingung gilt:
–
die TM hat ein spezielles Anfrageband
–
die TM hat drei spezielle Zustände: ANFRAGE, JA, NEIN
Das Verhalten der Maschine ist abhängig von einem Orakel A ∑
*. Im Zustand Anfrage geht sie über in
JA falls Anfrageband A NEIN sonst
Bezeichnung: T
Afür T OrakelTM mit Orakel A.
Seite 2
Komplexitätstheorie WS 04/05 03.11.04
Definition ( Relative Komplexitätsklassen )
P
A= { L es gibt OrakelDTM T mit L(T
A) = L und TIME
T(x) = O( x
k) } NP
A= { L es gibt OrakelNTM T mit L(T
A) = L und TIME
T(x) = O( x
k) } Bemerkung
P = P , NP = P Bemerkung ( Relativierung )
Wir werden zeigen:
–
es gibt Orakel A mit P
A= NP
A –es gibt Orakel B mit P
B≠ NP
BMan sagt, eine Beweistechnik lässt sich relativieren, wenn wenn sie auf Orakel Komplexitätsklassen mit beliebigem Orakel anwendbar ist.
Wenn also zum Beispiel die Korrektheit eines vermeintlichen Beweises für P
= NP (bzw. P ≠ NP) geprüft werden soll, dann reicht es ihn zu relativieren (d.h. zu zeigen, dass sich damit auch P
A= NP
A(bzw. P
A≠ NP
A) für jedes Orakel A zeigen lässt) um ihn zu widerlegen.
Alle Beweistechniken die wir bisher kennengelernt haben lassen sich relativieren. Wir werden aber noch Techniken zur Trennung von Komplexitätsklassen sehen, die sich nicht relativieren lassen.
Seite 3