Formalismen für REG. Formale Grundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen. Das Pumping Lemma. Abschlusseigenschaften

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

Kontextfreie Grammatiken

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

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

Der deterministische, endliche Automat. Formale Grundlagen der Informatik 1 Kapitel 3 Mehr zu regulären Sprachen

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

bestehenden sind, weiterhin benutzt werden. Oft beleuchten unterschiedliche Formalismen Dinge nämlich von unterschiedlichen Blickwinkeln.

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

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

Motivation natürliche Sprachen

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

Beschreibungskomplexität von Grammatiken Definitionen

Theoretische Informatik Mitschrift

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

Vorlesung Theoretische Informatik

Übungsaufgaben zu Formalen Sprachen und Automaten

8. Turingmaschinen und kontextsensitive Sprachen

Grundlagen der Theoretischen Informatik

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

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

Turing-Maschinen. Definition 1. Eine deterministische Turing-Maschine (kurz DTM) ist ein 6- Dem endlichen Alphabet Σ von Eingabesymbolen.

Ein deterministischer endlicher Automat (DFA) kann als 5-Touple dargestellt werden:

Grundlagen der Theoretischen Informatik

1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,

Tutoraufgabe 1 (ɛ-produktionen):

I.5. Kontextfreie Sprachen

Technische Universität München Sommer 2016 Prof. J. Esparza / Dr. M. Luttenberger, S. Sickert 2. Mai HA-Lösung. TA-Lösung

Einführung in die Theoretische Informatik

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

Sprachen/Grammatiken eine Wiederholung

Einführung in die Theoretische Informatik

Typ-3-Sprachen. Das Pumping-Lemma

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

Suche nach einem solchen Kreis. Endlichkeitstest. Vereinigung und Durchschnitt. Abschlusseigenschaften

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

Grundlagen der Theoretischen Informatik

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

Formale Sprachen und Grammatiken

Theorie der Informatik

Grundlagen der Theoretischen Informatik

Satz von Kleene. (Stephen C. Kleene, ) Wiebke Petersen Einführung CL 2

Theoretische Informatik 2

Universität Karlsruhe Institut für Theoretische Informatik. Klausur: Informatik III

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.

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

Grundbegriffe. Grammatiken

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

Grundlagen der Theoretischen Informatik

Grammatiken. Einführung

Programmiersprachen und Übersetzer

Theoretische Grundlagen des Software Engineering

2.11 Kontextfreie Grammatiken und Parsebäume

Lösungsvorschläge Blatt 4

Wortproblem für kontextfreie Grammatiken

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

Grundbegriffe der Informatik

(Prüfungs-)Aufgaben zu formale Sprachen

Formale Sprachen. Script, Kapitel 4. Grammatiken

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

Was bisher geschah: Formale Sprachen

Grundlagen der Informatik II

Reguläre Sprachen und endliche Automaten

Automatentheorie und formale Sprachen rechtslineare Grammatiken

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

Formale Sprachen, reguläre und kontextfreie Grammatiken

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2013

Formale Systeme. Büchi-Automaten. Prof. Dr. Bernhard Beckert WS 2009/2010 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Aufgabentypen die in der Klausur vorkommen

Definition Formale Sprache Eine formale Sprache ist eine (Teil-)Menge A Σ* von Worten über einem Alphabet Σ.

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

äußere Klammern können entfallen, ebenso solche, die wegen Assoziativität von + und Konkatenation nicht notwendig sind:

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

Automatentheorie und formale Sprachen

11.1 Kontextsensitive und allgemeine Grammatiken

Formale Sprachen. Script, Kapitel 4. Grammatiken

Einführung in die Theoretische Informatik

Grundbegriffe der Informatik

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

Theoretische Informatik Testvorbereitung Moritz Resl

liefern eine nicht maschinenbasierte Charakterisierung der regulären

Tutorium zur theoretischen Informatik Übungsblatt 4 ( )

Alphabet, formale Sprache

Einführung in die Theoretische Informatik

Rekursiv aufzählbare Sprachen

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

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

Donnerstag, 11. Dezember 03 Satz 2.2 Der Name Unterraum ist gerechtfertigt, denn jeder Unterraum U von V ist bzgl.

Theoretische Informatik Mitschrift

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

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

Reguläre Sprachen Endliche Automaten

Grundbegriffe der Informatik

Kapitel 3: Reguläre Grammatiken und Endliche. Automaten

Einführung in die Theoretische Informatik

Theoretische Grundlagen der Informatik

Informatik IC2. Balazs Simon

