Theoretische Informatik 1

Ähnliche Dokumente
Theoretische Informatik 1

Theoretische Informatik 1

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P

Theoretische Informatik 1

Theoretische Informatik 1

Einführung in die Theoretische Informatik

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Grundlagen der Theoretischen Informatik

Rekursiv aufzählbare Sprachen

Komplexität und Komplexitätsklassen

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

2.4 Kontextsensitive und Typ 0-Sprachen

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie

Speicherplatz-Komplexität 1 / 30

Theoretische Informatik SS 03 Übung 4

Mächtigkeit von WHILE-Programmen

Berechenbarkeit und Komplexität

LOOP-Programme: Syntaktische Komponenten

Theoretische Informatik Testvorbereitung Moritz Resl

Einführung in Algorithmen und Komplexität

Einführung in Berechenbarkeit, Komplexität und formale Sprachen

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

Berechenbarkeit. Script, Kapitel 2

Formale Sprachen und Automaten

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Einführung in die Theoretische Informatik

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

abgeschlossen unter,,,, R,

Theoretische Grundlagen der Informatik

a n b n c n ist kontextsensitiv kontextfreie Sprachen (Typ 2) Abschnitt 3.3 kontextfreie Sprachen: Abschlusseigenschaften Chomsky NF und binäre Bäume

Theoretische Informatik 1

Theoretische Informatik 2

Grundlagen der Theoretischen Informatik

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

Komplexita tstheorie eine erste Ubersicht. KTV bedeutet: Details erfahren Sie in der Komplexitätstheorie-Vorlesung.

Stefan Schmid TU Berlin & T-Labs, Berlin, Germany. Reduktionen in der Berechenbarkeitstheorie

Fortgeschrittene Netzwerk- und Graph-Algorithmen

11.1 Kontextsensitive und allgemeine Grammatiken

3. Ziel der Vorlesung

Formale Sprachen. Script, Kapitel 4. Grammatiken

Das P versus N P - Problem

8. Turingmaschinen und kontextsensitive Sprachen

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Theoretische Informatik SS 03 Übung 3

Theoretische Informatik Kap 2: Berechnungstheorie

Was bisher geschah: Formale Sprachen

8 Komplexitätstheorie und Kryptologie

Algorithmen und Programmierung

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik

Nichtdeterministische Platzklassen

Theoretische Informatik 1

Zusammenfassung Grundzüge der Informatik 4

Rekursive Funktionen Basisfunktionen

Theoretische Informatik 1

Algorithmen und Datenstrukturen Kapitel 6 Komplexitätstheorie

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)

Einführung in die Informatik

Einführung in die Theoretische Informatik

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen?

THEORETISCHE INFORMATIK

Die Klassen P und NP. Dr. Eva Richter. 29. Juni 2012

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

1 Random Access Maschine

THEORETISCHE INFORMATIK

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

Theoretische Informatik

Entscheidungsprobleme. Berechenbarkeit und Komplexität Entscheidbarkeit und Unentscheidbarkeit. Die Entscheidbarkeit von Problemen

Berechenbarkeits- und Komplexitätstheorie

NP-Vollständigkeit. Krautgartner Martin ( ) Markgraf Waldomir ( ) Rattensberger Martin ( ) Rieder Caroline ( )

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Wortproblem für kontextfreie Grammatiken

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit

Die Komplexitätsklassen P und NP

Einführung in die Programmierung

2. Berechnungsmächtigkeit von Zellularautomaten. Ziele Simulation von Schaltwerken Simulation von Turingmaschinen

Theoretische Informatik

Klausur Informatik-Propädeutikum (Niedermeier/Hartung/Nichterlein, Wintersemester 2012/13)

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Übung zur Vorlesung Berechenbarkeit und Komplexität

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Berechenbarkeit und Komplexität

Vorlesung Theoretische Informatik

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen

Algorithmen und Berechnungskomplexität II

Einführung in die Informatik Grammars & Parsers

Optimierungsprobleme. B. Langfeld, M. Ritter, B. Wilhelm Diskrete Optimierung: Fallstudien aus der Praxis

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Grammatiken und die Chomsky-Hierarchie

Musterlösung der Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2012/13

Transkript:

Theoretische Informatik 1 Die Komplexitätsklasse P David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012

Übersicht Äquivalenz von RM und TM Äquivalenz, Sätze Simulation DTM durch RM Sprachprobleme Problemarten Die Klasse P Definition P Zusammenfassung

Erinnerung: Erweiterte Church sche These Erweiterte Church sche These Jedes sinnvolle Prozessmodell kann effizient auf einem Standardmodell (Turing-Maschine, Registermaschine) simuliert werden. Effizient heißt, dass der Zeitverlust maximal polynomiell ist. Alonzo Church (1903-1995) 1 Diese These ist für alle bekannten Prozessmodelle bewiesen. 1 Aus Wikipedia - die freie Enzyklopädie

