Formale Grundlagen der Informatik

Größe: px
Ab Seite anzeigen:

Download "Formale Grundlagen der Informatik"

Transkript

1 Formale Grundlagen der Informatik /

2 Reguläre Ausdrücke Kommen in der Praxis immer dann vor, wenn standardisierte Eingaben erforderlich sind: Telefonnummern: +Land (0) Ort Anschluß Dateinamen: (A-Z, a-z)+(a-z, a-z, 0-9)*.(A-Z, a-z, 0-9)* Informatik: (0 1)*00 : alle durch vier teilbaren Dualzahlen. (A Z a z)+(a Z a z 0 9)*.pdf Alle PDF-Dokumente 2

3 Reguläre Ausdrücke - Definition Reguläre Ausdrücke werden durch folgende Vereinbarungen definiert: 1. ist ein regulärer Ausdruck und L( ) = 2.Für a Σ {ε} ist a ein regulärer Ausdruck mit L(a) = {a} 3.Sind X und Y reguläre Ausdrücke so sind auch X Y, XY, X* reguläre Ausdrücke mit L(X Y) = L(X) L(Y), L(XY) = L(X)L(Y) und L(X*) = L(X)* Schreibweise: Statt X X* wird kurz X + geschrieben 3

4 Reguläre Ausdrücke Beispiel (1) Ein regulärer Ausdruck für ganze Zahlen: 0 (ε -)( ) ( )* Hier ist das Vorzeichen + nicht zulässig, soll dies der Fall sein, so muß die Definition wie folgt abgefaßt werden: 0 (ε - +)( ) ( )* Achtung: Mit regulären Ausdrücken ist folgend Festlegung von Kreditkartennummern nicht zulässig: ( ) 4 - ( ) 4 - ( ) 4 - ( ) 4 Da als Exponent nur der * und das + zugelassen sind. 4

5 Beispiel (2) Gesucht ist ein regulärer Ausdruck α über dem Alphabet {0,1} der die Sprache beschreibt, die aus einer Zeichenketten mit einer abwechselnden Folge von Nullen und Einsen besteht Erster Ansatz: α = (01) * Dies reicht nicht hin: da z.b auch Element der Sprache ist Weitere Möglichkeiten: Das erste Zeichen ist eine 1 Die Folge beginnt und endet mit 0 resp. 1 5

6 Beispiel (3) Ein Lösungsansatz ist mehrere reguläre Ausdrücke zu bilden und dann zu einem Ausdruck zu vereinen. (01) * : Alle Zeichenketten der From (10) * : Alle Zeichenketten der From (10) * : Zeichenketten die mit 0 beginnen und enden 1(01) * : Zeichenketten die mit 1 beginnen und enden Also: α = (01) * +(10) * +0(10) * +1(01) * 6

7 Reguläre Ausdrücke und endliche Automaten Zu einem regulären Ausdruck läßt sich leicht ein endlicher Automat angeben, der genau die Sprache akzeptiert, die auch der reguläre Ausdruck beschreibt. Umgekehrt kann man auch jede Sprache, die von einem endlichen Automaten akzeptiert wird einfach mit einem regulären Ausdruck beschreiben. Insgesamt erhält man also, daß die von endlichen Automaten akzeptierten Sprachen genau diejenigen sind, die auch mit regulären Ausdrucken beschrieben werden können. 7

8 Pumping-Lemmas Grammatiken und Automaten geben Struktureigenschaften von Sprachen vor. Dies impliziert gewisse, strukturelle Eigenschaften von Worten hinreichender Länge. Beispiel: b a a Weiß man, daß der Automat ein Wort der Länge > 2 akzeptiert, so muß dieses das Zeichen b enthalten 8

9 Pumping Lemma für reguläre Sprachen Für jede reguläre Sprache L gibt es eine natürliche Zahl n, so daß alle Worte w der Sprache deren Länge größer ist als n sich darstellen lassen als: W = x y z Mit y >0 und xz < n und x y k z L für alle k 0 9

10 Grammatiken /

11 Systematischer Wortaufbau Beschreibung der Worte durch Strukturangaben Dazu Einführung von Variablen zur Beschreibung von Wortstrukturen Trennung des Variablenalphabets vom Alphabet der zugrundeliegenden Sprache Produktion von Worten durch Angabe der Transformationsregeln von Variablen und Elementen aus der Sprache 11

12 Grammatiken Aufbau der Sprache a n b n durch das Angeben konkreter Regeln: Σ = {a,b} Regeln: S asb S ε Diese Regeln produzieren die obige Sprache, indem die zulässigen Worte gezielt aufgebaut werden 12

13 Formale Definition Grammatik Eine Grammatik G ist ein Quadrupel (V,Σ,S,P) bestehend aus V: Einer Menge von Variablen mit V Σ = Σ: Ein Alphabet, Menge der Terminalsymbole S: S V, das Startsymbol P: P (V Σ) + (V Σ) + die Produktionsregeln Im folgenden verwenden wir, falls nicht anders kenntlich gemacht, folgende Konventionen: Großbuchstaben bezeichnen Variable Kleinbuchstaben bezeichnen Terminalsymbole 13

14 Beispiel Sei G = (V,Σ,S,P), mit V = {S,E} Σ = {(,),+,*,x,y,z} S V P = {S S + S, S S * S, S (S), S E, E x, E y, E z } Mit dieser Definition lassen sich einfache arithmetische Ausdrücke, wie beispielsweise: x+y, x*x, (x+y)*x, etc. erzeugen. 14

15 Ableitungen Sei (V,Σ,S,P) eine Grammatik und u,v,w (Σ V)* Worte über dem Alphabet Σ V. Ein Wort v (Σ V)* heißt direkt ableitbar aus u (Σ V)* genau dann, wenn (u,v) P gilt. Schreibweise u v, Das Wort w heißt dann ableitbar aus u bzgl. der Grammatik G, genau dann, wenn es eine Folge direkter Ableitungen u v 1 v 2 v n w gibt. Schreibweise: u * w 15

