1 Reguläre Sprachen. 1.1 Reguläre Ausdrücke. Kai Sauerwald Zusammenfassung: GTI SS 12

Größe: px
Ab Seite anzeigen:

Download "1 Reguläre Sprachen. 1.1 Reguläre Ausdrücke. Kai Sauerwald Zusammenfassung: GTI SS 12"

Transkript

1 1 Reguläre Sprachen Definition 1.1 Alphabet Eine endliche, nicht leere Menge. Definition 1.2 Wort Ein Wort w über einem Alphabet Σ ist eine endliche Folge σ 1... σ n von Zeichen aus Σ. Definition 1.8 Wiederholung von Sprachen Ist L 1 eine Sprache so L 1 auch eine Sprache mit: L 1 = def {u 1... u n u 1,..., u n L 1, n N} Bemerkung Konventionen Griechischen Großbuchstaben stehen meist für Alphabete, Kleinbuchstaben hingegen für Worte oder Zeichen aus einem Alphabet. Definition 1.3 Wortlänge w Ist w=σ 1... σ n so ist w := n. ɛ ist das leere Wort mit ɛ = 0. Definition 1.4 Konkatenation von Worten Sind u und v Wörter, so bezeichnet u v das Wort, das entsteht, wenn v hinter u geschrieben wird. Definition 1.5 n-malige Wiederholung u n bezeichnet die n-malige Wiederholung von u. Induktiv also Definition 1.6 Sprache u 0 = ɛ, u n+1 = u n u Menge von Wörtern über einem Alphabet Σ. Definition 1.7 Konkatenation von Sprachen Seien L 1 und L 2 Sprachen, dann ist L 1 L 2 = def {u v u L 1, v L 2 } 1.1 Reguläre Ausdrücke Definition 1.9 Syntax Regulärer Ausdrücke Sei Σ ein Alphabet. Dann definieren folgenden Regeln induktiv die Menge der regulären Audrücke über Σ: 1. (a) Das Zeichen ist ein regulrärer Ausdruck. (b) Das Zeichen ɛ ist ein regulärer Audruck. (c) Für jedes σ Σ ist sigma ein regulärer Audruck. 2. Sind α und β reguläre Ausdrücke, so auch (a) (αβ), und (b) (α + β) 3. Ist α ein regulärer Ausdruck, so auch (α ) Bemerkung D ie Menger aller regulären Ausdrücke über Σ ist selbst auch wieder eine Sprache Σ {, ɛ, +,, ), (} 1

2 Definition 1.10 Semantik Regulärer Ausdrücke Für jeden regulären Ausdruck α sei die Sprache L(α) wie folgt definiert: L( ) = L(ɛ) = {ɛ} L(σ) = {σ}, für jedes σ Σ Sind α und β reguläre Ausdrücke so ist L((αβ)) = L(α) L(β) L((α + β)) = L(α) L(β) Ist α ein regulärer Ausdruck, so ist L((α )) = L(α) Satz 1.12 Äquivalenzen für + und Seien α, β, γ reguläre Ausdrücke: Assoziativität bezüglich + und α + (β + γ) (α + β) + γ α(βγ) (αβ)γ Kommutativität bezüglich + α + β β + α Neutrale Elemente bezüglich + und + α α α + ɛα α αɛ Nullement bezüglich α α Distributivität α(β + γ) αβ + αγ (α + β)γ αγ + βγ Indepotenz (α ) α ɛ ɛ ɛ Definition 1.11 Reguläre Sprache Eine Sprache L heißt regulär, falls es einen regulären Ausdruck α gibt mit L = L(α) 2

3 1.2 Endliche Automaten Definition 1.15 Nichtdeterministischer endlicher Automat Der NEA A = (Q, Σ, δ, s, F ) besteht aus a Zustandmenge Q, Definition 1.13 E ndlicher Automat A = (Q, Σ, δ, s, F ) endliche Menge Q von Zuständen Eingabealphabet Σ Überführungsfuntion δ : Q Σ Q einem Eingabealphabet Σ, einem Anfangszustand s Q, einer akzeptierenden Menge F von Zuständen, sowie einer Übführungsfunktion δ : Q Σ P(Q). a Bei NEAs sind δ(q, σ) Mengen von Zuständen. Startzustand s Q akzeptierende Zustände F Q Definition 1.14 Semantik endlicher Automaten Die erweiterte Überführungsfunktion δ : Q Σ Q eines Automaten A = (Q, Σ, δ, s, F ) ist wie folgt induktiv definiert: δ(q, ɛ) = def q, δ(q, uσ) = def δ(δ (q, u), σ, ) für u Σ, σ Σ A akzeptiert w def δ (s, w) F Von A entschiedene Sprache: Definition 1.16 Semantik von NEAs δ (q, w) = def Menge der Zustände, die A von q aus nach Lesen von w erreichen kann induktiv: δ (q, ɛ) = {q} δ (q, uσ) = p δ (q,u) δ(p, σ) A akzeptiert w, falls δ (s, w) F L(A) = def {w Σ A akzeptiert w} L(A) = def {w Σ A akzeptiert w} Bemerkung Notation # τ (w) : Häufigkeit des Vorkommes des Zeichens τ im String w k n : k ist ein Teiler von n Satz 1.17 Zu jeden nichtdeterministischen endlichen Automaten A gibt es einen (deterministischen) endlichen Automaten A D mit L(A D ) = L(A) 3

