1.5 Turing-Berechenbarkeit

Größe: px
Ab Seite anzeigen:

Download "1.5 Turing-Berechenbarkeit"

Transkript

1 A.M. Turing (1937): Maschinenmodell zur exakten Beschreibung des Begriffs effektiv berechenbar Stift Mensch a c b b Rechenblatt a b b c Lese-/Schreibkopf endliche Kontrolle Turingmaschine Eine Turingmaschine arbeitet auf Wörtern, d.h. auf Ketten von Buchstaben (oder Zeichen) über einem endlichen Zeichenvorrat (Alphabet). Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 78 / 309

2 Ein Alphabet Σ ist eine endliche, nicht-leere Menge, deren Elemente Buchstaben, Zeichen oder Symbole genannt werden. Beispiele: Σ 1 := {a, b} Σ 2 := {(,),+,,,/, a} Σ 3 := {0, 1,#} Durch Hintereinanderschreiben von Zeichen erhält man Wörter. n 1 : Σ n = Wörter der Länge n über Σ ε = Wort der Länge 0 (leeres Wort) Σ + := Σ n nicht-leere Wörter über Σ n 1 Σ := Σ + {ε} Wörter über Σ Beispiele: Σ 2 1 Σ 1 = {aa, ab, ba, bb} = {ε, a, b, aa, ab, ba, bb, aaa,} Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 79 / 309

3 Für w Σ ist w die Länge von w: ε = 0 w = n für alle w Σ n, n 1. Für w Σ und a Σ ist w a die a-länge von w: ε a = 0 wb a = w a für b a wa a = w a + 1 Beachte: u Σ m v Σ n : uv Σ m+n u Σ m : εu = u = uε u, v, w Σ : (uv)w = u(vw) (Σ,,ε) ist Halbgruppe mit neutralem Element ε (d.h. ein Monoid) Jedes w Σ lässt sich eindeutig als Folge von Zeichen aus Σ schreiben. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 80 / 309

4 Lemma 1.25 Seien u, v, x, y Σ mit uv = xy. Dann gilt genau einer der drei folgenden Fälle: (1.) u = x und u = x und v = y. (2.) u > x, und es gibt ein z Σ + mit u = xz und y = zv. (3.) u < x, und es gibt ein z Σ + mit x = uz und v = zy. Abkürzende Schreibweise: u 0 = ε, u 1 = u und u n+1 = u n u für alle u Σ, n 1. Mit R : Σ Σ wird die Spiegelungsfunktion (engl.: reversal) bezeichnet: ε R = ε,(ua) R = au R für alle u Σ und a Σ. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 81 / 309

5 Eine Teilmenge L von Σ heißt eine Formale Sprache über Σ. Beispiele: (1.) L 1 := { w Σ 1 w ist eine ungerade Zahl} (2.) L 2 := { korrekt geklammerte arithmetische Ausdrücke über Σ 2 } z.b.: (a a) a+a/(a+a) a L 2 (((a))) L 2 ((a+) a( L 2 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 82 / 309

6 Turingmaschine (TM) unendliches Band a b c # Lese-/Schreibkopf endliche Kontrolleinheit Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 83 / 309

7 Definition 1.26 Eine Turingmaschine (TM) ist gegeben durch ein 7-Tupel M = (Z,Σ,Γ,δ, z 0,, E): Z endliche Zustandsmenge Σ Eingabealphabet Γ Σ Arbeitsalphabet z 0 Z Startzustand Γ Σ Blank (Leerzeichen) E Z Endzustände δ : ((Z E) Γ) (Z Γ {L, R, N}) Überführungsfunktion Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 84 / 309

8 Rechenschritte von M: δ(z 1, a) = (z 1, b, L): 1 0 a b c z b b c z 1 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 85 / 309

9 δ(z 2, a) = (z 2, b, R): 1 0 a b c z b b c z 2 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 86 / 309

10 δ(z 3, a) = (z 3, b, N): 1 0 a b c z b b c z 3 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 87 / 309

11 Definition 1.27 Eine Konfiguration der TM M ist ein Wort k Γ ZΓ +. k deckt den von verschiedenen Teil des Bandes ab. Beispiele: 10z 1 abc, 1z 1 0bbc, 10z 2 abc, 10bz 2 bc, 10z 3 abc, 10z 3 bbc Startkonfiguration für Eingabe x Σ + : z 0 x Startkonfiguration für Eingabe ε : z 0 Haltekonfiguration: uzv mit z E. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 88 / 309

12 Definition 1.28 (Berechnungsrelation :) a 1 a m z cb 2 b n falls δ(z, b 1 ) = (z, c, N) (m 0, n 1) a a 1 a m zb 1 b n 1 a m cz b 2 b n falls δ(z, b 1 ) = (z, c, R) (m 0, n 2) a 1 a m 1 z a m cb 2 b n falls δ(z, b 1 ) = (z, c, L) (m 1, n 1) Sonderfälle: a 1 a m zb 1 a 1 a m cz falls δ(z, b 1 ) = (z, c, R). zb 1 b n z cb 2 b n falls δ(z, b 1 ) = (z, c, L). bezeichnet den reflexiv-transitiven Abschluss von, d.h. k k gdw. m 0 k 0,,k m : k = k 0 k 1 k m = k Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 89 / 309

13 Eine Rechnung von M bei Eingabe x Σ ist eine Folge z 0 x = k 0 k 1 k 2. Eine Rechnung kann endlich oder unendlich sein. Eine erfolgreiche Rechnung von M bei Eingabe x Σ ist eine endliche Rechnung z 0 x = k 0 k 1 k 2 k m 1 k m, sodass k m eine Haltekonfiguration ist. T(M) = { x Σ erfolgreiche Rechnung von M mit Eingabe x } ist die von M akzeptierte Sprache. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 90 / 309

14 Beispiel TM für binäres +1 : M = ({z 0, z 1, z 2, z e },{0, 1},{0, 1, },δ, z 0,,{z e }) mit δ(z 0, 0) = (z 0, 0, R), δ(z 0, 1) = (z 0, 1, R), δ(z 0, ) = (z 1,, L) δ(z 1, 0) = (z 2, 1, L), δ(z 1, 1) = (z 1, 0, L), δ(z 1, ) = (z e, 1, N) δ(z 2, 0) = (z 2, 0, L), δ(z 2, 1) = (z 2, 1, L), δ(z 2, ) = (z e,, R) Beispielrechnung: z z z z 0 10z 1 1 1z 1 00 z z z e 110, also z z e 110. Bezeichnung für diese TM: Band := Band +1 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 91 / 309

15 Definition 1.29 Eine Funktion f : Σ Σ heißt Turing-berechenbar, wenn es eine Turingmaschine M gibt, sodass für alle x, y Σ gilt: f(x) = y gdw. z 0 x M z ey (z e E). Ist f(x) undefiniert, so ist die Rechnung von M, die mit der Startkonfiguration z 0 x beginnt, unendlich, d.h., M hält ausgehend von z 0 x nicht an! Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 92 / 309

16 Beispiele: (1) Die Funktion bin_plus1: {0, 1} {0, 1} ist Turing-berechenbar. (2) Die Funktion R : Σ Σ w w R ist Turing-berechenbar. (3) Die Funktion 2 : Σ Σ w ww ist Turing-berechenbar. bin(n) bin(n+1) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 93 / 309

17 Definition 1.30 Sei A Σ. Die Menge A heißt entscheidbar, wenn ihre charakteristische Funktion χ A Turing-berechenbar ist: χ A (w) = { 1, falls w A, 0, falls w A. Beispiel: Die Menge A = { w {a, b} w ist gerade } ist entscheidbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 94 / 309

18 Definition 1.31 Sei A Σ. Die Menge A heißt semi-entscheidbar, wenn die folgende Funktion χ A Turing-berechenbar ist: χ A (w) = { 1, falls w A, undefiniert, falls w A. Die Turingmaschine zur Berechnung von χ A hält also ausgehend von der Startkonfiguration z 0 w (w Σ ) genau dann an, wenn w A ist. Lemma 1.32 Jede entscheidbare Menge ist semi-entscheidbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 95 / 309

19 Definition 1.33 Eine Funktion f : N k N heißt Turing-berechenbar, wenn es eine Turingmaschine M gibt, sodass für alle n 1,,n k, m N gilt: f(n 1,,n k ) = m gdw. z 0 bin(n 1 )#bin(n 2 )##bin(n k ) M z ebin(m) (z e E). Ist f(n 1,,n k ) undefiniert, dann hält M ausgehend von der Startkonfiguration z 0 bin(n 1 )#bin(n 2 )##bin(n k ) nicht an! Beispiel: Die Funktion +1: N N n n+1 ist Turing-berechenbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 96 / 309

20 Eine Mehrband-Turingmaschine mit k 2 Bändern: a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 a 10 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 b 9 b 10 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 endliche Kontrolle δ : (Z Γ k ) (Z Γ k {L, R, N} k ) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 97 / 309

21 Beispiel: Eine 2-Band-Turingmaschine zur Berechnung der Spiegelungsfunktion M = ({z 0, z 1, z 2, z 3, z e },{a, b},{a, b, },δ, z 0,,{z e }) mit: δ z 0 z 1 z 2 z 3 (a, a) (a, b) (a, ) (z 1, a,, R, N) (z 1, a,, R, N) (z 2,, a, L, R) (b, a) (b, b) (b, ) (z 1, b,, R, N) (z 1, b,, R, N) (z 2,, b, L, R) (, a) (z 3,, a, N, L) (, b) (z 3,, b, N, L) (, ) (z e,,, N, N) (z 2,,, L, N) (z 3,,, N, L) (z e,,, N, R) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 98 / 309

22 Eingabe: w = aab Startkonfiguration: Band 1 a a b Band 2 z 0 Beschreibung: (z 0 aab, z 0 ) Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 99 / 309

23 Rechnung: (z 0 aab, z 0 ) M (az 1 ab, z 1 ) M (aaz 1 b, z 1 ) M (aabz 1, z 1 ) M (aaz 2 b, z 2 ) M (az 2 a, bz 2 ) M (z 2 a, baz 2 ) M (z 2, baaz 2 ) M (z 3, baz 3 a ) M (z 3, bz 3 aa ) M (z 3, z 3 baa ) M (z 3, z 3 baa ) M (z e, z e baa ) Haltekonfiguration: Band 1 b a a z e Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 100 / 309

24 Satz 1.34 Zu jeder Mehrband-TM M gibt es eine (Einband-) Turingmaschine M, die dieselbe Funktion berechnet wie M. Beweis: Mehrband-Turingmaschine M mit k Bändern: a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 Band 1 b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 b 9 Band 2 c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 Band 3 Zustand: z Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 101 / 309

25 Einband-TM M : a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 a 9 * b 1 b 2 b 3 b 4 b 5 b 6 b 7 b 8 b 9 * c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 * Band mit 2k Spuren Arbeitsalphabet: Γ := Γ (Γ { }) 2k Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 102 / 309

26 Arbeitsweise von M : Startkonfiguration: z 0 w (w Σ ) 1. Phase: w * * * 2. Phase: M simuliert M schrittweise. 3. Phase: Ergebnis von Spur 1 auf das gesamte Band kopieren. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 103 / 309

27 Ist M eine 1-Band-TM, so ist M(i, k) (i k) die k-band-tm, die auf Band i M simuliert, wobei alle anderen Bänder unverändert bleiben. Beispiele: (i) Band := Band+1(i, k). Schreibweise: Band i := Band i + 1 (ii) Band i := Band i 1. (iii) Band i := 0. (iv) Band i := Band j. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 104 / 309

28 Hintereinanderschalten von TMen M i = (Z i,σ,γ i,δ i, z i,, E i ), i = 1, 2 M : start M 1 M 2 stop M = (Z 1 Z 2,Σ,Γ 1 Γ 2,δ, z 1,, E 2 ) mit δ := δ 1 δ 2 {(z e, a, z 2, a, N) z e E 1, a Γ 1 }. Beispiele: (i) start Band := Band + 1 Band := Band + 1 Band := Band + 1 stop Schreibweise: Band := Band + 3 Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 105 / 309

29 Kapitel 1: Berechenbarkeitstheorie (ii) start M z e 1 M 1 stop M 2 z e2 stop (iii) Band = 0? : Z := {z 0, z 1, ja,nein}, E = {ja,nein}, δ : (z 0, a) (nein, a, N) für a 0 (z 0, 0) (z 1, 0, R) (z 1, a) (nein, a, L) für a (z 1, ) (ja,, L) Hieraus: Band i=0? Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 106 / 309

30 (iv) start Band i = 0? M nein ja stop Schreibweise: WHILE Band i 0 DO M. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 107 / 309

31 Beobachtung: Die Turingmaschinen bilden eine einfache Programmiersprache: Die Funktionen +c und c (c N) sowie f(x 1,,x n ) = x i (1 i n) sind TM-berechenbar. Diese Sprache enthält einfache Wertzuweisungen. Sie enthält einfache Abfragen und while-schleifen. Das Hintereinanderschalten von Programmen ist möglich. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 108 / 309

32 Satz 1.35 Turingmaschinen können WHILE-Programme simulieren, d.h. jede WHILE-berechenbare Funktion ist auch Turing-berechenbar. Satz 1.36 Jede Turingmaschine kann durch ein GOTO-Programm simuliert werden, d.h. jede Turing-berechenbare Funktion ist auch GOTO-berechenbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 109 / 309

33 Beweis: Sei M = (Z,Σ,Γ,δ, z 1,, E) eine TM, die die Funktion f : N k N berechnet. Für alle n 1,,n k N: f(n 1,,n k ) ist definiert: z 1 bin(n 1 )#bin(n 2 )##bin(n k ) M z ebin(f(n 1,,n k )) f(n 1,,n k ) ist nicht definiert: z 1 bin(n 1 )#bin(n 2 )##bin(n k ) M M M GOTO-Programm M zur Simulation von M: M 1 : P 1 ; M 2 : P 2 ; M 3 : P 3 P 1 : (n 1,,n k ) Darstellung der Konfiguration z 1 bin(n 1 )##bin(n k ) in x, y, z. P 2 : schrittweise Simulation von M auf x, y, z. P 3 : Endwerte von x, y, z f(n 1,,n k ). Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 110 / 309

34 Kodierung von TM-Konfigurationen Z = {z 1,,z k }, Γ = {a 1,,a m }, b > Γ Konfiguration: a i1 a i2 a ip z l a j1 a j2 a jq Kodierung: x = (i 1 i 2 i p ) b y = (j q j 2 j 1 ) b z = l p mit (i 1 i p ) b := i µ b p µ und (j q j 1 ) b := µ=1 q ν=1 j ν b ν 1 Beispiel Γ = {a 1, a 2, a 3, a 4 }, b = 5: Konfiguration: a 1 a 2 a 1 z 2 a 3 a 4 Kodierung: x = (a 1 a 2 a 1 ) 5 = = 36 y = (a 4 a 3 ) 5 = = 23 z = 2 P 1 und P 3 : elementare arithmetische Operationen. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 111 / 309

35 Beispiel: Eingabe: (10, 6). Kodierung: 0 a 1, 1 a 2, # a 3, a 4 und b = 5. Eingabekonf.: z 1 bin(10)#bin(6) = z #110 = z 1 a 2 a 1 a 2 a 1 a 3 a 2 a 2 a 1. WHILE-Programm P 1 : z 1; x 0; y 0; WHILE x 2 0 DO x 3 (x 2 MOD 2)+1; x 2 x 2 DIV 2; y y 5+x 3 END; y y 5+3; WHILE x 1 0 DO x 3 (x 1 MOD 2)+1; x 1 x 1 DIV 2; y y 5+x 3 END; Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 112 / 309

36 GOTO-Programm M 2 : P 2 M 2 : a := y MOD b; IF (z = 1) AND (a = 1) THEN GOTO M 1,1 ; IF (z = 1) AND (a = 2) THEN GOTO M 1,2 ;. IF (z = k) AND (a = m) THEN GOTO M k,m ; M 1,1 : Programmstück zur Simulation von δ(z 1, a 1 ) GOTO M 2 ;. M k,m : Programmstück zur Simulation von δ(z k, a m ) GOTO M 2 ; Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 113 / 309

37 Simulation eines TM-Schritts: δ(z i, a j ) = (z i, a j, L): a i1 a ip z i a }{{}}{{} j a j2 a jq }{{} x z y M a i1 a ip 1 }{{} x z i a }{{} ip a j a j2 a jq }{{} z y GOTO-Programmstück: z := i ; y := y DIV b; y := y b + j ; y := y b +(x MOD b); x := x DIV b; Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 114 / 309

38 Übersicht GOTO WHILE TM µ-rekursiv LOOP prim. rekursiv Die Ackermannfunktion a(.,.) ist WHILE-berechenbar und total, aber sie ist nicht LOOP-berechenbar. Prof. Dr. F. Otto (Universität Kassel) Berechenbarkeit und Formale Sprachen 115 / 309

2.4 Kontextsensitive und Typ 0-Sprachen

2.4 Kontextsensitive und Typ 0-Sprachen Definition 2.43 Eine Typ 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine der folgenden 4 Formen haben: Dabei: A, B, C, D V und a Σ. Satz 2.44 A a, A B, A BC, AB CD. Für jede Typ 1 Grammatik

Mehr

Berechenbarkeit. Script, Kapitel 2

Berechenbarkeit. Script, Kapitel 2 Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Die Registermaschine (random access machine, RAM) 0 I 0 1 I 1 2 I 2 m I m Programm

Mehr

LOOP-Programme: Syntaktische Komponenten

LOOP-Programme: Syntaktische Komponenten LOOP-Programme: Syntaktische Komponenten LOOP-Programme bestehen aus folgenden Zeichen (syntaktischen Komponenten): Variablen: x 0 x 1 x 2... Konstanten: 0 1 2... Operationssymbole: + Trennsymbole: ; :=

Mehr

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit

1.2 LOOP-, WHILE- und GOTO-Berechenbarkeit Die Programmiersprache LOOP (i) Syntaktische Komponenten: Variable: x 0, x 1, x 2,... Konstanten: 0, 1, 2,... Trennsymbole: ; := Operationszeichen: + Schlüsselwörter: LOOP DO END (ii) LOOP-Programme: Wertzuweisungen:

Mehr

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

1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie 1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften

Mehr

1 falls n ein Anfangsabschnitt der Dezimalbruchentwicklung von π ist, f(n) = 0 sonst

1 falls n ein Anfangsabschnitt der Dezimalbruchentwicklung von π ist, f(n) = 0 sonst 21 2 Berechenbarkeit Dieses Kapitel entspricht im Wesentlichen dem Kapitel 2 (Berechenbarkeitstheorie) in [9] Jeder, der programmieren kann, weiß, dass es so etwas wie einen intuitiven Berechenbarkeitsbegriff

Mehr

Theoretische Informatik SS 03 Übung 3

Theoretische Informatik SS 03 Übung 3 Theoretische Informatik SS 03 Übung 3 Aufgabe 1 a) Sind die folgenden Funktionen f : partiell oder total: f(x, y) = x + y f(x, y) = x y f(x, y) = x y f(x, y) = x DIV y? Hierbei ist x DIV y = x y der ganzzahlige

Mehr

11.1 Kontextsensitive und allgemeine Grammatiken

11.1 Kontextsensitive und allgemeine Grammatiken Theorie der Informatik 7. April 2014 11. Kontextsensitive und Typ-0-Sprachen Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen 11.1 Kontextsensitive und allgemeine Grammatiken Malte Helmert

Mehr

Theoretische Informatik I (Grundzüge der Informatik I)

Theoretische Informatik I (Grundzüge der Informatik I) Theoretische Informatik I (Grundzüge der Informatik I) Literatur: Buch zur Vorlesung: Uwe Schöning, Theoretische Informatik - kurzgefasst. Spektrum Akademischer Verlag, Heidelberg/Berlin, 4. Auflage, 2001.

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Turingmaschinen Formale Sprachen und Automaten Das Konzept der Turingmaschine wurde von dem Englischen Mathematiker Alan M. Turing (1912-1954) ersonnen. Turingmaschinen, Typ-0- und Typ-1-Grammatiken Der

Mehr

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

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen. Turing-Maschinen Nachdem wir endliche Automaten und (die mächtigeren) Kellerautomaten kennengelernt haben, werden wir nun ein letztes, noch mächtigeres Automatenmodell kennenlernen: Die Turing-Maschine

Mehr

Mächtigkeit von WHILE-Programmen

Mächtigkeit von WHILE-Programmen Mächtigkeit von WHILE-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 26. November 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

Theoretische Informatik 2

Theoretische Informatik 2 Theoretische Informatik 2 Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2009/10 Die Chomsky-Hierarchie Definition Sei G = (V, Σ, P, S) eine Grammatik. 1 G heißt vom Typ 3 oder

Mehr

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

Turing-Maschine. Berechenbarkeit und Komplexität Turing-Maschinen. Turing-Maschine. Beispiel Berechenbarkeit und Komplexität Turing-Maschinen Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria http://www.risc.jku.at

Mehr

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

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ. Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 heoretische Informatik 1 uringmaschinen David Kappel Institut für Grundlagen der Informationsverarbeitung echnische Universität Graz 11.03.2016 Übersicht uring Maschinen Algorithmusbegriff konkretisiert

Mehr

GTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, diener@math.uni-siegen.de

GTI. Hannes Diener. 6. Juni - 13. Juni. ENC B-0123, diener@math.uni-siegen.de GTI Hannes Diener ENC B-0123, diener@math.uni-siegen.de 6. Juni - 13. Juni 1 / 49 Die Turingmaschine war das erste (bzw. zweite) formale Modell der Berechenbarkeit. Sie wurden bereits 1936 (also lange

Mehr

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

11. Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen und Komplexität Rekursive Aufzählbarkeit, Entscheidbarkeit Laufzeit, Klassen DTIME und P 11 Woche: Turingmaschinen, Entscheidbarkeit, P 239/ 333 Einführung in die NP-Vollständigkeitstheorie

Mehr

Theoretische Informatik. Alphabete, Worte, Sprachen

Theoretische Informatik. Alphabete, Worte, Sprachen Theoretische Informatik Alphabete, Worte, Sprachen Alphabete, Worte, Sprachen 1. Alphabete und Worte Definitionen, Beispiele Operationen mit Worten Induktionsbeweise 2. Sprachen Definition und Beispiele

Mehr

Ausgewählte unentscheidbare Sprachen

Ausgewählte unentscheidbare Sprachen Proseminar Theoretische Informatik 15.12.15 Ausgewählte unentscheidbare Sprachen Marian Sigler, Jakob Köhler Wolfgang Mulzer 1 Entscheidbarkeit und Semi-Entscheidbarkeit Definition 1: L ist entscheidbar

Mehr

Zusammenfassung Grundzüge der Informatik 4

Zusammenfassung Grundzüge der Informatik 4 Zusammenfassung Grundzüge der Informatik 4 Sommersemester 04 Thorsten Wink 21. September 2004 Version 1.2 Dieses Dokument wurde in L A TEX 2εgeschrieben. Stand: 21. September 2004 Inhaltsverzeichnis 1

Mehr

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

Einführung in Berechenbarkeit, Komplexität und formale Sprachen Johannes Blömer Skript zur Vorlesung Einführung in Berechenbarkeit, Komplexität und formale Sprachen Universität Paderborn Wintersemester 2011/12 Inhaltsverzeichnis 1 Einleitung 2 1.1 Ziele der Vorlesung...................................

Mehr

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

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395 Turing-Machine Wir suchen ein Modell zur formalen Definition der Berechenbarkeit von Funktionen und deren Zeit- und Platzbedarf. Verschiedene Modelle

Mehr

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

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 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

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2 Lösungsblatt 3. April 2 Einführung in die Theoretische Informatik

Mehr

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE:

3. Turingmaschinen FORMALISIERUNG VON ALGORITHMEN. Turingmaschinen Registermaschinen Rekursive Funktionen UNTERSCHEIDUNGSMERKMALE DER ANSÄTZE: FORMALISIERUNG VON ALGORITHMEN Wegen der beobachteten Zusammenhänge zwischen Berechnungs-, Entscheidungs- und Aufzählungsverfahren genügt es Berechnungsverfahren zu formalisieren. Weiter genügt es Verfahren

Mehr

Syntax von LOOP-Programmen

Syntax von LOOP-Programmen LOOP-Berechenbarkeit Syntax von LOOP-Programmen Definition LOOP-Programme bestehen aus: Variablen: x 0, x 1, x 2, x 3,... Konstanten: 0, 1, 2, 3,... Trennsymbolen:; und := Operationen: + und Befehlen:

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift Theoretische Informatik Mitschrift 2. Grammatiken und die Chomsky-Hierarchie Beispiel: Syntaxdefinition in BNF :=

Mehr

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23

Formale Methoden 1. Gerhard Jäger 9. Januar Uni Bielefeld, WS 2007/2008 1/23 1/23 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 9. Januar 2008 2/23 Automaten (informell) gedachte Maschine/abstraktes Modell einer Maschine verhält sich

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 5 Theorie der Berechenbarkeit 1. Turing-Berechenbarkeit 2. Rekursive Funktionen 3. Funktionale und logische Programme 4. Elementare Berechenbarkeitstheorie 5. Unlösbare

Mehr

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

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

Mehr

Wortproblem für kontextfreie Grammatiken

Wortproblem für kontextfreie Grammatiken Wortproblem für kontextfreie Grammatiken G kontextfreie Grammatik. w Σ w L(G)? Wortproblem ist primitiv rekursiv entscheidbar. (schlechte obere Schranke!) Kellerautomat der L(G) akzeptiert Ist dieser effizient?

Mehr

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen

Referat rekursive Mengen vs. rekursiv-aufzählbare Mengen Kapitel 1: rekursive Mengen 1 rekursive Mengen 1.1 Definition 1.1.1 informal Eine Menge heißt rekursiv oder entscheidbar, wenn ihre charakteristische Funktion berechenbar ist. 1.1.2 formal Eine Menge A

Mehr

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

b) Eine nd. k-band-turingmaschine M zur Erkennung einer m-stelligen Sprache L (Σ ) m ist ein 8-Tupel 2. Turingmaschinen Zur Formalisierung von Algorithmen benutzen wir hier Turingmaschinen. Von den vielen Varianten dieses Konzeptes, die sich in der Literatur finden, greifen wir das Konzept der on-line

Mehr

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

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

Mehr

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

7 Endliche Automaten. 7.1 Deterministische endliche Automaten 7 Endliche Automaten 7.1 Deterministische endliche Automaten 7.2 Nichtdeterministische endliche Automaten 7.3 Endliche Automaten mit g-übergängen Endliche Automaten 1 7.1 Deterministische endliche Automaten

Mehr

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

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Einführung in die Informatik

Einführung in die Informatik Universität Innsbruck - Institut für Informatik Datenbanken und Informationssysteme Prof. Günther Specht, Eva Zangerle 24. November 28 Einführung in die Informatik Übung 7 Allgemeines Für die Abgabe der

Mehr

BuK 2000 Lösungen Übungen

BuK 2000 Lösungen Übungen BuK 2000 Lösungen Übungen Dies sind private Lösungen, KEINE Musterlösungen, und somit nicht unbedingt korrekt! Trotzdem helfen Sie vielleicht. Wenn jemand die Musterlösungen hat her damit! http://s-inf.de

Mehr

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor)

Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor) Deterministischer endlicher Automat A ohne Ausgabe (deterministischer endlicher Akzeptor) wobei A = (E, Z, f, z 0, F ) E Z f : Z E Z z 0 Z Eingabealphabet Zustandsmenge (Zustands )Überführungsfunktion

Mehr

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

Wir suchen Antworten auf die folgenden Fragen: Was ist Berechenbarkeit? Wie kann man das intuitiv Berechenbare formal fassen? Einige Fragen Ziel: Wir suchen Antworten auf die folgenden Fragen: Wie kann man das intuitiv Berechenbare formal fassen? Was ist ein Algorithmus? Welche Indizien hat man dafür, dass ein formaler Algorithmenbegriff

Mehr

Motivation natürliche Sprachen

Motivation natürliche Sprachen Motivation natürliche Sprachen (Satz) (Substantivphrase)(Verbphrase) (Satz) (Substantivphrase)(Verbphrase)(Objektphrase) (Substantivphrase) (Artikel)(Substantiv) (Verbphrase) (Verb)(Adverb) (Substantiv)

Mehr

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

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 Kap 3: Grammatiken Chomsky-Hierarchie 32 Kap 3: Grammatiken Kontextfreie 33 a n b n c n ist kontextsensiti Beispiel 3111 modifizieren: Σ = {a, b, c G = (Σ, V, P, X ) V = {X, Y, Z P : X ε X axyz ZY YZ ay

Mehr

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten

Theoretische Informatik 2 (WS 2006/07) Automatentheorie und Formale Sprachen / Kontextfreie Sprachen und Kellerautomaten Inhalt 1 Einführung 2 Automatentheorie und Formale Sprachen Grammatiken Reguläre Sprachen und endliche Automaten Kontextfreie Sprachen und Kellerautomaten Kontextsensitive und Typ 0-Sprachen 3 Berechenbarkeitstheorie

Mehr

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen.

Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen. H MPKP Konfiguration einer TM als String schreiben: Bandinschrift zwischen den Blank-Zeichen Links von der Kopfposition Zustand einfügen. Beispiel: 1234q567 bedeutet: Kopf steht auf 5, Zustand ist q. Rechnung:

Mehr

Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver

Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver Theorie der Informatik (CS206) Kellerautomat, Postfix-Notation, Turing-Maschine, Busy Beaver 20. März 2013 Proff Malte Helmert und Christian Tschudin Departement Mathematik und Informatik, Universität

Mehr

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten

... = für δ(z, a i ) = z. Abbildung 4.4: Interpretation der Arbeitsweise eines endlichen Automaten 3 Reguläre Sprachen 63 3 Reguläre Sprachen In diesem Kapitel beschäftigen wir uns etwas näher mit den regulären Sprachen, insbesondere mit der Möglichkeit verschiedener Charakterisierungen und den Eigenschaften

Mehr

Theoretische Informatik Testvorbereitung Moritz Resl

Theoretische Informatik Testvorbereitung Moritz Resl Theoretische Informatik Testvorbereitung Moritz Resl Bestandteile einer Programmiersprache: a) Syntax (Form): durch kontextfreie Grammatik beschrieben b) Semantik (Bedeutung) 1.) Kontextfreie Sprachen

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Einführung in die Theoretische Informatik Johannes Köbler Institut für Informatik Humboldt-Universität zu Berlin WS 2011/12 Deterministische Kellerautomaten Von besonderem Interesse sind kontextfreie Sprachen,

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax

Mehr

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

Teil V. Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Teil V Weiterführende Themen, Teil 1: Kontextsensitive Sprachen und die Chomsky-Hierarchie Zwei Sorten von Grammatiken Kontextsensitive Grammatik (CSG) (Σ, V, P, S), Regeln der Form αaβ αγβ α, β (Σ V ),

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 13. LOOP-, WHILE- und GOTO-Berechenbarkeit Malte Helmert Gabriele Röger Universität Basel 9. April 2014 Überblick: Vorlesung Vorlesungsteile I. Logik II. Automatentheorie und formale

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Lektion 10: Entscheidbarkeit Kurt-Ulrich Witt Wintersemester 2013/14 Kurt-Ulrich Witt Theoretische Informatik Lektion 10 1/15 Inhaltsverzeichnis Kurt-Ulrich Witt Theoretische Informatik

Mehr

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

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 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 L. 447 Zusammenfassung Beschreibungsformen für reguläre Sprachen:

Mehr

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln, Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Turing-Maschine, Berechenbarkeit INSTITUT FÜR THEORETISCHE 0 KIT 07.11.2011 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen

Mehr

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

Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Einführung in Berechenbarkeit, Komplexität und Formale Sprachen V7, 3.11.09 Willkommen zur Vorlesung Einführung in Berechenbarkeit, Komplexität und Formale Sprachen Friedhelm Meyer auf der Heide 1 Rückblick

Mehr

Was bisher geschah: Formale Sprachen

Was bisher geschah: Formale Sprachen Was bisher geschah: Formale Sprachen Alphabet, Wort, Sprache Operationen und Relationen auf Wörtern und Sprachen Darstellung unendlicher Sprachen durch reguläre Ausdrücke (Syntax, Semantik, Äquivalenz)

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Theoretische Informatik SS 03 Übung 4

Theoretische Informatik SS 03 Übung 4 Fakten aus Übung 3 Theoretische Informatik SS 03 Übung 4 In Übung 3 wurden einigen Fakten bewiesen, die für diese Übung benötigt werden. Folgende Konstrukte können mit LOOP-Programmen simuliert werden:

Mehr

Informatik II. Registermaschinen. Registermaschinen. Registermaschinen. Rainer Schrader. 7. Dezember 2005

Informatik II. Registermaschinen. Registermaschinen. Registermaschinen. Rainer Schrader. 7. Dezember 2005 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 7. Dezember 25 / 82 2 / 82 Gliederung Aufbau und Eigenschaften universelle RAM s RAM-Berechenbarkeit Nichtentscheidbarkeit Reduzierbarkeit

Mehr

Rekursive Funktionen Basisfunktionen

Rekursive Funktionen Basisfunktionen Rekursive Funktionen Basisfunktionen die nullstellige Funktion Z, die den konstanten Wert 0 liefert, die Funktion S : N N, bei der jeder natürlichen Zahl ihr Nachfolger zugeordnet wird, die Funktion P

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Theoretische Informatik für Wirtschaftsinformatik und Lehramt

Theoretische Informatik für Wirtschaftsinformatik und Lehramt Theoretische Informatik für Wirtschaftsinformatik und Lehramt Reguläre Sprachen Priv.-Doz. Dr. Stefan Milius stefan.milius@fau.de Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

Sprachen und Automaten. Tino Hempel

Sprachen und Automaten. Tino Hempel Sprachen und Automaten 11 Tino Hempel Bisherige Automaten Automat mit Ausgabe/Mealy-Automat Akzeptor, Sprache eines Akzeptors Grenze: L = {a n b n } Kellerautomat erkennt L = {a n b n } Grenze:? T. Hempel

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische

Mehr

Berechenbarkeits- und Komplexitätstheorie

Berechenbarkeits- und Komplexitätstheorie Berechenbarkeits- und Komplexitätstheorie Verschiedene Berechenbarkeitsbegriffe, Entscheidbarkeit von Sprachen, Wachstumsordnungen und Komplexitätsklassen Inhaltsübersicht und Literatur Verschiedene Berechenbarkeitsbegriffe:

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Wiederholung FORMALE SYSTEME 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Markus Krötzsch Formale Sprachen sind in Praxis und Theorie sehr wichtig Ein Alphabet ist eine nichtleere, endliche Menge

Mehr

Automaten und Formale Sprachen

Automaten und Formale Sprachen Automaten und Formale Sprachen Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2011/12 WS 11/12 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien

Mehr

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften Endlichkeitstest Eingabe: DFA/NFA M. Frage: Ist die von M akzeptierte Sprache endlich? Nahe liegende Beobachtung: In einem DFA/NFA, der eine unendliche Sprache akzeptiert, muss es einen Kreis geben, der

Mehr

Universität des Saarlandes Theoretische Informatik (WS 2015) Lösungsvorschlag 4

Universität des Saarlandes Theoretische Informatik (WS 2015) Lösungsvorschlag 4 Universität des Saarlandes Theoretische Informatik (WS 2015) Fakultät 6.2 Informatik Team der Tutoren Lösungsvorschlag 4 Aufgabe 4.1 (16 Punkte) Klassifizieren Sie die folgenden Sprachen nach den Kategorien

Mehr

Deterministische endliche Automaten - Wiederholung

Deterministische endliche Automaten - Wiederholung Deterministische endliche Automaten - Wiederholung Die folgende Klasse Zahl stellt einen endlichen Automaten dar. Ermittle die Größen des Automaten und zeichne den Zustandsgraphen. Gib Zeichenfolgen an,

Mehr

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5. Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprachen bedeutend für die Syntaxdefinition von Programmiersprachen (Compilerbau) Automaten

Mehr

Def.: Die Menge der LOOP-Programme ist induktiv wie folgt definiert:

Def.: Die Menge der LOOP-Programme ist induktiv wie folgt definiert: 3. LOOP-, WHILE- und GOTO-Berechenbarkeit 3.1 LOOP-Programme Komponenten: Variablen: x 0, x 1, x 2,, y, z, Konstanten: 0, 1, 2, Trennsymbole: ; := Operationszeichen: +, - Schlüsselwörter: LOOP, DO, END

Mehr

Die Ackermannfunktion

Die Ackermannfunktion Die Ackermannfunktion Slide 1 Die Ackermannfunktion Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Die Ackermannfunktion Slide 2 Eine Frage zu Anfang Ist jede intuitiv

Mehr

Kontextsensitive und Typ 0 Sprachen

Kontextsensitive und Typ 0 Sprachen Kontextsensitive und Typ 0 Sprachen Slide 1 Kontextsensitive und Typ 0 Sprachen Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Kontextsensitive und Typ 0 Sprachen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

Mehr

Grundbegriffe der Informatik Tutorium 2

Grundbegriffe der Informatik Tutorium 2 Grundbegriffe der Informatik Tutorium 2 Tutorium Nr. 32 Philipp Oppermann 13. November 2013 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Berechenbarkeit und Komplexität Endliche Automaten

Berechenbarkeit und Komplexität Endliche Automaten Berechenbarkeit und Komplexität Endliche Automaten Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University, Linz, Austria

Mehr

DKA und dkfs (mit Übungen)

DKA und dkfs (mit Übungen) DKA und dkfs (mit Übungen) Prof.Dr.Christian Wagenknecht mit Beiträgen von Herrn Dr.Michael Hielscher Prof.Dr.Chr. Wagenknecht Formale Sprachen und Automaten 1/15 kurz DKA Analog zu endlichen Automaten

Mehr

Theoretische Informatik II

Theoretische Informatik II Theoretische Informatik II Einheit 4.2 Rekursive Funktionen 1. Primitiv- und µ-rekursive Funktionen 2. Analyse und Programmierung 3. Äquivalenz zu Turingmaschinen Berechenbarkeit auf N ohne Maschinenmodelle

Mehr

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Registermaschine David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Registermaschinen Algorithmusbegriff konkretisiert formale Beschreibung

Mehr

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

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Theoretische Informatik I

Theoretische Informatik I heoretische Informatik I Einheit 2 Endliche Automaten & Reguläre Sprachen. Deterministische endliche Automaten 2. Nichtdeterministische Automaten 3. Reguläre Ausdrücke 4. Grammatiken 5. Eigenschaften regulärer

Mehr

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

2. Berechnungsmächtigkeit von Zellularautomaten. Ziele Simulation von Schaltwerken Simulation von Turingmaschinen 2. Berechnungsmächtigkeit von Zellularautomaten Ziele Simulation von Schaltwerken Simulation von Turingmaschinen Beispiel WIREWORLD Elektronen laufen über Drähte von einem Gatter zum nächsten 2.3 Satz

Mehr

9 Theoretische Informatik und Compilerbau

9 Theoretische Informatik und Compilerbau 9 Theoretische Informatik und Compilerbau Theoretische Informatik und Mathematik schaffen die Basis für viele der technischen Entwicklungen, die wir in diesem Buch besprechen. Die boolesche Algebra (S.

Mehr

Übung Theoretische Grundlagen

Übung Theoretische Grundlagen Übung Theoretische Grundlagen Berechenbarkeit/Entscheidbarkeit Nico Döttling November 26, 2009 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory

Mehr