1 Reguläre Sprachen. 1.1 Reguläre Ausdrücke. Kai Sauerwald Zusammenfassung: GTI SS 12
|
|
- Katarina Heidrich
- vor 7 Jahren
- Abrufe
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 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
MehrOgden 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
MehrRegulä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
MehrBerechenbarkeits- und Komplexitätstheorie
Berechenbarkeits- und Komplexitätstheorie Verschiedene Berechenbarkeitsbegriffe, Entscheidbarkeit von Sprachen, Wachstumsordnungen und Komplexitätsklassen Inhaltsübersicht und Literatur Verschiedene Berechenbarkeitsbegriffe:
MehrKontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
MehrMusterlö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,
MehrKontextfreie 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
MehrAutomaten 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
MehrAufgabentypen: 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,
MehrMusterlö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
MehrKontextfreie 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
MehrTheoretische 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
MehrRucksackproblem 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
Mehr2. 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
MehrDiskrete 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
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
MehrAkzeptierende 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
Mehr1.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
MehrEinfü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
MehrZusammenfassung 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
MehrEinfü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,
Mehr1.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
MehrA : 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,
MehrDiskrete 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
MehrTuring-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
MehrAlgorithmen 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
MehrLOOP-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: ; :=
Mehr2.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
Mehr3.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
MehrDas 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.
MehrGrundlagen 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
MehrPolynomielle 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
MehrZusammenfassung 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;
MehrInformatik 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
Mehr12. 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
Mehr1 Σ 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
MehrSprachen 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
Mehr8. 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
MehrBerechenbarkeitstheorie 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
Mehr1 Σ 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
MehrTuring: 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
MehrDefinition (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
MehrTheorie 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
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
Mehr1.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:
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
MehrNachklausur 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
MehrTheoretische Informatik 1
Theoretische Informatik 1 Nichtdeterminismus David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2012 Übersicht Nichtdeterminismus NTM Nichtdeterministische Turingmaschine Die
MehrHomomorphismen. 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} Σ,
Mehr1. 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:
MehrEin 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
MehrGrundlagen 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
Mehr10 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
Mehr1. 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
MehrEinige 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
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
MehrGrundlagen 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
MehrTyp-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
MehrTheoretische 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
MehrWS06/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
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
MehrSyntax 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:
MehrEinfü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
MehrMitschrift 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
MehrNachklausur 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
MehrFormale 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
MehrHauptklausur 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
Mehr11. 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
MehrGrundlagen 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
MehrLö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
MehrGrundlagen 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
MehrEin 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
Mehr11.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
Mehr2. Ü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
MehrKapitel 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
MehrCarlos 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
Mehr5.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
Mehr2.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
MehrDefinition 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
MehrDefinition 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
Mehr1. 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
MehrRekursiv 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
MehrTheorie 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
MehrEinfü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
MehrDisMod-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
Mehr1 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 Markus Schlaffer 23. Juli 2015 1/90 Gliederung 1 Einführung 2 Sprachen und Grammatiken 3 Reguläre Sprachen und Endliche Automaten 4 Kontextfreie
MehrEndliche 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:
MehrBerechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
MehrNP-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
MehrFormale 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
MehrAlgorithmen 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
MehrBerechenbarkeit 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
MehrLaufzeit 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
MehrEinfü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...................................
MehrFalls 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
MehrLö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,
MehrTHIA - Ü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