16 Sprache einer Grammatik Die Sprache einer Grammatik können wir nun in einfacher Art und Weise beschreiben. Ist G = (V,Σ,S,P) eine Grammatik, so heißt L(G) := {w Σ* S * w } die Sprache der Grammatik G. Beispiel: G = (V,Σ,S,P) mit Σ ={1} und P = {S 11S ε } Die von G erzeugte Sprache ist dann: L(G) = {1 n n gerade} 16

17 Vereinbarung Für Ausdrücke der Form P = {S S + S, S S * S, S (S), S E, E x, E y, E z } Schreiben wir künftig kürzer P = {S S + S S * S (S),S E, E x y z } Das Zeichen steht dabei für die logische oder Verknüpfung Da ε nicht ohne Weiteres aus dem Startsymbol abgeleitet werden kann erlauben wir künftig die Regel S ε zuzulassen, unter der Voraussetzung, daß S nicht auf der rechten Seite einer Produktion erscheint. 17

18 Ableitungsbäume Sei wieder G = (V,Σ,S,P), mit V = {S,E}, Σ = {(,),+,*,x,y,z}, und den Produktionen P = {S S + S, S S * S, S (S), S E, E x, E y, E z } Die Grammatik einfacher arithmetischer Ausdrücke. Die Ableitung S S+S S + S*S E+ S*S E + S*(S) x + S * (S) x+ S* (S + S) x + E*(S+ S) x + E * (E + S) x + E * (E + E) x + y* (E + E) x + y* (x + E) x + y* (x + y) kann man in Form eines Baumes darstellen. Dieser Baum heißt Ableitungsbaum des Wortes x+y*(x+y) 18

19 Beispiel: Ableitungsbaum Ein Ableitungsbaum für den Ausdruck: x + y * (x + y ) 19

20 Mehrdeutigkeiten Die Ableitung eines Wortes bzgl. einer Grammatik ist keinesfalls eindeutig. Beispiel: Wir betrachten wieder die Grammatik für arithmetische Ausdrücke: G = (V,Σ,S,P), mit V = {S,E}, Σ = {(,),+,*,x,y,z}, S = E und den Produktionen P = {S S + S, S S * S, S (S), S E, E x, E y, E z } Ziel: Ableitung des Ausdrucks x + y*z 20

21 Mehrdeutigkeiten Term = x + y*z Erste Möglichkeit S S + S S + S * S E + S * S x + S * S x + y * z Zweite Möglichkeit S S + S E + S x + S x + S * S x + y * z Dritte Möglichkeit S S + S S + S * S S+ E* S S+ y * S x + y * z usw. 21

22 Vermeidung von Mehrdeutigkeiten Derartige Mehrdeutigkeiten können vermieden werden, falls Regeln definiert werden, die klar festlegen, welche Produktion im Konfliktfall anzuwenden ist. Meist wird der Begriff der Rechtsableitung eingeführt: Eine Rechtsableitung ist eine Ableitung in der immer die am weitesten rechts stehende Variable in der Ableitung ersetzt wird. Beispiel: S S + S S + S * S S + S * E S+ S * z S + E * z Es können dabei aber immer noch Mehrdeutigkeiten auftreten 22

23 Vermeidung von Mehrdeutigkeiten Rechtsableitungen verhindern nicht, daß Mehrdeutigkeiten auftreten, verringern aber die Anzahl mehrdeutiger Ableitungen. Sollen alle Rechtsableitungen eindeutig sein ist es oft erforderlich die Struktur der Produktionen zu ändern. 23

24 Ableitungsbäume, Rechtsableitung, Linksableitung In einem Ableitungsbaum bestehen die Blätter aus Terminalsymbolen und alle inneren Knoten aus Variablen der zugrundeliegenden Grammatik. Es gibt in der Regel unterschiedliche Ableitungen für ein Wort aus Terminalsymbolen, daher werden die folgenden Vereinbarungen getroffen: Eine Ableitung heißt Rechtsableitung (Linksableitung), falls in jedem Ableitungsschritt die am weitesten rechts (links) stehende Variable ersetzt wird. Rechts- bzw. Linksableitungen verhindern keine Mehrdeutigkeiten, schränken deren Anzahl aber ein. 24

25 Die Chomsky Typen Grammatiken werden mit folgenden Vereinbarungen in Klassen eingeteilt: Ist G = (V,Σ,S,P), und enthält P die Produktionen u v, u enthält mindestens eine Variable Typ Name Bedingung an Regeln u v Beispiel 3 Regulär u ist eine Variable und v ein Zeichen aus Σ {ε} Oder v=st mit s Σ und T V A a Oder A aa 2 kontextfrei u ist eine Variable A aa, B AABB 1 Kontextsensitiv Es gilt u v aab abba, aaa AAAa 0 Rekursiv aufzählbar u enthält eine Variable aab ab, aaa aaaabb 25

26 Beispiel Produktionen bei Typ-n Grammatiken Zulässig bei Typ-0 Grammatiken xay ε x xa B xaybzc Zulässig bei Typ-1 Grammatiken xay AAxxAA, xax xxaaxx Die Produktion xay xa ist hier nicht zulässig Verkürzende Regeln sind hier unzulässig Zulässig bei Typ-2 Grammatiken A x xa xaby Die Produktionen mit xay auf der linken Seite sind nicht zulässig Auf der linken Seite jeder Produktion steht genau eine Variable Typ-3 Grammatiken Nur Produktionen der Form A a aa ε sind zulässig 26

27 Beispiel (1/3) Gegeben die Grammatiken G1 := (Σ, V, S, P1) und G2 := (Σ, V, S, P2) mit V:= {S, A, B, C} Σ := {a,b} P 1 := {S AB, A BC a, B CC b, C a} Wieviele und wie lange Wörter werden erzeugt? 27

28 Beispiel (2/3) Die Produktionen können als Graph dargestellt werden: S A B Es werden nur endlich lange Worte produziert C 28

29 Beispiel (3/3) Hinzunahme einer Produktion P2 := P1 { C AB} A S B Es werden beliebig lange Worte produziert C 29

