Theoretische Informatik Mitschrift

Größe: px
Ab Seite anzeigen:

Download "Theoretische Informatik Mitschrift"

Transkript

1 6. Kontextfreie Sprachen Theoretische Informatik Mitschrift Typ-2-Grammatiken: Regeln der Form A mit A N und N * Beispiel: Grammatik für arithmetische Ausdrücke G= {E,T,F },{,,,,a}, P, E, P : E ET T T T F F F a E Wörter aus L(G): a, a+a, a*a, a*(a+a)... Anwendungsgebiet kontextfreier Grammatiken: Syntaxbeschreibung von Programmiersprachen Backus-Naur-Form Beispiel: Ableitungsbaum zu a*(a+a) Linksableitung: E g T g T F g F F g a F g a E g a E T g a T T g a F T g a at g a a F g a aa T E T F F E E T F T F a * ( a + a ) Front des Ableitungsbaums Definition 6.1 (Ableitungsbaum): Sei G= N,, P, S kontextfrei, in Zeichen G CFG. Sei N * mit S g 1 g 2 g... g k =. Zu dieser Ableitung von wird induktiv ein Ableitungs- oder Syntaxbaum wie folgt konstruiert: - Der Wurzel des Baumes wird das Symbol S zugeordnet. - Für i=1,...,k wird der Baum wie folgt erweitert: Falls im i -ten Schritt Nonterminal A mit der Regel A aus P ersetzt wird, werden max {,1}Kindknoten des entsprechenden mit A beschrifteten Knotens erzeugt und mit den Symbolen von beschriftet; falls = mit.

2 Beobachtungen: Ein Ableitungsbaum ist ein mit Symbolen aus N {} beschrifteter Baum. Die Beschriftung der Blattknoten ergibt von links nach rechts konkateniert die Satzform α (Front des Ableitungsbaums). Verschiedene Ableitungen können den selben Ableitungsbaum haben. Die Klasse aller durch einen Ableitungsbaum repräsentierten Ableitungen hat zwei ausgezeichnete Repräsentanten: eine Links- und eine Rechtsableitung. Zu einer Satzform können mehrere Ableitungsbäume existieren Beispiel: Betrachte G= { E },{,,a,, }, P, E mit P : E E E E E a E. Wir betrachten den Ausdruck a + a + a. Dieses Wort besitzt zwei Ableitungsbäume: E E E + E E + E a E + E E + E a a a a a In G gibt es zu a + a + a nur einen Ableitungsbaum: E E + T E + T F T F a F a a Definition 6.2: G CFG heißt eindeutig, falls zu jedem w LG genau ein Ableitungsbaum (und damit genau eine Linksableitung bzw. genau eine Rechtsableitung) existiert. G heißt mehrdeutig, falls G nicht eindeutig. Eine Sprache L L 2 heißt inhärent mehrdeutig, falls jede Grammatik G mit L=L G mehrdeutig ist. Beispiel (inhärent mehrdeutige kontextfreie Sprache): L={a i b j c k i= j oder j=k,i, j, k 1}={a i b i c j i, j 1} {a i b j c j i, j 1} Es gilt: L 1 L 2 ={a i b i c i i 1}. L 1 L 2. G CFG hat Regeln der Form A.

3 6.1 Normalformen kontextfreier Grammatiken Bereits gezeigt: Jede kontextfreie Grammatik lässt sich in eine äquivalente ε-freie kontextfreie Grammatik transformieren. Übung: Elimination nicht-erreichbarer Symbole bzw. nicht produktiver Nonterminalsymbole Lemma (Eliminierung von Kettenregeln): Jede kontextfreie Grammatik G= N,, P, S läßt sich in eine äuivalente ε-freie kontextfreie Grammatik G' ohne Kettenregeln, d.h. Regeln der Form A B mit A, B N, transformieren. Beweis: OBdA sei G bereits ε-frei. Sei N A :={B N A g * B} für A N. Induktive Definition: N 0 A:={A} N k 1 A:=N k A {B N C N k A mit C B P } Es gilt: N A= N k A. k 0 N k A N k 1 A für alle k 0. N k A=N k 1 A N k A=N ki A für alle i 1. N n A= N n1 A für n:= N. N A kann für jedes A N in endlich vielen Schritten berechnet werden. Definiere G '= N,, P ',S durch P ' ={A B N A: B P, N } Offensichtlich enthält P' keine Kettenregeln und L(G) = L(G'). G' ist ebenfalls ε-frei. Beispiel: E E T T N E ={E, T, F } T T F F N T ={T, F } F a E N F ={F } äquivalente Grammatik ohne Kettenregeln: E ET T F a E T T F a E F a E Definition 6.3 (Chomsky-Normalform): G= N,, P, S CFG heißt in Chomsky-Normalform (CNF), falls alle Regeln in P eine der folgenden Formen haben: (a) A BC mit B,C N (b) A a mit a (c) S und S auf keiner rechten Regelseite