4.2.4 Reguläre Grammatiken

7 Endliche Automaten. 7.1 Deterministische endliche Automaten

Deterministische Turing-Maschinen (DTM) F3 03/04 p.46/395

7. Formale Sprachen und Grammatiken

Transkript:

Formalismen für RE Formale rundlagen der Informatik 1 Kapitel 7 Kontextfreie Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de Satz Zu jeder regulären Sprache L gibt es einen DFA A mit L(A) = L einen NFA B mit L(B) = L einen NFA mit λ-kanten C mit L(C) = L einen regulären Ausdruck D, der L beschreibt (M D = L) DFAs, NFAs, NFAs mit λ-kanten und reguläre Ausdrücke sind also äquivalent. 25. April 2016 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 2/40 Abschlusseigenschaften Das Pumping Lemma Satz Die regulären Sprachen sind abgeschlossen gegenüber Vereinigung Konkatenation hoch + hoch Komplementbildung Durchschnitt Reverse... Lemma Sei L RE eine reguläre Sprache. Dann gibt es ein n 1, so dass jedes Wort z L mit z n in die Form z = uvw zerlegt werden kann, wobei 1 uv n 2 v 1 3 uv i w L für jedes i N (inkl. der 0) (Äquivalent zur letzten Aussage ist die Aussage {u}{v} {w} L.) Frank Heitmann heitmann@informatik.uni-hamburg.de 3/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 4/40

Das Pumping Lemma - Der Ablauf Der Ablauf beim Pumping Lemma: 1 Annehmen L wäre regulär 2 Die Zahl aus dem Pumping Lemma benennen (z.b. k). 3 Ein Wort z finden mit z k und z L. Dieses Wort muss gut gewählt sein, damit der nachfolgende Widerspruch gelingt! Hier muss man also u.u. experimentieren! 4 Für alle Zerlegungen von z in uvw zeigen, dass sie im Widerspruch zur ersten, zweiten oder dritten Bedingung sind. Üblicherweise betrachtet man alle Zerlegungen, die die erste und zweite Bedingung erfüllen und zeigt, dass man dann einen Widerspruch zur dritten Bedingung erhält. 5 Also: Alle Zerlegungen z = uvw mit uv k und v 1 betrachten. 6 Zeigen, dass man ein i findet mit uv i w L. (Dies kann auch i = 0 sein!) Frank Heitmann heitmann@informatik.uni-hamburg.de 5/40 Das Pumping Lemma - Beispiel 1 Behauptung L := {a n b n n N} ist nicht regulär. Beweis. Angenommen L wäre regulär. Dann gilt das Pumping Lemma. Sei k die Zahl aus dem Pumping Lemma. Wir betrachten das Wort z = a k b k. Es gilt z L und z k. Damit muss es eine Zerlegung z = uvw geben, die die drei Eigenschaften erfüllt. Wir betrachten nun nur jene Zerlegungen, die die erste und zweite Bedingung erfüllen und zeigen, dass diese im Widerspruch zur dritten stehen. Wir haben dann gezeigt, dass jede Zerlegung von z in uvw im Widerspruch zu einer der drei Bedingungen steht und sind dann fertig.... Frank Heitmann heitmann@informatik.uni-hamburg.de 6/40 Das Pumping Lemma - Beispiel 1 Behauptung L := {a n b n n N} ist nicht regulär. Beweis. Sei also z = a k b k = uvw eine Zerlegung mit i) uv k und ii) v 1. Es muss dann v {a} + gelten, da uv ja die ersten Buchstaben von z ausmacht, aber davon nur maximal k einnehmen kann und da ferner v mindestens die Länge 1 hat. Es gibt sogar ein j mit 1 j k derart, dass v = a j gilt. Wir betrachten nun das Wort uv 2 w, dass nach der dritten Bedingung in L sein müsste. Es ist aber uv 2 w = a k+j b k und somit uv 2 w L. Die ursprüngliche Annahme muss also falsch sein und daher ist L nicht regulär. Wovon muss das gewählte Wort z abhängen? 1 Von der Anzahl der Zustände Z des DFA. 2 Von der Zahl aus dem Pumping Lemma k, die noch genauer spezifiziert werden muss. 3 Von der Zahl aus dem Pumping Lemma k, die nicht genauer spezifiziert werden muss. 4 Das Wort muss lediglich in der Sprache sein. Frank Heitmann heitmann@informatik.uni-hamburg.de 7/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 8/40