30 Die Chomsky Normalform Eine Grammatik G = (V,Σ,S,P) ist in Chomsky- Normalform, genau dann, wenn alle Produktionen die Form A BC oder A a haben und ε auf keiner rechten Seite einer Regel vorkommt. Der Ableitungsbaum einer Grammatik in Chomsky- Normalform ist ein binärer Wurzelbaum 30

31 Die Chomsky Hierarchie Die regulären Sprachen sind eine echte Teilmenge der kontextfreien Sprachen. Die kontextfreien Sprachen, die nicht die leere Zeichenkette enthalten, sind eine echte Teilmenge der kontextsensitiven Sprachen. Die kontextsensitiven Sprachen sind eine echte Teilmenge der rekursiv aufzählbaren Sprachen. Typ 0 Typ 1 Typ 2 Typ 3 31

32 Palindrome Die Wortmenge der Palindrome über einem Alphabet mit mehr als zwei Zeichen ist keine reguläre Sprache. Palindrome sind dabei Strings w über für w=w R gilt über dem Alphabet {0,1} sind etwa 101, 010, Palindorme 110, 011 und sind keine Palindrome 32

33 Beispiel Palindrome (1) Wir weisen nach, daß die Sprache der Palindrome über ={0,1}, sie diese Lpal keine reguläre Sprache ist. Dazu wird das Pumping Lemma für reguläre Sprachen verwendet. Angenommen Lpal wäre regulär, dann gibt es eine natürliche Zahl n, so daß Worte w deren Länge n übersteigt als w= xyz zerlegt werden können ferner gilt dann für jedes k N xy k z Lpal 33

34 Beispiel Palindrome (2) Wir betrachten das Palindrom w= 0 n 10 n. Die Länge von w ist sicher größer als n, also gilt das Pumping Lemma für reguläre Sprachen. Als gibt es eine Zerlegung w = xyz = 0 n 10 n mit y >0 y muß dabei eine oder mehr Nullen der ersten Gruppe von Nullen aus w enthalten nach dem Pumping Lemma wäre dann auch xz ein Palindrom dies kann aufgrund der Struktur von y jedoch nicht sein Also ist L pal keine reguläre Sprache 34

35 Beispiel Palindrome (3) Die Struktur der Sprache Lpal kann induktiv leicht erschlossen werden. Dazu folgende Überlegung Ein Palindrom welches mit 0 beginnt endet auch mit 0 Ein Palindrom welches mit 1 beginnt endet auch mit 1 Ein Palindrom bleibt Palindrom, wenn man das erste und das letzte Zeichen entfernt also kann man die Palindrome über induktiv definieren. 35

36 Beispiel Palindrome (4) Induktionsanfang: ε, 0 und 1 sind Palindrome. M.a.W. Strings der Länge 1 sind Palindrome. Induktionsschritt: Ist w ein Palindrom so sind auch 0w0 und 1w1 Palindrome Ein Wort w ist genau dann ein Palindrom, wenn es sich aus diesen Induktionsschritten herleiten (produzieren) läßt 36

37 Beispiel: eine Grammatik für Palindrome Gesucht: Grammatik über dem Alphabet Σ = {0,1}, die genau diejenigen Worte produziert, die die Form u = ww R mit w Σ* haben. D. h. wir suchen eine Grammatik, die genau die Palindrome mit einer geraden Anzahl von Zeichen über dem Alphabet Σ produziert. Sei G = (V,Σ,S,P), eine Grammatik mit V = {S} Σ = {0,1} P = { S ε, S 0S0, S 1S1} Damit produziert G genau die Palindrome mit gerader Zeichenzahl über Σ. 37

38 Beispiel: eine Grammatik alle Palindrome (1) Gesucht: Grammatik über dem Alphabet Σ = {0,1}, die genau die Palindrome über Σ erzeugt. Sei G = (V,Σ,S,P), eine Grammatik mit V = {S} Σ = {0,1} P = { S ε, S 0S0, S 1S1, S 1, S 0 } Damit produziert G genau die Palindrome über Σ. 38

39 Reguläre Grammatiken Jede vom einem endlichen Automaten erzeugte Sprache wird von einer regulären Grammatik erzeugt. Dazu konstruiert man aus dem Automaten eine Grammatik, die genau die vom Automaten erkannte Sprache produziert. Gegeben ein endlicher Automat: (Σ,Q,s,F,δ), Vorgehensweise: Falls δ(q 1,a) = q 2 dann: q 1 a q 2 P Falls δ(q 1,a) = q 2 und q 2 F dann: q 1 a P Falls ε L(A) dann q 0 ε P 39

40 Beispiel Die Menge P der zugehörigen Grammatik besteht genau aus den folgenden Elementen: P = { q0 0q0, q0 0,q0 1q1, q1 0q1, q1 1q0, q0 ε, q1 1} 40

41 Grammatiken mit ε-produktionen Enthält eine Grammatik Ableitungen der Form S ε so kann man diese in eine Grammatik ohne ε-produktionen wie folgt umwandeln. Schritt 1 Zerlegung der Menge der Variablen in zwei disjunkte Teilmengen V1 und V2, derart, daß V1 alle Variable enthält aus denen das leere Wort hergeleitet werden kann. V1 ist die kleinste Menge, für die folgendes gilt: 1.A ε impliziert A V 1 2.B C 1 C 2 C 3... Cn und C i V 1 für alle i impliziert B V 1 41

42 Elimination von ε-produktionen Für kontextfreie und reguläre Grammatiken (und nur für diese!) ist die Verwendung von Produktionen der Form A ε unkritisch. Die Elimination von Regeln der Form A ε geschieht dabei wie folgt: Zerlegung der Menge der V und V 1 und V 2, derart, daß gilt: V1 enthält die Variablen aus denen ε abgeleitet werden kann V1 ist die kleinste Menge für die gilt: A ε P A V 1 B C 1 C 2 C n und C i V1 für alle i impliziert B V 1 Lösche alle ε-regeln. Für jede Regel D -> w, in der mindestens eine Variable aus V 1 in w Seite vorkommt werden alle Regeln der Form D -> w' zu den Produktionen hinzugefügt. w' ist dabei nichtleeres Wort, das durch Weglassen von Variablen aus V 1 aus w entsteht. 42