4 Bemerkung: Ableitungsbäume bei CNF-Grammatik sind Binärbäume: A B C a a n Ableitung eines w + in w w 1=2 w 1 Schritten. Satz 6.1: Zu jeder Grammatik G CFG existiert eine äquivalente kontextfreie Grammatik in CNF. Beweis: OBdA. G ε-frei, ohne Kettenregeln. Die Regeln in P haben also die Form A a mit a oder A mit N *, Füge für jedes a ein neues Nonterminal N a zu N hinzu und zu P die Regel N a a. Ersetze in der Regel A mit 2 jedes a durch N a. 2. Eliminiere Regeln der Form A B 1... B k mit k 3 durch Hinzunahme von k 2 neuen Nonterminalen C 1,..., C k 2 (für jede solche Regel) und durch Ersetzen der Regel A B 1... B k durch die Regeln A B 1 C 1 C 1 B 2 C 2 C k 2 B k 1 B k Beispiel: G= {S, A, B},{a,b,c}, P,S mit P : S AB Aab aab B c cb LG={a n b n c i i,n 1} G '= {S, A, B,N a, N b, N c,c},{a,b,c}, P ',S mit P ' : S AB A N a N b N a C C AN b B c N c B N a a N b b N c c

5 Definition 6.4 (Greibach-Normalform): G CFG heißt in Greibach-Normalform, falls alle Regeln die Form A ab 1... B k (a, B i N {S }, k 0 ) haben oder S. Bemerkung: Verallgemeinerung rechtslinearer Regeln. Wichtig für Top-Down-Analyse, da keine Linksrekursion. Definition 6.5: Sei G= N,, P, S CFG, A N. A heißt linksrekursiv, falls A + A für ein N *. G heißt linksrekursiv, falls ein A N linksrekursiv. analog: Rechtsrekursion. Übung: Elimination von Linksrekursion 6.2 Der CYK-Algorithmus Wortproblem für Typ 1, 2, 3-Sprachen entscheidbar, aber der allgemeine Algorithmus für Typ-1- Sprachen hat exponentiellen Aufwand. Jetzt: polynomieller Algorithmus für CFGs in Chomsky-Normalform. CYK: Cocke, Younger, Kasami: Entwickler des Algorithmus. Idee: Ableitungsbaum für w = a 1... a n ist Binärbaum. S w = A a 1... a k w 1,k B a k1...a n w k 1, n k Divide et impera! Reduziere das Wortproblem für w = a 1... a n auf Wortprobleme für w 1, k = a 1... a k und w k + 1, n k = a k a n. Problem: Schnittstelle ist nicht bekannt! Chomsky-NF: A BC A a S ε, S auf keiner rechten Regelseite Ableitungsbäume sind Binärbäume 1. Anwendung: CYK-Algotithmus Entscheidung des Wortproblems für beliebige CFL mit kubischem Zeit und quadratischem Platzaufwand

6 Idee: Sei w=a 1...a n *. Falls w L, existiert Ableitungsbaum S w = A a 1...a k w 1,k B a k1...a n w k 1, n k Divide et impera! Das Wortproblem für w wird zerlegt in zwei Wortprobleme für Teilwörter w 1. Index, Länge von w. Problem: Schnittstelle k nicht bekannt. Ansatz: Untersuche induktiv alle Teilwörter der Länge 1, 2,..., n von w auf Ableitbarkeit aus Nonterminalen der Grammatik. Definition: w i, j :=a i... a i j 1,1 i n,1 j n i1 ( w i, j = j ) N i, j :={A N A g * w i, j } Korollar: w LG S N 1, n Verfahren: Berechne: i N 1,1 N 2,1... N n,1 N 1,2 N 2,2 N n-1,2 j N 1,3 N 2,3 N n-2,3... N 1,n Mit: 1. Induktionsanfang: A N i,1 A a i P 2. Induktionsschluss: A N i, j mit i j 1 n i n1 j k :1 k j A BC P, B N i, k C N ik, j k Beispiel: G: S AC a A BS b B b C BS i b a b b b a {A,B} {S} {A,B} {A,B} {A,B} {S} j {A,C} {A,C} {S} {A,C} {S}

7 Pseudo-Code zu CYK-Algorithmus Eingabe: G= N,, P,S CFG in CNF, w=a 1...a n +, n0 for i = 1 to n do N i,1 :={A Aa i P} for j = 2 to n do for i = 1 to n + 1 j do N i,j := for k = 1 to j 1 do N i, j := N i, j {A N A BC P, B N i,k,c N ik, j k } if S N 1,n then write ( w LG ) else write ( w LG ). Komplexität: Zeit: 1. for-schleife über i: c 1 n innerste for-schleife über k: c 2 j 1 for-schleife über i: c 2 n1 j j 1 n for-schleife über j: c 2 n1 j j 1= j=2 n 3 n Gesamtaufwand: c 1 n c 2 O n 3 6 n 1 c 2 O-Notation: f :NN O f n={g :NN c 1 n 0 N: n n 0 g n c f n} Platz: O(n²) j =1 n 1 n j j= c 2 j=1 n 1 n j j=1 j 2 =...= c n 3 n Das Pumping-Lemma Satz 6.2 (Pumping Lemma, uvwxy-theorem): Sei L L 2. Dann existiert ein n N, so dass sich alle Wörter z L mit z nzerlegen lassen in z=uvwxy mit folgenden Eigenschaften: (i) vx 1 ( vx ) (ii) vwx n (iii) für alle i 0:uv i wx i y L. Beweisidee: Bei genügend langen Worten werden die Pfade im Ableitungsbaum so lang, dass Nonterminale sich wiederholen müssen. Pumpstelle Beweis: Sei G= N,,P, S CFG in CNF mit L=LG. Sei k:= N und n:=2 k. Sei z L mit z n. Ableitungsbaum von z ist (bis auf letzte Ableitungsstufe) Binärbaum mit mehr als 2 k Blättern.

