Willkommen zur Vorlesung Komplexitätstheorie WS 2011/2012 Friedhelm Meyer auf der Heide V8, 12.12.2011 1
Themen 1. Turingmaschinen Formalisierung der Begriffe berechenbar, entscheidbar, rekursiv aufzählbar Komplexitätsklassen 2. Eine untere Schranke für 1-Band DTMs 3. Hierarchiesätze 4. Nichtdeterminismus: Eigenschaften nichtdeterministischer Platzkomplexitätsklassen NP- und PSPACE-Vollständigkeit 5. Die Unentscheidbarkeit der Arithmetik 6. Die polynomielle Hierarchie 7. Randomisierte Komplexitätsklassen 2
P, NPC und dazwischen Satz (Ladner): Gilt P NP, so gibt es Sprachen L NP, die weder in P liegen noch NP-vollständig sind. MST Matching 2-Färbung 2-SAT u.v.a.m. NP P NPC Gilt P NP, so gibt es hier Sprachen Clique Hamiltonkreis 3-Färbung 3-SAT SAT u.v.a.m. 3
Die Klasse PSPACE und PSPACE-Vollständigkeit 4
Die Klassen PSPACE und NPSPACE s : N! N sei monoton wachsend. DSPACE (s(n)) = { L L kann von einer DTM auf Platz O(s(n)) entschieden werden} NSPACE (s(n)) = { L L kann von einer NTM auf Platz O(s(n)) entschieden werden} PSPACE = [ k2n DSPACE(n k ), NPSPACE = [ k2n NSPACE(n k ) sind die Klasse aller Sprachen, die von einer DTM/NTM auf polynomiellem Platz entschieden werden können. Als Folgerung des Satzes von Savitch haben wir gezeigt: PSPACE=NPSPACE Somit folgt auch P µ NP µ PSPACE 5
NP Vollständigkeit Def: L heißt PSPACE-vollständig (liegt in PSPACEC) falls gilt: L 2 PSPACE und für jedes A 2 PSPACE gilt A p L Folgerung: Falls PSPACE P, so ist PSPACEC µ PSPACE\ P d.h. dann (und nur dann) sind die PSPACE-vollständigen Probleme nicht in P. Falls sogar PSPACE NP P gilt, ergibt sich folgendes Bild: P NP NPC PSPACEC PSPACE 6
Konjunktive Pränex Normalform (KPNF) 7
Ein erstes PSPACE-vollständiges Problem a) z.z.: KPNF PSPACE b) z.z.: KPNF ist PSPACE-schwer 8
a) z.z.: KPNF PSPACE Beweis: Sei B=Q 1 x 1, Q 2 x 2,., Q n x n : A(x 1, x 2,., x n ), A eine Formel in KNF der Länge k,, Q i,. Wir berechnen den Wahrheitswert von B wie folgt: (Platzbedarf: T(n,k)) 9
b) z.z.: KPNF ist PSPACE-schwer Sei L 2 PSPACE, M=(Q,,,, q 0,F) eine DTM, die L auf Platz s(n) entscheidet, für ein Polynom s. Bemerkung: M ist dann 2 O(s n ) zeitbeschränkt. Aufgabe: Beschreibe eine in polynomieller Zeit berechenbare Funktion f, die bei Eingabe w 2 * eine KPNF berechnet, so, dass gilt: M akzeptiert w, ist wahr Wir versuchen es so wie beim Beweis der NP-Vollständigkeit von SAT. Die dort konstruierte KNF- Formel erfüllt: w 2 L, M akzeptiert w, M gestartet mit w ist eine akzeptierende Rechnung, Es gibt Belegung für V, die die Formel = A w (V 1 ) Æ (Config(V 2 ) Æ Æ Config(V T ) ) Æ Ü (V 1, V 2 ) Æ Æ Ü (V T-1, V T ) Æ s 2,T wahr macht. Wo liegt das Problem? T= 2 O(s n ), also hat die Formel exponentielle Länge, also ist die Reduktion nicht polynomiell!! 10
b) z.z.: KPNF ist PSPACE-schwer w 2 L, M akzeptiert w, M gestartet mit w ist eine akzeptierende Rechnung, Es gibt Belegung für V, die die Formel = A w (V 1 ) Æ (Conf(V 2 ) Æ Æ Conf(V T ) ) Æ Ü (V 1, V 2 ) Æ Æ Ü (V T-1, V T ) Æ s 2,T wahr macht. Einfache Umformung von : E (V 1, V 2 ) sei wahr, genau wenn V 1, V 2 Konfigurationen K 1, K 2 mit K 1 K 2 beschreiben. d.h. E (V 1, V 2 ) = Conf(V 1 ) Æ Conf(V 2 ) Æ Ü (V 1, V 2 ) Dann lässt sich wie folgt beschreiben: = A w (V 1 ) Æ E (V 1, V 2 ) Æ Æ E (V T-1, V T ) Æ s 2,T Wir werden nun E (V 1, V 2 ) Æ Æ E (V T-1, V T ) mithilfe von Quantoren kompakter beschreiben. 11
b) z.z.: KPNF ist PSPACE-schwer E (V 1, V 2 ) sei wahr, genau wenn V 1, V 2 Konfigurationen K 1, K 2 mit K 1 K 2 beschreiben. Dann lässt sich als A w (V 1 ) Æ E (V 1, V 2 ) Æ Æ E (V T-1, V T ) Æ s 2,T beschreiben. Wir werden nun E (V 1, V 2 ) Æ Æ E (V T-1, V T ) mithilfe von Quantoren kompakter beschreiben. Rekursive Beschreibung (vgl. Beweis des Satzes von Savitch): Zwei rek. Ahfrufe Wenn wir diese Rekursion abrollen, erhalten wir wieder eine Formel der Länge Ω(T), also exponentiell. 12
b) z.z.: KPNF ist PSPACE-schwer Wenn wir diese Rekursion abrollen, erhalten wir wieder eine Formel der Länge Ω(T), also exponentiell. Nutze Quantoren Nur ein rek. Aufruf! 13
b) z.z.: KPNF ist PSPACE-schwer (Kann einfach in KNF der Größe O(s(n)²) umgeformt werden) Sei g(r) die Länge von : r=0: g(0) = O(s(n)²) r>0: g(r) = g(r-1) + O(s(n)²) Also : g(r) = O(r s(n)²) Wir brauchen 2 r = T = 2 O(s n ), also r = log(t) = O(s(n)). Damit hat die Umformung unserer Formel = A w (V 1 ) Æ E (V 1, V 2 ) Æ Æ E (V T-1, V T ) Æ s 2,T in KPNF die Länge O( s(n) 3 ), also polynomiell. Es ist einfach sie auch in ploynomieller Zeit zu berechnen. 14
PSPACE und Spiele Betrachte eine KPNF B= x 1, x 2, x 3, x 4., x n : A(x 1, x 2,., x n ) für eine Formel A in KNF. Interpretation als 2-Personenspiel: A beschreibt eine Spielsituation, Spieler sind Rot und Grün, die x i s sind Spielzüge. Die KPNF B kann dann wie folgt interpretiert werden: Es gibt einen Spielzug für rot, so dass es für jeden Spielzug von grün einen Spielzug von rot gibt, sodass es für jeden Spielzug von grün eine Spielzug für rot gibt,., sodass rot gewinnt. d.h.: in der Spielsituation A gibt es, falls rot am Zug ist eine Gewinnstrategie für rot. Beispiel: Go (verallgemeinert auf nxn Spielfelder (das eigentliche Spiel hat ein 19x19 Spielfeld.)) Satz: GO = { Spielsituation eines nxn Go-Spiels, n N, schwarz ist am Zug schwarz hat Gewinnstrategie} ist PSPACE-vollständig. 15
Vielen Dank für Ihre Aufmerksamkeit Heinz Nixdorf Institut Universität Paderborn Algorithmen und Komplexität Fürstenallee 11 33102 Paderborn Tel.: 0 52 51 / 60 64 80 Fax.: 0 52 51 / 60 64 82 E-Mail: fmadh@hni.upb.de www.hni.uni-paderborn.de/alg 16