Wieviele Zerlegungen von z müssen betrachtet werden? 1 Eine muss zum Widerspruch geführt werden! 2 Alle Zerlegungen von z müssen zum Widerspruch gebracht werden! 3 Zerlegungen mit bestimmten Eigenschaften müssen zum Widerspruch gebracht werden! 4 Man muss eine Zerlegung mit bestimmten Eigenschaften finden und diese zum Widerspruch führen! Kann mit dem Pumping Lemma gezeigt werden, dass eine Sprache regulär ist? 1 Ja! 2 Nein! Frank Heitmann heitmann@informatik.uni-hamburg.de 9/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 10/40 Ist L := {ww rev w {0, 1} } regulär? 1 Ja! 2 Nein! Richtige Antworten sind: 1 3 2 2 und 3 ist beides ok 3 2 4 2 (Beweis folgt) Frank Heitmann heitmann@informatik.uni-hamburg.de 11/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 12/40

Das Pumping Lemma - Beispiel 2 Das Pumping Lemma - Beispiel 2 Behauptung L := {ww rev w {0, 1} } ist nicht regulär. Beweis. Angenommen L wäre regular. Dann gilt das Pumping Lemma. Sei r die Zahl aus dem Pumping Lemma und k r der kleinste gerade Nachfolger. Wir betrachten z = 0 k/2 1 k 0 k/2. Es ist z L und z k. Sei z = uvw eine Zerlegung von z mit uv k und v 1. v kann nun in den ersten 0en liegen, in den 0en und den 1en oder in den 1en. Wenn v in den 0en liegt (v = 0 j ), dann ist uv 2 w = 0 k/2+j 1 k 0 k/2 nicht mehr in L und wir haben einen Widerspruch. Wenn v aus 0en und 1en besteht erreichen wir ebenfalls mit uv 2 w einen Widerspruch. Wenn v aus 1en besteht (v = 1 j ), dann ist uv 2 w = 0 k/2 1 k+j 0 k/2... kein Widerspruch, wenn j gerade ist! Auch mit uv 0 w oder einem anderen uv i w erreichen wir dann keinen Widerspruch.... Die Wahl von z war vielleicht schlecht... ein neuer Versuch... Behauptung L := {ww rev w {0, 1} } ist nicht regulär. Beweis. Angenommen L wäre regular. Dann gilt das Pumping Lemma. Sei k die Zahl aus dem Pumping Lemma. Wir betrachten z = 0 k 1 k 1 k 0 k. Es ist z L und z k. Sei z = uvw eine Zerlegung von z mit uv k und v 1. Hieraus folgt v = 0 j für ein j mit 1 j k. Nun ist aber uv 0 w = 0 k j 1 k 1 k 0 k nicht mehr in L im Widerspruch zum Pumping Lemma. Die Annahme ist daher falsch und L somit nicht regulär. Frank Heitmann heitmann@informatik.uni-hamburg.de 13/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 14/40 Das Pumping Lemma - Nochmal der Ablauf Das Pumping Lemma - Anmerkung zum Ablauf Der Ablauf beim Pumping Lemma: 1 Annehmen L wäre regulär 2 Die Zahl aus dem Pumping Lemma benennen (z.b. k). 3 Ein Wort z finden mit z k und z L. Dieses Wort muss gut gewählt sein, damit der nachfolgende Widerspruch gelingt! Hier muss man also u.u. experimentieren! 4 Für alle Zerlegungen von z in uvw zeigen, dass sie im Widerspruch zur ersten, zweiten oder dritten Bedingung sind. Üblicherweise betrachtet man alle Zerlegungen, die die erste und zweite Bedingung erfüllen und zeigt, dass man dann einen Widerspruch zur dritten Bedingung erhält. 5 Also: Alle Zerlegungen z = uvw mit uv k und v 1 betrachten. 6 Zeigen, dass man ein i findet mit uv i w L. (Dies kann auch i = 0 sein!) Frank Heitmann heitmann@informatik.uni-hamburg.de 15/40 Anmerkung Bei der Zerlegung (vorletzter Schritt eben) gelingt oft eine Parametrisierung. Bspw. konnte in den Beispielen oben v = 0 j bzw. v = a j mit einem j mit 1 j k gesetzt werden. Das j wandert quasi den Bereich von 1 bis k ab. Für jedes j ist dies eine mögliche Zerlegung, die die ersten beiden Bedingungen erfüllt und man führt im runde genommen alle diese Zerlegungen zum Widerspruch! Frank Heitmann heitmann@informatik.uni-hamburg.de 16/40