43 Grammatiken mit ε-produktionen Schritt 2 Lösche alle ε-regeln und füge für jede Regel D -> w, in der mindestens eine Variable aus V1 in w vorkommt, alle Regeln der Form D -> w' hinzu, wobei w' ein nichtleeres Wort ist, das durch Streichung von Variablen aus V1 in w entsteht. Die Zahl der neu zu P hinzuzufügenden Produktionen steigt damit stark an. 43

44 Beispiel: Grammatiken mit ε-produktionen Wir betrachten die folgende Produktion einer Grammatik: D AabBAba, mit A,B V1 Die neu hinzukommenden Regeln sind dann: D abbaba, D abbba, D AabAba, D ababa, D abba, D AabBba, D Aabba, Sind k Positionen mit einer Variablen aus V1 belegt erhält man 2 k-1 neue Produktionen 44

45 Beispiel: Pumping Lemma für reguläre Sprachen Wird w vom Automaten akzeptiert und ist w >2 so hat w die Gestalt w = a(ba) n a Dabei ist n eine natürliche Zahl oder 0 b a a

46 Pumping Lemma für kontextfreie Sprachen Analogon zum Pumping Lemma für reguläre Sprachen. Gegeben ist eine kontextfreie Grammatik G = (V,Σ,S,P). Zugrundeliegende Idee: Falls ein hinreichend langes Wort in L(G) existiert, so taucht eine Variable aus V auf der rechten Seite einer Produktion doppelt auf. Damit wird ein Teilbaum eines Ableitungsbaums iteriert. 46

47 Pumping Lemma für kontextfreie Sprachen Sei G = (V,Σ,S,P) eine kontextfreie Grammatik. Dann gibt es eine natürliche Zahl n mit: Alle z L(G) mit z > n existiert eine Zerlegung z = uvwxy mit vx 1, vwx n uv k wx k y L(G), für alle k N 47

48 Anwendung des Pumping Lemmas Das Pumping Lemma wird meist angewandt, um zu entscheiden, daß eine Sprache L nicht kontextfrei ist Wir betrachten die Sprache L über dem Alphabet Σ = {a,b,c} mit L = {a n b n c n n N} L ist nicht kontextfrei. Wäre L kontextfrei, könnte man (Pumping Lemma) ein hinreichend langes Wort z L(G) in z = uvwxy zerlegen, mit vx 1, vwx n uv k wx k y L(G), für alle k N0 48

49 Anwendung des Pumping Lemmas Damit folgt: Da uwy in L ist, muß vx die gleiche Anzahl der Buchstaben a, b, c enthalten Wegen vx >1 enthält vx jeweils mindestens einen der Buchstaben a, b, c Da vwx n gilt kann vx nicht alle Buchstaben aus {a, b, c} enthalten Widerspruch! Also ist L nicht kontextfrei. 49

50 Beweis (1) Beweis durch Fallunterscheidungen Fall1: v und x bestehen aus verschiedenen Zeichen, d.h. v {a} * {b} * {c} * oder x {a} * {b} * {c} * Dann stehen in dem Wort uv 2 wx 2 y nicht alle a s vor den b s bzw nicht alle b s vor den c s. Widerspruch! 50

51 Beweis (2) Fall2: vwx ist ein Teilwort von a p u = a j, v=a k, w = a l und x= a m, und y = a p-(j+k+l+m) b p c p mit k+m > 0 Für i=0 erhält man uv 0 wx 0 y = a p-(k+m) b p c p mit k+m >0, also uv 0 wx 0 y L, Widerspruch! 51

52 Beweis (3) Fall 3 und 4: vwx ist ein Teilwort von b p oder c p Widerspruch analog zu Fall 2 52

53 Beweis (4) Fall 5: v ist ein Teilwort von a p und x ein Teilwort von b p Dann ist u = a j, v = a k und w = a p-(j+k) b l, x = b m, y = b p-(l+m) c p und es gilt k+m >0 Für i=0 erhält man uv 0 wx 0 y = a p-k b p-m c p L, Widerspruch! 53

54 Beweis (6) Fall 6: v ist ein Teilwort von a p und x ein Teilwort von c p Fall 6: v ist ein Teilwort von b p und x ein Teilwort von c p Beide Fälle ergeben analog zu Fall 5 einen Widerspruch 54

55 Formale Grundlagen der Informatik Eigenschaften kontextfreier Grammatiken und Normalformen / 2015

56 Was sind Normalformen? Normalformen stellen sicher, daß bei Grammatiken die Produktionen stets eine bestimmte Struktur besitzen. Vorteile: einheitliche Darstellung der Produktionsregeln besserer Überblick über die Ableitungen vorgegebene Struktur der Ableitungsbäume 56

57 Die Chomsky Normalform Für jede kontextfreie Grammatik deren Sprache das leere Wort nicht umfaßt gibt es eine äquivalente Grammatik für die jede Produktion eine der beiden Formen besitzt A BC A a dabei bezeichnen Großbuchstaben Variable und Kleinbuchstaben Terminalsymbole. 57

58 Folgerungen für die Chomsky NF Aus der Struktur der Ableitungen folgen sofort die beiden Aussagen: Jeder Ableitungsbaum einer Chomsky Grammatik ist ein binärer Baum (das ist einfach einzusehen) Die Frage, ob ein Wort w von einer Grammatik in Chomsky Normalform erzeugt werden kann ist in O(n 3 ) lösbar (n = Wortlänge) ist nicht ganz so einfach einzusehen 58

59 Die Greibach Normalform Für jede kontextfreie Grammatik für eine Sprache die nicht nur aus dem leeren Wort besteht gibt es eine äquivalente Grammatik deren Produktionen die folgende Form haben A aα dabei ist α ein beliebiger String aus Variablen und a ein Terminalzeichen 59