8 S / \ / \ / \ / \ / \ / \... / \ / \... / \ es existiert ein Pfad der Länge k 1. Wähle einen minimalen letzter Ableitungsschritt solchen Pfad: auf diesem Pfad liegen einschließlich des Startsymbols mindestens k + 2 Symbole und mindestens k + 1 Nonterminale. Da N = k muss mindestens ein Nonterminal doppelt vorkommen. a 1 a 2 a 3 a 4... a m -1 a m S ~ A ~ A ~ z u v w x y Wähle ein solches Doppelvorkommen, etwa A N, so dass es ausgehend von der Blattebene die erste Nonterminalwiederholung ist. Dann gilt: i vx G ist in CNF und damit -frei. Wäre v=x=, so wären die Ableitungsschritte von denen zum nächsten A nur mit Kettenregeln möglich. (ii) vwx n Wegen der Wahl der ersten Nonterminalwiederholung von der Blattebene aus hat der Baum unterhalb des oberen As höchstens 2 k =n Blätter. (iii) uv i wx i y L für alle i 0, da der Ableitungsbaum von z wie folgt modifiziert werden kann: 1.) Einhängen des unteren A-Baums an der Position des oberen As uwy=uv 0 wx 0 y L S ~ A u w y 2.) Einhängen des oberen A-Baums an der Position des unteren uv i wx i y L i 1 Q.E.D. S ~ A ~ u v A x y ~ v A x... v A x w

9 Pumping Lemma für CFLs: L L 2 n N z L mit z n u, v, w, x, y * mit z=uvwxy : (i) vx (ii) vwx n (iii) i 0: uv i wx i y L. Beispiel: G= {S, A, B,C },{a, b}, S, P mit P : S AC a A BS b B b C BS k=4, n=2 4 =16 S A C B S B S A C B S B S b b a b a b a u v w x y bb i aba i ba L G Beispielanwendung des Pumping Lemmas: L={a k b k c k k 1} L 1. Wir zeigen, dass L L 2. Annahme, L wäre kontextfrei. Sei n N die PL-Zahl von L. Betrachte z=a n b n c n. Es gilt: z =3 n n. Sei z=uvwxy eine Zerlegung von z mit (i) und (ii). Wegen vwx n kann vx nicht gleichzeitig as und cs enthalten. Da zudem vx, kann das Wort uwy nicht mehr gleich viele as, bs und cs enthalten und somit kein Element aus L sein q.e.d. Korollar: L 2 L 1 für 3. Wie man leicht zeigt, ist {0 p p Primzahl} eine nicht-kontextfreie Sprache, die z.z. mit PL kontextsensitiv später mit Automatenmodell für L 1 ist. analog zum regulären Fall

10 Abschlusseigenschaften kontextfreier Sprachen Satz 6.3: L 2 ist abgeschlossen unter Vereinigung Komplexprodukt reguläre Operationen Stern, aber nicht unter Durchschnitt und Komplement. Beweis: Seien L 1, L 2 L 2 und G i = N i,, P i, S i CFG -frei mit L i =L G i (i {1, 2}) O.B.d.A.: N 1 N 2 = Vereinigung: G= N 1 N 2 {S },,P 1 P 2 {S S 1 S 2 },S CFG mit LG=L G 1 LG 2. Komplexprodukt: G= N 1 N 2 {S },, P 1 P 2 {S S 1 S 2 },S CFG mit LG=L G 1 LG 2. Stern: G= N 1 {S },, P 1 {S,S S 1 S } {S 1 }, S CFG mit LG=L G 1 *. Gegenbeispiel zu Abschluss unter Durchschnitt: L 1 ={a i b i c j i, j 1}, L 2 ={a i b j c j i, j 1} L 1 L 2, da L 1 =L G 1 mit G 1 : S AC A aab ab C CC c L 2 analog. L 1 L 2 ={a i b i c i i 1} L 2. Damit kann auch kein Abschluss von Komplement gegeben sein, weil L 1 L 2 = L 1 L 2. Q.E.D. 6.4 Push-Down-Automaten (Kellerautomaten) Charakterisierung kontextfreier Sprachen durch Push-Down-Automaten (PDAs, Kellerautomaten), Erweiterung von NFAs um Push-Down-Speicher (Kellerspeicher) Definition 6.5: Ein (nichtdeterministischer) Push-Down-Automat (PDA, Kellerautomat) ist ein Tupel = Q,,,, q 0, Z 0, F, wobei - Q,, q 0, F wie bei einem NFA sind, - das Push-Down-Alphabet - Z 0 das Push-Down-Startsymbol und - :Q {} Q * die Transitionsfunktion ist. Dabei bezeichnet f Q * die Menge aller endlichen Teilmengen von Q * (f = finite) Bezeichnung: PDA

11 Modell: Eingabe endl. Kontrolle Schreibweise: Falls q', Z 1...Z k q,a,z:q a Z q' Z 1... Z k Intuitive Bedeutung: PUSH -Operation: k 1, Z wird durch Z 1...Z k ersetzt POP-Operation: k =0, Z wird gelöscht Soll Z enthalten bleiben, muss Z wieder in den Push-Down-Speicher geschrieben werden. Beispiel: PDA zu L={a n b n n 1}: = Q,,,,q 0,Z 0,F mit Q={q 0,q f } ={a,b} ={Z 0,a} F ={q f } : q 0 a Z 0 q 0 a Z 0 "erster a-schritt" q 0 a a q 0 aa "speichere as im Push-Down-Speicher" q 0 b aq 1 "erster b-schritt" q 1 b a q 1 "lösche a für jedes b" q 1 Z 0 q f Endzustand