Zusammenfassung - Überblick Motivation DFA, NFA, (NFA mit λ-kanten) Zustände, Startzustand, Endzustände Überführungsfunktion erweitere Überführungsfunktion vollständig, initial zusammenhängend Konfiguration, Konfigurationsübergang Rechnung, Erfolgsrechnung akzeptierte Sprache reguläre Ausdrücke Potenzautomatenkonstruktion Konstruktionstechniken und L(A) = M Abschlusseigenschaften von RE renzen von RE Pumping Lemma (Kellerautomaten) Frank Heitmann heitmann@informatik.uni-hamburg.de 17/40 Bisher hatten wir Automaten, die Wörter akzeptieren Wir werden nun ein neues Modell kennenlernen:, die Wörter generieren Frank Heitmann heitmann@informatik.uni-hamburg.de 18/40 Informales Beispiel Informales Beispiel Ihr kennt vielleicht schon Beispiele bei der Definition von Programmiersprachen! Hier z.b. um mögliche Identifier abzuleiten, die Ziffern und Buchstaben enthalten dürfen, aber mit einem Buchstaben beginnen müssen: identifier ::= letter identifier letter identifier digit letter ::= A B C digit ::= 0 1 2 3 4 oder kompakter: I L IL ID L a b c D 0 1 2 3 4 I L IL ID L a b c D 0 1 2 3 4 Eine mögliche Ableitung eines Identifiers (Ziel: abc1): I ID ILD ILLD LLLD alld abld abl1 abc1 Frank Heitmann heitmann@informatik.uni-hamburg.de 19/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 20/40

Hin zu. Formale Definition Dies ist genau die Idee bei! Die roßbuchstaben, die ersetzt werden können, sind die Nonterminale. Die Kleinbuchstaben, aus denen sich das abgeleitete Wort zusammensetzt, sind die Terminale. Die I IL usw. sind die Regeln oder Produktionen. Wir definieren nun zunächst die rammatik sehr allgemein und schränken diese später ein... Definition (rammatik) Eine rammatik ist ein Quadrupel = (V N, V T, P, S) mit 1 Dem endlichen Alphabet von Nonterminalen V N. 2 Dem endlichen Alphabet von Terminalen V T mit V T V N =. Das esamtalphabet wird mit V := V T V N bezeichnet. 3 Der endlichen Menge von Produktionen (oder Regeln) P (V \ V T ) V. 4 Dem Startsymbol S V N. Frank Heitmann heitmann@informatik.uni-hamburg.de 21/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 22/40. Anmerkungen Ableitung Bemerkung Auf der linken Seite einer Regel steht stets mindestens ein Nonterminal! P (V \ V T ) V Notationen Eine Regel (u, v) P wird meist als u v notiert. Mehreren Regeln u v und u w mit gleicher linker Seite werden als u v w abgekürzt. Bei u v w, v w s t folgen nach dem Komma Regeln mit neuer linker Seite. emeint ist dann also, dass es die Regeln (u, v), (u, w) sowie (v, w), (v, s) und (v, t) in P gibt. Definition (Ableitung) Die einschrittige Ableitung eines Wortes v aus einem Wort u mittels einer Produktion einer rammatik wird notiert als u = v. Dabei ist die Relation = V V für alle u, v V definert durch: u = v gdw. u 1, u 2 V (w l, w r ) P : u = u 1 w l u 2 und v = u 1 w r u 2 Ist der Kontext klar, wird das tief gestellte weggelassen. Ferner bedienen wir uns wieder der reflexiven, transitiven Hülle mehrschrittige Ableitungen. = für Frank Heitmann heitmann@informatik.uni-hamburg.de 23/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 24/40

. Beispiel enerierte Sprache Vorgehen Eine Ableitung funktioniert also so: Das aktuelle Wort w betrachten Treten in w linke Seiten von Regeln auf? Falls ja, wähle eine dieser Regeln und ersetze die in w auftretende linke Seite der Regel durch die rechte Seite dieser Regel Beispiel Mit S ASB AB, AB c, AcB c gilt S ASB AABB AcB c Definition (enerierte Sprache) Sei = (V N, V T, P, S) eine rammatik. Die von generierte oder erzeugte Sprache ist L() := {w V T S Definition (Äquivalenz von ) = w} Zwei 1 und 2 werden genau dann als äquivalent bezeichnet, wenn L( 1 ) = L( 2 ) gilt. Anmerkung Eine Zeichenkette u V mit S = u nennt man auch Satzform. Frank Heitmann heitmann@informatik.uni-hamburg.de 25/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 26/40 Wenn man zwei Regeln mit gleichen linken Seite hat, wie wird ausgewählt welche Regel benutzt wird? 1 Das darf es nicht geben! 2 Darf man frei wählen! 3 Die, die am weitesten links steht! Kann man zwei Regeln mit gleicher rechten Seite haben? 1 Ja! 2 Nein! 4 Es werden alle benutzt! Frank Heitmann heitmann@informatik.uni-hamburg.de 27/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 28/40