60 Voraussetzungen für Normalformen Um eine Grammatik in eine Normalform zu überführen sind einige vorbereitende Schritte nötig Alle unnützen Symbole, d.h. all diese die im Grunde nicht gebraucht werden, müssen entfernt werden ε-produktionen, d.h. Produktionen der Form P, müssen entfernt werden Einheitsproduktionen (unit productions), d.h. Produktionen der Form A B müssen ebenfalls entfernt werden 60

61 Elimination unnützer Symbole Ein Symbol ist nützlich, wenn es eine Ableitung der Form S * α Xβ * w mit einem Terminalstring w gibt, im andern Fall heißt ein solches Symbol unnütz. Das Entfernen unnützer Symbole ändert die Sprache der Grammatik nicht. 61

62 Erreichbare und erzeugende Symbole Ein Symbol ist erreichbar, wenn es eine Ableitung der Form S * α Xβ mit einer Variablen X und beliebigen Strings α und β gibt. Ein Symbol ist erzeugend, wenn es eine Ableitung der Form X * w mit einem Terminalstring w gibt Ein nützliches Symbol ist sowohl erzeugend als auch erreichbar 62

63 Beispiel (1) Wir betrachten die Grammatik G = (V,,S,P), mit ={a,b} und den Produktionen S AB a und A b Dabei sind A und S erzeugende Symbole, B nicht. Wenn B eliminiert wird, fällt die Produktion S AB weg und die Produktionen reduzieren sich zu S a und A b Also sind nur S und a erreichbar und A kann entfernt werden. Es bleibt: S a, welches die Sprache von G erzeugt. 63

64 Beispiel (2) Betrachten wir zuerst die Erreichbarkeit der Symbole, der Grammatik S AB a und A b so ist ersichtlich, daß alle Symbole erreichbar sind. Eliminiert man nun B, so fällt die Produktion S AB weg und die Produktionen reduzieren sich zu S a und A b Diese erzeugen ebenfalls die Sprache L(G), enthalten aber unnütze Symbole (A und b) 64

65 Vorgehensweise Also erhalten wir folgende Vorgehensweise. Für eine gegebene Grammatik G mit L(G) Elimination aller unnützen Symbole und alle Produktionen die diese enthalten Im nächsten Schritt werden alle Symbole entfernt die nicht erreichbar sind Man erhält eine Grammatik G die die selbe Sprache wie G erzeugt, aber weder unnütze Symbole enthält, noch unerreichbare Zeichenketten. Aho Satz

66 Algorithmus Der folgende induktive Algorithmus bestimmt die Menge der erzeugenden und erreichbaren Symbole Induktionsanfang: Jedes Symbol aus ist erzeugend (es erzeugt sich selbst) Induktionsschritt: Wenn es eine Produktion A α gibt und α erzeugend ist, so ist A erzeugend. (Ein Beweis hierzu findet sich in Aho Satz 7.4) 66

67 Bestimmung erzeugender Symbole Der folgende induktive Algorithmus bestimmt die Menge der erzeugenden Symbole Induktionsanfang: Jedes Symbol aus ist erzeugend (es erzeugt sich selbst) Induktionsschritt: Wenn es eine Produktion A α gibt und α erzeugend ist, so ist A erzeugend. Damit findet man alle erzeugenden Symbole. (Ein Beweis hierzu findet sich in Aho Satz 7.4) 67

68 Beispiel Wir betrachten wieder die Grammatik G = (V,,S,P), mit ={a,b} und den Produktionen S AB a und A b a und b sind nun erzeugend, da Elemente aus. Wegen A b ist auf A erzeugend und wegen S a ist S erzeugend. Die Produktion S AB kann nicht erreicht werden, da B nicht erzeugend ist. Also erhält man als Menge der erzeugenden Symbole: {a, b, S, A} 68

69 Bestimmung erreichbarer Symbole Der folgende induktive Algorithmus bestimmt die Menge der erreichbaren Symbole Induktionsanfang: S ist erreichbar Induktionsschritt: Wenn eine Variable A erreichbar ist und A α eine Produktion ist, so sind alle Variable aus α erreichbar Damit findet man alle erreichbaren Symbole. (Ein Beweis hierzu findet sich in Aho Satz 7.6) 69

70 Beispiel Wir betrachten wieder die Grammatik G = (V,,S,P), mit ={a,b} und den Produktionen S AB a und A b S ist erreichbar da S P gilt. Wegen S AB a sind auch A, B und a erreichbar. Damit folgt, wegen A b, daß auch b erreichbar ist Also erhält man als Menge der erreichbaren Symbole: {S, A, B, a, b} 70

71 Elimination von Einheitsproduktionen Einheitsproduktionen sind Produktionen der Form A B Derartige Produktionen erhöhen bisweilen die Lesbarkeit der Grammatik, haben aber keinen Einfluß auf die erzeugte Sprache (vgl. Grammatik für arithmetische Ausdrücke). 71

72 Beispiel (1) Grammatik für arithmetische Ausdrücke: I a b Ia Ib I0 I1 F I (E) T F T * F Was ist das Startsymbol? E T E + T mit Σ = {0, 1, a, b,(,),*,+} und V = {I, F, T, E} 72

73 Beispiel (2):Vergleich der Grammatiken Zum Vergleich I a b Ia Ib I0 I1 F I (E) T F T * F E T E + T

74 Beispiel (3): Erster Ansatz In der Grammatik I a b Ia Ib I0 I1 F I (E) T F T * F E T E + T kann man die (Einheits!) Produktion E T durch E F T * F ersetzen, was aber die Einheitsproduktion nicht eliminiert, da E F bestehen bleibt. 74

75 Beispiel (4) Erweiterung von E F durch die Produktionen von F ergibt E I (E) T * F bleibt E I, schließlich: E a b Ia Ib I0 I1 (E) T * F damit sind alle Einheitsproduktionen für E eliminiert (Achtung: E a ist keine Einheitsproduktion). 75

76 Beispiel (5) Diese Technik hilft nicht bei zyklischen Einheitsproduktionen: A B, B C, C A Eine mögliche Vorgehensweise ist: Variable A und B suchen mit A * B Hierbei sind Fälle wie A BC, C ε möglich, d.h. auf dem Weg nach B müssen nicht nur Einheitsproduktionen stehen! 76

