Sprachen und Grammatiken
|
|
|
- Elisabeth Martin
- vor 7 Jahren
- Abrufe
Transkript
1 Grundlagen der Theoretischen Informatik Wintersemester 2007 / 2008 Prof. Dr. Heribert Vollmer Institut für Theoretische Informatik Sprachen und Grammatiken
2 Alphabete, Zeichen und Symbole Ein Alphabet ist eine endliche, nichtleere Menge. Die Elemente eines Alphabets heiÿen auch Zeichen oder Symbole. Wie üblich: Ist M eine Menge, so bezeichnet M die Anzahl der Elemente von M. Wörter und Sprachen Sei Σ ein Alphabet. Ein Wort über Σ ist eine Folge von Symbolen aus Σ. Ein Wort entsteht also durch Hintereinanderschreiben (Konkatenation) von Symbolen aus Σ. Die Menge aller Wörter über dem Alphabet Σ bezeichnen wir mit Σ. Eine Sprache über Σ ist eine Menge von Wörtern über Σ, also eine Teilmenge von Σ.
3 Konkatenation Operation auf Wörtern: Konkatenation bzw. Hintereinanderschreiben Schreibweise: u v oder kurz uv für Konkatenation der Wörter u und v Die Länge eines Wortes w ist die Anzahl der Symbole in w. Schreibweise: w Konkatenation Für ein Wort w und n N ist w n die Konkatenation w n = w w w }{{} n mal Wir denieren: w 0 = ε. Mit ε wird das leere Wort bezeichnet. Es ist w n = n w. Schreibweise: Σ + = Σ \ {ε}
4 Denition Eine Grammatik ist ein 4-Tupel G = (V, Σ, P, S), wobei: V ist eine endliche Menge, die so genannte Menge der Variablen Σ ist ein Alphabet, das so genannte Terminalalphabet, mit V Σ = P ist die endliche Menge der Produktionen, P (V Σ) + (V Σ) S V ist die so genannte Startvariable Denition Sei G = (V, Σ, P, S) eine Grammatik und seien u, v (V Σ). Wir denieren eine Relation G wie folgt: u G v, falls u, v zerlegt werden können in Teilwörter u = xyz und v = xy z mit x, z (V Σ) und y y ist Regel in P. u geht unter (Anwendung einer Regel in) G unmittelbar über in v u G v, falls u = v oder es Wörter w1,..., w k (V Σ) gibt mit u = w1, w i G w i+1 für i = 1, 2...., k 1 und v = w k. Wir lassen den Index G weg, falls dieser eindeutig Die von G erzeugte Sprache ist L(G) = { w Σ S G w }. Eine Ableitung von w L(G) in k Schritten ist eine Folge (w0, w1,..., w k) mit w0 = S, w k = w und w i G w i+1 für i = 0, 1,..., k 1.
5 Die Chomsky-Hierarchie Denition Noam Chomsky (Pionier der Linguistik) teilte Grammatiken in vier Typen ein: Jede Grammatik ist vom Typ 0 (d. h. keine Einschränkungen) Eine Grammatik ist vom Typ 1 (oder: kontextsensitiv), falls für alle ihre Regeln u v gilt: u v Eine Typ-1-Grammatik ist vom Typ 2 (oder: kontextfrei), falls für alle ihre Regeln u v gilt, dass u eine einzelne Variable ist (d. h. u V )
6 Denition (Fortsetzung) Eine Typ-2-Grammatik ist vom Typ 3 (oder: regulär), falls für alle ihre Regeln u v gilt, dass v ein einzelnes Terminalzeichen ist (v Σ) oder v aus einem Terminalzeichen gefolgt von einer Variablen besteht Eine Sprache L Σ heiÿt vom Typ 0 (Typ 1, Typ 2, Typ 3), falls es eine Typ-0-Grammatik (Typ-1-Grammatik, Typ-2-Grammatik, Typ-3-Grammatik) G gibt mit L = L(G). Satz Das Wortproblem für Typ-1-Sprachen ist entscheidbar, d. h. es gibt einen Algorithmus, der bei Eingabe einer kontextsensitiven Grammatik G = (V, Σ, P, S) und eines Wortes w Σ nach endlicher Zeit mit der Ausgabe w L(G) oder w / L(G) anhält.
7 Reguläre Sprachen Denition Ein (deterministischer) endlicher Automat (kurz: DEA) ist ein 5-Tupel M = (Z, Σ, δ, z0, E), wobei für die einzelnen Komponenten gilt: Z ist eine endliche Menge, die so genannte Zustandsmenge Σ ist ein Alphabet, das so genannte Eingabealphabet, Z Σ = δ: Z Σ Z ist die so genannte Überführungsfunktion z0 Z ist der so genannte Startzustand E Z ist die Menge der so genannten Endzustände
8 Denition Sei M = (Z, Σ, δ, z0, E) ein DEA. Die erweiterte Überführungsfunktion ˆδ: Z Σ Z ist (induktiv) deniert wie folgt: ˆδ(z, ε) = z für alle z Z ˆδ(z, ax) = ˆδ(δ(z, a), x) für alle z Z, a Σ und x Σ Die von M akzeptierte Sprache ist L(M) = { x Σ ˆδ(z0, x) E }. Denition Ein nichtdeterministischer endlicher Automat (kurz: NEA) ist ein 5-Tupel M = (Z, Σ, δ, z0, E), wobei für die einzelnen Komponenten gilt: Z, Σ, z0 und E sind wie bei deterministischen endlichen Automaten deniert Für die Überführungsfunktion gilt: δ: Z Σ P(Z). P(Z) ist die Potenzmenge von Z. Für z Z und a Σ ist also δ(z, a) eine Menge von möglichen Folgezuständen
9 Denition Wir denieren ˆδ : P(Z) Σ P(Z) wie folgt: ˆδ(Z, ε) = Z für alle Z Z ˆδ(Z, ax) = z Z ˆδ(δ(z, a), x) für alle Z Z, a Σ und x Σ. Die von M akzeptierte Sprache ist L(M) = { x Σ ˆδ({z0}, x) E }. Satz Zu jedem NEA M existiert ein DEA M mit L(M) = L(M ).
10 Satz Sei L Σ eine Sprache. Es gibt einen DEA M mit L = L(M) gdw. es eine reguläre Grammatik G mit L = L(G) gibt. Satz (Pumping-Lemma, uvw-theorem) Sei L eine reguläre Sprache. Dann gibt es eine Zahl n, sodass sich alle Wörter x L mit x n zerlegen lassen in x = uvw, sodass folgende Eigenschaften gelten: 1 v 1 2 uv n 3 Für alle i 0 gilt: uv i w L.
11 Logische Struktur der Aussage des Pumping-Lemmas: (L regulär) ( n)( x L, x n)( u, v, w), [x = uvw und (1)(3) gelten] }{{} Aussage ( ) Nach dem Pumping-Lemma gilt: L regulär ( ). Die Umkehrung (d. h. ( ) L regulär) gilt im Allgemeinen nicht! Aber: ( ) gilt nicht L nicht regulär. In dieser Form wird das Pumping-Lemma meistens verwendet. Kontextfreie Sprachen
12 Denition Ein (nichtdeterministischer) Kellerautomat (NKA, Pushdown Automaton (PDA)) ist ein 7-Tupel M = (Z, Σ, Γ, δ, z0, #, E), wobei für die einzelnen Komponenten gilt: Z ist die endliche Menge der Zustände Σ ist das Eingabealphabet Γ ist das Kelleralphabet δ: Z Σ Γ P(Z Γ ) ist die Überführungsfunktion. Es gilt: δ(z, a, A) ist endlich für alle z Z, a Σ und A Γ z0 Z ist der Startzustand # Γ ist das unterste Kellersymbol E Z ist die Menge der Endzustände Beispiel 1a: L = { a n b n n 1 } w = aaabbb Zustand Rest der Eingabe Kellerinhalt Befehl z0 aaabbb # (1) z0 aabbb A (2) z0 abbb AA (3) z0 bbb AAA (4) z1 bb AA (6) z1 b A (7) z2 ε ε Damit gilt also aaabbb L(M).
13 Beispiel 1b: L = { a n b n n 1 } w = aaabb Zustand Rest der Eingabe Kellerinhalt Befehl z0 aaabb # (1),(2),(3) z0 bb AAA (4) z1 b AA (6) z1 ε A An dieser Stelle ist die Eingabe ganz gelesen und kein Endzustand erreicht worden, also gilt: aaabb / L(M). Beispiel 1c: L = { a n b n n 1 } w = abb Zustand Rest der Eingabe Kellerinhalt Befehl z0 abb # (1) z0 bb A (5) z2 b ε An dieser Stelle ist kein weiterer Befehl möglich und die Eingabe ist noch nicht vollständig gelesen worden, also gilt: abb / L(M).
14 Beispiel 2a: L = { w$w R w {a, b} + } w = ab$ba Zustand Rest der Eingabe Kellerinhalt z0 ab$ba # z0 b$ba A z0 $ba BA z1 ba BA z1 a A z2 ε ε Also ist ab$ba L(M). Beispiel 2b: L = { w$w R w {a, b} + } w = ab$bb Zustand Rest der Eingabe Kellerinhalt z0 ab$bb # z0 b$bb A z0 $bb BA z1 bb BA z1 b A keine weitere Bewegung möglich Also ist ab$bb / L(M).
15 Satz Eine Sprache L ist kontextfrei gdw. es einen NKA M gibt mit L = L(M). Beweis: Wird in der Vorlesung Formale Sprachen gebracht. Satz (Pumping-Lemma (uvwxy -Theorem)) Sei L eine kontextfreie Sprache. Dann gibt es eine Zahl n, sodass sich alle Wörter z L mit z n zerlegen lassen in z = uvwxy, sodass folgende Eigenschaften erfüllt sind: 1 vx 1 2 vwx n 3 Für alle i 0 gilt: uv i wx i y L
16 Logische Struktur der Aussage des Pumping-Lemmas: (L kontextfrei) ( n N)( z L, z n)( u, v, w, x, y), } [z = uvwxy (1)(3) gelten] {{ } ( ) Anwendung: Kontraposition des Satzes, also: ( ) gilt nicht L ist nicht kontextfrei. Typ-1- und Typ-0-Sprachen
17 Denition Eine Turingmaschine (TM) ist ein 7-Tupel M = (Z, Σ, Γ, δ, z0,, E), wobei für die einzelnen Komponenten gilt: Z ist die Menge der Zustände Σ ist das Eingabealphabet Γ Σ ist das Arbeitsalphabet z0 Z ist der Startzustand Γ \ Σ ist das Leerzeichen bzw. Blank E Z ist die Menge der Endzustände δ ist die Übergangsfunktion Denition (Fortsetzung) Bei deterministischen Turingmaschinen (DTM, TM) gilt: δ : Z Γ Z Γ {L, N, R} Bei nichtdeterministischen Turingmaschinen (NTM) gilt: δ : Z Γ P(Z Γ {L, N, R})
18 Denition Eine Konguration einer TM M = (Z, Σ, Γ, δ, z0,, E) ist ein Wort k = uzv, wobei u, v Γ und z Z. Denition Sei M = (Z, Σ, Γ, δ, z0,, E) eine TM. Wir denieren eine zweistellige Relation auf der Menge der Kongurationen wie folgt für z Z \ E : a1... amzb1... bn a1... amz cb2... bn, falls δ(z, b1) = (z, c, N), m 0, n 1 a1... amcz b2... bn, falls δ(z, b1) = (z, c, R), m 0, n 2 a1... z amcb2... bn, falls δ(z, b1) = (z, c, L), m 1, n 1
19 Sonderfälle n = 1, Maschine läuft nach rechts: a1... amzb1 a1... amcz, falls δ(z, b1) = (z, c, R), m 0 m = 0, Maschine läuft nach links: zb1... bn z cb2... bn, falls δ(z, b1) = (z, c, L), n 1 Für z E gibt es keine Konguration k mit a1... amzb1... bn k. Denition Die von einer Turingmaschine M = (Z, Σ, Γ, δ, z0,, E) akzeptierte Sprache ist L(M) = { w Σ z0w uzv für ein z E und u, v Γ }. Dabei ist ka ke, falls ka = ke oder es k1,..., kn gibt mit ka k1 kn ke. Also: Ein Wort wird akzeptiert, falls irgendwann ein Endzustand angenommen wird.
20 Denition Ein linear-beschränkter Automat (LBA) ist eine NTM mit folgenden Eigenschaften: M = (Z, Σ, Γ, δ, z0,, E) Γ \ Σ enthält zwei spezielle Symbole und, die so genannte linke bzw. rechte Bandendemarkierung Falls M liest, ist keine Kopfbewegung nach links erlaubt Falls M liest, ist keine Kopfbewegung nach rechts erlaubt Die Bandsymbole und dürfen nicht durch andere Zeichen überschrieben werden Die von M akzeptierte Sprache ist L(M) = { w Σ z0 w uzv für ein z E und u, v Γ }. Satz 1 Eine Sprache L ist kontextsensitiv (Typ 1) gdw. es einen LBA gibt mit L(M) = L 2 Eine Sprache L ist vom Typ 0 gdw. es eine TM M gibt mit L(M) = L gdw. es eine NTM M gibt mit L(M) = L
21 Bemerkung Es ist unbekannt, ob deterministische LBAen nicht schon die Klasse der Typ-1-Sprachen akzeptieren. LBA-Problem: Gibt es für jede Typ-1-Sprache einen deterministischen LBA, der sie akzeptiert? Der intuitive Berechenbarkeitsbegri
22 Berechenbarkeit Eine Funktion f : N k N heiÿt berechenbar, falls es ein Rechenverfahren bzw. einen Algorithmus gibt, das f berechnet, d. h. gestartet mit Eingabe (n1,..., n k) N k hält der Algorithmus nach endlich vielen Schritten mit Ausgabe f (n1,..., n k). Wir fordern nicht, dass f total sein muss, d. h. für gewisse (n1,..., n k) N k darf f (n1,..., n k) undeniert sein. In diesem Fall soll der Algorithmus nicht stoppen (Endlosschleife). Ziel: Präzisierung des Berechenbarkeitsbegris. Nur so ist es möglich, zu beweisen, dass eine Funktion nicht berechenbar ist.
23 Turing-Berechenbarkeit Denition Eine Funktion f : N k N heiÿt Turing-berechenbar, falls es eine DTM M gibt, sodass für alle n1,..., n k, m N gilt: f (n1,..., n k) = m M mit Eingabe bin(n1)#... #bin(n k) hält mit bin(m) auf dem Arbeitsband. f (n1,..., n k) undeniert M mit Eingabe bin(n1)#bin(n2)#... #bin(n k) stoppt nicht. bin(n) für n N bezeichnet die Binärdarstellung von n ohne führende Nullen.
24 Bemerkung Das Eingabealphabet einer TM, die eine Funktion über N im obigen Sinne berechnet, ist stets {0, 1, #}. Denition Eine Funktion f : Σ heiÿt Turing-berechenbar, falls es DTM M gibt, sodass für alle x Σ und y gilt: f (x) = y M mit Eingabe x hält mit y auf dem Arbeitsband. f (x) undeniert M mit Eingabe x stoppt nicht.
25 Mehrband-Maschinen Denition Eine k-band-dtm ist ein 7-Tupel M = (Z, Σ, Γ, δ, z0,, E), wobei für die einzelnen Komponenten gilt: Z, Σ, Γ, z0, und E sind wie bei einer 1-Band-DTM deniert. δ : }{{} Z }{{} Γ k }{{} Z }{{} Γ k {L, R, N} k mit }{{} (i) (ii) (iii) (iv) (v) (i) aktueller Zustand (ii) gelesene Zeichen auf den k Bändern (iii) neuer Zustand (iv) geschriebene Zeichen auf den k Bändern (v) Kopfbewegungen auf den k Bändern
26 Arbeitsweise Die Eingabe steht zunächst auf Band 1. Die Bänder 2 bis k sind zunächst leer. Die Maschine führt einzelne Schritte durch, analog zu gewöhnlichen DTMn. Akzeptierte Sprache: Das Eingabewort x wird akzeptiert gdw. M erreicht irgendwann einen Endzustand. Berechnete Funktion: f (n1,..., n k) = m gdw. M mit Eingabe bin(n1)#... #bin(n k) erreicht irgendwann einen Endzustand mit bin(m) auf Band 1. (Berechnung von Funktionen f : Σ analog.) Beispiel Folgende 2-Band-Turingmaschine akzeptiert { w#w w {0, 1} }: M = ({z0, z1, z2, z e}, {0, 1, #}, {0, 1, #, }, δ, z0,, {z e}), wobei für die Überführungsfunktion gilt: z00 z01 z000rr z011rr z0# z1# NL } } 0, 1 auf Band 1 werden auf Band 2 kopiert # auf Band 1 Zustand z1 z0 z0 NN z1#0 z1#1 z1#0nl z1#1nl } } Endlosschleife, falls kein # gefunden wird Kopf auf Band 2 nach links Kopf auf Band 1 bleibt auf #
27 Beispiel (Fortsetzung) z1# z2# RR } auf Band 2 Zustand z2 z200 z211 z201 z210 z200rr z211rr z201nn z210nn z2 ze NN } auf beiden Bändern nach rechts gehen, solange gleiche Zeichen gefunden werden } verschiedene Zeichen Endlosschleife } Alles gleich, daher fertig Beispiel (Fortsetzung) z20 z21 z2 0 z2 1 z2#0 z2#1 z2# z20 NN z21 NN z2 0NN z2 1NN z2#0nn z2#1nn z2# NN unterschiedliche Länge Endlosschleife Endlosschleife, falls zweites # gefunden wird
28 Satz Sei k > 1. Zu jeder k-band-dtm M gibt es eine (1-Band-)DTM M, sodass L(M) = L(M ) bzw. dass M und M dieselbe Funktion berechnen. Zusammensetzung von Turingmaschinen
29 1-Band nach k-band Sei M eine 1-Band-TM. Dann bezeichnet M(i, k) (1 i k), die k-band-tm, die auf Band i genau die Aktion ausführt, die M auf seinem Band ausführt, und die Bänder 1,..., i 1, i + 1,..., k unverändert lässt. Ist also z. B. in M δ(z, a) = (z, b, X ) mit X {L, N, R}, so ergibt sich für M(2, 4): δ(z, c1, a, c3, c4) = (z, c1, b, c3, c4, N, X, N, N) für alle c1, c3 und c4 aus dem Arbeitsalphabet von M (= Arbeitsalpahbet von M(2, 4)). Schreibweise: M(i) statt M(i, k), falls k aus dem Kontext klar. Hintereinanderschaltung von Turingmaschinen Seien M i = (Z i, Σ, Γ i, δ i, z 0,i,, E i) mit i = 1, 2 zwei DTMn mit o. B. d. A. Z1 Z2 =. Wir denieren daraus die neue Turingmaschine M = (Z1 Z2, Σ, Γ1 Γ2, δ, z0,1,, E2), wobei: δ1(z, a), δ(z, a) = δ2(z, a), (z0,2, a, N), falls z Z1 \ E1 und a Γ1 falls z Z2 und a Γ2 falls z E1 und a Γ1 Bezeichnungen für M: M1;M2 oder Start M1 M2 Stopp. Dies lässt sich analog denieren für mehr als zwei Maschinen.
30 Die Programmiersprache LOOP Syntaktische Komponenten von LOOP Variablen: x0, x1, x2,... Zur besseren Lesbarkeit werden wir auch Variablennamen wie z. B. uv, x, y, z,... benutzen. Konstanten: 0, 1, 2,... Operationszeichen: + und Trennsymbole: ; und := Schlüsselwörter: LOOP, DO und END
31 Syntax von LOOP Sind x i und x j Variablen und c eine Konstante, so sind x i := x j + c und x i := x j c LOOP-Programme. Sind P1 und P2 LOOP-Programme, so ist P1; P2 ein LOOP-Programm. Ist P ein LOOP-Programm und x i eine Variable, so ist LOOP x i DO P END ein LOOP-Programm. Semantik von LOOP Sei P ein LOOP-Programm. P berechnet eine Funktion f : N k N wie folgt: Zu Beginn der Rechnung benden sich Eingabewerte n1,..., n k N in den Variablen x1,..., x k. Alle anderen Variablen haben den Startwert 0. P wird wie folgt ausgeführt: Durch das Programm x i := x j + c erhält x i den Wert von x j + c. Durch das Programm x i := x j c erhält x i den Wert von x j c, falls dieser nicht negativ ist, ansonsten ist der Wert 0. Bei Ausführung von P1; P2 wird zunächst P1 und dann P2 ausgeführt. Ausführung des Programms LOOP x i DO P END: P wird so oft ausgeführt, wie der Wert der Variablen x i zu Beginn angibt, d. h. Zuweisungen an x i in P haben keinen Einuss auf die Anzahl der Wiederholungen.
32 Ergebnis der Ausführung von P f (n1,..., n k) = Wert von x0 am Ende der Ausführung. Eine Funktion f : N k N heiÿt LOOP-berechenbar, falls es ein LOOP-Programm gibt, das f wie soeben festgelegt berechnet. Beachte: Jedes LOOP-Programm hält nach endlich vielen Schritten an. Daraus folgt, dass jede LOOP-berechenbare Funktion total ist. Spezielle LOOP-Programme (1) x i := x j steht für x i := x j + 0.
33 Spezielle LOOP-Programme (2) x i := c (für eine Konstante c) steht für x i := x j + c (x j ist eine noch nicht benutzte Variable, die also den Wert 0 hat). Spezielle LOOP-Programme (3) IF x i = 0 THEN P END (für ein LOOP-Programm P) steht für x j := 1; LOOP x i DO x j := 0 END; LOOP x j DO P END. (x j ist eine Variable, die in P nicht vorkommt)
34 Spezielle LOOP-Programme (4) x i := x j + x k steht für x i := x j; LOOP x k DO x i := x i + 1 END. Spezielle LOOP-Programme (5) x i := x j x k steht für x i := 0; LOOP x k DO x i := x i + x j END.
35 Spezielle LOOP-Programme (6) Analog: x i := x j DIV x k x i := x j MOD x k Die Programmiersprache WHILE
36 Syntax von WHILE Erweiterung von LOOP: neues Schlüsselwort: WHILE Syntax: Ist P ein WHILE-Programm und x i eine Variable, so ist ein WHILE-Programm. WHILE x i 0 DO P END Semantik von WHILE Die Ausführung von WHILE x i 0 DO P END geschieht so, dass Programm P so lange wiederholt ausgeführt wird, wie der Wert von x i ungleich Null ist. P berechnet f : N k N wie folgt: Eingabewerte n1,..., n k in Variablen x1,..., x k, die anderen Variablen haben Startwert 0. f (n1,..., n k) ist der Wert von x0 nach der Ausführung von P, falls diese stoppt, ansonsten ist f (n1,..., n k) undeniert. Eine Funktion f heiÿt WHILE-berechenbar, falls es ein WHILE-Programm gibt, das f wie eben festgelegt berechnet.
37 Beispiel Das LOOP-Programm LOOP x DO P END kann simuliert werden durch y := x; WHILE y 0 DO y := y 1; P END. (Dabei ist y eine noch nicht verwendete Variable.) Korollar Jedes WHILE-Programm ist äquivalent zu (d. h. berechnet die gleiche Funktion) einem WHILE-Programm, in dem keine LOOP-Schleifen vorkommen.
38 Satz Jede WHILE-berechenbare Funktion ist Turing-berechenbar. Die Programmiersprache GOTO
39 GOTO Programme Ein GOTO-Programm ist eine Folge M1: A1; M2: A2;. M k: A k; wobei die M i so genannte Marken (Labels) sind und die A i Anweisungen sind. Mögliche Anweisungen Wertzuweisung: x i := x j ± c (x i und x j Variablen, c Konstante) Sprung: GOTO M i Bedingter Sprung: IF x i = c THEN GOTO M j (x i Variable, c Konstante) Stoppanweisung: HALT
40 Semantik von GOTO Bei Berechnung einer Funktion f : N k N stehen die k Eingabewerte zu Beginn in den Variablen x1,..., x k. Alle anderen Variablen haben Startwert 0. Die Ausführung von P startet mit der Ausführung der ersten Anweisung. Hierbei bedeutet: x i := x j ± c: x i erhält den Wert von x j ± c (falls dieser nicht negativ ist, ansonsten ist der Wert 0). Die Ausführung wird mit dem nächsten Statement fortgesetzt. GOTO M i : kein Variablenwert wird geändert. Fortsetzen der Ausführung mit dem Statement hinter der Marke M i. IF x i = c THEN GOTO M i : keine Änderung der Variablenwerte; falls Wert von x i gleich c, dann weiter mit Anweisung hinter Marke M i, sonst weiter mit der nächsten Anweisung. Das Programm HALTbeendet die Ausführung. Der Wert der berechneten Funktion f steht nach Beendigung des Programms in x0, undeniert falls Endlosschleife. Satz Jede WHILE-berechenbare Funktion ist GOTO-berechenbar.
41 Satz Jede GOTO-berechenbare Funktion ist auch WHILE-berechenbar. Korollar Jede WHILE-berechenbare Funktion kann durch ein WHILE-Programm mit nur einer WHILE-Schleife ersetzt werden.
42 Satz Jede Turing-berechenbare Funktion ist GOTO-berechenbar. Die Church'sche These
43 These von Church Eine Funktion ist berechenbar im intuitiven Sinne, gdw. sie Turing-berechenbar ist. (Nicht beweisbar, da berechenbar im intuitiven Sinne nicht formal gefasst.) Entscheidbarkeit und Aufzählbarkeit
44 Denition Eine Sprache A Σ heiÿt entscheidbar, wenn die Funktion c A : Σ {0, 1} mit { 1, falls w A c A(w) := 0, sonst berechenbar ist. c A heiÿt charakteristische Funktion von A. Denition Eine Sprache A Σ heiÿt semi-entscheidbar, wenn die Funktion χ A : Σ {0, 1} mit { 1, falls w A χ A(w) := undeniert, sonst berechenbar ist.
45 Beobachtung Sei A Σ. Es gilt: A ist entscheidbar gdw. A ist entscheidbar. Satz Sei A Σ. Es gilt: A ist entscheidbar gdw. A und A sind semi-entscheidbar.
46 Denition Eine Sprache A Σ heiÿt rekursiv-aufzählbar, falls A = oder falls es eine totale berechenbare Funktion f : N Σ gibt, sodass Wir sagen: f zählt A auf. A = {f (0), f (1), f (2),...}. Satz Eine Sprache ist rekursiv-aufzählbar gdw. sie semi-entscheidbar ist.
47 Korollar Eine Sprache A ist entscheidbar gdw. A und A rekursiv-aufzählbar sind. Satz Eine Sprache A Σ ist rekursiv-aufzählbar gdw. es eine berechenbare Funktion f : N Σ gibt, sodass A = {f (0), f (1), f (2),...}.
48 Satz Eine Sprache A Σ ist rekursiv-aufzählbar gdw. es eine entscheidbare Sprache B gibt, sodass A = {x Σ y : x, y B}. Unentscheidbare Probleme
49 Gödelisierung Sei w {0, 1}. Dann ist { M, falls w Gödelisierung von M Mw := M, sonst, wobei M eine festgehaltene Turingmaschine ist. Denition Das spezielle Halteproblem ist die Sprache K = { w {0, 1} Mw hält bei Eingabe w }
50 Beobachtung K ist rekursiv-aufzählbar. Satz K ist nicht entscheidbar.
51 Korollar K ist nicht rekursiv-aufzählbar. Denition Seien A Σ und B Γ Sprachen. A heiÿt auf B reduzierbar, in Zeichen: A B, falls es eine totale, berechenbare Funktion f : Σ Γ gibt, sodass für alle w Σ gilt: w A f (w) B
52 Lemma Ist A B und B entscheidbar, so ist A entscheidbar. Denition Das (allgemeine) Halteproblem ist die Sprache H = { w#x Mw hält bei Eingabe x }.
53 Satz H ist nicht entscheidbar. Zusammenfassung Sei A eine Sprache. Aus den bisherigen Resultaten ergibt sich, dass die folgenden Aussagen äquivalent sind: 1 A ist vom Typ 0. 2 A = L(M) für eine Turingmaschine M 3 A ist rekursiv-aufzählbar 4 A ist Wertebereich einer totalen berechenbaren Funktion oder A = 5 A ist semi-entscheidbar 6 A ist Denitionsbereich einer berechenbaren Funktion 7 A ist Wertebereich einer (eventuell partiellen) berechenbaren Funktion
54 Korollar Die Klasse der Typ-1-Sprachen ist eine echte Teilmenge der Klasse der Typ-0-Sprachen. Denition Das Halteproblem auf leerem Band ist die Sprache H0 = { w Mw angesetzt auf leerem Band hält }.
55 Satz H0 ist nicht entscheidbar. Satz Sei R die Klasse aller berechenbaren Funktionen. Sei S R mit S = und S = R. Die Sprache C(S) sei deniert als C(S) = { w die von Mw berechnete Funktion ist aus S }. Dann gilt: K C(S) oder K C(S)
56 Korollar (Satz von Rice) Sei R die Klasse aller berechenbaren Funktionen. Sei S R mit S = und S = R. Dann ist die Sprache C(S) = { w die von Mw berechnete Funktion ist aus S } nicht entscheidbar. Korollar Die folgenden Sprachen sind nicht entscheidbar: { w Mw berechnet eine totale Funktion } { w Mw berechnet eine monotone Funktion } { w Mw berechnet eine konstante Funktion } { w Mw berechnet die Funktion f (x) = x + 1 }
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
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
Kontextfreie Sprachen
Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung
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
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
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,
Informatik III - WS07/08
Informatik III - WS07/08 Kapitel 5 1 Informatik III - WS07/08 Prof. Dr. Dorothea Wagner [email protected] Kapitel 5 : Grammatiken und die Chomsky-Hierarchie Informatik III - WS07/08 Kapitel 5 2 Definition
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)
Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen
Dr. Sebastian Bab WiSe 12/13 Theoretische Grundlagen der Informatik für TI Termin: VL 15 + 16 vom 17.12.2012 und 20.12.2012 Deterministische und nichtdeterministische Turing-Maschinen, Typ1- und Typ0-Sprachen
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
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: ; :=
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
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
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
1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie WS 11/12 155 Überblick Zunächst einmal definieren wir formal den Begriff
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
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.
1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 139 Unentscheidbarkeit Überblick Zunächst einmal definieren wir formal
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
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.
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
Kontextsensitive und Typ 0 Sprachen Slide 2. Die Turingmaschine
Kontextsensitive und Typ 0 Sprachen Slide 2 Die Turingmaschine DTM = Deterministische Turingmaschine NTM = Nichtdeterministische Turingmaschine TM = DTM oder NTM Intuitiv gilt: DTM = (DFA + dynamischer
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,
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
Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen
Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und
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
Proseminar TI: Kellerautomaten. 1 Motivation. 2 Einführung. Vortrag: Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer.
Proseminar TI: Kellerautomaten Vortrag: 10.11.2015 Von Sebastian Oltmanns und Dorian Wachsmann. Dozent: Wolfgang Mulzer. 1 Motivation Wir kennen bereits die Chomsky-Hierarchie. Sie klassiziert formale
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,
Übungsblatt 1. Lorenz Leutgeb. 30. März 2015
Übungsblatt Lorenz Leutgeb 30. März 205 Aufgabe. Annahmen ohne Einschränkungen: P Σ und P Γ. Per Definitionem der Reduktion: P P 2 f : Σ Γ wobei f total und berechenbar, genau so, dass: w Σ : w P f(w)
Entscheidungsprobleme
Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge U Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge
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
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
Berechenbarkeit. Script, Kapitel 2
Berechenbarkeit Script, Kapitel 2 Intuitiver Berechenbarkeitsbegriff Turing-Berechenbarkeit WHILE-Berechenbarkeit Church sche These Entscheidungsprobleme Unentscheidbarkeit des Halteproblems für Turingmaschinen
Theoretische Informatik für Wirtschaftsinformatik und Lehramt
Theoretische Informatik für Wirtschaftsinformatik und Lehramt Entscheidungsprobleme Priv.-Doz. Dr. Stefan Milius [email protected] Theoretische Informatik Friedrich-Alexander Universität Erlangen-Nürnberg
1 Einführung. 2 Typ-0- und Typ-1-Sprachen. 3 Berechnungsmodelle. 4 Unentscheidbarkeit. 5 Unentscheidbare Probleme. 6 Komplexitätstheorie
1 Einführung 2 Typ-0- und Typ-1-Sprachen 3 Berechnungsmodelle 4 Unentscheidbarkeit 5 Unentscheidbare Probleme 6 Komplexitätstheorie 15 Ziele vgl. AFS: Berechnungsmodelle für Typ-0- und Typ-1-Sprachen (Nicht-)Abschlußeigenschaften
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
Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14
Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen
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
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
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
VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger WS 2017, RWTH BuK/WS 2017 VL-11: LOOP und WHILE Programme I 1/46 Organisatorisches Nächste Vorlesung: Mittwoch,
Wiederholung. Organisatorisches. VL-11: LOOP und WHILE Programme I. (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger
Organisatorisches VL-11: LOOP und WHILE Programme I (Berechenbarkeit und Komplexität, WS 2017) Gerhard Woeginger Nächste Vorlesung: Mittwoch, November 29, 14:15 15:45 Uhr, Roter Hörsaal Webseite: http://algo.rwth-aachen.de/lehre/ws1718/buk.php
Unentscheidbarkeit. Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen
Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Prof. Barbara König Übungsleitung: Henning Kerstan & Jan Stückrath Worum geht
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
Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 17/18
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 17/18 Ausgabe 10. Januar 2018 Abgabe 23. Januar 2018, 11:00 Uhr (im
Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen
Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Grundlagen der Theoretischen Informatik: Übung 10
Grundlagen der Theoretischen Informatik: Übung 10 Joachim Selke Fachgebiet Theoretische Informatik Universität Hannover 20. Januar 2005 Turing-Maschinen als Rechenmaschinen gegeben sei eine Funktion f
Wie man eine Sprache versteht
Aufzählbarkeit Formale Grundlagen der Informatik 1 Kapitel 10 Aufzählbarkeit und (Un-)Entscheidbarkeit Frank Heitmann [email protected] 11. Mai 2015 Definition 1 Eine Menge M Σ heißt (rekursiv)
Halteproblem/Kodierung von Turing-Maschinen
Halteproblem/Kodierung von Turing-Maschinen Unser Ziel ist es nun zu zeigen, dass das sogenannte Halteproblem unentscheidbar ist. Halteproblem (informell) Eingabe: Turing-Maschine M mit Eingabe w. Frage:
Theoretische Informatik II
Theoretische Informatik II Einheit 4.2 Modelle für Typ-0 & Typ-1 Sprachen 1. Nichtdeterministische Turingmaschinen 2. Äquivalenz zu Typ-0 Sprachen 3. Linear beschränkte Automaten und Typ-1 Sprachen Maschinenmodelle
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: ; :=
Entscheidungsprobleme
Entscheidungsprobleme übliche Formulierung gegeben: Eingabe x aus einer Grundmenge M Frage: Hat x eine bestimmte Eigenschaft P? Beispiel: gegeben: Frage: n N Ist n eine Primzahl? Formalisierung: Grundmenge
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:
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
Einführung in die Theoretische Informatik
Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 11 15. Juli 2010 Einführung in die Theoretische
Die mathematische Seite
Kellerautomaten In der ersten Vorlesung haben wir den endlichen Automaten kennengelernt. Mit diesem werden wir uns in der zweiten Vorlesung noch etwas eingängiger beschäftigen und bspw. Ansätze zur Konstruktion
Theoretische Informatik I
Theoretische Informatik I Einheit 4.3 Eigenschaften von L 0 /L 1 -Sprachen 1. Abschlußeigenschaften 2. Prüfen von Eigenschaften 3. Grenzen der Sprachklassen Sprachklassen Semi-entscheidbare Sprache Sprache,
Formale Sprachen. Script, Kapitel 4. Grammatiken
Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten
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
Formale Grundlagen der Wirtschaftsinformatik
Formale Grundlagen der Wirtschaftsinformatik Nikolaj Popov Research Institute for Symbolic Computation [email protected] Turingmaschinen und Kontextsensitive Sprachen Eine Turingmaschine besteht
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit. Zugangsnummer: 9201
Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Wiederholung Kapitel 3 und 4 http://pingo.upb.de Zugangsnummer: 9201 Dozent: Jun.-Prof. Dr.
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
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
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 15.06.2016 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Klausur zur Vorlesung Informatik III Wintersemester 2007/2008
Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Klausur zur Vorlesung Informatik III Wintersemester 2007/2008 Hier Aufkleber mit Name und Matrikelnr. anbringen Vorname: Nachname: Matrikelnummer:
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Turingmaschinen und rekursiv aufzählbare Sprachen (V) 16.07.2015 Viorica Sofronie-Stokkermans e-mail: [email protected] 1 Übersicht 1. Motivation 2. Terminologie
Theoretische Informatik Mitschrift
Theoretische Informatik Mitschrift 9. Berechenbarkeit, Entscheidbarkeit, Aufzählbarkeit 9.1 Grundbegriffe bereits gezeigt: Spracherkennung durch Turingmaschine = Berechnung der semi-charakteristischen
2.5 Halteproblem und Unentscheidbarkeit
38 25 Halteproblem und Unentscheidbarkeit Der Berechenbarkeitsbegriff ist auf Funktionen zugeschnitten Wir wollen nun einen entsprechenden Begriff für Mengen einführen Definition 255 Eine Menge A Σ heißt
Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14
Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Nachklausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2013/14 Vorname Nachname Matrikelnummer Hinweise Für die
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
4 Kontextsensitive und Typ 0 Sprachen
Hans U. Simon Bochum, den 05.02.2009 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische
Beweisidee: 1 Verwende den Keller zur Simulation der Grammatik. Leite ein Wort. 2 Problem: der Keller darf nicht beliebig verwendet werden, man kann
Automaten und Formale prachen alias Theoretische Informatik ommersemester 2011 Dr. ander Bruggink Übungsleitung: Jan tückrath Wir beschäftigen uns ab jetzt einige Wochen mit kontextfreien prachen: Kontextfreie
Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist
CF versus CS Theorem CF ist echt in CS enthalten. Beweis: Nach dem Pumping-Lemma für kontextfreie Sprachen ist L = {a m b m c m m 1} nicht kontextfrei. Andererseits ist L kontextsensitiv, wie die Grammatik
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
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
Ü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
Einführung in die Computerlinguistik. Chomskyhierarchie. Dozentin: Wiebke Petersen Wiebke Petersen Einführung CL (SoSe 2010) 1
Einführung in die Computerlinguistik Chomskyhierarchie Dozentin: Wiebke Petersen 1.7.2010 Wiebke Petersen Einführung CL (SoSe 2010) 1 Wiederholung: Formale Grammatik Denition Eine formale Grammatik ist
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
Theoretische Informatik und Logik Übungsblatt 1 (2016S) Lösung
Theoretische Informatik und Logik Übungsblatt (26S) en Aufgabe. Sei L = {w#w r w {, } }. Geben Sie eine deterministische Turingmaschine M an, welche die Sprache L akzeptiert. Wählen Sie mindestens einen
Beispiel: NTM. M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) q 2
Beispiel: NTM M = ({q 0,q 1,q 2 }, {0, 1}, {0, 1, #},δ, q 0, #, {q 2 }) 0,1,R 0,0,R q0 1,0,R q1 #,#,R q2 0,0,L Zustand 0 1 # q 0 {(1, R, q 0 )} {(0, R, q 1 )} q 1 {(0, R, q 1 ),(0, L, q 0 )} {(1, R, q
2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik
2. Teilklausur zur Vorlesung Grundlagen der Theoretischen Informatik Ulrich Furbach Claudia Schon Christian Schwarz Arbeitsgruppe Künstliche Intelligenz Fachbereich Informatik, Universität Koblenz-Landau
Mächtigkeit von LOOP-Programmen. Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen
Mächtigkeit von LOOP-Programmen Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 1 / 23 Die Programmiersprache LOOP Syntax Elemente eines LOOP-Programms Variablen
Theoretische Informatik I
Theoretische Informatik I Einheit 2.5 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibung des Aufbaus von Sprachen Mathematische Mengennotation Beschreibung durch Eigenschaften
Ü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
Turing Maschine. Thorsten Timmer. SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke. Turing Maschine SS 2005 p.
Thorsten Timmer SS 2005 Proseminar Beschreibungskomplexität bei Prof. D. Wotschke Turing Maschine SS 2005 p. 1/35 Inhalt Einführung Formale Definition Berechenbare Sprachen und Funktionen Berechnung ganzzahliger
Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An
Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,
Klausur zur Vorlesung Einführung in die Theoretische Informatik
Universität Heidelberg 19. Juli 2012 Institut für Informatik Prof. Dr. Klaus Ambos-Spies Dipl.-Math. Thorsten Kräling Klausur zur Vorlesung Einführung in die Theoretische Informatik LÖSUNGEN Es können
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
