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

Größe: px
Ab Seite anzeigen:

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

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 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

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

Dank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Erzeugende Grammatiken akzeptierende Automaten.

Dank. 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

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen 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

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

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

Grundlagen der Theoretischen Informatik

Grundlagen 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

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

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

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

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

Grundlagen der Theoretischen Informatik

Grundlagen 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

Mehr

Dank. 1 Ableitungsbäume. 2 Umformung von Grammatiken. 3 Normalformen. 4 Pumping-Lemma für kontextfreie Sprachen. 5 Pushdown-Automaten (PDAs)

Dank. 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

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 ommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

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 ommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

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

a b b a a b b a Dank Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Chart-Parsing Chart-Parsing Vorlesung

a 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

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

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

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

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

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

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

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

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 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

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

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

Grundlagen der Theoretischen Informatik

Grundlagen 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,

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

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

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

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

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

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

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

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Vorlesung 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

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

Ü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

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

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

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

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

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests 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

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

Also kann nur A ist roter Südler und B ist grüner Nordler gelten.

Also 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

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

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

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

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

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

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

Grundlagen der Künstlichen Intelligenz

Grundlagen 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.

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

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

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 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

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

Ogden s Lemma: Der Beweis (1/5)

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

Mehr

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

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

Zeichen bei Zahlen entschlüsseln

Zeichen 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

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binä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

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

Logische Folgerung. Definition 2.11

Logische 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

Mehr

Beweisbar sichere Verschlüsselung

Beweisbar 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

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

Erfüllbarkeit und Allgemeingültigkeit

Erfü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 = ϕ

Mehr

Rekursionen. Georg Anegg 25. November 2009. Methoden und Techniken an Beispielen erklärt

Rekursionen. 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

Mehr

Analysis I für Studierende der Ingenieurwissenschaften

Analysis 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

Mehr

Division 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 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

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

1 topologisches Sortieren

1 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

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

Guten Morgen und Willkommen zur Saalübung!

Guten 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

Mehr

ERGÄNZUNGEN ZUR ANALYSIS II MITTELWERTSATZ UND ANWENDUNGEN

ERGÄ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,

Mehr

7 Rechnen mit Polynomen

7 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

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

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4. 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

Mehr

Anmerkungen zur Übergangsprüfung

Anmerkungen 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

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen 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

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

Eine Logikschaltung zur Addition zweier Zahlen

Eine 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

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

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

3.3 Eigenwerte und Eigenräume, Diagonalisierung

3.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 Ü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

Lineare Gleichungssysteme

Lineare 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

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

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Tangentengleichung. 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

Mehr

Kapitel 15. Lösung linearer Gleichungssysteme

Kapitel 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

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

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

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

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

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

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Erstellen 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

Mehr

WS 2013/14. Diskrete Strukturen

WS 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