77 Beispiel (6) Wenn diese Paare (A, B) ermittelt sind kann jede Folge A B1 B2 Bn α ersetzt werden durch A α. Damit hat man folgendes Verfahren Induktionsbeginn: (A, A), d.h. A A in null Schritten Induktionsschritt: Ist (A,B) ein Einheitspaar und B C eine Produktion, dann ist auch (A,C) ein Einheitspaar 77

78 Beispiel (7) Für die Grammatik arithmetischer Ausdrücke sind (E, E), (T, T), (I, I) und (F, F) Einheitspaare. Dann folgt (E, E) und E T liefert (E, T) (E, T) und T F liefert (E, F) (E, F) und F I liefert (E, I) (T, T) und T F liefert (T, F) (T, F) und F I liefert (T, I) (F, F) und F I liefert (F, I) 78

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

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie

Theorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung

Mehr

I.5. Kontextfreie Sprachen

I.5. Kontextfreie Sprachen I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer

Mehr

Tutoraufgabe 1 (ɛ-produktionen):

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

Mehr

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Motivation natürliche Sprachen

Motivation natürliche Sprachen Motivation natürliche Sprachen (Satz) (Substantivphrase)(Verbphrase) (Satz) (Substantivphrase)(Verbphrase)(Objektphrase) (Substantivphrase) (Artikel)(Substantiv) (Verbphrase) (Verb)(Adverb) (Substantiv)

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

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen

Mehr

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien

Mehr

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN

Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 12 LÖSUNGEN Universität Heidelberg / Institut für Informatik 7. Juli 24 Prof. Dr. Klaus Ambos-Spies Nadine Losert Übungen zur Vorlesung Einführung in die Theoretische Informatik, Blatt 2 LÖSUNGEN Aufgabe Verwenden

Mehr

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik

2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 2. Übungsblatt 6.0 VU Theoretische Informatik und Logik 25. September 2013 Aufgabe 1 Geben Sie jeweils eine kontextfreie Grammatik an, welche die folgenden Sprachen erzeugt, sowie einen Ableitungsbaum

Mehr

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

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

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

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

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

Mehr

Theoretische Informatik Mitschrift

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

Mehr

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive

Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G

Mehr

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc.

Pumping-Lemma. Beispiel. Betrachte die kontextsensitive Grammatik G mit den Produktionen. S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc. Pumping-Lemma Beispiel Betrachte die kontextsensitive Grammatik G mit den Produktionen S asbc abc CB HB HB HC HC BC ab ab bb bb bc bc cc cc. Sie erzeugt z.b. das Wort aabbcc: S asbc aabcbc aabhbc aabhcc

Mehr

Automaten und formale Sprachen Klausurvorbereitung

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

Mehr

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Dozentin: Wiebke Petersen 13. Foliensatz Wiebke Petersen Einführung CL 1 Formale Grammatik

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER

Formale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

Alphabet, formale Sprache

Alphabet, formale Sprache n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l

Mehr

Übungsaufgaben zu Formalen Sprachen und Automaten

Übungsaufgaben zu Formalen Sprachen und Automaten Universität Freiburg PD Dr. A. Jakoby Sommer 27 Übungen zum Repetitorium Informatik III Übungsaufgaben zu Formalen Sprachen und Automaten. Untersuchen Sie das folgende Spiel: A B x x 2 x 3 C D Eine Murmel

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexität von Grammatiken Definitionen Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 02.02.2012 INSTITUT FÜR THEORETISCHE 0 KIT 06.02.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik

Mehr

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution

Abschluss gegen Substitution. Wiederholung. Beispiel. Abschluss gegen Substitution Wiederholung Beschreibungsformen für reguläre Sprachen: DFAs NFAs Reguläre Ausdrücke:, {ε}, {a}, und deren Verknüpfung mit + (Vereinigung), (Konkatenation) und * (kleenescher Abschluss) Abschluss gegen

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

Mehr

Kontextfreie Sprachen

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

Mehr

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ.

Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (ii) ε ist ein regulärer Ausdruck über Σ. Reguläre Ausdrücke Definition (Reguläre Ausdrücke) Sei Σ ein Alphabet, dann gilt: (i) ist ein regulärer Ausdruck über Σ. (ii) ε ist ein regulärer Ausdruck über Σ. (iii) Für jedes a Σ ist a ein regulärer

Mehr

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

Informatik III. Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung Informatik III Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung 10.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel IV Kontextfreie Sprachen Kontextfreie Grammatik Informatik III 6. Vorlesung

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

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen

Mehr

3 kontextfreie Sprachen

3 kontextfreie Sprachen Hans U. Simon Bochum, den 7.10.2008 Annette Ilgen Beispiele zur Vorlesung Theoretische Informatik WS 08/09 Vorbemerkung: Hier findet sich eine Sammlung von Beispielen und Motivationen zur Vorlesung Theoretische

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

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 7 15. Juni 2010 Einführung in die Theoretische

Mehr

(Prüfungs-)Aufgaben zu formale Sprachen