12 Definition 6.6 (Einzelschrittrelation, erkannte Sprache): Ein Tripel q,w, Q * * heißt Konfiguration von A. Die Einzelschrittrelation Q * * Q * * wird festgelegt durch: a-schritt: q,aw,z q',w, Z 1...Z k falls q a Z q' Z 1... Z k ε-schritt (autonome Transition): q,w, Z q',w,z 1...Z k falls q Z q' Z 1...Z k Anfangskonfiguration: (q 0, w, Z 0 ) sinnvolle Endkonfigurationen: Endzustand q,, mit q F L, F ={w * q F, *:q 0, w,z 0 *q,, } leerer Speicher q,, mit q beliebig L,={w * q Q :q 0,w,Z 0 *q,,} beides: q,, mit q F L,, F ={w * q F :q 0,w,Z 0 * q,,} 3 Sprachklassen: Satz 6.4: L,PDA, F = Beweis durch Ringschluss. L,PDA,F, L,PDA,, L,PDA,,F L, PDA, = L, PDA,, F Konfigurationsfolgen: q 0, aabb, Z 0 q 0,abb, az 0 q 0, bb, aaz 0 q 1,b, az 0 q 1,, Z 0 q f,, q 0, b..., Z 0 Sackgasse q 0, aab, Z 0 3 q 1,, az 0 Sackgasse PDA : = Q,,,,q 0, Z 0, F :Q {} f Q * Q * * Q * * Anfangskonfiguration: q 0, w, Z 0 mit w * 3 sinnvolle Endkonfigurationen: q,, mit q F L, F L, PDA, F q,, mit q Q beliebig L, L, PDA, L,PDA q,, mit q F L,, F L, PDA,, F Satz 6.5: L 2 =L,PDA Beweis: " ": Zeige: L L 2 PDA : L=L,. Sei G= N,, P, S CFG mit L=L G. Konstruiere den sogenannten Top-Down-Analyseautomaten für L: = {q},, N,,q,S, PDA durch * q,, A:={q, A P}"Regelanwendung auf den Kellerspeicher" Nichtdeterminismus! q,a,a :={q,} "Vergleichsschritt zur Abarbeitung von Terminalsymbolen"

