Theoretische Informatik 1

Ähnliche Dokumente
Theoretische Informatik 1

Komplexität und Komplexitätsklassen

Theoretische Informatik 1

Theoretische Informatik 2

Theoretische Informatik 1

Willkommen zur Vorlesung Komplexitätstheorie

19. Nichtdeterministische Turingmaschinen und ihre Komplexität

Herzlich willkommen!!!

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Die Komplexitätsklassen P und NP

Rucksackproblem und Verifizierbarkeit

Laufzeit einer DTM, Klasse DTIME

Theoretische Grundlagen der Informatik

Lösungen zur Ergänzung 12

Polynomielle Verifizierer und NP

Speicherplatz-Komplexität 1 / 30

Satz von Hennie und Stearns

abgeschlossen unter,,,, R,

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Proseminar Theoretische Informatik. Die Klasse NP. von Marlina Spanel

Chaos?! Überblick. Beispiele für Rekurrenzen. fn := 3fn-1 + 4fn Beweisen. Abwickeln. Raten Summen. Formelsammlung. Suche nach einer Systematik

Formale Grundlagen der Informatik 1 Kapitel 20

Komplexitätsklassen THEORETISCHE INFORMATIK VORGETRAGEN VON: ELIAS DROTLEFF

1 Zeit- und Platzklassen. 2 Schaltkreise. Reduktionen Many-One- Reduktionen Turing- Reduktionen und Orakel. Zusammenfassung

Klassische Informationstheorie: Berechenbarkeit und Komplexität

Einführung in die Komplexitätstheorie

Theoretische Grundlagen der Informatik

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP

Zeitkomplexität (1) Proseminar Theoretische Informatik. Proseminar Theoretische Informatik: Lisa Dohrmann 1

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

Willkommen zur Vorlesung Komplexitätstheorie

Einfache Zusammenhänge

Theorie der Informatik. Theorie der Informatik P und NP Polynomielle Reduktionen NP-Härte und NP-Vollständigkeit

Einige Grundlagen der Komplexitätstheorie

P, NP und NP -Vollständigkeit

Nichtdeterministische Platzklassen

Der Satz von Savitch

Theoretische Informatik 1

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Teil VI. Komplexitätstheorie.

Komplexitätstheorie. Arfst Nickelsen Universität zu Lübeck Institut für Theoretische Informatik Wintersemester 2006/07. Stand 8.

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Kapitel II : Zeit- und platzbeschränkte Berechnungen

Reelle Komplexität - Grundlagen II

Speicherplatz-Komplexität 1 / 78

Johannes Blömer. Skript zur Vorlesung. Komplexitätstheorie. Universität Paderborn

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

FORMALE SYSTEME. 26. Vorlesung: Zusammenfassung und Ausblick. TU Dresden, 29. Januar Markus Krötzsch Professur für Wissensbasierte Systeme

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

Theoretische Informatik 1

Klausur SoSe Juli 2013

Einführung in Algorithmen und Komplexität

Theoretische Informatik II

Theorie der Informatik

3. Zeit- und Platzkomplexität

Härte von Hamilton-Kreis und TSP Überblick über die Komplexitätslandschaft

Theoretische Informatik. Berechenbarkeit

Carlos Camino Einführung in die Theoretische Informatik SS 2015

Teil III. Komplexitätstheorie

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

Theoretische Informatik - Zusammenfassung!

Speicherplatz-Komplexität 1 / 64

Einführung in die Komplexitätstheorie

Musterlösung Informatik-III-Klausur

Transkript:

Theoretische Informatik 1 Teil 5 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung TU Graz SS 2007

Übersicht 1 Problemklassen 2 NTM Nichtdeterministische Algorithmen 3

Problemarten Konstruktionsprobleme Zu einer Eingabe x (der Probleminstanz) soll die optimale Lösung, soferne 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!!