4 Definition 1.18 Nichtdeterministischer endlicher Automat Ein ein nichtdeterministischer endlicher Automat A = (Q, Σ, δ, s, F ) mit ɛ-übergängen besteht aus einer Zustandsmenge Q, einem Eingabealphabet Σ, einem Anfangszustand s Q, einer Menge F von akzeptierenden zustanden Satz 1.23 Für eine Sprache L Σ sind äquivalent: (a) L = L(α) für einen RA α (b) L = L(A) für einen EA A (c) L = L(A) für einen NEA A (d) L = L(A) für einen ɛ-nea A sowie einer Überführungsfunktion δ : Q (Σ {ɛ}) P(Q) Definition 1.19 ɛ-closure(q) = def Menge aller von q aus ohne Lesen eines Symbols erreichbaren Zustände δ (q, ɛ) = def ɛ-closure(q) δ (q, uσ) = def q δ (q,u) ɛ-closure(δ(q, σ)) Satz 1.20 Zu jeden ɛ-nea A gibt es einen EA A D mit L(A D ) = L(A) Satz 1.21 Zu jeden RA α gibt es einen ɛ-nea A mit L(α) = L(A) Satz 1.22 Zu jeden EA A gibt es einen RA α mit L(α) = L(A) 4

5 Satz 12.1 Pumping-Lemma für Kontextfreie Grammatiken Ist L kontextfrei, so gibt es ein n N, so dass sich jeder String z L mit z n so in z = uvwxy zerlegen lässt, das gelten: (1) vx ɛ, (2) vwx n, (3) uv k wx k y L, für alle k 0 Bemerkung Umwandlungsalgorithmen Die folgenden Umwandlungen sind in linearer Zeit möglich und erzeugen Objekte linearer Größe: - kontextfreie Grammatik Kellerautomat - Kellerautomat mit leerem Keller Kellerautomat mit akzeptierenden Zuständen - Kellerautomat mit akzeptierenden Zuständen Kellerautomat mit leerem Keller Die Umwandlung eines Kellerautomanten A in eine Grammatik ist in Zeit O( A 4 ) möglich. (Dabei bezeichnet A die Größe der Überführungsfunktion, wobei jede Transition 1+ Länge des neuen Kellerstring beiträgt.) Korollar 12.2 Sei L eine Sprache Angenommen, für jedes n > 0 gibt es einen String z L mit z n so dass für jede Zerlegung z = uvwxy mit Die Umwandlung einer kontextfreien Grammatik G in eine CNF- Grammatik ist in Zeit O( G 2 ) möglich. Es gibt einen Algorithmus der eine Grammatik in eine Greibach- Normalform der Größe O( G 3 ) umwandeln kann. (1) vx ɛ, (2) vwx n ein k 0 existiert mit uv k wx k y / L Dann ist L nicht kontextfrei. Satz 12.4 Leerheitsproblem für kontextfreie Grammatiken Zu einer gegebenen kontextfreien Grammatik G lässt sich in linearer Zeit O( G ) entscheiden, ob L(G) gilt. Proposition 12.3 Die beiden folgenden Sprachen sind nicht kontextfrei: (a) L abc = {a m b m c m m 1} (b) L doppel = {ww w {a, b} } Satz 12.5 Endlichkeitsproblem für kontextfreie Grammatiken Das Endlichkeitsproblem für kontextfreie Grammatiken in CNF kann in linearer Zeit entschieden werden. 5

6 Bemerkung Unentscheidbare Probleme für kontextfreie Grammatiken Folgende Probleme sind nicht Algorithmisch lösbar: (1) Ist L(G) eindeutig oder inhärent mehrdeutig? (2) Ist G eindeutig? (3) Ist L(G) deterministisch kontextfrei? Satz 12.8 Weitere Abschlusseigenschaften Die Klasse der kontextfreien Sprachen ist nicht abgeschlossen unter (a) Durchschnitt, (b) Komplement, (c) Mengendifferenz (4) Ist L(G) regulär? (5) Ist L(G 1 ) L(G 2 ) =? (6) Ist L(G 1 ) L(G 2 ) kontextfrei? (7) Ist L( 1 G) L(G 2 )? (8) Ist L(G 1 ) = L(G 2 )? (9) Ist L(G) = Σ? Satz 12.6 Abschlusseigenschaften von kontextfreien Sprachen Die Klasse der kontextfreien Sprachen ist abgeschlossen unter Vereinigung, Konkatenation, dem Operator und dem + Operator. Satz 12.7 (a) Ist L kontextfrei, so auch {w R w L} (b) Ist L Σ kontextfrei, h : Σ Γ ein Homomorphismus, so ist auch h(l) kontextfrei. (c) Ist L Σ kontextfrei, h : Γ Σ ein Homomorphismus, so ist auch h 1 (L) kontextfrei. Satz 12.9 Ist L 1 kontextfrei und L 2 regulär, so ist L 1 L 2 kontextfrei. Satz Die Klasse der deterministisch kontextfreien Sprachen ist abgeschlossen unter Komplementbildung. Satz Die Klasse der deterministisch kontextfreien Sprachen nicht abgeschlossen unter Vereinigung und Durchschnitt. Bemerkung Die folgenden Sprachen sind kontextfrei, aber nicht deterministisch kontextfrei: - L doppel := {ww w {0, 1} } - L undoppel := L doppel Sprich L undoppel enthält alle String ungerader Länge sowie alle Strings aus L diff = {w 1 w 2 w 1 = w 2, w 1 w 2 } Satz L undoppel ist kontextfrei, aber nicht deterministisch kontextfrei. 6