13 A simuliert nichtdeterministische Linksableitungen auf dem Keller. Es gilt: L(G) = L(A, ε). formaler Beweis durch Induktion über die Ableitungslänge, hier: Beispiel: G= {S },{a,b},{s asb},s LG={a n b n n 0} = {q},{a,b},{a,b,s },,q,s, PDA mit q,, S={q,,q,aSb} q,a, a={q,} q,b, b={ q,} Konfigurationsfolgen: zu Eingabe aabb: Sackgasse,aabb, q,aabb,s q Sackgasse, abb,b q,aabb,asb q q, abb,asbb q,bb,sbb q,bb,bb q,b,b q Erfolg,, q,bb,asbbb Sackgasse aabb L, Beweis: " ": Zeige: PDA G CFG : L, = LG. Beweisidee: G muss die Ableitsweise von A simulieren. Kodiere Konfigurationen von A in den Nonterminalen von G: [q,z, q' ] Q Q mit Bedeutung: Ist A im Zustand q mit Z auf der Kellerspitze, so wird die Speicherposition von Z im Zustand q' gelöscht, insbesondere gilt: ( ) [q, Z,q' ] g *w q,w,z *q',,. Sei = Q,,,, q 0, Z 0, F PDA. Definiere G= N,, P,S durch N :={S } Q Q N =1 Q 2, Z,q k ] a[ p,z 1,q 1 ][q 1, Z 2,q 2 ]...[q k 1,Z k,q k ] P :={S[q 0, Z 0,q] q Q} {[q q,a,z p,z 1... Z k mit k 1,a {}, "rate Endzustand des Automaten" Z, Z i,q, p,q i Q} "push-schritt" {[q,z, p] a q,a,z p,} "pop-schritt" Beweise ( ) induktiv über die Ableitungs- bzw. Berechnungslänge: " ": [q, Z,q' ] n w q,w,z g *q',,

14 Induktionsanfang (n = 1): Es kann nur ein pop -Schritt vorliegen, d.h. w {} q ', q, w, Z. Induktionsschluss: [q, Z, q ' ] g n1 =q 0 w [q, Z, q ' ] g a [ p, Z 1,q 1 ] r g 1w 1 =q '...[q, Z, q ] k 1 k k r g k w k und w=a w 1... w k, p,z 1... Z k q, a, Z,r j n für alle j, d.h. für die Ableitungenq j 1, Z j, q j r j w j ist die Induktionsvoraussetzung anwendbar, d.h. q j 1, w j v, Z j *q j, v, q, w, Z = q, aw 1... w k, Z p, w 1... w, Z k 1... Z *q k 1, w 2... w, Z k 2... Z k =q ' *q 2,w 3...w k, Z 3... Z k *... *q k 1,w k 1, Z k * q k,, Rückrichtung wird analog induktiv über die Anzahl der Berechnungsschritte bewiesen. Mit ( ) folgt: w LG S g *w q' Q :[q 0,Z 0,q' ] g * w ( ) q' Q :q 0,w, Z 0 *q',, w L, q.e.d. Definition 6.7: Ein PDA = Q,,,,q 0,Z 0, F heißt deterministisch, falls für alle q Q,a, Z gilt: q, a,z q,,z 1 Deterministische PDAs akzeptieren per Endzustand, d.h. L, DPDA:=L, DPDA,F ={L,F ist deterministischer PDA} L, DPDA,. L, DPDA bezeichnet die Klasse der deterministisch kontextfreien Sprachen. bereits gezeigt: {a n b n n 1} L,DPDA. Beispiel: nichtdeterministischer PDA zu Palindromen ohne markierte Mitte L={a 1...a n a n...a 1 a i {a,b},1 i n,n 1} = {q 0,q 1 },{a, b},{z 0,a,b},,q 0,Z 0,{q 1 } mit : q 0 a X q 0 ax X "Merke Buchstaben" q 0 b X q 0 bx } q 0 a a q 1 } q 0 b b q 1 "Vermute Wortmitte" q 1 a a q 1 "Lösche Buchstaben aus Speicher" q 1 b bq 1 } q 1 Z 0 q 1 "Lösche Startsymbol" Es gilt: L,=L,,F =L noch zu zeigen: L L, PDA L, DPDA s.o. noch zu zeigen

15 L 2 =L,PDA L, DPDA Wir zeigen: {w w w *} L, PDA L, DPDA L, DPDA: deterministisch kontextfreie Sprachen Hilfsresultate Satz 6.6: L 2 ist unter Schnitt mit regulären Sprachen abgeschlossen, L,DPDA auch. Beweisidee: paralleles Rechnen von PDA (bzw. DPDA) und ' DFA zur Erkennung von L,F L '. Q.E.D. Definition 6.8: Zu L * sei Min L :={w L w ' + v *: w=vw ' v L}. Lemma: L L,DPDA Min L L,DPDA. Beweis: Sei = Q,,,, q 0,Z 0,F DPDA mit L=L,F. Ändere so ab, dass nach Erreichen eines Endzustandes nie wieder ein solcher erreicht wird: - Hinzufügen eines Senkenzustandes q zu Q mit q, a,z={q,z} für alle a,z - Abwandeln von für q F: q,a,z ={q,z} für alle a,z. Wichtig ist der Determinismus des DPDA, da dieser garantiert, dass es pro Wort genau eine Konfigurationsfolge gibt. Der modifizierte Automat erkennt nur die Wörter in L, bei denen kein echtes Präfix auch in L ist, d.h. Min(L). q.e.d. Korrolar: L:={w w w + } L,DPDA,={a, b }. Beweis: Annahme, L L, DPDA Min L L, DPDA (6.6) L :=Min L ab + ba + ab + ba + L, DPDA Aber: L={ab i ba j ab j ba i i j0} ist nicht kontextfrei, wie man mit dem kein Präfix in L Pumping Lemma zeigt q.e.d. Satz 6.7: L,DPDA L, PDA=L 2. Abschlusseigenschaften: Vereinigung Schnitt Komplement Produkt Stern L L,DPDA

16 Anwendung kontextfreier Sprachen: Syntaxbeschreibung von Programmiersprachen und damit die Syntaxanalyse. 2 Methoden: 1.) Top-Down-Analyse S Top-Down-Analyseautomat w 2.) Bottom-Up-Analyse S Idee: Schiebe Terminale von der Eingabe auf den Stack Shift-Schritte w - Ersetze rechte Regelseiten durch linke Reduce-Schritt Shift-Reduce-Parser Falls es gelingt, das Startsymbol auf dem Stack (Kellerspeicher) zu reduzieren und die Eingabe komplett zu lesen, wird das Wort akzeptiert. umgekehrte Rechtsableitung

Theoretische Grundlagen der Informatik

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

Mehr

Wortproblem für kontextfreie Grammatiken

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

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Theorie der Informatik

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

Mehr

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen reguläre Grammatiken/prachen Beschreibung für Bezeichner in Programmiersprachen Beschreibung für wild cards in kriptsprachen (/* reguläre Ausdrücke */)?; [a-z]; * kontextfreie Grammatiken/prachen Beschreibung

Mehr

Grammatiken. Einführung

Grammatiken. Einführung Einführung Beispiel: Die arithmetischen Ausdrücke über der Variablen a und den Operationen + und können wie folgt definiert werden: a, a + a und a a sind arithmetische Ausdrücke Wenn A und B arithmetische

Mehr

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

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

Mehr

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

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

Mehr

Formale Sprachen und Grammatiken

Formale Sprachen und Grammatiken Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax

Mehr

2.11 Kontextfreie Grammatiken und Parsebäume

2.11 Kontextfreie Grammatiken und Parsebäume 2.11 Kontextfreie Grammatiken und Parsebäume Beispiel: Beispiel (Teil 3): Beweis für L(G) L: Alle Strings aus L der Länge 0 und 2 sind auch in L(G). Als Induktionsannahme gehen wir davon aus, dass alle

Mehr

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel. Kontextfreie Kontextfreie Motivation Formale rundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen Bisher hatten wir Automaten, die Wörter akzeptieren Frank Heitmann heitmann@informatik.uni-hamburg.de

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 3. Endliche Automaten (V) 21.05.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt Determinierte endliche Automaten (DEAs) Indeterminierte

Mehr

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls

4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls 4.9 Deterministische Kellerautomaten Wir haben bereits definiert: Ein PDA heißt deterministisch (DPDA), falls δ(q, a, Z) + δ(q, ɛ, Z) 1 (q, a, Z) Q Σ. Die von einem DPDA, der mit leerem Keller akzeptiert,

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Einheit 2.4 Grammatiken 1. Arbeitsweise 2. Klassifizierung 3. Beziehung zu Automaten Beschreibungsformen für Sprachen Mathematische Mengennotation Prädikate beschreiben Eigenschaften

Mehr

10 Kellerautomaten. Kellerautomaten

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

Mehr

Grammatiken und die Chomsky-Hierarchie

Grammatiken und die Chomsky-Hierarchie Grammatiken und die Chomsky-Hierarchie Def.: Eine Grammatik G=(Σ,V,S,R) besteht aus endlichem Alphabet Σ endlicher Variablenmenge V mit V Σ= Startsymbol SєV endlicher Menge R с (V Σ) + x(v Σ)* von Ableitungsregeln

Mehr

Mathematische Grundlagen der Informatik 2

Mathematische Grundlagen der Informatik 2 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Emanuel Duss emanuel.duss@gmail.com 12. April 2013 1 Zusammenfassung Math2I Mathematische Grundlagen der Informatik 2 Dieses Dokument basiert

Mehr

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung Frank Heitmann heitmann@informatik.uni-hamburg.de 13. Mai 2014 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/17 Überblick Wir hatten

Mehr

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung

Informatik III. Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung 17.11.2006 schindel@informatik.uni-freiburg.de 1 Prinzip des Kellerautomats Push-Down-Automaton (PDA) Ein Kellerautomat vereinigt

Mehr

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit

Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Informatik IV Theoretische Informatik: Formale Sprachen und Automaten, Berechenbarkeit und NP-Vollständigkeit Sommersemester 2011 Dozent: Prof. Dr. J. Rothe, Prof. Dr. M. Leuschel J. Rothe (HHU Düsseldorf)

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische nformatik inheit 3 Kontextfreie Sprachen 1. Kontextfreie Grammatiken 2. Pushdown Automaten 3. igenschaften kontextfreier Sprachen Theoretische nformatik inheit 3.1 Kontextfreie Grammatiken

Mehr

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler

Formale Sprachen. Der Unterschied zwischen Grammatiken und Sprachen. Rudolf Freund, Marian Kogler Formale Sprachen Der Unterschied zwischen Grammatiken und Sprachen Rudolf Freund, Marian Kogler Es gibt reguläre Sprachen, die nicht von einer nichtregulären kontextfreien Grammatik erzeugt werden können.

Mehr

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik Grundlagen der Informatik II Teil I: Formale Modelle der Informatik 1 Einführung GdInfoII 1-2 Ziele/Fragestellungen der Theoretischen Informatik 1. Einführung abstrakter Modelle für informationsverarbeitende

Mehr

Vorlesung Theoretische Informatik

Vorlesung Theoretische Informatik Vorlesung Theoretische Informatik Automaten und Formale Sprachen Hochschule Reutlingen Fakultät für Informatik Masterstudiengang Wirtschaftsinformatik überarbeitet von F. Laux (Stand: 09.06.2010) Sommersemester

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

WS 2009/10. Diskrete Strukturen

WS 2009/10. Diskrete Strukturen WS 2009/10 Diskrete Strukturen Prof. Dr. J. Esparza Lehrstuhl für Grundlagen der Softwarezuverlässigkeit und theoretische Informatik Fakultät für Informatik Technische Universität München http://www7.in.tum.de/um/courses/ds/ws0910

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de

Grundlagen Theoretischer Informatik I SoSe 2011 in Trier. Henning Fernau Universität Trier fernau@uni-trier.de Grundlagen Theoretischer Informatik I SoSe 2011 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Grundlagen Theoretischer Informatik I Gesamtübersicht Organisatorisches; Einführung Logik

Mehr

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13)

Tutorium zur theoretischen Informatik Übungsblatt 4 (2006-12-13) Ein verständiges Herz erwirbt Kenntnisse, und das Ohr der Weisen lauscht dem Wissen. (Die Bibel, "Buch der Sprüche", Kapitel 18 Vers 15) Inhalt 1. Empfehlenswerte Referenzen 2. Aufgabe 1 CF Grammatik für

Mehr

Kapitel 2: Formale Sprachen Gliederung

Kapitel 2: Formale Sprachen Gliederung Gliederung 0. Einleitung und Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. Chomsky-Grammatiken 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen

Mehr

Kontextfreie Sprachen

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

Mehr

Kontextfreie Sprachen

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

Mehr

Sprachen/Grammatiken eine Wiederholung

Sprachen/Grammatiken eine Wiederholung Sprachen/Grammatiken eine Wiederholung Was sind reguläre Sprachen? Eigenschaften regulärer Sprachen Sprachen Begriffe Symbol: unzerlegbare Grundzeichen Alphabet: endliche Menge von Symbolen Zeichenreihe:

Mehr

REG versus CF. Theorem REG ist echt in CF enthalten.

REG versus CF. Theorem REG ist echt in CF enthalten. REG versus CF Theorem REG ist echt in CF enthalten. Beweis: Wir wissen: L = {a m b m m 1} ist nicht regulär. Andererseits ist L kontextfrei, wie die einfache kontextfreie Grammatik G = ({a, b}, {S}, S,

Mehr

Informatik IC2. Balazs Simon 2005.03.26.

Informatik IC2. Balazs Simon 2005.03.26. Informatik IC2 Balazs Simon 2005.03.26. Inhaltsverzeichnis 1 Reguläre Sprachen 3 1.1 Reguläre Sprachen und endliche Automaten...................... 3 1.2 Determinisieren.....................................

Mehr

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5) Einführung 3 Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Univ.-Prof. Dr. Christoph Meinel Hasso-Plattner-Institut Universität Potsdam, Deutschland Hatten den Reduktionsbegriff

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Kapitel 6: Induktives Vorgehen Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische

Mehr

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Basis und Dimension Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren. Definition. Sei V ein K-Vektorraum und (v i ) i I eine Familie von Vektoren

Mehr

Einführung in die Computerlinguistik

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

Mehr

Tutoraufgabe 1 (ɛ-produktionen):

Tutoraufgabe 1 (ɛ-produktionen): Prof aa Dr J Giesl Formale Systeme, Automaten, Prozesse SS 2010 M Brockschmidt, F Emmes, C Fuhs, C Otto, T Ströder Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus dem gleichen Tutorium

Mehr

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse 11 13. 501322 Lösung 10 Punkte 50. Mathematik-Olympiade. Stufe (Regionalrunde) Klasse 3 Lösungen c 00 Aufgabenausschuss des Mathematik-Olympiaden e.v. www.mathematik-olympiaden.de. Alle Rechte vorbehalten. 503 Lösung 0 Punkte Es seien

Mehr

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach 21.11.2013 INSTITUT FÜR KRYPTOGRAPHIE UND SICHERHEIT KIT University of the State of Baden-Wuerttemberg and National Laboratory of the

Mehr

15 Optimales Kodieren

15 Optimales Kodieren 15 Optimales Kodieren Es soll ein optimaler Kodierer C(T ) entworfen werden, welcher eine Information (z.b. Text T ) mit möglichst geringer Bitanzahl eindeutig überträgt. Die Anforderungen an den optimalen

Mehr

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes. Binäre Bäume Definition: Ein binärer Baum T besteht aus einer Menge von Knoten, die durch eine Vater-Kind-Beziehung wie folgt strukturiert ist: 1. Es gibt genau einen hervorgehobenen Knoten r T, die Wurzel

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 4.2.2011 INSTITUT FÜR THEORETISCHE INFORMATIK 0 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r )