Äquivalenz RM und DTM Satz Zu jeder Registermaschine R gibt es eine Turingmaschine T, sodass für die jeweils berechneten (partiellen) Funktionen gilt: Satz f T (bin(x 1 )#bin(x 2 )#... #bin(x k )) = bin(f R (x 1,..., x k )). Zu jeder Turingmaschine T (mit Ausgabealphabet {0, 1}) gibt es eine Registermaschine R, sodass für die jeweils berechneten (partiellen) Funktionen gilt: f R (w 1, w 2,..., w w ) = bin 1 (f T (w))

Simulation RM durch DTM

Simulation RM durch DTM RM: Programm mit p Befehlen, Speicher r 0,..., r m 4-Band DTM: Σ = {0, 1, #}, Γ = {0, 1, #, } Band 1: Eingabe, Band 3: Ausgabe Band 4: Nebenrechnungen Band2: ###0#r 0 ##... ##bin(m)#bin(r m )### Q = Q 0 Q 1... Q p Q p+1 Q 0 -Zustände übersetzen Eingabe in Registerstruktur Q p+1 -Zustände übertragen Ergebnis r 0 auf Band 3 Q i, 1 i p simuliert Befehl i

Simulation RM durch DTM 2: ADD *24 = Q 2 1. suche ##11000#x# auf Band 2 (9q s) 2. kopiere x von Band 2 bis # auf Band 4 (1q) 3. suche ##x#y# auf Band 2 (4q s) 4. kopiere y von Band 2 bis # auf Band 4 (1q) 5. Rewind Band 2 zum Ende des Akkumulator (6q s) 6. Addiere bitweise Akkumulator zu Band 4 (2q) 7. Ersetzte Akkumulator durch Inhalt von Band 4 (4q s) Q 2 umfasst also 27 Einzelzustände siehe dazu Übungsaufgabe

Simulation DTM durch RM, Variante 1 Zentrale Frage: Wie wird das Band dargestellt? Variante 1: Ein Register pro Bandfeld, startend bei r 10 : Bandfelder nummerieren:..., F 2, F 1, F 0, F 1, F 2,... Kopfposition: r 1, Inhalt: r r1, Zustand: r 2 F k R 10+2k, F 0 r 10, F k r 10+2k 1 Rechts: = 2; Links: = 2 IF r 1 mod 2=1 THEN r 1 =r 1 + ELSE r 1 =r 1 - IF r 1 =8 THEN r 1 =11 ELSEIF r 1 =9 THEN r 1 =10, r 2, r r1 über IF-Tabelle bestimmen Nachteil: indirekte Adressierung notwendig

Simulation DTM durch RM, Variante 2 Variante 2: 2 Stacks in je einem Register Stack L in r 3 ist Bandinhalt links vom Kopf Stack R in r 4 ist Bandinhalt rechts vom Kopf Symbol unter dem Kopf in r 2, aktueller Zustand in r 1 Konfiguration: β m... β 0 qα 0... α n r 3 = β 0 + β 1 Γ +... + β m Γ m r 4 = α 1 + α 2 Γ +... + α n Γ n 1 r 2 = α 0 r 1 = q mover: r 3 = r 3 Γ + r 2 ; r 2 = r 4 mod Γ ; r 4 = r 4 div Γ movel: r 4 = r 4 Γ + r 2 ; r 2 = r 3 mod Γ ; r 3 = r 3 div Γ

Simulation DTM durch RM, Variante 2 δ(q 1, α 1 ) = (q 1, α 1, R) δ(q 2, α 2 ) = (q 2, α 2, L) δ(q 3, α 3 ) = (q 3, α 3, L), F = {q F 1,..., q Fk } Loop: IF r 1 = q 1 r 2 = α 1 THEN r 1 = q 1 ; r 2 = α 1 ;MoveR; ELSE IF r 1 = q 2 r 2 = α 2 THEN r 1 = q 2 ; r 2 = α 2 ;MoveL; ELSE IF r 1 = q 3 r 2 = α 2 THEN r 1 = q 3 ; r 2 = α 3 ;MoveL; ELSE IF... ELSE GOTO Rejected IF r 1 = q F 1... r 1 = q Fk GOTO Loop THEN GOTO ACCEPTED;

Kosten der Simulation Gegeben: RM mit Komplexität T R (n) Gesucht: T T (n) der äquivalenten DTM Satz T T (n) = O ( T 2 R (n)) Gegeben: DTM mit Komplexität T T (n) Gesucht: T R (n) der simulierenden RM Satz T R (n) = O ( T 2 T (n))

Problemarten Konstruktionsprobleme (Optimierungsprobleme) Zu einer Eingabe x (der Probleminstanz) soll die optimale Lösung, sofern sie existiert, bestimmt werden. Funktionsberechnungen Eingabe x, berechne f (x). Lösung ist eindeutig. Entscheidungsprobleme Eingabe x, Ausgabe JA/NEIN bzw 1/0 Größte Bedeutung für Komplexitätstheorie haben Entscheidungsprobleme Anstelle von Konstruktionsproblemen werden die zugehörigen Entscheidungsprobleme betrachtet Beachte: Eingabecodierung ist Teil der Problemdefinition!!

Formale Sprachen Formale Sprachen: Bestimmte Menge von Zeichenketten die aus einem Zeichenvorrat zusammengesetzt werden können. Jedes Entscheidungsproblem lässt sich als formale Sprache darstellen... als Menge der akzeptierten Inputs

Chomsky-Hierarchie Hierarchisches Schema formaler Sprachen. Umfasst 4 Typen formaler Sprachen. Jede Ebene grenzt die darüber ein: Chomsky-Hierarchie Typ-0: Rekursiv aufzählbaren Sprachen (von Turing-Maschine erkennbar) Typ-1: Kontextsensitiven Sprachen Typ-2: Kontextfreien Sprachen (Bsp: Palindrome {anna, otto,...}) Typ-3: Reguläre Sprachen (von endlichen Automaten erkennbar) Noam Chomsky (2005) 1 1 Aus Wikipedia - die freie Enzyklopädie

Formale Sprachen und Turing-Berechenbarkeit Definition (rekursiv aufzählbare Sprachen) Eine Sprache L Σ wird von einer DTM akzeptiert, gdw. DTM T : w L f T (w) = JA Definition (rekursive Sprachen) Eine Sprache L Σ wird von einer DTM entschieden, gdw. DTM T : w L f T (w) = JA w L f T (w) = NEIN (Beide sind Typ-0 Sprachen in der Chomsky-Hierarchie)

Die Klasse P Definition (Die Zeit-Komplexitätsklasse DTIME) Die Zeit-Komplexitätsklasse, DTIME(t(n)) ist die Menge aller Sprachen die von einer O(t(n))-zeitbeschränkten Turingmaschine entschieden werden können DTIME(t(n)) = { A Σ DTM T : f T = f A T T (n) = O(t(n)) } Definition (Die Klasse P) Die Klasse P ist die Menge aller Sprachen, die von einer DTM in polynomieller Zeit entschieden werden können. P = DTIME(n k ) k N Aber, Erweiterte Church sche These: Maschinenmodelle beliebig austauschbar P ist unabhängig von Maschinenmodell!

Beispiel REACH geg: Graph G = (V, E) V = {v 1, v 2,..., v m }; E = {(v i1, v i2 ),...} ges: Existiert ein Pfad von v 1 nach v m in G? REACH REACH = { G (v 1 = v m ) (v 1, v m ) E v i1, v i2,... v ik : {(s, v i1 ),..., (v ij, v ij+1 ),..., (v ik, t)} E} Zeige, dass REACH in P ist! Mit der Notation bezeichnen wir eine geeignete, effiziente Codierung als String der von einer TM verarbeitet werden kann

Beispiel RELPRIME geg: 2 Zahlen x, y ges: Haben x und y einen gemeinsamen Primfaktor? RELPRIME RELPRIME = { x, y k 2 N : k x k y } Zeige, dass RELPRIME in P ist! Benutze euklidischen Algorithmus zur Berechnung des gcd(x, y): Wenn gcd(x, y) = 1, dann x, y RELPRIME

Beispiel CVP (Circuit Value Problem) geg: Boolscher Schaltkreis C, Eingangsbelegung x ges: Liefert der (einzige) Ausgang von C eine 1? CVP CVP = { C, x C(x) = 1 } Zeige, dass CVP in P ist! Beachte: Die Kodierung von C lässt keine Makrobildung oder rekursive Definition zu!!

Beispiel PRIMES geg: Zahl x ges: Ist x eine Primzahl? CVP PRIMES = { x } x P Zeige, dass PRIMES in P ist! M. Agrawal, N. Kayal, and N. Saxena: Primes in P; Annals of Mathematics, 160 (2004), 781-793

(wahrscheinlich) nicht mehr in P Hat Graph G einen HAMILTON-Kreis? Hat Graph G eine CLIQUE der Größe k? Hat die Zahl x einen Teiler kleiner als y? Gibt es eine Belegung x, sodass C(x) = 1 ist?... Aber: CLIQUE(G,4) ist in P. (festes k!) Weil: Anzahl der möglichen Cliquen ist ( m 4) = O(m 4 )

Zusammenfassung Erweiterte Church sche These: Alle Maschinenmodelle beliebig austauschbar Registermaschine auf Turingmaschine in polynomieller Zeit simulierbar und vice versa Entscheidungsprobleme formale Sprachen Die Klasse P: Menge aller Sprachen, die von einer DTM in polynomieller Zeit entschieden werden können Aus Erweiterte Church sche These folgt: P ist unabhängig von Maschinenmodell!