Theoretische Informatik 1

Ähnliche Dokumente
Theoretische Informatik 1

Theoretische Informatik 1

Theoretische Informatik 1

Theoretische Informatik 1

Rekursiv aufzählbare Sprachen

Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.

Theoretische Informatik 1

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

Übersicht. 3 3 Kontextfreie Sprachen

Theoretische Grundlagen der Informatik

Theoretische Informatik II

Typ-0-Sprachen und Turingmaschinen

Weitere universelle Berechnungsmodelle

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Berechenbarkeit. Script, Kapitel 2

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

5.2 Endliche Automaten

Proseminar Komplexitätstheorie P versus NP Wintersemester 2006/07. Nichtdeterministische Turingmaschinen und NP

Turing Maschinen II Wiederholung

VL-03: Turing Maschinen II. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger

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

Mehrband-Turingmaschinen und die universelle Turingmaschine

Berechenbarkeit und Komplexität: Erläuterungen zur Turingmaschine

ALP I Turing-Maschine

2.6 Verdeutlichung verwendeter Begriffe

Theoretische Informatik 1

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Informatik III - WS07/08

Rucksackproblem und Verifizierbarkeit

Theoretische Informatik 1

Theoretische Grundlagen der Informatik

Die Komplexitätsklassen P und NP

Deterministische Turing-Maschinen

4.2 Varianten der Turingmaschine. 4 Turingmaschinen