Kann es mehrere Möglichkeiten geben, um das gleiche Wort abzuleiten? 1 Ja! 2 Nein! Richtige Antworten sind: 1 2 2 1 3 1 Frank Heitmann heitmann@informatik.uni-hamburg.de 29/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 30/40. Formale Definition Die bisher eingeführten sind sehr mächtig. Wir wollen sie jetzt zunächst einschränken und bei den eingeschränkten gucken, was man damit alles machen kann... Definition (Kontextfreie rammatik (CF)) Eine kontextfreie rammatik (CF) ist ein Quadrupel = (V N, V T, P, S) mit 1 Dem endlichen Alphabet von Nonterminalen V N. 2 Dem endlichen Alphabet von Terminalen V T mit V T V N =. Das esamtalphabet wird mit V := V T V N bezeichnet. 3 Der endlichen Menge von Produktionen (oder Regeln) P V N V. 4 Dem Startsymbol S V N. werden auch als Typ-2- bezeichnet. Frank Heitmann heitmann@informatik.uni-hamburg.de 31/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 32/40

vs. kontextfreie CF - das λ Anmerkung Der Unterschied zwischen (allgemeinen) und kontextfreien liegt lediglich in der Menge der Produktionen P: bei allgemeinen : P (V \ V T ) V bei kontextfreien : Definition (λ-produktionen, λ-frei) Eine kontextfreie Produktion (A, λ) wird als λ-produktion bezeichnet. Besitzt eine CF keine λ-produktionen, so heißt sie λ-frei. P V N V Bei einer kontextfreien rammatik ist bei einer Regel also stets genau ein Nonterminal auf der linken Seite! Daher auch der Name kontextfrei. Das Nonterminal wird unabhängig von dem Kontext, in dem es steht, ersetzt. Frank Heitmann heitmann@informatik.uni-hamburg.de 33/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 34/40 Sprachfamilie CF Definition (Sprachfamilie CF) Ableitung und akzeptierte Sprache ist wie bei definiert. Die Familie der kontextfreien Sprachen ist dann jene Familie von Sprachen, für die es eine kontextfreie rammatik gibt, die sie generiert. Abgekürzt wird diese Sprachfamilie mit CF. Wichtige Bemerkung Neben RE haben wir nun mit CF unsere zweite Sprachfamilie kennengelernt! Welche der folgenden ist nicht kontextfrei? 1 S AB, A aa λ, B bb λ 2 S Ab ab, A aa a, B bb b 3 S AB, AB aabb ab 4 zwei davon sind nicht kontextfrei 5 alle drei sind nicht kontextfrei 6 keine Ahnung... Frank Heitmann heitmann@informatik.uni-hamburg.de 35/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 36/40

Welche Ableitung ist mit S AB cc, A aab λ, B bb C, C cc λ möglich? 1 S AB AC AcC cc c 2 S AB aabb aabc aab ab 3 S AB aabb aabc aabc abc 4 zwei davon sind möglich 5 alle drei sind möglich Was gilt für die Menge der Produktionen einer kontextfreien rammatik? 1 P (V \ V T ) V 2 P V N V T 3 P V N V 4 P (V \ V N ) V T 5 P V N V 6 keine Ahnung... 6 keine Ahnung... Frank Heitmann heitmann@informatik.uni-hamburg.de 37/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 38/40 Zusammenfassung Definitionen bisher: Richtige Antworten sind: 1 3 2 4 (nämlich 1 und 2; die 3 ist aber nur falsch, weil aabc aabc nicht in einem Schritt (sondern nur in zweien) möglich ist) 3 3 Morgen: rammatik Nonterminal, Terminal, Produktion, Startsymbol Ableitung (enerierte) Sprache, Äquivalenz Kontextfreie rammatik / Typ-2-rammatik λ-produktionen, λ-frei Sprachfamilie CF zu Sprachen konstruieren Eigenschaften kontextfreier renzen kontextfreier Frank Heitmann heitmann@informatik.uni-hamburg.de 39/40 Frank Heitmann heitmann@informatik.uni-hamburg.de 40/40