t r Lineare Codierung von Binärbbäumen (Wörter über dem Alphabet {, }) Beispiel code( ) = code(, t l, t r ) = code(t l ) code(t r ) Definition B : Menge der binären Bäume, rekursiv definiert durch die Regeln: ist ein binärer Baum sind t l, t r binäre Bäume, so ist auch t =, t l, t r ein binärer Baum nur das, was durch die beiden vorigen

Mehr

Reguläre Sprachen Endliche Automaten

Reguläre Sprachen Endliche Automaten Endliche Automaten (Folie 54, Seite 16 im Skript) Einige Vorteile endlicher deterministischer Automaten: durch Computer schnell simulierbar wenig Speicher benötigt: Tabelle für δ (read-only), aktueller

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 4 26..25 INSTITUT FÜR THEORETISCHE INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Informationsblatt Induktionsbeweis

Informationsblatt Induktionsbeweis Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln

Mehr

Die Komplexitätsklassen P und NP

Die Komplexitätsklassen P und NP Die Komplexitätsklassen P und NP Prof. Dr. Berthold Vöcking Lehrstuhl Informatik 1 Algorithmen und Komplexität RWTH Aachen 3. Dezember 2009 Berthold Vöcking, Informatik 1 () Vorlesung Berechenbarkeit und

