Theoretische Informatik 1

Ähnliche Dokumente
Theoretische Informatik 1

Theoretische Informatik 1

Theoretische Informatik 1

Theoretische Informatik 1

Typ-0-Sprachen und Turingmaschinen

Theoretische Informatik 1

Theoretische Informatik 1

Deterministische Turing-Maschinen

Übersicht. 3 3 Kontextfreie Sprachen

Theoretische Informatik 1

Rekursiv aufzählbare Sprachen

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Theoretische Informatik 1

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

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

Allgemeines Halteproblem Hilberts 10. Problem

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

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

Akzeptierende Turing-Maschine

Reduktion / Hilberts 10. Problem

Laufzeit einer DTM, Klasse DTIME

Das Halteproblem für Turingmaschinen

Theorie der Informatik

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

Die Reduktion Hilberts 10. Problem

11.1 Kontextsensitive und allgemeine Grammatiken

Theoretische Informatik I

Weitere universelle Berechnungsmodelle

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Informatik III - WS07/08

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis:

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

Theoretische Informatik I

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

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

Theoretische Grundlagen der Informatik

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt:

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

Formale Sprachen und Automaten

Berechenbarkeit. Script, Kapitel 2

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

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

1.5 Turing-Berechenbarkeit

Berechenbarkeit/Entscheidbarkeit

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Polynomielle Verifizierer und NP

Automaten und Formale Sprachen SoSe 2013 in Trier

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

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

Software Engineering Ergänzung zur Vorlesung

1.5 Turing-Berechenbarkeit

Was ist überhaupt berechenbar? Was ist mit vernünftigem Aufwand berechenbar?

3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation

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

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

Unentscheidbarkeit von Problemen mittels Turingmaschinen

Theoretische Informatik - Zusammenfassung!

Theoretische Informatik 2

Einführung in die Theoretische Informatik

ALP I Turing-Maschine

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

Algorithmentheorie 2. Vorlesung

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

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

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

Musterlösung Informatik-III-Nachklausur

Theoretische Informatik II

Diskrete Mathematik II

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

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

Theoretische Informatik 1

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

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

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

Formale Sprachen und endliche Automaten

Theoretische Informatik Testvorbereitung Moritz Resl

ADS-EI 5.2 Struktur einer Turing-Maschine 120/451 ľernst W. Mayr

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

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

Wir müssen wissen, und wir werden wissen.

Wie man eine Sprache versteht

Grundbegriffe der Informatik Tutorium 13

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

5.2 Endliche Automaten

mehreren Präzisierungen des intuitiven Begriffs des Verfahren sein muss, so legt sich nahe, dass er Der Begriff der TURING-Maschine ist eine unter

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

Berechenbarkeit. Script, Kapitel 2

Grundlagen der Theoretischen Informatik

Formale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung

Automaten und formale Sprachen Klausurvorbereitung

Präsenzübung Berechenbarkeit und Komplexität

Theoretische Grundlagen der Informatik

Grundlagen der Theoretischen Informatik

Theoretische Grundlagen der Informatik. Vorlesung am 07. November INSTITUT FÜR THEORETISCHE INFORMATIK

2.6 Verdeutlichung verwendeter Begriffe

Transkript:

heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung echnische Universität Graz 11.03.2016

Übersicht uring Maschinen Algorithmusbegriff konkretisiert Modelldefinition uring-berechenbarkeit Berechnungspfad Kosten und Komplexität Formale Sprachen Zusammenhang von Formalen Sprachen und M Chomsky-Hierarchie Zusammenfassung

Begriff Algorithmus Das Zehnte Hilbert sche Problem 1 (dt. Originaltext) Eine diophantische (=ganzzahlige) Gleichung mit irgendwelchen Unbekannten und mit ganzen rationalen Zahlenkoeffizienten sei vorgelegt. Man soll ein Verfahren angeben, nach welchem sich mittels einer endlichen Anzahl von Operationen entscheiden lässt, ob die Gleichung in ganzen Zahlen lösbar ist. David Hilbert (1912) 2 1 David Hilbert präsentiert 1900 in Paris die 23 offenen Probleme der Mathematik 2 Aus Wikipedia - die freie Enzyklopädie