(Prüfungs-)Aufgaben zu formale Sprachen (Prüfungs-)Aufgaben zu formale Sprachen (siehe auch bei den Aufgaben zu endlichen Automaten) 1) Eine Grammatik G sei gegeben durch: N = {S, A}, T = {a, b, c, d}, P = { (S, Sa), (S, ba), (A, ba), (A, c),

Mehr

A : z z A : z z : ( z, x, z ) δ

A : z z A : z z : ( z, x, z ) δ Informatik IV, SoS2003 1 Definition 1.1 Ein Quintupel A =(X,Z,z 0,δ,Z f )heißt nichtdeterministischer endlicher Automat (NEA): 1. X, Z sind endliche nichtleere Mengen. 2. z 0 Z 4. δ Z X Z Informatik IV,

Mehr

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009

Theoretische Informatik. Grammatiken. Grammatiken. Grammatiken. Rainer Schrader. 9. Juli 2009 Theoretische Informatik Rainer Schrader Institut für Informatik 9. Juli 2009 1 / 41 2 / 41 Gliederung die Chomsky-Hierarchie Typ 0- Typ 3- Typ 1- Die Programmierung eines Rechners in einer höheren Programmiersprache

Mehr

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

Algorithmen mit konstantem Platzbedarf: Die Klasse REG Algorithmen mit konstantem Platzbedarf: Die Klasse REG Sommerakademie Rot an der Rot AG 1 Wieviel Platz brauchen Algorithmen wirklich? Daniel Alm Institut für Numerische Simulation Universität Bonn August

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München Fakultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 3 14. Mai 2010 Einführung in die Theoretische

Mehr

6 Kontextfreie Grammatiken

6 Kontextfreie Grammatiken 6 Kontextfreie Grammatiken Reguläre Grammatiken und damit auch reguläre Ausdrücke bzw. endliche Automaten haben bezüglich ihres Sprachumfangs Grenzen. Diese Grenzen resultieren aus den inschränkungen,

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Tutorium 2 Professor Dr. Hartmut Schmeck Miniaufgabe * bevor es losgeht * Finden Sie die drei Fehler in der Automaten- Definition. δ: A = E, S, δ, γ, s 0, F, E = 0,1, S = s

Mehr

4.2 Die Chomsky Normalform

4.2 Die Chomsky Normalform 4.2 Die Chomsky Normalform Für algorithmische Problemstellungen (z.b. das Wortproblem) aber auch für den Nachweis von Eigenschaften kontextfreier Sprachen ist es angenehm, von CFG in Normalformen auszugehen.

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

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14

Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 2013/14 Institut für Theoretische Informatik Prof. Dr. Jörn Müller-Quade Musterlösung zur Hauptklausur Theoretische Grundlagen der Informatik Wintersemester 23/4 Vorname Nachname Matrikelnummer Hinweise Für die

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

Das Postsche Korrespondenzproblem

Das Postsche Korrespondenzproblem Das Postsche Korrespondenzproblem Eine Instanz des PKP ist eine Liste von Paaren aus Σ Σ : (v 1, w 1 ),..., (v n, w n ) Eine Lösung ist eine Folge i 1,..., i k von Indizes 1 i j n mit v i1... v ik = w

Mehr

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven

WS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

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

7. Formale Sprachen und Grammatiken

7. Formale Sprachen und Grammatiken 7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 23.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Chomsky-Grammatiken 16. Chomsky-Grammatiken

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

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik Technische Universität München akultät für Informatik Prof. Tobias Nipkow, Ph.D. Dr. Werner Meixner, Dr. Alexander Krauss Sommersemester 2010 Lösungsblatt 6 11. Juni 2010 Einführung in die Theoretische

Mehr

Berechenbarkeitstheorie 7. Vorlesung

Berechenbarkeitstheorie 7. Vorlesung 1 Berechenbarkeitstheorie Dr. Institut für Mathematische Logik und Grundlagenforschung WWU Münster W 15/16 Alle Folien unter Creative Commons Attribution-NonCommercial 3.0 Unported Lizenz. Das Pumpinglemma

Mehr

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie

FORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Wiederholung FORMALE SYSTEME 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Markus Krötzsch Formale Sprachen sind in Praxis und Theorie sehr wichtig Ein Alphabet ist eine nichtleere, endliche Menge

Mehr

Grundlagen der Informatik II

Grundlagen der Informatik II Grundlagen der Informatik II Dr.-Ing. Sven Hellbach S. Hellbach Grundlagen der Informatik II Abbildungen entnommen aus: Dirk W. Hoffmann: Theoretische Informatik; Hanser Verlag 2011, ISBN: 978-3-446-42854-6

Mehr

8. Turingmaschinen und kontextsensitive Sprachen

8. Turingmaschinen und kontextsensitive Sprachen 8. Turingmaschinen und kontextsensitive Sprachen Turingmaschinen (TM) von A. Turing vorgeschlagen, um den Begriff der Berechenbarkeit formal zu präzisieren. Intuitiv: statt des Stacks bei Kellerautomaten

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 8. Reguläre Sprachen II Malte Helmert Gabriele Röger Universität Basel 24. März 24 Pumping Lemma Pumping Lemma: Motivation Man kann zeigen, dass eine Sprache regulär ist, indem man

Mehr

Grundbegriffe der Informatik Tutorium 12

Grundbegriffe der Informatik Tutorium 12 Grundbegriffe der Informatik Tutorium 12 Tutorium Nr. 16 Philipp Oppermann 28. Januar 2015 KARLSRUHER INSTITUT FÜR TECHNOLOGIE KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum

Mehr

Informatik IC2. Balazs Simon

Informatik IC2. Balazs Simon Informatik IC2 Balazs Simon Inhaltsverzeichnis 1 Contextfreie Sprachen 3 1.1 Ableitungsbaum..................................... 3 1.2 Schönheit........................................ 4 1.3 Normalformen......................................

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

Theoretische Grundlagen des Software Engineering

Theoretische Grundlagen des Software Engineering Theoretische Grundlagen des Software Engineering 5: Reguläre Ausdrücke und Grammatiken schulz@eprover.org Software Systems Engineering Reguläre Sprachen Bisher: Charakterisierung von Sprachen über Automaten

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 2004/05 ILKD Prof. Dr. D. Wagner 24. Februar 2005 1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005 Aufkleber Beachten

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

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Formale Sprachen. Script, Kapitel 4. Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten

Mehr

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!"# v 1

Aufgabentypen: Spickerblatt: kontextfrei (Typ 2): zusätzlich: u ist eine!# v 1 Info4 Stoff Aufgabentypen: Grammatik CH einordnen NFA DFA Grammatik Chomsky-NF CYK-Algorithmus: Tabelle / Ableitungsbäume Grammatik streng kf. Grammatik Grammatik Pumping Lemma Beweis, dass Gr. nicht reg,

Mehr

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Automatentheorie und formale Sprachen rechtslineare Grammatiken Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages

Mehr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.02.2006 28. und letzte Vorlesung 1 Die Chomsky-Klassifizierung Chomsky-Hierachien 3: Reguläre Grammatiken

Mehr

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden

Maike Buchin 18. Februar 2016 Stef Sijben. Probeklausur. Theoretische Informatik. Bearbeitungszeit: 3 Stunden Maike Buchin 8. Februar 26 Stef Sijben Probeklausur Theoretische Informatik Bearbeitungszeit: 3 Stunden Name: Matrikelnummer: Studiengang: Geburtsdatum: Hinweise: Schreibe die Lösung jeder Aufgabe direkt

Mehr

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für

Endliche Sprachen. Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für Endliche Sprachen Folgerung: Alle endlichen Sprachen sind regulär. Beweis: Sei L={w 1,,w n } Σ*. Dann ist w 1 +L+w n ein regulärer Ausdruck für L. 447 Zusammenfassung Beschreibungsformen für reguläre Sprachen:

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

Teil 4: Grammatiken und Syntaxanalyse. (Kapitel T5-T7)

Teil 4: Grammatiken und Syntaxanalyse. (Kapitel T5-T7) Teil 4: Grammatiken und Syntaxanalyse (Kapitel T5-T7) Grammatiken und die Chomsky- Hierarchie [T5.1] Ziel: Regelsysteme zur Erzeugung von Sprachen. Beispiel: arithmetische Ausdrücke können definiert werden

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

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO).