Mehr

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 11: Abstrakte Reduktionssysteme schulz@eprover.org Reduktionssysteme Definition: Reduktionssystem Ein Reduktionssystem ist ein Tupel (A, ) Dabei gilt: A

Mehr

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1

Zusammenfassung. 1 Wir betrachten die folgende Signatur F = {+,,, 0, 1} sodass. 3 Wir betrachten die Gleichungen E. 4 Dann gilt E 1 + x 1 Zusammenfassung Zusammenfassung der letzten LV Einführung in die Theoretische Informatik Woche 7 Harald Zankl Institut für Informatik @ UIBK Wintersemester 2014/2015 1 Wir betrachten die folgende Signatur

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

Mehr

Theoretische Informatik Mitschrift

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

Mehr

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können. 6. Bäume Lernziele 6. Bäume Lernziele: Definition und Eigenschaften binärer Bäume kennen, Traversierungsalgorithmen für binäre Bäume implementieren können, die Bedeutung von Suchbäumen für die effiziente

Mehr

Grundlagen der Theoretischen Informatik

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

Mehr

F2 Zusammenfassung Letzte Tips zur Klausur

F2 Zusammenfassung Letzte Tips zur Klausur F2 Zusammenfassung Letzte Tips zur Klausur Berndt Farwer FB Informatik, Uni HH F2-ommersemester 2001-(10.6.) p.1/15 Funktionen vs. Relationen Funktionen sind eindeutig, Relationen brauchen nicht eindeutig

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Tutorium 27 29..24 FAKULTÄT FÜR INFORMATIK KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Definition

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

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

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

Mehr