Sprachprobleme (=Entscheidungsprobleme) geg: Sprache L Σ und ein Wort w Σ ges: Ist w L characteristische Funktion: f L : Σ {0, 1} : f L (w) = { 1 w L 0 w L Sprache einer Entscheidungsfunktion: L = {w Σ f L (w) = 1}

Sprachprobleme vs. Konstruktionsprobleme Aus mehreren Ergebnissen eines Sprachproblems kann effizient auf die Lösung des zugrundeliegenden Konstruktionsproblems geschlossen werden. geg: ungerichteter Graph G = (V, E) (und k 1) ges 1: Enthält G eine Clique der Größe k? ges 2: Knotenmenge der größten Clique aus G. geg: TM T löst 1. Problem. Wie kann unter mithilfe von T das 2. Problem effizient gelöst werden? Lösungsidee: Kanten aus G entsprechend den Entscheidungen von T schrittweise entfernen.

NTM Nichtdeterministische Algorithmen Erweiterung des Rechnermodells: Definition (Nichtdeterministische k-band-tm) Eine k-band-ntm ist ein Tuplel T = (Q, Σ, Γ, δ, q 0,, F ) dessen Komponenten wie für eine k-band-dtm definiert sind, mit Ausnahme von δ : Q Γ 2 Q Γ {L,R,N}. δ(q, b) gibt also nicht eindeutig einen nächsten Schritt an, sondern repräsentiert die Menge der nunmehr möglichen nächsten Schritte, aus der durch Intuition (Orakel, Zeuge) ein Element ausgewählt wird. Konfigurationsrelation T wird erweitert. Konfigurationenfolge wird zu Berechnungsbaum.

NTM Nichtdeterministische Algorithmen Berechnungsbaum NTM Die Zeitkomplexität T T beziehen sich jetzt auf die maximale Tiefe des Berechnungsbaumes.

NTM Nichtdeterministische Algorithmen Bedeutung des Die algorithmische Leistung der NTM besteht darin, am Ende des Weges zu akzeptieren oder zu verwerfen. Berechnungsstärke bleibt unverändert Zeitkomplexität sinkt wesentlich (exponentiell?) Platzkomplexität sinkt unwesentlich NTM werden normalerweise nicht für Konstruktionsprobleme oder Funktionsberechnungen verwendet, sondern ausschließlich für Entscheidungsprobleme (Sprachprobleme). Vorteil: Wichtig ist nur, ob es einen Weg zu einer akzeptierenden Konfiguration gibt, Es muß also der Berechnungsbaum durchsucht werden.

NTM Nichtdeterministische Algorithmen in Algorithmen Guess & Check Rate eine Lösung des zugrunde liegenden Konstruktionsproblems und überprüfe, ob diese Lösung die Bedingungen des Entscheidungsproblems erfüllt. Beispiel TSP (Rundreise mit Gewicht K ): Rate nichtdeterministisch eine Kantenfolge e 1,..., e n Prüfe für jede Kante e i, ob e i G, sonst Antworte NEIN Summiere w(e i ) für alle Kanten der Folge Prüfe ob Summe K, sonst Antworte NEIN Antworte JA

Die Komplexitätstheorie betrachtet nur Probleme, die in endlicher Zeit berechnet werden können. Aus der Struktur der Kategorisierung der Probleme in eine Vielzahl von verschiedenen, teilweise überlappenden Mengen, erhofft man sich Erkenntnisse über die prinzipielle Natur der Komplexität, um daraus wiederum effizientere Algorithmen zu gewinnen oder Beweise über prinzipielle Schranken der Effizienz. Die Kategorisierung von Problemen erfolgt durch sog. Komplexitätsklassen, das sind Mengen von Problemen (Sprachen), die jeweils gemeinsame Komplexitätseigenschaften (Zeitbedarf, Platzbedarf) haben.

Deterministische Komlexitätsklassen Eingabelänge n, Zeitschranke t und Platzschranke s : N N Funktionenklassen: f : Σ Σ f FDTIME(t) DTM T : f T = f und T T (n) = O(t(n)) f FDSPACE(t) DTM T : f T = f und S T (n) = O(s(n)) Sprachklassen: A Σ A DTIME(t) DTM T : f T = f A und T T (n) = O(t(n)) A DSPACE(s) DTM T : f T = f A und T T (n) = O(s(n))

Häufig gebrauchte Komplexitätsklassen: L = DSPACE(log n) PSPACE = DSPACE(n k ) P = k N E = c N k N DTIME(n k ) DTIME(2 cn ) EXP = DTIME(2 nk ) FP = k N k N FDTIME(n k ) FL = FDSPACE(log n)

offline-turingmaschinen Zur Analyse von S T (logn): separates Eingabeband, nur lesen separates Ausgabeband, nur sequentiell schreiben Es wird nur der auf den Arbeitsbändern verbrauchte Platz berücksichtig.

Nichtdeterministische Komlexitätsklassen Eingabelänge n, Zeitschranke t und Platzschranke s : N N Sprachklassen: A Σ A NTIME(t) NTM T : f T = f A und T T (n) = O(t(n)) A NSPACE(s) NTM T : f T = f A und T T (n) = O(s(n))

Häufig gebrauchte Komplexitätsklassen: NL = NSPACE(log n) NPSPACE = NSPACE(n k ) NP = k N NE = c N k N NTIME(n k ) NTIME(2 cn ) NEXP = NTIME(2 nk ) k N

der grundlegendsten Klassen DTM ist Spezialfall der NTM P NP, E NE, EXP NEXP L NL, PSPACE NPSPACE Erweiterung der Ressourcen: P E EXP NP NE NEXP L PSPACE Platzkomplxität Zeitkomplexität P PSPACE, NP NPSPACE

REG sind die regulären Sprachen (EA). REG DSPACE(1) REG DTIME(n) CFL sind die Sprachen der kontextfreien Grammatiken. CFL P