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

Theoretische Informatik 1

Theoretische Informatik 1

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Allgemeines Halteproblem Hilberts 10. Problem

Deterministische Turing-Maschinen

Übersicht. 3 3 Kontextfreie Sprachen

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

Reduktion / Hilberts 10. Problem

Berechenbarkeit und Komplexität: Probleme, Sprachen, Maschinen

Die Reduktion Hilberts 10. Problem

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

Rekursiv aufzählbare Sprachen

Das Halteproblem für Turingmaschinen

Informatik III. Arne Vater Wintersemester 2006/ Vorlesung

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

Akzeptierende Turing-Maschine

Theoretische Informatik I

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

Theorie der Informatik

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

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

Laufzeit einer DTM, Klasse DTIME

Berechenbarkeit. Script, Kapitel 2

Informatik III - WS07/08

Weitere universelle Berechnungsmodelle

1.5 Turing-Berechenbarkeit

11.1 Kontextsensitive und allgemeine Grammatiken

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

Theoretische Informatik I

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

Theoretische Grundlagen der Informatik

1.5 Turing-Berechenbarkeit

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

Theoretische Informatik - Zusammenfassung!

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

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

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

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

Theoretische Informatik 1

Theoretische Informatik 1

Semi-Entscheidbarkeit und rekursive Aufzählbarkeit

Berechenbarkeit/Entscheidbarkeit

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Grundlagen der Theoretischen Informatik

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

Automaten und Formale Sprachen SoSe 2013 in Trier

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

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

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

Formale Sprachen und Automaten

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4.

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

Grundlagen der Theoretischen Informatik

Unentscheidbarkeit von Problemen mittels Turingmaschinen

Theoretische Informatik Testvorbereitung Moritz Resl

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

Einführung in die Theoretische Informatik

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

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

Theoretische Grundlagen der Informatik

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Berechenbarkeit. Script, Kapitel 2

Wir müssen wissen, und wir werden wissen.

Theoretische Informatik. Berechenbarkeit

Software Engineering Ergänzung zur Vorlesung

Musterlösung Informatik-III-Nachklausur

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

Klausur zur Vorlesung Informatik III Wintersemester 2007/2008

Polynomielle Verifizierer und NP

Wie man eine Sprache versteht

ALP I Turing-Maschine

Algorithmentheorie 2. Vorlesung

Theoretische Informatik II

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

Präsenzübung Berechenbarkeit und Komplexität

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

Grundlagen der Theoretischen Informatik

Grundbegriffe der Informatik Tutorium 13

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

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

Grundlagen der Theoretischen Informatik

Entscheidungsprobleme

Diskrete Mathematik II

2.5 Halteproblem und Unentscheidbarkeit

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

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

q 0 q gdw. nicht (q A) (q A) q i+1 q gdw. q i q oder ( a Σ) δ(q, a) i δ(q, a) L = {a n b n : n N} für a, b Σ, a b

Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.

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

Transkript:

heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung U Graz SS 2014

Ü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 Allan 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). Allan 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 Endzuständen, das Blanksymbol δ : Q Γ Q Γ {,, }, die Übergangsfunktion

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

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 Σ.

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 1-Band 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, gdw. q N F, sonst verwerfend.

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 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 (w) = f : Σ (Γ \ { }) { v : (q0 w α q v β) (β = ɛ β = β ) q F : 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 Haltezustand erreicht, oder nicht. f : Σ {JA, NEIN, } JA : q 0 w α q β q F f (w) = NEIN : 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.

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ählbaren 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) = JA Definition (rekursive Sprachen) Eine Sprache L Σ wird von einer DM entschieden, gdw. DM : w L f (w) = JA w L f (w) = NEIN (Beide sind yp-0 Sprachen in der Chomsky-Hierarchie)

Beispiel: PALINDROME-Entscheider DM mit Σ = {a, b}, die 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