7 Algorithmus 13.1 CYK-Algorithmus Eingabe: w Σ, G in CNF Ausgabe: ja, falls w L(G) 1 : f o r i := 1 TO n do 2 : V i,i := {X V X w[i, i] in P } 3 : f o r l := 1 TO n 1 do 4 : f o r i := 1 TO n l do 5 : V i,i+1 := {Teilstrings der Längel + 1} 6 : f o r k := i TO i + l 1 do 7 : V i,i+l := V i,i+l {X X Y Z, Y V i,k, Z V k+1,i+l } 8 : i f S V 1,n then 9 : Akzeptieren 1 0 : e l s e 1 1 : Ablehnen Algorithmus Tree Eingabe: X, i, j Ausgabe: Ableitungsbaum für w[i, j] aus X 1 : if i = jthen 2 : 3 : 4 : 5 : Bemerkung p k (v) Mit p k (v) bezeichnen wir das Präfix der Länge k eieingabene String v: { v 1 v k, falls k n p k (v) = def v 1 v n, falls k > n Definition LR(k)-Grammatik Sei k 0. Eine Grammatik heißt LL(k)-Grammatik, falls die folgenden Bedingung, für alle X V, z, x, y Σ und α, β, γ (Σ V ), erfüllt ist: Algorithmus 13.2 Erweiterter CYK-Algorithmus Eingabe: w Σ, G in CNF Ausgabe: Ableitungsbaum, falls w L(G) 1 : for i := 1 TO n do 2 : V i,i := {(X, i) V X w[i, i] in P } 3 : for l := 1 TO n 1 do 4 : for i := 1 TO n l do 5 : V i,i+1 := {Teilstrings der Längel + 1} 6 : for k := i TO i + l 1 do 7 : V i,i+l := V i,i+l {(X, k) X Y Z, m : (Y, m) V i,k, Z V k+1,i+l } 8 : if es gibt kein k mit (S, k) V 1,n then 9 : Ablehnen 1 0 : Konstruiere Ableitungsbaum rekursiv durch Aufruf von Tree(S, 1, n) - Falls * S l uxα l uβα l ux, * S l uxα l uγα l uy, und * p k (u) = p k (y) - so ist β = γ Bemerkung Für einen String α (V Σ) sei Für eine Variable X sei FIRST(α) = def {σ Σ α σv, v Σ } {ɛ α ɛ} FOLLOW(X) = def {σ Σ S uxσv, u, v Σ } 7

8 Satz 13.3 Eine kontextfreie Grammtik G ohne nutzlose Variablen und ohne Linksrekursion ist genau dann eine LL(1)-Grammatik, wenn für alle Variablen X von G und alle Regeln X α und X β mit α β gilt: - FIRST(α) FIRST(β)= - Falls α ɛ so ist FOLLOW(X) FIRST(β)= Satz 13.5 Folgerungen (a) Für jedes k 1 sind LR(k)-Grammatiken und LR(1)-Grammatiken gleich ausdrucksstark (b) Das Syntaxanalyseproblem für LR(k)-Grammatiken lässt sich in linearer Zeit lösen. Definition LR(k)-Grammatik Sei k 0. Eine Grammatik heißt LR(k)-Grammatik, falls die folgenden Bedingung, für alle X, Y V, z, x, y Σ und α, β, γ (Σ V ), erfüllt ist: - Falls * S r αxu r αβu, * S r γy u r αβu, und * p k (u) = p k (y) - so gelten: Satz 13.6 Folgerungen Jede deterministische kontextfreie Sprache hat eine eindeutige Grammatik. * x = y * α = γ, und * X = Y Bemerkung In den Bezeichnungen LL(k) und LR(k) steht der erste Buchstabe (L) für die Leserichtung des Worts. Der zweite Buchstabe für die Ableitungsrichtung (Links oder Rechts). Satz 13.4 Sei k 1, dann sind äquivalent: - L ist deterministisch kontextfrei - L = L(G) für eine LR(k)-Grammatik G Bemerkung zu LL(k)- und LR(k)-Grammatiken LR(0)-Grammatiken entsprechen gerade den deterministischen Kellerautomanten, die mit llrem Keller akzeptieren. Jede LL(k)-Grammatik ist auch eine LR(k)-Grammatik, jedoch nicht umgekehrt! LR(k)-Grammatiken sind eindeutig. 8

9 2 Berechenbarkeit 2.1 LOOP-Programme Definition Syntax von LOOP-Programmen Die Syntax von LOOP-Programmen ist wie folgt definiert: Wertzuweisung: x i := c x i := x j x i := x j + c x i := x j c sind LOOP-Programme. Reihung: Sind P 1 und P 2 LOOP-Programme, so auch P 1 ; P 2 Wiederholung: Falls P ein LOOP-Programm ist, so auch LOOP x i DO P END Definition Speicherinhalte Ein Speicherinhalt X ist eien Funktion (N 0) N, für die X(i) 0 nur für endliche viele i (N 0) gilt: Definition Semantik von LOOP-Programmen Ist X ein Speicherinhalt und P ein LOOP-Programm, so bezeichne P (X) den Speicherinhalt nach Bearbeitung von P Dabei ist X = P (X) induktiv wie folgt definiert: Falls P von der Form x i := x j + c ist, ist { X X(j) + c (k) = def X(k) Analog für x i := c und x i := x j für k = j sonst Falls P von der Form x i := x j c ist, ist { X max(x(j) c, 0) (k) = def X(k) Falls P von der Form P 1 ; P 2 ist, so ist P (X) = def P 2 (P 1 (X)) für k = i sonst Falls P von der Form LOOP x j DO P 1 END ist, so ist P (X) = def P X(i) 1 (X) (X(i)-malige Wiederholung). Die durch ein LOOP-Programm P berechnete Funktion f P ist wie folgt definiert: Für jedes b N ist f P (b) = def X (1) für die Speicherbelegung X = P (X b ) X(i) repräsentiert den Wert von x i Der Speicherinhalt X b bei Eingabe b N ist definiert durch: { b für i = 1 X b (i) = def 0 sonnst Definition LOOP-berechenbar Eine Funktion f : N N heißt LOOP-berechenbar, falls f = f P Programm P für ein LOOP- 9

10 2.2 WHILE-Programme 2.3 GOTO-Programme Definition WHILE-Programme Die Synatax von WHILE-Programmen entspricht der von LOOP-Programmen, mit der zusätzlichen Regel: Ist P ein WHILE-Programm, so auch WHILE x i 0 DO P END Proposition 15.1 f LOOP-berechnebar f WHILE-berechenbar Definition Semantik von WHILE-Schleifen Ist P von der Form WHILE x i 0 DO P 1 END und X ein Speicherinhalt, so sei { X falls X(i) = 0 P (X) = def P (P 1 (X)) sonst Die Funktion f P ist Analog zu LOOP-Programmen definiert Definition GOTO-Programm Ein GOTO-Programm besteht aus einer Folge von Anweisungen A i und Sprungmarken M i - M 1 : A 1 ; - M 2 : A 2 ; M k : A k ; Mögliche Anweisungen Wertzuweisungen: x i := c x i := x j x i := x j + c x i := x j c f : N N heißt WHILE-berechenbar, falls f = f P Programm P für ein WHILE- Bedingter Sprung: IF x j = c THEN GOTO M j Stopanweisung: HALT 10

11 Definition Konfiguration GOTO-Programme Eine Konfiguration eines GOTO-Programmes P ist ein (l; X), wobeil M l eine Sprungmarke von P und X ein Speicherinhalt ist. Start-Konfiguration bei Eingabe b : (1; X b ) Die Nachfolge-Konfiguration (l, X ) einer Konfigartion (l; X) ist wie folgt definiert: Ist A l eine Wertzuweisung, so ist l = l + 1 und X ist definert wie bei LOOP-Programmen Falls A l ein bedingert Sprung IF x i = c THEN GOTO M j ist, so ist { X = def X und l j falls X(i) = c = l + 1 sonst Halte-Konfiguration (l; X): l = k + 1 oder A l ist HALT f P (b) ist dann wieder X(1) GOTO-berechenbar: analog WHILE-berechenbar 2.4 Rekursionstheorie Definition primitiv rekursive Funktionen Basisfunktionen: Alle Funktionen c k : N k N mit c N, definiert durch c k (x 1,..., x k ) = def c sind primitiv rekursiv (konstante Funktionen) Alle Funktionen π k i : Nk N, definiert durch π k i (x 1,..., x k ) = def x i sind primitiv rekursiv (Projektionen) Die Funktion s : N N, definiert durch s(x 1 ) = def x ist primitiv rekursiv (Nachfolgerfunktion) Zusammengesetzte Funktionen: HIER FOLIE Sind h : N l N und g 1,..., g l : N k N primitiv rekursive Funktionen, so ist die durch f(x 1,..., x k ) = def h(g 1 (x 1,..., x k ),..., g l (x 1,..., x k )) Satz 15.2 Jede GOTO-berechenbare Funktion ist auch WHILE-berechenbar. Satz 15.3 Jede WHILE-berechenbare Funktion ist auch GOTO-berechenbar. definierte Funktion f : N k N primitiv rekursiv (Komposition) Sind h : N k+1 N und g : N k 1 N primitiv rekursive Funktionen, so ist die durch f(0, x 2,..., x k ) = def g(x 2,..., x k ) f(x + 1, x 2,..., x k ) = def h(f(x, x 2,..., x k ), x, x 2,..., x k ) definierte Funktion f : N k N primitiv rekursiv (Primitive Rekursion) 11

12 Satz 15.4 Eine Funktion f : N k N ist genau dann primitiv rekursiv, wenn sie durch ein LOOP-Programm berechnet werden kann. Definition µ-rekursive Funktionen Ist f : N k+1 N eine partielle Funktion, so sei die partielle Funktion µf : N k N, definiert durch µf(x 1,..., x k ) = def kleinstes n N, für das gilt: f(n, x 1,..., x k ) = 0 f(m, x 1,..., x k ), für alle m < n Die µ-rekursive Funktionen sind wie die primitiv rekursiven Funktioen definiert mit der zusätzlichen Regel: Ist f µ-rekursiv, so auch µf Satz 15.5 Eine Funktion f : N k N ist genau dann µ-rekursiv, wenn sie druch ein WHILE- Programm berechnet werden kann. 3 Komplexitätstheorie Definition RucksackO Geben: Gewichtsschranke G und m Gegenstände repräsentiert durch Werte w 1,..., W m und Gewichte g 1,..., g m Gesucht: I {1,..., m}, so dass i I w i maximal ist und i I g i G gilt Definition Col Geben: Ungerichteter Graph G, Zahl k. Frage: Lassen sich die Knoten von G mit k Farben zulässig färben, also so, dass durch Kanten verbundene Knoten verschiedene Farben haben? Definition EulerKreis Geben: Ungerichteter Graph G Frage: Gibt es eine geschlossen Kantenfolge in G, die jede Kante genau einmal besucht? Satz 15.1 [Euler] Ein zusammenhänender Graph G hat genau dann einen Euler-Kreis, wenn jeder Knoten geraden Grad hat Definition HamiltonKreis Geben: Ungerichteter Graph G Frage: Gibt es einen geschlossenen Weg in G, der jeden Knoten genau einemal besucht? Definition CliqueO Geben: Graph G = (V, E) Gesucht: Maximales C mit C G, so dass C ein K n. Sprich der größte vollständige Teilgraph von G Definition Sat Geben: Aussagenlogische Formel ϕ in KNF Frage: Ist ϕ erfüllbar? Definition 3-Sat Geben: Aussagenlogische Formel ϕ in KNF mit je 3 Literalen je Klausel Frage: Ist ϕ erfüllbar? Definition TSP Geben: Gesucht: Definition TSPO Geben: Gesucht: Definition TSPW Geben: Gesucht: Definition 3-Col Geben: Gesucht: 12

13 Definition NTIME Geben: Gesucht: Definition Nachfolgekonfiguration Sei K = (q, (w, z)) eine Konfiguration mit w[z] = σ und sei δ(q, σ) = (q, τ, d) mit τ Γ, d {,, } 3.1 Turingmaschinen Definition Turingmaschiene Eine Turingmascheine M = (Q, Γ, δ, s) besteht aus einer endlichen Menge Q, einem Alphabet Γ, mit, Γ, einer Funktion δ : Q Γ (Q {ja,nein, h}) Γ {,, } (Zustandsmenge) (Arbeitsalphabet) (Überführungsfunktion) Dann ist die Nachfolgekonfiguration K = (q, (w, z )) von K wie folgt definiert: (Schreibweise K M K ) z = z + 1, falls d =, z = z, falls d =, z = z 1, falls d =, w = w[z/τ], falls z < w oder d, w = w[z/τ], falls z = w und d =, Wir schreiben K M K, falls es Konfigurationen K 1,..., K m gibt mit K M K 1 M... M K m M K einem ausgezeichneten Zustand s Q, Definition Konfiguration von Turingmaschienen Eine Konfiguration von M ist eine Tupe (q, (w, z)) mit q Q {ja,nein, h} (aktueller Zustand) w der aktuelle String z die Position des Zeigers der TM (linker Rand ist 0) (Startzustand) Bemerkung String-Zeigerbeschreibung In der Konfiguration nenen wir (w, z) die String-Zeigerbeschreibung, mit String w Γ und Zeigerposition z N, z w, wobei w[0] = def. Eine alternative String-Zeigerbeschreibungs Notation ist (u, σ, v) anstelle von (w, z), mit w = wσv und u = z. Definition Semantik von Turingmaschienen Sei Σ Γ {, } (Ein-/Ausgabe-Alphabet) Die Startkonfiguration von M bei Eingabe u Σ ist K 0 (u) = def (s, (u, 0)) (q, (w, z)) heißt Haltekonfiguration, falls q {h, ja,nein} K 0, K 1,..., K t heißt Berechnung von M bei Eingabe u, falls K 0 = K 0 (u) K i M K i+1 für alle i < t, und K t eine Haltekonfiguration ist M akzeptiert u, falls K 0 (u) M (ja, (w, z)) M lehnt u ab, falls K 0 (u) M (nein, (w, z)), für gewisse w Σ, z < w M(u) = def die (endliche oder unendliche) Berechnung von M bei Eingabe u 13

14 Definition Sprachen von Turingmaschienen Eine TM M entscheidet eine Sprache L, falls für jedes u Σ gilt: u L M akzeptiert u u / L M lehnt u ab L(M) = def Menge aller von M akzeptierten Strings Definition Turing-berechenbar f M (u) = def v Σ, falls K 0 (u) M (h, (v, 0)) oder K 0 (u) M (h, (vτw, 0)) für ein τ Γ Σ, w Γ Eine Funktion f : Σ Σ heißt Turing-berechenbar, falls f = f M, für eine Turingmaschine M Mehrstring-Turingmaschinen Definition Syntax von Mehrstring-TM Eine Mehrstring-Turingmaschine M = (Q, Γ, δ, s) besteht aus einer Menge Q von Zuständen, einem Bandalphabet Γ mit Γ und Γ (wir nennen Blank und linker Rand ), Definition Semantik von Mehrstring-TM Sei M = (Q, Γ, δ, s) eine Mehrstring-TM Ein-/Ausgabealphabet: Σ Γ {, }, Konfiguration von M : k + 1-Tupel (q, s 1,..., s k ), wobei q Q s i String-Zeigerbeschreibung K 0 (u) von M bei Eingabe u Σ : (s, (u, 0), (ε, 0),..., (ε, 0)) (q, s 1,..., s k ) ist Haltekonfiguration, falls q {h, ja,nein} Sei K = (q, (u 1, z 1 ),..., (u k, z k )) eine Konfiguration von M und sei, für jedes i, σ i = def w[i] Ist δ(q, σ 1,..., σ k ) = (q, τ 1,..., τ k, d 1,..., d k ) so ist K = (q, (u 1, z 1 ),..., (u k, z k )) die Nachfolgekonfiguration von K, wenn für alle i gilt: z i = z i + 1, falls d i =, z i = z i, falls d i =, z i = z i 1, falls d i =, u i = u i [z i/τ i ], falls z i < u i oder d i, z i = u i [z i/τ i ], falls d i = u i und d i =, Schreibweise K M K (Spreichweise M erreicht K von K aus in einem Schritt) K M K : wie bei Turingmaschinen einem Anfangszustand s Q, und einer Zustandsübergangsfunktion δ : Q Γ k (Q {h, ja,nein}) Γ k {,, } k 14

15 3.2 NP-Vollständigkeit Definition Polynomielle Reduktion Eine Funktion f heißt polynomielle Reduktion von L auf L, falls (1) f in polynomieller Zeit berechenbar ist (2) und für alle w Σ gilt: w L f(w) L L heißt polynomiell reduzierbar auf L, falls es einen polynomielle Reduktion von L auf L gibt. Schreibweise: L p L Proposition 22.1 Seien L, L Σ, L p L Dann gelten: (a) wenn L P dann L P (b) wenn L NP dann L NP Lemma 22.2 Seien L, L Σ, L p L. Wenn L / P dann L / P Definition NP-schwierig Eine Sprache L heißt NP-schwierig, falls für alle L NP gilt: L L Definition NP-vollständigkeit Eine Sprache L heißt NP-vollständig, falls L NP-schwierig ist und L NP gilt. Satz 22.4 Sei L eine NP-vollständige Sprache (a) Falls L P, so ist P=NP. (b) Falls L / P, so ist P NP. Satz 22.5 [Cook 71] SAT ist NP-vollständig. Lemma 23.1 p ist Transitiv Seien L 1, L 2, L 3 Σ Sprachen Falls L 1 p L 2 und L 2 p L 3, so gilt auch L 1 p L 3 Lemma 23.2 Ist L NP und L p L für ein NP-vollständiges Problem L, so ist auch L NP-vollständig. Proposition 23.3 Lemma 23.4 Proposition 23.5 Proposition 23.6 SAT p 3-SAT 3-SAT ist NP-vollständig. 3-SAT p 3-COL 3-SAT p Clique Proposition 22.3 Das allgemeine Halteproblem H ist NP-schwierig. Proposition SAT p HamiltonKreis 15

16 Proposition 23.8 Proposition 23.9 HamiltonKreis p TSP 3-SAT p Rucksack Satz Die folgenden Probleme sind NP-vollständig: 3-SAT 3-COL Clique HamiltonKreis TSP Ruchsack 16

17 Index Alphabet, 1 Σ, 1 Endlichkeitsproblem Kontextfrei, 5 Grammatiken Kontextfrei Endlichkeitsproblem, 5 Leerheitsproblem, 5 Kellerautomaten Endlichkeitsproblem, 5 Leerheitsproblem, 5 Leerheitsproblem Kontextfrei, 5 Notation L 1 L 2, 1 u v, 1 ɛ (Semantisch), 2 ɛ (Syntaktisch), 1 ɛ (Wort), 1 L(α), 1 L, 1 α + β, 2 Σ, 1 L(α), 1 α + β, 2 Eigenschaften, 2 Semantik, 2 Syntax, 1 Reguläre Sprache, 2 Sprache, 1 Konkatenation, 1, 1 regulär, 2 Wiederholung, 1 L, 1 Wort, 1 Konkatenation, 1 Eigenschaften, 2, 1 Länge, 1 leeres, 1 ɛ, 1 u n, 1 Wiederholung, 1 Pumping-Lemma Kontextfrei, 5 Reguläre Ausdrücke ɛ (Semantisch), 2 ɛ (Syntaktisch), 1 17

Informatik III - WS07/08

Informatik III - WS07/08 Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner dwagner@ira.uka.de Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition

Mehr

Ogden s Lemma: Der Beweis (1/5)

Ogden s Lemma: Der Beweis (1/5) Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

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

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Musterlösung Informatik-III-Klausur

Musterlösung Informatik-III-Klausur Musterlösung Informatik-III-Klausur Aufgabe 1 (1+4+3+4 Punkte) (a) 01010 wird nicht akzeptiert: s q 0 q 1 q 2 f q 2 10101 wird akzeptiert: s q 2 q 2 f q 2 f (b) ε: {s, q 0, q 1, q 2 }, {f} 0: {s, q 0,

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!# v 1 Info4 Stoff Aufgabentypen: Grammatik CH einordnen NFA DFA Grammatik Chomsky-NF CYK-Algorithmus: Tabelle / Ableitungsbäume Grammatik streng kf. Grammatik Grammatik Pumping Lemma Beweis, dass Gr. nicht reg,

Mehr

Musterlösung Informatik-III-Nachklausur

Musterlösung Informatik-III-Nachklausur Musterlösung Informatik-III-Nachklausur Aufgabe 1 (2+2+4+4 Punkte) (a) L = (0 1) 0(0 1) 11(0 1) 0(0 1) (b) Der Automat ist durch folgendes Übergangsdiagramm gegeben: 0, 1 0, 1 0, 1 0, 1 0 s q 1 1 0 0 q

Mehr

Kontextfreie Sprachen werden von PDAs akzeptiert

Kontextfreie Sprachen werden von PDAs akzeptiert Kontextfreie Sprachen werden von PDAs akzeptiert Sei G = (Σ, V, S, P) eine kontextfreie Grammatik. Dann gibt es einen PDA A mit L(A) = L(G). Der PDA A arbeitet mit nur einem Zustand q 0, besitzt das Kelleralphabet

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Rucksackproblem und Verifizierbarkeit

Rucksackproblem und Verifizierbarkeit Rucksackproblem und Verifizierbarkeit Gegeben: n Gegenstände mit Gewichten G={g 1,g 2,,g n } und Werten W={w 1,w 2,,w n } sowie zulässiges Gesamtgewicht g. Gesucht: Teilmenge S {1,,n} mit i i S unter der

Mehr

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2004/05 ILKD Prof. Dr. D. Wagner 5. April 2005 2. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Lösung! Beachten

Mehr

Diskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl

Diskrete Mathematik. Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl OLC mputational gic Diskrete Mathematik Arne Dür Kurt Girstmair Simon Legner Georg Moser Harald Zankl Fakultät für Mathematik, Informatik und Physik @ UIBK Sommersemester 2011 GM (MIP) Diskrete Mathematik

Mehr

Übersicht. 3 3 Kontextfreie Sprachen

Übersicht. 3 3 Kontextfreie Sprachen Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.4 Entscheidungsprobleme für CFGs 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform

Mehr

Akzeptierende Turing-Maschine

Akzeptierende Turing-Maschine Akzeptierende Turing-Maschine Definition: Eine akzeptierende Turing-Maschine M ist ein Sechstupel M = (X, Z, z 0, Q, δ, F ), wobei (X, Z, z 0, Q, δ) eine Turing-Maschine ist und F Q gilt. Die von M akzeptierte

Mehr

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit 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

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

Zusammenfassung Info3. Lydia Pintscher 20. März 2005

Zusammenfassung Info3. Lydia Pintscher 20. März 2005 Zusammenfassung Info3 Lydia Pintscher 20. März 2005 1 1 Automaten 1.1 DEA Ein deterministischer endlicher Automat besteht aus (Q,Σ,δ,s,F), wobei: Q: endliche Menge von Zuständen Σ: Alphabet, endliche Menge

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

1.5 Turing-Berechenbarkeit

1.5 Turing-Berechenbarkeit 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

Mehr

A : z z A : z z : ( z, x, z ) δ

A : z z A : z z : ( z, x, z ) δ Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,

Mehr

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom

Diskrete Mathematik. Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom Diskrete Mathematik Anna-Lena Rädler Christina Kohl Georg Moser Christian Sternagel Vincent van Oostrom Zusammenfassung der letzten LVA Definition Ein ɛ-nea N = (Q, Σ, δ, S, F) ist gegeben durch eine endliche

Mehr

Turing-Maschinen: Ein abstrakes Maschinenmodell

Turing-Maschinen: Ein abstrakes Maschinenmodell Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt, eine Elementaroperation ist maschinell ausführbar? Was verstehen

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

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

2.2 Reguläre Sprachen Endliche Automaten

2.2 Reguläre Sprachen Endliche Automaten 2.2.1 Endliche Automaten E I N G A B E Lesekopf endliche Kontrolle Signal für Endzustand Ein endlicher Automat liest ein Wort zeichenweise und akzeptiert oder verwirft. endlicher Automat Sprache der akzeptierten

Mehr

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

3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation Formale Systeme, Automaten, Prozesse Übersicht 3 3.1 Kontextfreie Sprachen und Grammatiken 3.2 Ableitungsbäume 3.3 Die pre -Operation 3.5 Normalformen für CFGs 3.6 Chomsky-Normalform 3.7 Greibach-Normalform

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Polynomielle Verifizierer und NP

Polynomielle Verifizierer und NP Polynomielle Verifizierer und NP Definition Polynomieller Verifizierer Sei L Σ eine Sprache. Eine DTM V heißt Verifizierer für L, falls V für alle Eingaben w Σ hält und folgendes gilt: w L c Σ : V akzeptiert

Mehr

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d)

Zusammenfassung der letzten LVA. Endliche Automaten mit Epsilon-Übergängen. Inhalte der Lehrveranstaltung (cont d) Zusammenfassung der letzten LVA Ein nichtdeterministischer endlicher Automat (NEA) ist ein 5-Tupel (Q, Σ, δ, S, F), sodass Q eine endliche Menge von Zustände Σ eine endliche Menge, das Eingabealphabet;

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/ Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 13. Vorlesung 07.12.2006 1 Überblick: Die Church- Turing-These Turing-Maschinen 1-Band Turing-Maschine Mehrband-Turing-Maschinen Nichtdeterministische

Mehr

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

12. Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, Klasse NP 12 Woche: Verifizierer, nicht-deterministische Turingmaschine, NP 254/ 333 Polynomielle Verifizierer und NP Ḋefinition Polynomieller

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 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs

Mehr

Sprachen und Grammatiken

Sprachen und Grammatiken Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 03.12.2007 Sprachen und Grammatiken Alphabete, Zeichen und Symbole Ein

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

Berechenbarkeitstheorie 1. Vorlesung

Berechenbarkeitstheorie 1. Vorlesung Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster WS 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Zentrale Themen

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

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

Turing: prinzipielle Berechenbarkeit Abschnitt 4.2. Turingmaschinen: DTM Abschnitt 4.2. DTM: Akzeptieren und Entscheiden Abschnitt 4. Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turing: prinzipielle Berechenbarkeit Abschnitt 4.2 Kap. 4: Berechnungsmodelle Turingmaschinen 4.2 Turingmaschinen: DTM Abschnitt 4.2 DTM = DFA + unbeschränkter

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

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

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

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

Nachklausur zur Vorlesung

Nachklausur zur Vorlesung Lehrstuhl für Theoretische Informatik Prof. Dr. Markus Lohrey Grundlagen der Theoretischen Informatik Nachklausur Nachklausur zur Vorlesung Grundlagen der Theoretischen Informatik WS 2016/17 / 27. Februar

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die

Mehr

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: Homomorphismen Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: h(l) := {h(u) : u L} Γ, für jede Sprache L Σ, h 1 (M) := {u Σ : h(u) M} Σ,

Mehr

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

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

Mehr

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO). 1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache

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

10 Kellerautomaten. Kellerautomaten

10 Kellerautomaten. Kellerautomaten 10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen

Mehr

1. Datenstrukturen zur Lösung von Mengenverwaltungsproblemen

1. Datenstrukturen zur Lösung von Mengenverwaltungsproblemen Prof. Dr. Norbert Blum M.Sc. Adrian Schmitz Informatik V BA-INF 032 - Algorithmen und Berechnungskomplexität I WS 2014/15 Mögliche Klausuraufgaben Stand 3. Februar 2015 Bitte beachten Sie, dass die tatsächlichen

Mehr

Einige Grundlagen der Komplexitätstheorie

Einige Grundlagen der Komplexitätstheorie Deterministische Polynomialzeit Einige Grundlagen der Komplexitätstheorie Ziel: NP-Vollständigkeit als ressourcenbeschränktes Analagon zur RE-Vollständigkeit. Komplexitätstheorie untersucht den Ressourcenbedarf

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

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

Typ-0-Sprachen und Turingmaschinen

Typ-0-Sprachen und Turingmaschinen Typ-0-Sprachen und Turingmaschinen Jean Vancoppenolle Universität Potsdam Einführung in formale Sprachen und Automaten Dr. Thomas Hanneforth (Präsentation aus Foliensätzen von Dr. Thomas Hanneforth und

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

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

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

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

Einführung in die Theoretische Informatik TUM Sommersemester 2012 Dozent: Helmut Seidl

Einführung in die Theoretische Informatik TUM Sommersemester 2012 Dozent: Helmut Seidl Einführung in die Theoretische Informatik TUM Sommersemester 2012 Dozent: Helmut Seidl Janosch Maier 1. August 2012 Inhaltsverzeichnis 0 Einführung 4 0.1 Organisatorisches........................... 4

Mehr

Mitschrift BFS WS 13/14

Mitschrift BFS WS 13/14 Mitschrift BFS WS 13/14 Stand: 4. Juni 2014 Dieses Skript zum Teil Primitive und µ-rekursion der Vorlesung Berechenbarkeit und Formale Sprachen im Wintersemester 2013/14 bei Prof. Wanka wurde von untenstehenden

Mehr

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

Mehr

Formale Sprachen und endliche Automaten

Formale Sprachen und endliche Automaten Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche

Mehr

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012

Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Hauptklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2011/2012 Hier Aufkleber mit Name und Matrikelnr. anbringen

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

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik 29.10.2007 Reguläre Sprachen Ein (deterministischer) endlicher Automat

Mehr

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

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

Ein Fragment von Pascal

Ein Fragment von Pascal Ein Fragment von Pascal Wir beschreiben einen (allerdings sehr kleinen) Ausschnitt von Pascal durch eine kontextfreie Grammatik. Wir benutzen das Alphabet Σ = {a,..., z, ;, :=, begin, end, while, do} und

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

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum

Mehr

Kapitel L:II. II. Aussagenlogik

Kapitel L:II. II. Aussagenlogik Kapitel L:II II. Aussagenlogik Syntax der Aussagenlogik Semantik der Aussagenlogik Eigenschaften des Folgerungsbegriffs Äquivalenz Formeltransformation Normalformen Bedeutung der Folgerung Erfüllbarkeitsalgorithmen

Mehr

Carlos Camino Einführung in die Theoretische Informatik SS 2015

Carlos Camino Einführung in die Theoretische Informatik SS 2015 Themenüberblick Dies ist eine Art Checkliste für die Klausurvorbereitung. Zu jedem Thema im Skript sind hier ein paar Leitfragen aufgelistet. Besonders nützlich sind die Tabellen und Abbildungen auf den

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 114 5.2 Endliche Automaten Endliche Automaten sind Turingmaschinen, die nur endlichen Speicher besitzen. Wie wir bereits im Zusammenhang mit Turingmaschinen gesehen haben, kann endlicher Speicher durch

Mehr

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

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

Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: 5.2 Linear beschränkte Automaten Definition 98 Eine Turingmaschine heißt linear beschränkt (kurz: LBA), falls für alle q Q gilt: (q, c, d) δ(q, ) = c =. Ein Leerzeichen wird also nie durch ein anderes

Mehr

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

Mehr

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

1. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 1. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Lösung! Beachten Sie: Bringen Sie den Aufkleber mit Ihrem Namen und Matrikelnummer auf diesem Deckblatt an und beschriften

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

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

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c

Mehr

DisMod-Repetitorium Tag 4

DisMod-Repetitorium Tag 4 DisMod-Repetitorium Tag 4 Endliche Automaten, Reguläre Sprachen und Kontextfreie Grammatiken 22. März 2018 1 Endliche Automaten Definition DFA Auswertungen Äquivalenzrelationen Verschmelzungsrelation und

Mehr

1 Endliche Automaten. 1.1 Endliche Automaten mit Ausgabe. X nichtleere endliche Menge von Symbolen (Eingabealphabet)

1 Endliche Automaten. 1.1 Endliche Automaten mit Ausgabe. X nichtleere endliche Menge von Symbolen (Eingabealphabet) Automaten und Berechenbarkeit 1 1 Endliche Automaten 1.1 Endliche Automaten mit Ausgabe Definition 1.1.1 A = (X, Y, Z, z 0, δ, λ) heißt deterministischer endlicher Automat mit Ausgabe genau dann, wenn

Mehr

Übungen 1-12 Theoretische Informatik Sommersemester 2015

Übungen 1-12 Theoretische Informatik Sommersemester 2015 Übungen 1-12 Theoretische Informatik Sommersemester 2015 Markus Schlaffer 23. Juli 2015 1/90 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie

Mehr

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken

Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken 1 / 15 Endliche Automaten, reguläre Ausdrücke, rechtslineare Grammatiken Prof. Dr. Hans Kleine Büning FG Wissensbasierte Systeme WS 08/09 2 / 15 Deterministischer endlicher Automat (DEA) Definition 1:

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

NP-vollständige Probleme

NP-vollständige Probleme NP-vollständige Probleme Dr. Eva Richter 6. Juli 2012 1 / 13 NP-Vollständigkeit Definition Eine Sprache B heißt NP-vollständig, wenn sei zwei Bedingungen erfüllt: (i) B ist in NP (ii) Jedes Problem A in

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Avant Propos Formale Sprachen und Automaten Sie [die Theorie der formalen Sprachen] ist ein Musterbeispiel einer informatischen Theorie, weil es ihr gelingt, einen großen Bestand an Einsichten und Zusammenhängen

Mehr

Algorithmen und Datenstrukturen (EI)

Algorithmen und Datenstrukturen (EI) Algorithmen und Datenstrukturen (EI) Zentralübung Stefan Schmid 14. Januar 2009 Fitnesstraining... adsei = 5 ( Länge des Strings ) {a,d,s} = 3 ( Kardinalität der Menge ) {} = 0 (Leere Menge enthält keine

Mehr

Berechenbarkeit und Komplexität

Berechenbarkeit und Komplexität Berechenbarkeit und Komplexität Prof. Dr. Dietrich Kuske FG Theoretische Informatik, TU Ilmenau Wintersemester 2010/11 1 Organisatorisches zur Vorlesung Informationen, aktuelle Version der Folien und Übungsblätter

Mehr

Laufzeit einer DTM, Klasse DTIME

Laufzeit einer DTM, Klasse DTIME Laufzeit einer DTM, Klasse DTIME Definition Laufzeit einer DTM Sei M eine DTM mit Eingabealphabet Σ, die bei jeder Eingabe hält. Sei T M (w) die Anzahl der Rechenschritte d.h. Bewegungen des Lesekopfes

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

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

Falls H die Eingabe verwirft, so wissen wir, dass M bei Eingabe w nicht hält. M hält im verwerfenden Haltezustand. Beweis: 1 Unentscheidbarkeit 2 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 #include char *s="include

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

THIA - Übungsblatt 2.

THIA - Übungsblatt 2. THIA - Übungsblatt 2. Aufgabe 12 (Eine einfache Sprache). Endliche Ziffernfolgen, die mit einer 0 beginnen, auf die mindestens eine weitere Ziffer folgt, wobei nur die Ziffern 0,..., 7 vorkommen, sollen

Mehr