Einfache Turing Maschine. Formale Spezifikation einer einfachen Turing Maschine. M = (Σ,Γ,#,Q,s,F, ) Σ

1.5 Turing-Berechenbarkeit

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Unentscheidbarkeit von Problemen mittels Turingmaschinen

1.5 Turing-Berechenbarkeit

Laufzeit einer DTM, Klasse DTIME

Das Halteproblem für Turingmaschinen

2.4 Kontextsensitive und Typ 0-Sprachen

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

Theoretische Grundlagen der Informatik

Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen

2 Turingmaschinen 6. Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel

Theorie der Informatik

2 2 Reguläre Sprachen. 2.2 Endliche Automaten. Übersicht

Präsenzübung Berechenbarkeit und Komplexität

Formale Sprachen und endliche Automaten

Berechenbarkeit und Komplexität: Rekursive Aufzählbarkeit und die Technik der Reduktion

Theoretische Informatik 2

11.1 Kontextsensitive und allgemeine Grammatiken

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

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theoretische Informatik I

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

Halteproblem/Kodierung von Turing-Maschinen

Turing-Maschinen: Ein abstrakes Maschinenmodell

FORMALE SYSTEME. 8. Vorlesung: Minimale Automaten. TU Dresden, 6. November Markus Krötzsch Lehrstuhl Wissensbasierte Systeme

Grundlagen der Theoretischen Informatik

Übungsblatt 1. Lorenz Leutgeb. 30. März 2015

FORMALE SYSTEME. Wiederholung. Beispiel: NFA. Wiederholung: NFA. 4. Vorlesung: Nichtdeterministische Endliche Automaten. TU Dresden, 19.

a b b a Vom DFA zur TM Formale Grundlagen der Informatik 1 Kapitel 9 Turing-Maschinen Der Lese-/Schreibkopf Bedeutung der TM

Theoretische Grundlagen der Informatik

Berechenbarkeit/Entscheidbarkeit

H MPKP. Beispiel für eine Rechnung. Reduktion H MPKP. Überführungsregeln

Automaten und Formale Sprachen SoSe 2007 in Trier. Henning Fernau Universität Trier

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung

Ogden s Lemma: Der Beweis (1/5)

Rekursive Aufzählbarkeit Die Reduktion

Berechenbarkeit. Script, Kapitel 2

Einführung in die Theoretische Informatik

Automaten und formale Sprachen Klausurvorbereitung

Automaten und Formale Sprachen SoSe 2013 in Trier

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2014/2015

Diskrete Mathematik II

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

Klassische Informationstheorie: Berechenbarkeit und Komplexität

Transkript:

heoretische Informatik 1 eil 2 Bernhard Nessler Institut für Grundlagen der Informationsverabeitung U Graz SS 2009

Übersicht 1 uring Maschinen uring-berechenbarkeit 2 Kostenmaße Komplexität 3 Mehrband-M Äquivalenz von k-dm und 1-DM 4

uring-berechenbarkeit Sequentielle Maschinen Schema eines sequentiellen Rechners 1 Eingabe Prozessor Ausgabe Programm Speicher Einfachste Variante: Eingabe, Ausgabe, Speicher auf einem einzigen Band. 1 afelbild aus: Reischuk, Komplexitätstheorie, Abb. 1.1

uring-berechenbarkeit uring Maschinen aus: Asteroth, Baier, heoretische Informatik

uring-berechenbarkeit uring Maschine Definition (Deterministische uring Maschine) Eine DM ist ein 7-upel = (Q, Σ, Γ, δ, q 0,, F ) Q, eine Menge von Zuständen Σ, das Eingabealphabet, / Σ Γ, das Bandalphabet, Σ Γ, Blanksymbol: Γ q 0 Q, der Anfangszustand F Q, eine Menge von Endzuständen δ : Q Γ Q Γ {L, R, N}, die Übergangsfunktion

uring-berechenbarkeit Konfiguration Definition (Konfiguration einer DM) Eine Konfiguration ist ein upel κ = (α, q, β) Γ Q Γ wobei q ist der aktuelle Zustand α ist das Wort links vom Kopf, β ist das Wort unter und rechts vom Kopf, und wird als α q β angeschrieben z.b: q 0 100111, 100q 1 111, q 3 101000

uring-berechenbarkeit Beispiel einfache 1-Band DMs 2 binärer Incrementierer Palindrom-Entscheider siehe JFLAP-Konstruktion. Beachte die Möglichkeit der Codierung einer endlichen Anzahl von endlichen großen Variablen in einer erweiterten Zustandsmenge der M. 3 2 Papadimitriou, Fig.2.2f. 3 Reischuk, echnik 1.2.1

uring-berechenbarkeit Eingabe Start: Die Eingabe steht auf dem sonst leeren Band. Der Kopf steht auf dem ersten Eingabezeichen. Definition (Startkonfiguration) Die Startkonfiguration einer DM mit Eingabe w lautet q 0 w, mit w Σ.

uring-berechenbarkeit Definition ( ) Die schrittweise Abarbeitung der DM wird durch die Übergangsfunktion δ (das Programm) festgelegt. Daraus leitet sich die wie folgt ab. δ(q, b) = (q, c, N) α a q b β α a q c β δ(q, b) = (q, c, R) α a q b β α a c q β δ(q, b) = (q, c, L) α a q b β α q a c β δ(q, b) = q F α a q b β ist die reflexive, transitive Hülle von, analog +, q, q Q, a, b, c Γ, α, β Γ i

uring-berechenbarkeit Die Berechnung eine DM erzeugt einen α 0 q 0 β 0 α 1 q 1 β 1 α 2 q 2 β 2 Die Berechnung ist endlich, gdw. α N, q N, β N : α 0 q 0 β 0 α N q N β N Eine in α N q N β N endende Berechnung heißt akzeptierend, gdw. q N F, sonst verwerfend.

uring-berechenbarkeit Ausgabe Sobald die M in einen Endzustand q F übergeht, besteht das Ergebnis v der akzeptierenden Berechnung der M in der Zeichenfolge von der aktuellen Kopfposition nach rechts bis exclusive dem ersten auftretenden. (q 0 w α q v β) (β = ɛ β = β )

uring-berechenbarkeit Die Funktion f (ransducer M) f : Σ (Γ \ { }) { v : (q0 w α q v β) (β = ɛ β = β ) q F f (w) = : sonst

uring-berechenbarkeit Die Funktion f (Entscheider M) f : Σ {JA, NEIN, } JA : q 0 w α q β q F f (w) = NEIN : q 0 w α q β q / F : sonst

uring-berechenbarkeit uring-berechnenbarkeit Definition (rekursive Funktionen) Eine (partielle) Funktion f : Σ Σ ist uring-berechenbar und heißt daher rekursiv, gdw. DM : f (w) = f (w) Definition (rekursiv aufzählbare Sprachen) Eine Sprache L Σ wird von einer DM akzeptiert, gdw. DM : w L f (w) = JA Definition (rekursive Sprachen) Eine Sprache L Σ wird von einer DM entschieden, gdw. DM : w L f (w) = JA w L f (w) = NEIN

Kostenmaße Komplexität Kostenmaße bei Eingabe w Definition (Zeitkosten bei Eingabe w) Die Funktion t (w) : Σ N { } gibt die Länge des (endlichen) es der M bei der Eingabe w an, oder, wenn dieser unendlich ist. Definition (Platzkosten bei Eingabe w) Die Funktion s (w) : Σ N { } gibt die Anzahl der Bandquadrate an, die während der Berechnug der M bei Eingabe von w besucht werden. Satz (Platzkosten sind beschränkt durch Zeitkosten) : w Σ : s (w) t (w)

Komplexität einer DM Kostenmaße Komplexität Definition (Zeitkomplexität) Die Zeitkomplexität einer DM (in Abhängigkeit der Länge der Eingabe) ist definiert als (n) = max w Σ : w n t (w) Definition (Platzkomplexität) Die Platzkomplexität einer DM (in Abhängigkeit der Länge der Eingabe) ist definiert als S (n) = max w Σ : w n s (w) Satz (Platzkomplexität ist kleiner als Zeitkomplexität) : n N : S (n) (n)

Mehrband-M Äquivalenz von k-dm und 1-DM Mehrband-M k Köpfe, also pro Schritt k Symbole veränderbar 1 Schritt = jeder Kopf bewegt sich Köpfe bewegen sich unanbhängig voneinander! Übergangsfunktion δ wird aufgeblasen k-band DM ist also schneller als 1-Band DM

Mehrband-M Äquivalenz von k-dm und 1-DM Äquivalenz k-dm und 1-DM

Mehrband-M Äquivalenz von k-dm und 1-DM Äquivalenz k-dm und 1-DM = (Q, Σ, Γ, δ, q 0,, F ) Das Bandalphabet wird erweitert, sodaß upel von 2k Symbolen und Markern in ein Bandquadrat passen. Wir bezeichnen die Elemente dieser upel als Spuren des Bandes: Γ = Γ (Γ { }) 2k, wobei / Γ Der Zustandraum Q wird vervielfacht um eine Variable c zur Beschreibung des Arbeitsmodus, je eine Variable b i für das aktuelle Zeichen jedes der k Bänder, sowie für jeden der k simulierten Bandköpfe die Richtung der durchzuführenden Bewegung: Q = Q {0, 1, 2, 3} (Γ {?}) k {L, R, N} k q Q : q = q, c, b 1,..., b k, x 1,... x k, q Q, b i Γ {?} Startzustand: q 0 = q 0, 0,?,...,?, N,..., N Eingabe wird in upels umcodiert, dann q = q 0, 1,?,...,?, N,..., N Skizziert wurde bisher die Abbildung einer Konfiguration der k-band Maschine in eine Konfiguration der 1-Band Maschine. Nun muß gezeigt werden, daß die 1-Band Maschine die korrekt implementiert, d.h. eine Abbildung einer beliebigen Konfiguration von in die Abbildung der korrekten Nachfolgekonfiguration umwandelt.

Mehrband-M Äquivalenz von k-dm und 1-DM Äquivalenz k-dm und 1-DM 1 Schritt der k-dm wird von simuliert wenn δ folgendermaßen konstruiert wird: startet in q = q, c = 1,?,...,?, N,..., N wenn c = 1: und auf einer 2i-ten Spur des Bandes steht ein : übertrage das Symbol der (2i 1)-ten Spur in die Zustandsvariable b i. q, 1,...,?,..., N,..., N q, 1,..., b i,..., N,..., N wenn c = 1 und kein auf einer Spur: bewege Kopf nach rechts. wenn c = 1 und wir stehen auf (am rechten Ende angekommen): Codiere die ursprüngliche Übergangsfunktion δ folgendermaßen in δ : Jedes δ(q, b 1,..., b k ) = (p, b 1, x 1,..., b k, x k ) wird zu δ (< q, 1, b 1,..., b k, N,... N >, ) = (< p, 2, b 1,..., b k, x 1,..., x k >,, R) wenn c = 2 und auf der 2i-ten Spur des Bandes steht * und b i?: übertrage das Symbol der Zustandvariable b i auf die (2i 1)-te Spur und setzte auf die 2i-te Spur, Setze Zustandvariable b i auf?. Bewege Bandkopf entsprechend der Zustandsvariable x i. wenn c = 2 und i : x i N b i =?: Setze auf die (2i)-te Spur. Setze Zustandsvariable x i auf N und bewege Bandkopf entgegengesetzt zu x i. wenn c = 2 und wir stehen auf und Zustandsvariable q F : (am linken Ende angekommen): setze c = 3 wenn c = 2 und wir stehen auf und Zustandsvariable q F: setze c = 1, bewege Kopf nach rechts. wenn c = 3: Ein weiterer Banddurchlauf codiert das Band so um, daß nur das Ausgabeband übrigbleibt.

Mehrband-M Äquivalenz von k-dm und 1-DM Äquivalenz k-dm und 1-DM Satz (Kosten der Simulation) Zeitkomplexität: (n) = f (n) = (n) = O((f (n)) 2 ) Platzkomplexität: S (n) = g(n) = S (n) = g(n) Die Simulation bedingt einen quadratischen Zeitverlust. Dieses Ergebnis ist bewiesenermaßen nicht verbesserbar.

Beispiele uring Maschinen Mehrband-M Äquivalenz von k-dm und 1-DM 2 Band Addierer: siehe JFLAP-Konstruktion Mehrdimensionale M: siehe Langtons Ant

Problemarten Konstruktionsprobleme (Optimierungsprobleme) 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 eil 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} Eine M entscheidet L, wenn f = f L. hält immer nach endlich vielen Schritten. (L heißt rekursiv). Eine M akzeptiert L, wenn f L (w) = 1 f (w) = 1. hält zumindest dann, wenn f L (w) = 1. (L heißt rekursiv aufzählbar)

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. M 1 löst 1. Problem. Wie kann unter mithilfe von 1 das 2. Problem effizient gelöst werden? Lösungsidee: Knoten aus G entsprechend den Entscheidungen von schrittweise entfernen. Maximal soviele Aufrufe von 1 wie Knoten, also O(poly(n)).