Ein Satz der deutschen Sprache besitzt ein Subjekt, ein Prädikat und ein Objekt (SPO). 1 Grammatiken Autor: Tilman Blumenbach Letzte Änderung: 28. Juni 2012 18:15 Ziel von Grammatiken Wollen die Struktur von Sprachen modellieren und charakterisieren. Beispiel Ein Satz der deutschen Sprache

Mehr

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK

EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK EINFÜHRUNG IN DIE THEORETISCHE INFORMATIK Prof. Dr. Klaus Ambos-Spies Sommersemester 2011 17. DIE CHOMSKY-HIERARCHIE Theoretische Informatik (SoSe 2011) 17. Die Chomsky-Hierarchie 1 / 15 Einleitung Die

Mehr

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b}

Klausuraufgaben. 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b} Klausuraufgaben 1. Wir betrachten die folgende Sprache über dem Alphabet {a, b} L = {a n b m n > 0, m > 0, n m} a) Ist L kontextfrei? Wenn ja, geben Sie eine kontextfreie Grammatik für L an. Wenn nein,

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

16. Die Chomsky-Hierarchie

16. Die Chomsky-Hierarchie 16. Die Chomsky-Hierarchie Die Chomsky-Sprachen sind gerade die rekursiv aufzählbaren Sprachen: CH = RA Da es nicht rekursive (d.h. unentscheidbare) r.a. Sprachen gibt, ist das Wortproblem für Chomsky-Grammatiken,

Mehr

Theoretische Informatik I

Theoretische Informatik I Theoretische Informatik I Rückblick Theoretische Informatik I 1. Mathematische Methoden 2. Reguläre Sprachen 3. Kontextfreie Sprachen Themen der Theoretischen Informatik I & II Mathematische Methodik in

Mehr

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5. Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen

Mehr

Die Chomsky Hierarchie

Die Chomsky Hierarchie Die Chomsky Hierarchie Slide 1 Die Chomsky Hierarchie Hans U. Simon (RUB) Email: simon@lmi.rub.de Homepage: http://www.ruhr-uni-bochum.de/lmi Die Chomsky Hierarchie Slide 2 Vorgeplänkel: Mathematische

Mehr

Formale Sprachen, reguläre und kontextfreie Grammatiken

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

Mehr

Einführung in die Theoretische Informatik

Einführung in die Theoretische Informatik echnische Universität München Fakultät für Informatik Prof. obias Nipkow, Ph.D. ascha öhme, Lars Noschinski ommersemester 2011 Lösungsblatt 5 6. Juni 2011 Einführung in die heoretische Informatik Hinweis:

Mehr

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie

Lösungen zur 1. Klausur. Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Hochschuldozent Dr. Christian Schindelhauer Paderborn, den 21. 2. 2006 Lösungen zur 1. Klausur in Einführung in Berechenbarkeit, formale Sprachen und Komplexitätstheorie Name :................................

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

Formale Methoden 1. Gerhard Jäger 23. Januar Uni Bielefeld, WS 2007/2008 1/18

Formale Methoden 1. Gerhard Jäger 23. Januar Uni Bielefeld, WS 2007/2008 1/18 1/18 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 23. Januar 2008 2/18 Das Pumping-Lemma Sein L eine unendliche reguläre Sprache über ein endliches Alphabet

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 10.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

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S

Formale Sprachen. Formale Grundlagen (WIN) 2008S, F. Binder. Vorlesung im 2008S Formale Grundlagen (WIN) Franz Binder Institut für Algebra Johannes Kepler Universität Linz Vorlesung im 2008S http://www.algebra.uni-linz.ac.at/students/win/fg Inhalt Das Alphabet Σ sei eine endliche

Mehr

Theoretische Informatik: Berechenbarkeit und Formale Sprachen

Theoretische Informatik: Berechenbarkeit und Formale Sprachen Prof. Dr. F. Otto 26.09.2011 Fachbereich Elektrotechnik/Informatik Universität Kassel Klausur zur Vorlesung Theoretische Informatik: Berechenbarkeit und Formale Sprachen SS 2011 Name:................................

Mehr

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat

Frank Heitmann 2/47. 1 Ein PDA beginnt im Startzustand z 0 und mit im Keller. 2 Ist der Automat Formale Grundlagen der Informatik 1 Kapitel 5 Über reguläre Sprachen hinaus und (Teil 2) Frank Heitmann heitmann@informatik.uni-hamburg.de 21. April 2015 Der Kellerautomat - Formal Definition (Kellerautomat

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Lischke SS 2004 Vorwort Dieses Dokument wurde als Skript für die auf der Titelseite genannte Vorlesung erstellt und wird jetzt im Rahmen des Projekts Vorlesungsskripte der

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 20.12.07 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Rückblick Semi-Thue-Systeme Ein Semi-Thue-System besteht

Mehr