Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Ulrich Furbach. Sommersemester 2014
|
|
- Adolf Scholz
- vor 8 Jahren
- Abrufe
Transkript
1 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: SS / 544
2 Dank Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der TU Clausthal) Bernhard Beckert (gehalten an der Universität Koblenz-Landau) Ihnen gilt mein herzlicher Dank. Ulrich Furbach, April 2012 Furbach Grundlagen d. Theoretischen Informatik: SS / 544
3 Inhalt von Teil IV Die von Kellerautomaten (Push-Down-Automaten, PDAs) erkannten Sprachen sind genau die vom Typ 2 (kontextfrei). Normalformen für kontextfreie Grammatiken. Pumping-Lemma für kontextfreie Sprachen. Effiziente Algorithmen für Probleme über PDAs Furbach Grundlagen d. Theoretischen Informatik: SS / 544
4 Teil IV Kellerautomaten und kontextfreie Sprachen 17 Ableitungsbäume 18 Umformung von Grammatiken 19 Normalformen 20 Pumping-Lemma für kontextfreie Sprachen 21 Pushdown-Automaten (PDAs) 22 Abschlusseigenschaften 23 Wortprobleme 24 Der CYK-Algorithmus Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
5 Zur Erinnerung: kontextfreie Grammatiken Kontextfreie Grammatiken Kontextfreie Regel: Eine Variable wird durch ein Wort ersetzt, (egal in welchem Kontext die Variable steht) Es wird eine einzelne Variable ersetzt. Das Wort in der Conclusio kann Variablen und Terminale in beliebiger Mischung enthalten. Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
6 Zur Erinnerung: kontextfreie Sprachen Beispiel 17.1 (kontextfreie Sprachen) {a n b n n N 0 } {a n ba n n N 0 } {ww R w {a,b} } Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
7 Ableitungsbäume Definition 17.2 (Ableitungsbaum zu einer Grammatik) Sei G = (V,T,R,S) eine kontextfreie Grammatik. Ein Ableitungsbaum (parse tree) zu G ist ein angeordneter Baum B = (W,E,v 0 ) Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
8 Ableitungsbäume Definition 17.3 (Ableitungsbaum zu einer Grammatik, Fortsetzung) Zudem muss gelten: Jeder Knoten v W ist mit einem Symbol aus V T {ε} markiert. Die Wurzel v 0 ist mit S markiert. Jeder innere Knoten ist mit einer Variablen aus V markiert. Jedes Blatt ist mit einem Symbol aus T {ε} markiert. Ist v W ein innerer Knoten mit Söhnen v 1,...,v k in dieser Anordnung und ist A die Markierung von v und A i die Markierung von v i, dann ist A A 1...A k R. Ein mit ε markiertes Blatt hat keinen Bruder (denn das entspräche einer Ableitung wie A abεbc). Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
9 Ableitungsbäume Ablesen eines Wortes vom Ableitungsbaum Wenn Wort w von Grammatik G erzeugt wird, dann gibt es einen Ableitungsbaum mit den Buchstaben von w als Blätter von links nach rechts. Merke Die Blätter eines Ableitungsbaumes sind angeordnet. Es gibt eine Ordnung unter den Söhnen eines Knotens. Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
10 Ableitungsbäume Definition 17.4 Seien b 1,b 2 Blätter. Dann: b 1 < b 2 gdw b 1, b 2 sind Brüder, und b 1 liegt links von b 2, oder v,v 1,v 2 W v v 1, v v 2, v 1 < v 2 und v i ist Vorfahre von b i für i {1,2}. Definition 17.5 Sei {b 1,...,b k } die Menge aller Blätter in B mit b 1 <... < b k, und sei A i die Markierung von b i. Dann heißt das Wort A 1...A k die Front von B. Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
11 Ableitungsbäume Theorem 17.6 Sei G = (V,T,R,S) eine kontextfreie Grammatik. Dann gilt für w T : ( S = G w) gdw Es existiert ein Ableitungsbaum zu G mit Front w. Beweis. Einfach aus den Definitionen. Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
12 Ableitungsbäume: Beispiel Beispiel 17.7 Grammatik für die Menge aller aussagenlogischen Formeln über den Variablen {x,x 0,x 1,x 2,...}: G = ({S,A,N,N }, {x,0,...,9,(,),,, },R,S) mit der Regelmenge R = {S (S S) (S S) S A A x xn N 1N 2N... 9N 0 N 0N 1N... 9N ε} Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
13 Ableitungsbäume: Beispiel Ableitungsbaum für (( x x38) x2) S ( S S ) ( S S ) A S A x N A x N 2 N x 3 N ε 8 N ε Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
14 Ableitungsbäume: Beispiel Ableitung für (( x x38) x2) Der Ableitungsbaum steht für viele äquivalente Ableitungen, darunter diese: S (S S) ((S S) S) (( S S) S) (( A S) S) (( x S) S) (( x A) S) (( x xn) S) (( x x3n ) S) (( x x38n ) S) (( x x38) S) (( x x38) A) (( x x38) xn) (( x x38) x2n ) (( x x38) x2) Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
15 Links- und Rechtsableitung Definition 17.8 (Linksableitung) Eine Ableitung w 1 = G w 2 = G... = G w n heißt Linksableitung falls w i+1 durch Ersetzen der linkesten Variable in w i entsteht für alle i < n. Die Rechtsableitung ist analog definiert. Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
16 Mehrdeutigkeit Definition 17.9 (Mehrdeutigkeit) Eine cf-grammatik G heißt mehrdeutig gdw es gibt ein Wort w L(G), zu dem es in G zwei verschiedene Linksableitungen gibt. Eine Sprache L L 2 heißt inhärent mehrdeutig gdw alle kontextfreien Grammatiken für L sind mehrdeutig. Bemerkung Eine Grammatik G ist mehrdeutig, gdw : es gibt zwei verschiedene Ableitungsbäume in G mit gleicher Front. Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
17 Mehrdeutigkeit: Beispiele Beispiel (Mehrdeutigkeit) Eindeutige Grammatik für aussagenlogische Formeln: S (S S) (S S) S A A x xn N 1N 2N... 9N 0 N 0N 1N... 9N ε} Mehrdeutige Grammatik für aussagenlogische Formeln: K K K D Regel mit Klammer-Ersparnis! D (D D) L L A A A v w x y z Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
18 Mehrdeutigkeit: Beispiele D L A x D L y K K K K K D ( D ) D L A v w A L K K K D L A x y L D K K D ( D D ) L L A A w v Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
19 Mehrdeutigkeit: Beispiele Beispiel (Inhärente Mehrdeutigkeit) Die Sprache L := {a i b j c k i = j oder j = k} ist inhärent mehrdeutig. Furbach Grundlagen d. Theoretischen Informatik: Ableitungsbäume SS / 544
20 Teil IV Kellerautomaten und kontextfreie Sprachen 17 Ableitungsbäume 18 Umformung von Grammatiken 19 Normalformen 20 Pumping-Lemma für kontextfreie Sprachen 21 Pushdown-Automaten (PDAs) 22 Abschlusseigenschaften 23 Wortprobleme 24 Der CYK-Algorithmus Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
21 Startsymbol nur links Einfache Annahme Im folgenden soll für alle cf-grammatiken gelten: Das Startsymbol S kommt nie auf einer rechten Regelseite vor. Umformung Ist das bei einer Grammatik nicht gegeben, kann man es wie folgt erreichen: Führe ein neues Startsymbol S neu ein Füge die Regel S neu S hinzu. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
22 Nutzlose Symbole Nutzlose Symbole und Regeln: Intuition Variablen und Symbole, die vom Startsymbol aus unerreichbar sind. Variablen, von denen aus kein Terminalwort abgeleitet werden kann. Regeln, die solche Variablen und Symbole enthalten Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
23 Nutzlose Symbole Definition 18.1 ((co-)erreichbare, nutzlose Symbole) Sei G = (V,T,R,S) eine Grammatik. Ein Symbol x (V T ) heißt erreichbar: Es gibt α,β (V T ) : S = αxβ G co-erreichbar: Es gibt w T : x = w G nutzlos: x ist nicht erreichbar oder nicht co-erreichbar. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
24 Nutzlose Symbole Theorem 18.2 (cf-grammatik ohne nutzlose Symbole) Ist G = (V, T, R, S) eine cf-grammatik mit L(G) /0, dann existiert eine cf-grammatik G = (V,T,R,S ) mit: G ist äquivalent zu G. Jedes x (V T ) ist erreichbar und co-erreichbar. Beweis Man kann G aus G effektiv konstruieren: Wie im folgenden beschrieben, die nutzlosen Symbole bestimmen. Diese Symbole und alle Regeln, die sie enthalten, entfernen. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
25 Nutzlose Symbole Algorithmus zur Berechnung der co-erreichbaren Variablen Input: Grammatik G = (V,T,R,S) Output: co-erreichbare Variablen Alt := /0 Neu := {A V w T (A w R)} while Alt Neu { Alt := Neu Neu := Alt {A V α (T Alt) (A α R)} } output Neu Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
26 Nutzlose Symbole Algorithmus zur Berechnung der erreichbaren Symbole Input: Grammatik G = (V,T,R,S) Output: erreichbare Symbole Alt := /0 Neu := {S} while Alt Neu { Alt := Neu Neu := Alt {x (V T ) A Alt α,β (V T ) } output Neu (A αxβ R)} Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
27 Normalform für Regeln Theorem 18.3 (Normalform) Zu jeder Grammatik G (beliebigen Typs) existiert eine äquivalente Grammatik G, bei der für alle Regeln P Q R gilt: Q V und P beliebig Q T und P V Für alle Typen außer den linearen hat G denselben Typ wie G. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
28 Normalform für Regeln Beweis. Für jedes Terminal t T erzeuge man eine neue Variable V t. V = V {V t t T } R entsteht aus R, indem für jede Regel P Q R in Q alle Vorkommen eines Terminals t durch die zugehörige Variable V t ersetzt werden. Außerdem enthält R für jedes t T eine neue Regel V t t. Also L(G ) = L(G), und für alle Sprachklassen außer L 3 hat G denselben Typ wie G. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
29 Elimination von ε-regeln Idee Variablen, aus denen ε ableitbar ist, sollten eliminiert werden Definition 18.4 (ε-regel, nullbare Variablen) Eine Regel der Form P ε (P eine Variable) heißt ε-regel. Eine Variable A heißt nullbar, falls A = ε Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
30 Elimination von ε-regeln Theorem 18.5 (ε-regeln sind eliminierbar) Zu jeder cf-grammatik G existiert eine äquivalente cf-grammatik G ohne ε-regeln und nullbare Variablen, falls ε L(G), mit der einzigen ε-regel S ε und der einzigen nullbaren Variablen S, falls ε L(G) und S das Startsymbol ist. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
31 Elimination von ε-regeln Algorithmus zur Berechnung der nullbaren Variablen Input: Grammatik G = (V,T,R,S) Output: nullbare Variablen S o.b.d.a. in keiner Regel rechts Alt := /0 Neu := {A V A ε R} while Alt Neu { Alt := Neu für alle (P Q) R do { if Q = A 1...A n and A i Neu für 1 i n and P Neu, then Neu := Neu {P} } } output Neu Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
32 Elimination von ε-regeln Beweis (Forts.) Ausgangsgrammatik G habe die Normalform, bei der für jede Regel P Q: Q V oder Q T. Für jede Regel P A 1...A n generiere alle möglichen Kombinationen P α 1...α n mit α i {ε,a i } falls A i nullbar α i = A i falls A i nicht nullbar Dann Füge alle diese neuen Regeln zur Grammatik hinzu Entferne alle Regeln der Form A ε mit A S Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
33 Elimination von ε-regeln Beweis (Forts.) Zu zeigen: Für die neue Grammatik G gilt: L(G ) = L(G) Vorgehen: G hat die Normalform: Für jede Regel P Q gilt Q V oder Q T. Wir beweisen die etwas stärkere Behauptung für alle A V für alle w (V T ) {ε} ( (A = G w) gdw (A = G w) ), Daraus folgt sofort L(G ) = L(G). Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
34 Elimination von ε-regeln Beweis (Forts.) Wir zeigen: Aus A = G w folgt A = G w (Induktion über Länge einer Ableitung von A nach w in G). Induktionsanfang: Länge = 0. Dann ist w = A, und A = G A gilt immer. Induktionsschritt: Es sei schon gezeigt: Wenn in G in n Schritten eine Ableitung B = G u durchgeführt werden kann, dann folgt, daß in G die Ableitung B = G u möglich ist. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
35 Elimination von ε-regeln Beweis (Forts.) Außerdem gelte in der Ausgangsgrammatik G: A = G w ε in n + 1 Schritten. Dann gilt: A = G w = G w, w = A 1...A l = G w 1...w l = w, und es wird jeweils A i zu w i in höchstens n Schritten für geeignete w,a 1,...,A l,w 1,...,w l. Per Induktionsvoraussetzung gilt also schon: Entweder A i = G w i oder w i = ε für 1 i l. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
36 Elimination von ε-regeln Beweis (Forts.) Fall 1: w i = ε, A i ist nullbar. Dann gibt es in G eine Regel A A 1...A i 1 A i+1...a l nach der obigen Konstruktionsvorschrift für G, falls A 1...A i 1 A i+1...a l ε. Das ist der Fall, denn sonst hätten wir: A = w = ε = w = ε (aus nichts wird nichts), aber w = ε ist ausgeschlossen. Fall 2: w i ε. Dann gilt nach Induktionsvoraussetzung A i = G w i. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
37 Elimination von ε-regeln Beweis (Forts.) Wir haben also folgendes gezeigt: Sei I = {i {1...l} w i ε} = /0. Dann gibt es in R eine Regel A A i1...a im mit I = {i 1,...,i m }, und die A i sind so angeordnet wie in der ursprünglichen Regel A A 1...A l. Mit dieser neuen Regel können wir w so ableiten: A = G A i1...a im = G w i1...w im = w Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
38 Elimination von ε-regeln Beweis (Forts.) Wir zeigen: Aus A = w folgt A = w (Induktion über Länge einer G G Ableitung von A nach w in G ): Induktionsanfang: Länge = 0. Dann ist w = A, und A = A gilt immer. G Induktionsschritt: Es gelte für alle Ableitungen A = w einer Länge G von höchstens n, daß A = w. G Ist A = w eine Ableitung der Länge n + 1, so gibt es ein G l, Wörter w 1,...,w l und Variablen A 1,...,A l mit A = G A 1...A l = w = w G 1...w l. Es gilt jeweils A i = w G i in höchstens n Schritten, und w i ε. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
39 Elimination von ε-regeln Beweis (Forts.) Nach der Induktionsvoraussetzung folgt daraus: für die Originalgrammatik G gibt es Ableitungen A i = G w i damit gibt es auch eine Ableitung A 1...A l = G w. Da es in G eine Ableitung A = G A 1...A l gibt, gibt es in R eine Regel A A 1...A l. Wie ist diese Regel aus R entstanden? Eine Regel in R entsteht aus einer Regel in R, indem einige nullbare Variablen gestrichen werden. Es gab also in G nullbare Variablen B 1 bis B m, so daß R die Regel A A 1...A l1 B 1 A l A l2 B 2...A m B m A m+1...a l enthält. (m kann auch 0 sein, dann war die Regel selbst schon in R.) Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
40 Elimination von ε-regeln Beweis (Forts.) Also gilt in G: A = G A 1...A l1 B 1 A l A l2 B 2...A m B m A m+1...a l = A G 1...A l1 A l A l2...a m A m+1...a l = w G da ja B i = ε möglich ist. G Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
41 Elimination von ε-regeln: Beispiel Beispiel 18.6 R : R : S ABD S ABD AD BD D A ED BB A ED BB B B AC ε B AC A C C ε D d D d E e E e Für die Regelmenge R in der linken Spalte sind die Variablen A,B,C nullbar. Der obige Algorithmus erzeugt aus R die rechts aufgeführte Regelmenge R. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
42 Elimination von ε-regeln Beobachtung Der Algorithmus lässt nutzlose Variablen zurück, die nicht in Prämissen auftauchen (und deshalb nicht co-erreichbar sind). Hier: C. Der Algorithmus lässt nutzlose Regeln zurück. Hier: B AC C. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
43 Elimination von ε-regeln Korollar L 2 L 1 Das heißt, jede kontextfreie Sprache ist auch kontextsensitiv Beweis Regeln einer kontextsensitiven Grammatik müssen folgende Form haben: entweder uav uαv mit u,v,α (V T ), α 1,A V oder S ε und S kommt in keiner Regelconclusio vor. Diesen Bedingungen genügt die kontextfreie Grammatik nach Elimination der ε-regeln. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
44 Elimination von Kettenproduktionen Definition 18.7 (Kettenproduktion) Eine Regel der Form A B mit A, B V heißt Kettenproduktion. Theorem 18.8 (Kettenproduktionen sind eliminierbar) Zu jeder cf-grammatik existiert eine äquivalente cf-grammatik ohne Kettenproduktionen. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
45 Elimination von Kettenproduktionen Beweis Sei G = (V,T,R,S) eine kontextfreie Grammatik ohne ε-regeln, außer ggf. S ε. Konstruiere neue Grammatik wie folgt: 1 Für alle Variablenpaare A,B V, A B mit A = B Regeln B α R, α V füge zu R hinzu: A α 2 Lösche alle Kettenproduktionen Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
46 Normalform für cf-grammatiken Theorem 18.9 (Normalform für cf-grammatiken) Zu jeder cf-grammatik existiert eine äquivalente cf-grammatik ohne ε-regeln (bis auf S ε, falls ε zur Sprache gehört; in diesem Fall darf S in keiner Regelconclusio vorkommen), ohne nutzlose Symbole, ohne Kettenproduktionen, so daß für jede Regel P Q gilt: entweder Q V oder Q T. Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
47 Normalform für cf-grammatiken Beweis 1 Man teste zunächst, ob S nullbar ist. Falls ja, dann verwende man S neu als neues Startsymbol und füge die Regeln S neu S ε zum Regelsatz hinzu. 2 Man eliminiere nutzlose Symbole. 3 Man eliminiere alle ε-regeln außer S neu ε. 4 Man bringe die Grammatik in die Normalform, bei der für jede Regel P Q gilt: entweder Q V oder Q T. 5 Man eliminiere Kettenproduktionen. 6 Zum Schluss eliminiere man noch einmal alle nutzlosen Symbole (wg. Schritt 3) Furbach Grundlagen d. Theoretischen Informatik: Umformung von Grammatiken SS / 544
48 Teil IV Kellerautomaten und kontextfreie Sprachen 17 Ableitungsbäume 18 Umformung von Grammatiken 19 Normalformen 20 Pumping-Lemma für kontextfreie Sprachen 21 Pushdown-Automaten (PDAs) 22 Abschlusseigenschaften 23 Wortprobleme 24 Der CYK-Algorithmus Furbach Grundlagen d. Theoretischen Informatik: Normalformen SS / 544
49 Normalformen Unterschied: Grammatiktypen und Normalformen Gemeinsamkeit: Sowohl Grammatiktypen als auch Normalformen schränken die Form von Grammatikregeln ein. Unterschied: Grammatiktypen (rechtslinear, kontextfrei usw.) führen zu unterschiedlichen Sprachklassen Normalformeln führen zu den selben Sprachklassen Furbach Grundlagen d. Theoretischen Informatik: Normalformen SS / 544
50 Normalformen Wozu dann Normalformen? Weniger Fallunterscheidungen bei Algorithmen, die mit Grammatiken arbeiten. Struktur von Grammatiken einfacher zu durchschauen Zwei Normalformen Chomsky-Normalform: Baut auf den Umformungen des vorigen Teils auf. Greibach-Normalform: Ähnlich den rechtslinearen Grammatiken. Furbach Grundlagen d. Theoretischen Informatik: Normalformen SS / 544
51 Chomsky-Normalform Definition 19.1 (Chomsky-Normalform) Eine cf-grammatik G = (V, T, R, S) ist in Chomsky-Normalform (CNF), wenn gilt: G hat nur Regeln der Form A BC mit A,B,C V und A a mit A V, a T (nicht ε!) Ist ε L(G), so darf G zusätzlich die Regel S ε enthalten. In diesem Fall darf S in keiner Regelconclusio vorkommen. G enthält keine nutzlosen Symbole. Furbach Grundlagen d. Theoretischen Informatik: Normalformen SS / 544
52 Chomsky-Normalform Theorem 19.2 (Chomsky-Normalform) Zu jeder cf-grammatik existiert eine äquivalente cf-grammatik in Chomsky-Normalform. Beweis Schritt 1: Wende auf G die Umformungen des letzten Abschnitts an. Ergebnis: G hat keine nutzlosen Symbole Alle Regeln haben die Form 1 A α mit A V und α V, α 2, und 2 A a mit A V, a T Furbach Grundlagen d. Theoretischen Informatik: Normalformen SS / 544
53 Chomsky-Normalform Beweis (Forts.) Schritt 2: Regeln so umformen, daß keine Conclusio eine Länge größer 2 hat. Ersetze jede Regel durch: A A 1...A n mit A,A i V,n 3 A A 1 C 1 C 1 A 2 C 2. C n 2 A n 1 A n Dabei sind die C i neue Variablen in V. Furbach Grundlagen d. Theoretischen Informatik: Normalformen SS / 544
54 Greibach-Normalform Definition 19.3 (Greibach-Normalform) Eine cf-grammatik G = (V, T, R, S) ist in Greibach-Normalform (GNF), wenn gilt: G hat nur Regeln der Form A aα mit A V und a T und α V Ist ε L(G), so darf G zusätzlich die Regel S ε enthalten. In diesem Fall darf S in keiner Regelconclusio vorkommen. G enthält keine nutzlosen Symbole. Furbach Grundlagen d. Theoretischen Informatik: Normalformen SS / 544
55 Teil IV Kellerautomaten und kontextfreie Sprachen 17 Ableitungsbäume 18 Umformung von Grammatiken 19 Normalformen 20 Pumping-Lemma für kontextfreie Sprachen 21 Pushdown-Automaten (PDAs) 22 Abschlusseigenschaften 23 Wortprobleme 24 Der CYK-Algorithmus Furbach Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS / 544
56 Wiederholung: Pumping-Lemma für reguläre Sprachen Theorem 20.1 (Pumping-Lemma für L 3 -Sprachen) Sei L RAT. Dann existiert ein n N, so dass: Für alle x L mit x n existiert eine Zerlegung mit x = uvw v 1 v < n uv m w L u,v,w Σ für alle m N Furbach Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS / 544
57 Pumping-Lemma für kontextfreie Sprachen Theorem 20.2 (Pumping-Lemma für kontextfreie Sprachen) Sei L kontextfrei Dann existiert ein n N, so dass: Für alle z L mit x n existiert eine Zerlegung mit z = uvwxy vx 1 vwx < n uv m wx m y L u,v,w,x,y Σ für alle m N Furbach Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS / 544
58 Pumping-Lemma für kontextfreie Sprachen Beweisidee Bei der Ableitung eines hinreichend langen Wortes muss es eine Variable geben, die mehr als einmal auftaucht. Dies führt zu einer Schleife in der Ableitung, die aufgepumpt werden kann. Furbach Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS / 544
59 Pumping-Lemma für kontextfreie Sprachen Anwendung des Pumping-Lemmas für cf-sprachen Wenn das cf-pumping-lemma für eine Sprache nicht gilt, dann kann sie nicht kontextfrei sein. Beispiel 20.3 (Sprachen, die nicht kontextfrei sind) Für folgende Sprachen kann man mit Hilfe des cf-pumping-lemmas zeigen, dass sie nicht kontextfrei sind: {a p p prim} {a n b n c n n N} {zzz z {a,b} }d. Furbach Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS / 544
60 Teil IV Kellerautomaten und kontextfreie Sprachen 17 Ableitungsbäume 18 Umformung von Grammatiken 19 Normalformen 20 Pumping-Lemma für kontextfreie Sprachen 21 Pushdown-Automaten (PDAs) 22 Abschlusseigenschaften 23 Wortprobleme 24 Der CYK-Algorithmus Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
61 Erzeugende Grammatiken akzeptierende Automaten Erinnerung: Reguläre Sprachen werden erzeugt von rechtslinearen Grammatiken werden akzeptiert von endlichen Automaten Jetzt: Kontextfreie Sprachen werden erzeugt von kontextfreien Grammatiken werden akzeptiert von Pushdown-Automaten Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
62 Idee des Push-Down-Automaten Beispiel 21.1 Die prototypische cf-sprache {a n b n n N 0 } Endliche Automaten reichen nicht aus. Sie können sich nicht merken, wie oft sie einen Zustand durchlaufen haben. Für a n b n muss man aber mitzählen. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
63 Idee des Push-Down-Automaten Idee: Wie kann man diese Sprache akzeptieren? Weitere Informationen auf dem Stack sichern Später zurückholen Ähnlich einem Prozeduraufruf Grammatikregel wie S aab entspricht Aufruf einer Prozedur für das A. Stack, Stapel, Keller Last in, first out Zuletzt gespeicherte Information liegt immer obenauf Beliebig viel Information kann gespeichert werden (Aber kein beliebiger Zugriff!) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
64 Push-Down-Automat Push-Down-Automat (PDA): Informell Wie endlicher Automat, aber zusätzlicher einen Stack Übergangsrelation bezieht das oberste Stacksymbol in den Übergang ein Bei Zustandsübergang: lesen und schreiben auf Stack Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
65 Push-Down-Automat Definition 21.2 (Push-Down-Automat) Ein Push-Down-Automat (PDA) ist ein Tupel M = (K,Σ,Γ,,s 0,Z 0,F) Dabei ist K Σ Γ s 0 K Z 0 Γ F K eine endliche Menge von Zuständen das Eingabealphabet das Stack- oder Kelleralphabet der Startzustand das Anfangssymbol im Keller eine Menge von finalen Zuständen die Zustandsübergangsrelation, eine endliche Relation: (K (Σ {ε}) Γ) (K Γ ) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
66 Push-Down-Automat Arbeitsschritt eines PDA In Abhängigkeit vom aktuellen Zustand vom nächsten Eingabezeichen (oder auch unabhängig davon) vom obersten Kellersymbol geschieht folgendes nächstes Eingabezeichen wird gelesen oder nicht (bei ε), das oberste Kellersymbol wird entfernt, der Zustand wird geändert, es werden null oder mehr Zeichen auf den Keller geschoben Bei neuen Keller-Wort γ = A 1...A n wird A n zuerst auf den Keller geschoben usw., so daß am Schluss A 1 obenauf liegt. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
67 Push-Down-Automat Notation a,b,c für Buchstaben aus Σ u,v,w für Wörter aus Σ A,B für Stacksymbole aus Γ γ,η für Stackinhalte aus Γ Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
68 Push-Down-Automat: Konfiguration Konfiguration eines PDA: Informell Konfiguration beschreibt die aktuelle Situation des PDA komplett Bestandteile: aktueller Zustand noch zu lesendes Restwort kompletter Stackinhalt Für Konfigurationen C 1,C 2 bedeutet C 1 C 2 daß der PDA in einem Schritt von C 1 nach C 2 gelangen kann. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
69 Push-Down-Automat: Konfiguration Definition 21.3 (Konfiguration eines PDA, ) Eine Konfiguration C eines PDA M = (K,Σ,Γ,,s 0,Z 0,F) ist ein Tripel (q,w,γ) K Σ Γ. q der aktuelle Zustand w der noch zu lesendes Restwort γ der komplette Stackinhalt Definition 21.4 (Startkonfiguration) Bei Eingabewort w ist die Startkonfiguration: (s 0,w,Z 0 ) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
70 Push-Down-Automat: Konfiguration Definition 21.5 (Nachfolgekonfiguration) C 2 heißt Nachfolgekonfiguration von C 1, C 1 C 2 falls a Σ A Γ w Σ γ,η Γ so dass entweder C 1 = (q 1,aw,Aγ), C 2 = (q 2,w,ηγ), und (q 1,a,A) (q 2,η), oder C 1 = (q 1,w,Aγ), C 2 = (q 2,w,ηγ), und (q 1,ε,A) (q 2,η), Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
71 Push-Down-Automat: Rechnung Definition 21.6 (Rechnung eines PDA) Sei A ein Push-Down-Automat. C A C gdw es eine Reihe von Konfigurationen C 0,C 1,...,C n (n 0) so daß C = C 0, C = C n, C i A C i+1 für alle 0 i < n Dann heißt C 0,C 1,...,C n eine Rechnung von A Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
72 Push-Down-Automat: Akzeptierte Sprache Definition 21.7 (von PDA akzeptierte Sprache) Ein PDA M kann auf zwei verschiedene Arten eine Sprache akzeptieren: über finale Zustände über leeren Keller L f (M) = {w Σ q F γ Γ ( (s 0,w,Z 0 ) M (q,ε,γ)) } L l (M) = {w Σ q ( K (s 0,w,Z 0 ) M (q,ε,ε)) } Bemerkung Das zu akzeptierende Wort w muss von M ganz gelesen werden: (s 0,w,Z 0 ) (q,ε, ) ist gefordert. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
73 Push-Down-Automat Bemerkung Das unterste Symbol im Keller kann gelöscht werden. Dann aber hängt der PDA Er kann nicht mehr weiter rechnen Es gibt keinenachfolgekonfiguration Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
74 Push-Down-Automat: Beispiel Beispiel 21.8 Sprache der Palindrome über {a, b}: L = {w {a,b} w = w R } L wird über leeren Keller akzeptiert von dem PDA mit... M := ({s 0,s 1 },{a,b}, {Z 0,A,B},,s 0,Z 0, /0) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
75 Push-Down-Automat: Beispiel Beispiel (Forts.) Idee: Ein Palindrom w = w R hat die Form vv R oder vav R oder vbv R für ein v {a,b} Der Automat M liest v und merkt sich jeden Buchstaben. Er rät indeterminiert die Wortmitte. Falls das Wort eine ungerade Anzahl von Buchstaben hat, also w = vav R oder w = vbv R, dann muss dabei ein Buchstabe überlesen werden. Der Stack enthält nun v R. M muss jetzt nur noch jeden weiteren gelesenen Buchstaben mit dem jeweils obersten Kellersymbol vergleichen. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
76 Push-Down-Automat: Beispiel Beispiel (Forts.) (s 0,ε,Z 0 ) (s 1,ε) (s 0,a,Z 0 ) (s 0,A) (s 0,a,A) (s 0,AA) (s 0,a,B) (s 0,AB) (s 0,b,Z 0 ) (s 0,B) (s 0,b,A) (s 0,BA) (s 0,b,B) (s 0,BB) } ε akzeptieren Stack aufbauen Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
77 Push-Down-Automat: Beispiel Beispiel (Forts.) } (s 0,ε,A) (s 1,ε) Richtungswechsel für Palindrome (s 0,ε,B) (s 1,ε) mit ungerader Buchstabenanzahl } (s 0,a,A) (s 1,ε) Richtungswechsel für Palindrome (s 0,b,B) (s 1,ε) mit gerader Buchstabenanzahl } (s 1,a,A) (s 1,ε) Stack abbauen (s 1,b,B) (s 1,ε) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
78 Push-Down-Automat: Beispiel Beispiel (Forts.) Für das Eingabewort abbabba rechnet M so: (s 0,abbabba,Z 0 ) (s 0,bbabba,A) (s 0,babba,BA) (s 0,abba,BBA) (s 0,bba,ABBA) (s 1,bba,BBA) (s 1,ba,BA) (s 1,a,A) (s 1,ε,ε) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
79 Push-Down-Automat: Beispiel Beispiel 21.9 Die Sprache L = {w {a,b} # a (w) = # b (w)} wird über finalen Zustand akzeptiert von dem PDA M = ({s 0,s 1 },{a,b},{z 0,A,A,B,B},,s 0,Z 0,{s 0 }) mit... Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
80 Push-Down-Automat: Beispiel Beispiel (Forts.) Idee: auf dem Stack mitzählen, wieviel A-Überhang oder B-Überhang momentan besteht Der Stack enthält zu jedem Zeitpunkt entweder nur A/A (A-Überhang) oder nur B/B (B-Überhang) oder nur das Symbol Z 0 (Gleichstand). Das unterste A bzw. B auf dem Stack ist durch einen Unterstrich gekennzeichnet. So weiß M, wenn er dies Stacksymbol löscht, daß dann bis zu diesem Moment gleichviel as wie bs gelesen wurden. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
81 Push-Down-Automat: Beispiel Beispiel (Forts.) (s 0,a,Z 0 ) (s 1,A) (s 0,b,Z 0 ) (s 1,B) (s 1,a,A) (s 1,AA) (s 1,b,B) (s 1,BB) (s 1,a,A) (s 1,AA) (s 1,b,B) (s 1,BB) (s 1,a,B) (s 0,Z 0 ) (s 1,b,A) (s 0,Z 0 ) (s 1,a,B) (s 1,ε) (s 1,b,A) (s 1,ε) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
82 Push-Down-Automat: Finaler Zustand / leerer Keller Theorem (finale Zustände leerer Keller) Zu jedem PDA M 1 existiert ein PDA M 2 mit L f (M 1 ) = L l (M 2 ) Beweisidee Wir simulieren die Maschine M 1, die über finale Zustände akzeptiert, durch die Maschine M 2, die über leeren Keller akzeptiert. M 2 arbeitet wie M 1, mit dem Unterschied: Wenn ein Zustand erreicht wird, der in M 1 final war, kann M 2 seinen Keller leeren. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
83 Push-Down-Automat: Finaler Zustand / leerer Keller Theorem (leerer Keller finale Zustände) Zu jedem PDA M 1 existiert ein PDA M 2 mit L l (M 1 ) = L f (M 2 ) Beweisidee Wir simulieren die Maschine M 1, die über leeren Keller akzeptiert, durch die Maschine M 2, die über finale Zustände akzeptiert. M 2 arbeitet wie M 1, legt aber ein zusätzliches Symbol ganz unten in den Keller. Wenn M 1 seinen Keller geleert hätte (also das neue unterste Symbol sichtbar wird), kann M 2 in einen finalen Zustand gehen. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
84 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Theorem (PDA akzeptieren L 2 ) Die Klasse der PDA-akzeptierten Sprachen ist L 2. Beweis Dazu beweisen wir die folgenden zwei Lemmata, die zusammen die Aussage des Satzes ergeben. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
85 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Lemma (cf-grammatik PDA) Zu jeder kontextfreien Grammatik G gibt es einen PDA M mit L(M) = L(G) Beweis O.B.d.A. sei die kontextfreie Grammatik G = (V,T,R,S) in Greibach-Normalform: Alle Grammatikregeln haben die Form A au mit A V, a T, u V Wir konstruieren zu G einen PDA M, der L(G) akzeptiert. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
86 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beweis (Forts.) Idee: Der Automat M vollzieht die Grammatikregeln nach, die angewendet worden sein könnten, um das aktuelle Eingabewort zu erzeugen und merkt sich das aktuelle Wort in der Ableitung bzw. dessen Rest merkt sich auf dem Keller alle Variablen, die im gedachten Ableitungswort noch vorkommen und noch ersetzt werden müssen. Die linkeste Variable liegt zuoberst: M arbeitet mit der Linksableitung. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
87 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beweis (Forts.) Genauer: Erzeugung eines Wortes mit G beginnt beim Startsymbol S. Deshalb S bei M in Startkonfiguration oben auf dem Keller. Angenommen, G hat 2 Regeln mit S auf der linken Seite: S aa 1 A 2 und S bb 1 B 2 Angenommen, der erste Buchstabe des Input-Wortes w ist ein a. Wenn w von G erzeugt wurde, hat G die erste der zwei S-Produktionen angewendet. Entsprechend: Der Automat M schiebt A 1 A 2 auf den Stack. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
88 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beweis (Forts.) Genauer: Der zweite Buchstabe des Eingabeworts muss durch Anwendung einer Regel A 1 a 1 α erzeugt worden sein. Angenommen, der zweite Buchstabe des Eingabeworts ist a 1. Dann müssen die nächsten Buchstaben des Wortes aus den Variablen in α entstehen. Der Automat entfernt A 1 vom Stack und legt α auf den Stack. Wenn es zwei Regeln A 1 a 1 α 1 und A 1 a 1 α 2 gibt, dann wählt M indeterminiert eine der Regeln aus. Der PDA hat nur einen einzigen Zustand und akzeptiert über den leeren Keller. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
89 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beweis (Forts.) Formal: M = (K,Σ,Γ,,s 0,Z 0,F) mit K := {s 0 } Σ := T Γ := V Z 0 := S F := /0 := {((s 0,a,A),(s 0,α)) A aα R} Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
90 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beweis (Forts.) Damit gilt (Beweis s. Buch): Es gibt eine Linksableitung S = G xα mit x T,α V Daraus folgt unmittelbar: L(G) = L l (M) gdw M rechnet (s 0,x,S) M (s 0,ε,α) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
91 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beispiel Die Sprache L = {ww R w {a,b} + } wird generiert von der GNF-Grammatik G = ({S,A,B},{a,b},R,S) mit R = { S asa bsb aa bb A a B b } Daraus kann man einen PDA mit den folgenden Regeln konstruieren: (s 0,a,S) (s 0,SA) (s 0,a,S) (s 0,A) (s 0,b,S) (s 0,SB) (s 0,b,S) (s 0,B) (s 0,a,A) (s 0,ε) (s 0,b,B) (s 0,ε) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
92 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Lemma (PDA cf-grammatik) Zu jedem Push-Down-Automaten M gibt es eine kontextfreie Grammatik G mit L(G) = L(M) Beweis Sei M ein PDA, der eine Sprache L über leeren Keller akzeptiert. Wir konstruieren aus dem Regelsatz von M eine kontextfreie Grammatik, die L erzeugt. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
93 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beweis (Forts.) Idee: Die Variablen der Grammatik sind 3-Tupel der Form [q,a,p] Bedeutung: Grammatik kann Wort x aus Variablen [q, A, p] ableiten gdw M kann vom Zustand q in den Zustand p übergehen, dabei A vom Keller entfernen (sonst den Keller unveränder lassen) und das Wort x lesen: ( [q,a,p] = x ) gdw ( (q,x,aγ) (p,ε,γ) ) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
94 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beweis (Forts.) Formale Konstruktion: Sei M = (K,Σ,Γ,,s 0,Z 0,F) ein PDA. Daraus konstruiert man die Grammatik G = (V,T,R,S) mit und... V := {[q,a,p] q,p K, A Γ} {S} T := Σ Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
95 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beweis (Forts.)... folgenden Regeln in R: S [s 0,Z 0,q] für alle q K, [q,a,q m+1 ] a [q 1,B 1,q 2 ][q 2,B 2,q 3 ]...[q m,b m,q m+1 ] für jeden -Übergang (q,a,a) (q 1,B 1...B m ) und für jede beliebige Kombination q 2,...,q m+1 K, [q,a,q 1 ] a für jeden -Übergang (q,a,a) (q 1,ε) Dabei ist a Σ {ε}. Siehe Buch für Beweis, dass die Konstruktion das gewünschte Ergebnis liefert: ( [q,a,p] = x ) gdw ( (q,x,a) (p,ε,ε) ) woraus sofort L l (M) = L(G) folgt. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
96 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beispiel Sprache: L ab = {a n b n n N 0 } L ab wird über leeren Keller akzeptiert von dem PDA M = ({s 0,s 1 },{a,b},{z 0,A},s 0,Z 0, /0) mit den Regeln 1. (s 0,ε,Z 0 ) (s 0,ε) 2. (s 0,a,Z 0 ) (s 0,A) 3. (s 0,a,A) (s 0,AA) 4. (s 0,b,A) (s 1,ε) 5. (s 1,b,A) (s 1,ε) Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
97 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beispiel (Forts.) Die Transformation ergibt folgende Grammatik-Regeln: S [s 0,Z 0,s 0 ] [s 0,Z 0,s 1 ] 1. [s 0,Z 0,s 0 ] ε 2. [s 0,Z 0,s 0 ] a[s 0,A,s 0 ] [s 0,Z 0,s 1 ] a[s 0,A,s 1 ] 3. [s 0,A,s 0 ] a[s 0,A,s 0 ][s 0,A,s 0 ] [s 0,A,s 0 ] a[s 0,A,s 1 ][s 1,A,s 0 ] [s 0,A,s 1 ] a[s 0,A,s 0 ][s 0,A,s 1 ] [s 0,A,s 1 ] a[s 0,A,s 1 ][s 1,A,s 1 ] 4. [s 0,A,s 1 ] b 5. [s 1,A,s 1 ] b Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
98 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beispiel (Forts.) Lesbarer haben wir damit folgende Grammatik: Man sieht jetzt: S A B A ac ε B ad C acc ade D acd adf b F b Variable E ist nutzlos, und damit auch die Variable C. Die Grammatik enthält Kettenproduktionen und nullbare Variablen. Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
99 Gleichmächtigkeit: PDAs und kontextfreie Grammatiken Beispiel (Forts.) Nach Entfernung der überflüssigen Elemente: S ε ad D adf b F b Mit dieser Grammatik kann man z.b. folgende Ableitung ausführen: S = ad = aadf = aaadff = aaabff = aaabbf = aaabbb Furbach Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS / 544
100 Teil IV Kellerautomaten und kontextfreie Sprachen 17 Ableitungsbäume 18 Umformung von Grammatiken 19 Normalformen 20 Pumping-Lemma für kontextfreie Sprachen 21 Pushdown-Automaten (PDAs) 22 Abschlusseigenschaften 23 Wortprobleme 24 Der CYK-Algorithmus Furbach Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS / 544
101 Abschlusseigenschaften Theorem 22.1 (Abschlusseigenschaften von L 2 ) L 2 ist abgeschlossen gegen: Vereinigung Konkatenation Kleene-Stern Beweis Seien G i = (V i,t i,r i,s i ) (i {1,2}) zwei cf-grammatiken mit V 1 V 2 = /0. Sei L i = L(G i ) Furbach Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS / 544
102 Abschlusseigenschaften Beweis (Forts.) zu : (V 1 V 2 {S neu },T 1 T 2,R 1 R 2 {S neu S 1 S 2 },S neu ) zu : erzeugt gerade L 1 L 2 (V 1 V 2 {S neu },T 1 T 2,R 1 R 2 {S neu S 1 S 2 },S neu ) erzeugt gerade L 1 L 2 zu : (V 1 {S neu },T 1,R 1 {S neu S 1 S neu ε},s neu ) erzeugt gerade L 1. Furbach Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS / 544
103 Abschlusseigenschaften Theorem 22.2 (Abschlusseigenschaften von L 2 ) L 2 ist nicht abgeschlossen gegen: Durchschnitt Komplement Furbach Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS / 544
104 Abschlusseigenschaften Beweis Zu : L 1 = {a n b n c m n,m N} L 2 = {a m b n c n n,m N} wird erzeugt von G i = ({S,S,T },{a,b,c},r i,s) mit R 1 = { S S T S as b ab T ct c} R 2 = { S TS S bs c bc T at a} Sowohl L 1 als auch L 2 sind cf, nicht aber L 1 L 2 = {a n b n c n n N}. Furbach Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS / 544
105 Abschlusseigenschaften Beweis Zu : Angenommen, L 2 wäre abgeschlossen gegen. Wegen L 1 L 2 = ( L 1 L 2 ) wäre L 2 dann auch abgeschlossen gegen Widerspruch Furbach Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS / 544
106 Teil IV Kellerautomaten und kontextfreie Sprachen 17 Ableitungsbäume 18 Umformung von Grammatiken 19 Normalformen 20 Pumping-Lemma für kontextfreie Sprachen 21 Pushdown-Automaten (PDAs) 22 Abschlusseigenschaften 23 Wortprobleme 24 Der CYK-Algorithmus Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
107 Wortproblem Problem Gegeben: eine cf-grammatik G, so daß L(G) eine Sprache ist über Σ, und ein Wort w Σ Frage: Ist w L(G)? Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
108 Wortproblem Lösung des Wortproblems für L 3 Gegeben eine rechtslineare Grammatik G, so daß L(G) eine Sprache ist über Σ, und ein Wort w Σ. Konstruiere aus G einen ε-ndea A 1. Konstruiere aus A 1 einen NDEA A 2. Konstruiere aus A 2 einen DEA A 3. Probiere aus, ob A 3 das Wort w akzeptiert. Dazu braucht der Automat A 3 genau w Schritte. Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
109 Wortproblem Das Wortproblem für L 2 Zu jeder cf-grammatik G kann man einen PDA konstruieren Aber ein Pushdown-Automat kann ε-übergänge machen, in denen er das Wort nicht weiter liest. Wie kann man dann garantieren, daß der Automat in endlich vielen Schritten das Wort w zu Ende gelesen hat? Deshalb: verwende anderes Verfahren: Cocke-Younger-Kasami-Algorithmus (CYK-Algorithmus) Auch: Chart-Parsing Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
110 Chart-Parsing Gegeben: Ein Wort w = a 1...a n Idee Prinzip der dynamischen Programmierung 1.: Ermittle woraus sich die einstelligen Teilworte ableiten lassen 2.: Ermittle woraus sich die zweistelligen Teilworte ableiten lassen... n.: Ermittle woraus sich die n-stelligen Teilworte (w selbst) ableiten lassen Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
111 Chart-Parsing Beispiel 23.1 Die Grammatik G = ({S},{a,b},R,S) mit R = { S asa bsb aa bb } erzeugt die Sprache {vv R v {a,b} + } Betrachten wir das Wort w = abbaabba. Was sind mögliche letzte Schritte von Ableitungen, die zu w geführt haben können? Wir merken uns alle möglichen einzelnen Ableitungsschritte in einer Chart, um Mehrfacharbeit zu vermeiden. Wenn das Wort w in der Sprache L(G) ist, enthält am Ende der Chart eine mit S markierte Kante, die vom ersten bis zum letzten Knoten reicht. Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
112 Chart-Parsing Beispiel (Forts.) S S a b b a a b b a S Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
113 Chart-Parsing Beispiel (Forts.) S S S a b b a a b b a S Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
114 Chart-Parsing Beispiel (Forts.) S S S a b b a a b b a S S Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
115 Chart-Parsing Beispiel (Forts.) S S S S a b b a a b b a S S Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
116 Chart-Parsing Beispiel (Forts.) S S S S a b b a a b b a S S S Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
117 Chart-Parsing Beispiel (Forts.) S S S S a b b a a b b a S S S S Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
118 Chart-Parsing Zur Vereinfachung Wir fordern: Grammatik ist in Chomsky-Normalform. Dann: Immer nur zwei benachbarte Kanten betrachten, um herauszufinden, ob darüber eine neue Kante eingefügt werden kann. Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
119 Chart-Parsing Beispiel (Forts.) Grammatik in CNF, die dieselbe Sprache wie oben erzeugt: G = ({S,S a,s b,a,b},{a,b},r,s} mit R = { S AS a BS b AA BB S a SA S b SB A a B b} Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
120 Chart-Parsing Darstellung als Array Für eine Kante, die den i. bis j. Buchstaben überspannt und mit A markiert ist, steht im [i, j]-element des Arrays die Eintragung A. Definition 23.2 (M N) Sei L = L(G) kontextfrei, und G = (V,T,R,S) in Chomsky-Normalform. Mit M,N V sei M N := {A V B M, C N : A BC R} Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
121 Chart-Parsing Definition 23.3 (w i,j,v i,j ) Sei w = a 1...a n mit a i Σ. Dann: w i,j := a i...a j ist das Infix von w vom i-ten bis zum j-ten Buchstaben V i,j := {A V A = G w i,j} Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
122 Chart-Parsing Lemma 23.4 Sei w = a 1...a n, a i Σ, d.h. w = n. Dann gilt: 1 V i,i = {A V A a i R} 2 V i,k = k 1 j=i V i,j V j+1,k für 1 i < k n Beachte: Die Grammatik muss in Chomsky-Normalform sein! Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
123 Chart-Parsing Beweis 1 V i,i = {A V A = G a i} = {A V A a i R}, da G in CNF ist. 2 A V i,k mit 1 i < k n gdw A = a G i...a k gdw j, i j < k : B,C V : A = BC, und B = w G i,j ε und C = w G j+1,k ε (da G in CNF ist) gdw j, i j < k : B,C V : A = BC und B V i,j und C V j+1,k gdw j, i j < k : A V i,j V j+1,k Furbach Grundlagen d. Theoretischen Informatik: Wortprobleme SS / 544
124 Teil IV Kellerautomaten und kontextfreie Sprachen 17 Ableitungsbäume 18 Umformung von Grammatiken 19 Normalformen 20 Pumping-Lemma für kontextfreie Sprachen 21 Pushdown-Automaten (PDAs) 22 Abschlusseigenschaften 23 Wortprobleme 24 Der CYK-Algorithmus Furbach Grundlagen d. Theoretischen Informatik: Der CYK-Algorithmus SS / 544
125 CYK-Algorithmus (Cocke-Younger-Kasami) Algorithmus Input sei eine Grammatik G in CNF und ein Wort w = a 1...a n Σ. (i) for i := 1 to n do / Regeln A a eintragen / V i,i := {A V A a i R} (ii) for h := 1 to n 1 do for i := 1 to n h do V i,i+h = i+h 1 V i,j V j+1,i+h (iii) if S V 1,n j=i then return Ausgabe w L(G) else return Ausgabe w L(G) Furbach Grundlagen d. Theoretischen Informatik: Der CYK-Algorithmus SS / 544
126 CYK-Algorithmus (Cocke-Younger-Kasami) Eigenschaften Für Wörter der Länge w = n entscheidet der CYK-Algorithmus in der Größenordnung von n 3 Schritten, ob w L(G) ist. Furbach Grundlagen d. Theoretischen Informatik: Der CYK-Algorithmus SS / 544
127 CYK-Algorithmus (Cocke-Younger-Kasami) Beispiel 24.1 (CYK) Eine Grammatik in CNF, die dieselbe Sprache wie oben erzeugt: G = ({S,S a,s b,a,b},{a,b},r,s} R = { S AS a BS b AA BB S a SA S b SB A a B b} Die Sprache ist: L(G) = {vv R v {a,b} + } Auführlich an der Tafel. Furbach Grundlagen d. Theoretischen Informatik: Der CYK-Algorithmus SS / 544
128 Furbach Grundlagen d. Theoretischen Informatik: Der CYK-Algorithmus SS / 544
Grundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 15.06.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrGrundlagen 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:
MehrDank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Erzeugende Grammatiken akzeptierende Automaten.
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrGrundlagen 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:
MehrGrundlagen 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:
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 18.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrGrundlagen 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
MehrGrundlagen 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:
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrTheoretische 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
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie
MehrDank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)
ank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert iese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrGrundlagen 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 ommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
MehrGrundlagen 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 ommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:
MehrKapitel 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
Mehra b b a a b b a Dank Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Chart-Parsing Chart-Parsing Vorlesung
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
MehrGrundlagen 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
Mehr4.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,
MehrWortproblem 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?
MehrMotivation. 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
MehrTheorie 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
MehrProgrammiersprachen 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
Mehr2.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
MehrTheoretische 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
MehrGrammatiken. 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
MehrTheoretische 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
MehrGrundbegriffe 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
MehrGrundlagen 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)
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (I) 3.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch,
MehrInformationsblatt 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
MehrPrimzahlen 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
MehrTheoretische 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
MehrMathematische 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
MehrGrundlagen 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
Mehr1. 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:
MehrLineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrFormale 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
MehrVorlesung Diskrete Strukturen Graphen: Wieviele Bäume?
Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume? Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2013/14 Isomorphie Zwei Graphen (V 1, E 1 ) und (V
MehrWS 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Ü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
Mehr4. 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
Mehr10 Kellerautomaten. Kellerautomaten
10 Kellerautomaten Bisher hatten wir kontextfreie Sprachen nur mit Hilfe von Grammatiken charakterisiert. Wir haben gesehen, dass endliche Automaten nicht in der Lage sind, alle kontextfreien Sprachen
MehrZusammenfassung. 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
Mehr50. 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
MehrKapiteltests zum Leitprogramm Binäre Suchbäume
Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm
MehrEinfü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
MehrAlso kann nur A ist roter Südler und B ist grüner Nordler gelten.
Aufgabe 1.1: (4 Punkte) Der Planet Og wird von zwei verschiedenen Rassen bewohnt - dem grünen und dem roten Volk. Desweiteren sind die Leute, die auf der nördlichen Halbkugel geboren wurden von denen auf
MehrDas Briefträgerproblem
Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................
MehrBasis 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
MehrKapitel 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
Mehr15 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
MehrGrundlagen der Theoretischen Informatik
1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G
MehrInformatik 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)
MehrGrundlagen der Künstlichen Intelligenz
Grundlagen der Künstlichen Intelligenz 27. Aussagenlogik: Logisches Schliessen und Resolution Malte Helmert Universität Basel 28. April 2014 Aussagenlogik: Überblick Kapitelüberblick Aussagenlogik: 26.
MehrTheoretische 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
MehrEinfü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
MehrInformatik 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
MehrInformatik 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.....................................
MehrGrundbegriffe 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
MehrOgden s Lemma: Der Beweis (1/5)
Ogden s Lemma: Der Beweis (1/5) Wir betrachten zuerst die Rahmenbedingungen : Laut dem auf der vorhergehenden Folie zitierten Satz gibt es zur kontextfreien Sprache L eine Grammatik G = (Σ, V, S, P) in
Mehrt 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
MehrFormale 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
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrMusterlö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
MehrLogische Folgerung. Definition 2.11
Logische Folgerung Definition 2.11 Sei 2A eine aussagenlogische Formel und F eine endliche Menge aussagenlogischer Formeln aus A. heißt logische Folgerung von F genau dann, wenn I ( ) =1für jedes Modell
MehrBeweisbar sichere Verschlüsselung
Beweisbar sichere Verschlüsselung ITS-Wahlpflichtvorlesung Dr. Bodo Möller Ruhr-Universität Bochum Horst-Görtz-Institut für IT-Sicherheit Lehrstuhl für Kommunikationssicherheit bmoeller@crypto.rub.de 6
MehrAlgorithmentheorie. 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
MehrErfüllbarkeit und Allgemeingültigkeit
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.3 Aussagenlogik Erfüllbarkeit 44 Erfüllbarkeit und Allgemeingültigkeit Def.: eine Formel ϕ heißt erfüllbar, wennesein I gibt, so dass I = ϕ
MehrRekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt
Methoden und Techniken an Beispielen erklärt Georg Anegg 5. November 009 Beispiel. Die Folge {a n } sei wie folgt definiert (a, d, q R, q ): a 0 a, a n+ a n q + d (n 0) Man bestimme eine explizite Darstellung
MehrAnalysis I für Studierende der Ingenieurwissenschaften
Fachbereich Mathematik der Universität Hamburg WiSe 2015/16 Prof. Dr. M. Hinze Dr. P. Kiani Analysis I für Studierende der Ingenieurwissenschaften Lösungshinweise zu Blatt 2 Aufgabe 1: (12 Punkte) a) Beweisen
MehrDivision Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema
Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x
MehrVorlesung 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
Mehr1 topologisches Sortieren
Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung
MehrEinführung in die Computerlinguistik
Einführung in die Computerlinguistik Kontextfreie Sprachen und Pushdown-Automaten Dozentin: Wiebke Petersen WS 2004/2005 Wiebke Petersen Formale Komplexität natürlicher Sprachen WS 03/04 Wiederholung c
MehrGuten Morgen und Willkommen zur Saalübung!
Guten Morgen und Willkommen zur Saalübung! 1 Wie gewinnt man ein Spiel? Was ist ein Spiel? 2 Verschiedene Spiele Schach, Tic-Tac-Toe, Go Memory Backgammon Poker Nim, Käsekästchen... 3 Einschränkungen Zwei
MehrERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN
ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN CHRISTIAN HARTFELDT. Zweiter Mittelwertsatz Der Mittelwertsatz Satz VI.3.4) lässt sich verallgemeinern zu Satz.. Seien f, g : [a, b] R auf [a,
Mehr7 Rechnen mit Polynomen
7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn
MehrGrundlagen 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
Mehr4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:
4. AUSSAGENLOGIK: SYNTAX 4.1 Objektsprache und Metasprache 4.2 Gebrauch und Erwähnung 4.3 Metavariablen: Verallgemeinerndes Sprechen über Ausdrücke von AL 4.4 Die Sprache der Aussagenlogik 4.5 Terminologie
MehrAnmerkungen zur Übergangsprüfung
DM11 Slide 1 Anmerkungen zur Übergangsprüfung Aufgabeneingrenzung Aufgaben des folgenden Typs werden wegen ihres Schwierigkeitsgrads oder wegen eines ungeeigneten fachlichen Schwerpunkts in der Übergangsprüfung
MehrErstellen von x-y-diagrammen in OpenOffice.calc
Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei
MehrSprachen/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:
MehrEine Logikschaltung zur Addition zweier Zahlen
Eine Logikschaltung zur Addition zweier Zahlen Grundlegender Ansatz für die Umsetzung arithmetischer Operationen als elektronische Schaltung ist die Darstellung von Zahlen im Binärsystem. Eine Logikschaltung
MehrGrundbegriffe 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
MehrTutorium 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
Mehr3.3 Eigenwerte und Eigenräume, Diagonalisierung
3.3 Eigenwerte und Eigenräume, Diagonalisierung Definition und Lemma 3.3.1. Sei V ein K-Vektorraum, φ End K (V ), λ K. Wir defnieren den zu λ gehörigen Eigenraum von φ als Dies ist ein Unterraum von V.
MehrÜ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
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
Mehr1 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.
MehrTangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:
Tangentengleichung Wie Sie wissen, gibt die erste Ableitung einer Funktion deren Steigung an. Betrachtet man eine fest vorgegebene Stelle, gibt f ( ) also die Steigung der Kurve und somit auch die Steigung
MehrKapitel 15. Lösung linearer Gleichungssysteme
Kapitel 15. Lösung linearer Gleichungssysteme Lineare Gleichungssysteme Wir befassen uns nun mit der Lösung im allgemeinen nichthomogener linearer Gleichungssysteme in zweifacher Hinsicht. Wir studieren
MehrLernziele: 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
MehrFormale 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.
Mehr9.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
MehrTheoretische 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
MehrGrundbegriffe 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
MehrErstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])
3.7 Erstellen einer Collage Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu]) Dann Größe des Dokuments festlegen beispielsweise A4 (weitere
MehrWS 2013/14. Diskrete Strukturen
WS 2013/14 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/ws1314
Mehr