Begriff Algorithmus Hilbert hat also explizit und in definierter abstrakter Form nach einem Entscheidungsalgorithmus gefragt. Er war davon überzeugt, dass es einen solchen prinzipiell immer gibt. atsächlich konnte 1970 bewiesen werden, dass es keinen solchen Algorithmus geben kann.

Begriff Algorithmus uringmaschine 1936 schlug Alan uring ein allgemeines Maschinenmodell für Berechnungen vor: die uringmaschine Er stellte die hese auf, dass sich jede intuitiv berechenbaren Funktion als uringmaschine darstellen lässt (Church-uring hese). Alan uring (1912-1954) 1 1 Aus Wikipedia - die freie Enzyklopädie

uringmaschine Schema eines sequentiellen Rechners Eingabe Prozessor Ausgabe Programm Speicher Einfachste Variante: Eingabe, Ausgabe, Speicher auf einem einzigen Band.

Schema: uringmaschine

Definition: uringmaschine Definition (Deterministische uringmaschine) 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 (akzeptierenden) Endzuständen, das Blanksymbol δ : Q Γ Q Γ {,, }, die Übergangsfunktion

Startkonfiguration Start: Die Eingabe steht auf dem sonst leeren Band. Der Kopf steht auf dem ersten Eingabezeichen. Definition (Startkonfiguration) Die Startkonfiguration κ 0 einer DM mit Eingabe w lautet q 0 w, mit w Σ. Definition (Kleenesche Hülle) Die Kleenesche Hülle Σ über dem Alphabet Σ ist die Menge aller endl. Zeichenketten (Wörter) die durch zusammenfügen von Elementen aus Σ gebildet werden können. Bsp.: Σ = {0, 1}, Σ = {ɛ, 0, 1, 00, 01, 10, 11, 000, 001,... }

Konfiguration Definition (Konfiguration einer DM) Wir definieren die Konfiguration κ einer DM zu einem beliebigen Zeitpunkt der Berchnug als das 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

Definition (Konfigurationsrelation ) Die schrittweise Abarbeitung der DM wird durch die Übergangsfunktion δ (das Programm) festgelegt. Daraus leitet sich die Konfigurationsrelation wie folgt ab. δ(q, b) = (q, c, ) α a q b β α a q c β δ(q, b) = (q, c, ) α a q b β α a c q β δ(q, b) = (q, c, ) α 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

Beispiel Einfache DM 1 : Binärer Inkrementierer Σ = {0, 1}, Γ = {0, 1, }, Q = {s, t, u, h}, F = {h}, q 0 = s M-Programm q Q b Γ δ(q, b) 1: s 0 (s, 0, ) 2: s 1 (s, 1, ) 3: s (t,, ) 4: t 1 (t, 0, ) 5: t 0 (u, 1, ) 6: t (h, 1, ) 7: u 0 (u, 0, ) 8: u 1 (u, 1, ) 9: u (h,, ) siehe JFLAP-Konstruktion (Übung) 1 Papadimitriou, Fig.2.2f.

Berechnungspfad Die Berechnung eine DM erzeugt einen Berechnungspfad α 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, genau dann wenn: q N F, sonst verwerfend.

Ausgabe Sobald die M in einen akzeptierenden Endzustand q F übergeht, besteht das Ergebnis v der akzeptierenden Berechnung der M in der Zeichenfolge von der aktuellen Kopfposition nach rechts bis exklusive dem ersten auftretenden. (q 0 w α q v β) (β = ɛ β = β ) Programm (endlicher Automat) Zustand: q Ausgabe: 1 0 1 0 0 Schreib-Lese-Kopf Band... 1 0 1 1 0 1 0 0 0 1 1...