Zusammenfassung Grundzüge der Informatik 4

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

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014 Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Ulrich Furbach Institut für Informatik Sommersemester 2014 Furbach Grundlagen d. Theoretischen Informatik:

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Chomsky-Grammatiken 16. Chomsky-Grammatiken Chomsky-Grammatiken 16 Chomsky-Grammatiken Ursprünglich von Chomsky in den 1950er Jahren eingeführt zur Beschreibung natürlicher Sprachen. Enge Verwandschaft zu Automaten Grundlage wichtiger Softwarekomponenten

Mehr

Informatik III - WS07/08

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

Mehr

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen Informales Beispiel Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 22. April 2014 I L IL ID L a b c D 0 1 2 3 4 Eine

Mehr

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Zählen und Zahlbereiche Übungsblatt 1 1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage: Für alle m, n N gilt m + n = n + m. in den Satz umschreiben:

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

Formale Sprachen, reguläre und kontextfreie Grammatiken Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache

Mehr

Algorithmentheorie. 13 - Maximale Flüsse

Algorithmentheorie. 13 - Maximale Flüsse Algorithmentheorie 3 - Maximale Flüsse Prof. Dr. S. Albers Prof. Dr. Th. Ottmann . Maximale Flüsse in Netzwerken 5 3 4 7 s 0 5 9 5 9 4 3 4 5 0 3 5 5 t 8 8 Netzwerke und Flüsse N = (V,E,c) gerichtetes Netzwerk

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 8: kontextfreie Grammatiken Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2009/2010 1/37 Überblick Kontextfreie Grammatiken

Mehr

Kontextfreie Sprachen werden von PDAs akzeptiert

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

Mehr

Musterlösungen zur Linearen Algebra II Blatt 5

Musterlösungen zur Linearen Algebra II Blatt 5 Musterlösungen zur Linearen Algebra II Blatt 5 Aufgabe. Man betrachte die Matrix A := über dem Körper R und über dem Körper F und bestimme jeweils die Jordan- Normalform. Beweis. Das charakteristische

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie prachen (VI) 25.06.2015 Viorica ofronie-tokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Automaten und formale Sprachen Klausurvorbereitung

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

Mehr

Spracherkennung (Syntaxanalyse)

Spracherkennung (Syntaxanalyse) Kellerautomaten Kellerautomaten 8 Spracherkennung (Syntaxanalyse) Algorithmus gesucht, der für L T (möglichst schnell) entscheidet, ob w L (Lösung des Wortproblems) Grammatik Automat Aufwand rechtslinear

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Theoretische Grundlagen der Informatik

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

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Algorithmen II Vorlesung am 15.11.2012

Algorithmen II Vorlesung am 15.11.2012 Algorithmen II Vorlesung am 15.11.2012 Kreisbasen, Matroide & Algorithmen INSTITUT FÜR THEORETISCHE INFORMATIK PROF. DR. DOROTHEA WAGNER KIT Universität des Landes Baden-Württemberg und Algorithmen nationales

Mehr

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

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

Mehr

Theoretische Informatik Mitschrift

Theoretische Informatik Mitschrift 3. Endliche Automaten endliche Zustandsübergangssysteme Theoretische Informatik Mitschrift Beispiel: 2-Bit-Ringzähler: ={Inc} L R ={IncInc Inc,Inc 7, Inc 11,...} n ' mod ' 4=3 ={Inc n k 0.n=4 k3 } 2-Bit-Ringzähler

Mehr

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010. 2. Schriftliche Leistungskontrolle (EK)

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010. 2. Schriftliche Leistungskontrolle (EK) TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann - 09. Februar 2010 2. Schriftliche Leistungskontrolle (EK) Punktzahl In dieser schriftlichen Leistungskontrolle sind 100 Punkte

Mehr

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel

3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel 3.1 Konstruktion von minimalen Spannbäumen Es gibt zwei Prinzipien für die Konstruktion von minimalen Spannbäumen (Tarjan): blaue Regel rote Regel EADS 3.1 Konstruktion von minimalen Spannbäumen 16/36

Mehr

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen 1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit

Mehr

Übung Theoretische Grundlagen

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

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Prof. Meer, Dr. Gengler Aufgabenblatt 7 Besprechung in KW 48 / Abgabe in KW 49 Heften Sie unbedingt alle Blätter Ihrer Lösung zusammen und geben Sie oben auf dem ersten Blatt Ihren

Mehr

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4 Karlsruher Institut für Technologie Institut für Theoretische Informatik Prof. Dr. Peter H. Schmitt David Farago, Christoph Scheben, Mattias Ulbrich Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt

Mehr

Vorlesung Theoretische Informatik (Info III)

Vorlesung Theoretische Informatik (Info III) 1 Vorlesung Theoretische Informatik (Info III) Prof. Dr. Dorothea Wagner Dipl.-Math. Martin Holzer 22. Januar 2008 Einleitung Motivation 2 Thema heute Kontextfreie Grammatiken: Lemma von Ogden Eigenschaften

Mehr

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83

9.2. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 9.. DER SATZ ÜBER IMPLIZITE FUNKTIONEN 83 Die Grundfrage bei der Anwendung des Satzes über implizite Funktionen betrifft immer die folgende Situation: Wir haben eine Funktion f : V W und eine Stelle x

Mehr

Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L

Kapitel 3. Kontextfreie Sprachen. Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: (w) L, falls w L vw L, falls v, w L Kapitel 3 Kontextfreie Sprachen Induktive Charakterisierung der Sprache L der korrekten Klammerausdrücke: s. Übung ε L (w) L, falls w L vw L, falls v, w L (R0) (R1) (R2) Für beliebige w {(, )} kann w L

Mehr

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

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

Mehr