Die Funktion f (ransducer M) Die Funktion, die von einer M beschrieben wird ist eine partielle Funktion f : Σ (Γ \ { }) { } { v : (q0 w α q v β) (β = ɛ β = β ) q F f (w) = : sonst Programm (endlicher Automat) Zustand: q Ausgabe: 1 0 1 0 0 Schreib-Lese-Kopf Band... 1 0 1 1 0 1 0 0 0 1 1...

Die Funktion f (Entscheider M) Oft ist man nicht an dem Ergebnis der Berechnung interessiert sondern nur ob die M einen akzeptierenden Zustand erreicht, oder nicht. f : Σ {0, 1, } 1 : q 0 w α q β q F f (w) = 0 : q 0 w α q β q / F : sonst Die Maschine trifft eine Entscheidung indem sie akzeptiert oder verwirft. Gilt f (w) = ist die Eingabe w nicht entscheidbar. Entscheider M: Für jede beliebige Eingabe w wird akzeptiert oder verworfen (d.h. f : Σ {0, 1}).

uring-berechenbarkeit Definition (uring-berechnenbarkeit) Eine (partielle) Funktion f : Σ Σ ist uring-berechenbar genau dann wenn DM : f (w) = f (w) Church-uring hese: Die Klasse der intuitiv berechenbaren Funktion ist genau die Klasse der uring-berechenbaren Funktionen

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

Definition (Zeitkomplexität) Komplexität einer DM 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)

Formale Sprachen Formale Sprachen: Bestimmte Menge von Zeichenketten die aus einem Zeichenvorrat zusammengesetzt werden können. Beispiel: L = {John, Paul, Goerge, Ringo} Alle Wörter mit Σ = {a, b} der Länge 2: L = {w Σ w = 2} = {aa, ab, ba, bb} Alle Palindrome über dem Alphabet Σ = {a, b}: L = {w Σ w = w R } = {a, aa, aba, abba,... } Alle Zeichenketten, die einen Graphen mit Pfad von Knoten 1 nach n repräsentieren L = { G G = {E, V } : 1, n V 1 n}

Beispiel: G Graph als Zeichenkette Idee: Knoten und Kanten binär darstellen Σ = {0, 1, #, -} Der String hat die Form: A(v 1 )#A(v 2 )#... A(v n )# Sei q 1... q m V die Liste der Knoten die direkt von einem Knoten v i erreicht werden können A(v i ) = bin(v i )-bin(q 1 )-bin(q 2 )-... -bin(q m ) Beispiel: 1-10-11#10-1-11#11-10-100-101-1#101-100-11#100-101-11#

Zusammenhang mit M Jedes Entscheidungsproblem lässt sich als formale Sprache darstellen Wir bezeichnen mit allgemein eine effizient Codierung eines Problems Entscheidungsgrenze der Sprache kann mit uringmaschinenprogramm definiert werden

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

Formale Sprachen und uring-berechenbarkeit Definition (rekursiv aufzählbare Sprachen) Eine Sprache L Σ wird von einer DM akzeptiert, gdw. DM : w L f (w) = 1 Definition (rekursive Sprachen) Eine Sprache L Σ wird von einer DM entschieden, gdw. DM : w L f (w) = 1 w L f (w) = 0 (Beide sind yp-0 Sprachen in der Chomsky-Hierarchie)

Beispiel: (EVEN-)PALINDROME-Entscheider DM mit Σ = {a, b}, die EVEN-PALINDROME entscheidet. EVEN-PALINDROME = {w v Σ : w = v v R }

Warum uringmaschine? Warum verwendet man nicht ein anderes Maschinenmodell, z.b.: Registermaschine? Annahme: uringmaschine mit Alphabet Γ = N und mathematischen Operationen +,,, mod, div,... In einem einzigen Zeitschritt können beliebig große Zahlen manipuliert werden! Modell zum Messen der Zeitkomplexität sinnlos uringmaschinen könnte in diesem Modell mit nur zwei Bandquadraten simuliert werden! Modell zum Messen der Platzkomplexität sinnlos

Zusammenfassung uring Maschinen: Endlicher Automat + unendliches Speicherband Kosten und Komplexität uniform, daher gut geeignet für Komplexitättheorie Jedes Entscheidungsproblem lässt sich als formale Sprache anschreiben Entscheidet rekursive Sprachen