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



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

Formale Sprachen und Grammatiken

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

Programmiersprachen und Übersetzer

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

Theorie der Informatik

Grundbegriffe der Informatik

Primzahlen und RSA-Verschlüsselung

Grammatiken. Einführung

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

Grundbegriffe der Informatik

Was meinen die Leute eigentlich mit: Grexit?

Kontextfreie Grammatiken

Grundbegriffe der Informatik

Theoretische Informatik I

Wir machen neue Politik für Baden-Württemberg

1 Mathematische Grundlagen

Formale Grundlagen der Informatik 1 Kapitel 12 Zusammenfassung

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

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

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

Informatik IC2. Balazs Simon

Erfahrungen mit Hartz IV- Empfängern

2.11 Kontextfreie Grammatiken und Parsebäume

Grundlagen der Theoretischen Informatik, SoSe 2008

Theoretische Grundlagen der Informatik

Informationsblatt Induktionsbeweis

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

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

Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Was ist Sozial-Raum-Orientierung?

Repetitionsaufgaben Wurzelgleichungen

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus:

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 )

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

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

Einfache kryptographische Verfahren

Leichte-Sprache-Bilder

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Die Invaliden-Versicherung ändert sich

Professionelle Seminare im Bereich MS-Office

Lineare Gleichungssysteme

Hilfe zur Urlaubsplanung und Zeiterfassung

7 Rechnen mit Polynomen

Alle gehören dazu. Vorwort

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

Grundlagen der Künstlichen Intelligenz

Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit

Theoretische Grundlagen der Informatik WS 09/10

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Um Ihre Ziele durchzusetzen! Um Beziehungen zu knüpfen und zu pflegen! Um in Begegnungen mit anderen Ihre Selbstachtung zu wahren!

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

So funktioniert das online-bestellsystem GIMA-direkt

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Zeichen bei Zahlen entschlüsseln

Mehr Geld verdienen! Lesen Sie... Peter von Karst. Ihre Leseprobe. der schlüssel zum leben. So gehen Sie konkret vor!

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Schritte 4. Lesetexte 13. Kosten für ein Girokonto vergleichen. 1. Was passt? Ordnen Sie zu.

Anleitung über den Umgang mit Schildern

Das sogenannte Beamen ist auch in EEP möglich ohne das Zusatzprogramm Beamer. Zwar etwas umständlicher aber es funktioniert

a n auf Konvergenz. Berechnen der ersten paar Folgenglieder liefert:

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

Die neue Aufgabe von der Monitoring-Stelle. Das ist die Monitoring-Stelle:

Zwischenablage (Bilder, Texte,...)

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

1: 9. Hamburger Gründerpreis - Kategorie Existenzgründer :00 Uhr

Zahlenwinkel: Forscherkarte 1. alleine. Zahlenwinkel: Forschertipp 1

Wie Sie mit Mastern arbeiten

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

Internationales Altkatholisches Laienforum

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Fax einrichten auf Windows XP-PC

ALEMÃO. Text 1. Lernen, lernen, lernen

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Antrag für ein Schlichtungs-Verfahren

Professionelle Seminare im Bereich MS-Office

Definition und Begriffe

Geld Verdienen im Internet leicht gemacht

Tipps und Tricks zu Netop Vision und Vision Pro

Gimp Kurzanleitung. Offizielle Gimp Seite:

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Print2CAD 2017, 8th Generation. Netzwerkversionen

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Mathematische Grundlagen der Informatik 2

13. Lineare DGL höherer Ordnung. Eine DGL heißt von n-ter Ordnung, wenn Ableitungen y, y, y,... bis zur n-ten Ableitung y (n) darin vorkommen.

Wie halte ich Ordnung auf meiner Festplatte?

1. Weniger Steuern zahlen

SANDBOXIE konfigurieren

DAVID: und David vom Deutschlandlabor. Wir beantworten Fragen zu Deutschland und den Deutschen.

Projektmanagement in der Spieleentwicklung

Erstellen von x-y-diagrammen in OpenOffice.calc

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

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

Anwendungsbeispiele Buchhaltung

SAMMEL DEINE IDENTITÄTEN::: NINA FRANK :: :: WINTERSEMESTER 08 09

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Transkript:

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 Wir werden nun ein neues Modell kennenlernen:, die Wörter generieren 15. April 2014 Frank Heitmann heitmann@informatik.uni-hamburg.de 1/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 2/28 Kontextfreie Kontextfreie 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 3/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 4/28

Hin zu Kontextfreie Kontextfreie. 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 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 5/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 6/28 Kontextfreie. Anmerkungen Ableitung Kontextfreie Bemerkung Eine Regel (u, v) P wird meist als u v notiert. Mehreren Reglen u v und u w werden als u v w abgekürzt. Auf der linken Seite einer Regel steht stets mindestens ein Nonterminal! P (V \ V T ) V 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 7/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 8/28

Kontextfreie Kontextfreie. 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 Definition (enerierte Sprache) Sei = (V N, V T, P, S) eine rammatik. Die von generierte oder erzeugte Sprache ist L() := {w V T S = w} S ASB AABB AcB c Frank Heitmann heitmann@informatik.uni-hamburg.de 9/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 10/28 Kontextfreie Kontextfreie Fragen... Fragen... 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 11/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 12/28

Fragen... Kontextfreie Zur Nachbereitung Kontextfreie Kann es mehrere Möglichkeiten geben, um das gleiche Wort abzuleiten? 1 Ja! 2 Nein! Zur Nachbereitung Richtige Antworten sind: 1 2 2 1 3 1 Frank Heitmann heitmann@informatik.uni-hamburg.de 13/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 14/28 Kontextfreie Kontextfreie Kontextfreie Kontextfreie. 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 3 Der endlichen Menge von Produktionen (oder Regeln) P V N V. 4 Dem Startsymbol S V N. Kontextfreie werden auch als Typ-2- Frank Heitmann heitmann@informatik.uni-hamburg.de 15/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 16/28

Kontextfreie Kontextfreie 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 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 17/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 18/28 Kontextfreie Kontextfreie Sprachfamilie CF Beispiel 1 M = a b = {a n b m n, m N} 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, die sie generiert. Abgekürzt wird diese Sprachfamilie mit CF. Die rammatik ist gegeben durch die Produktionen S AB, A aa λ, B bb λ Der Vollständigkeit halber: V N := {S, A, B} V T := {a, b} Das Startsymbol ist S. Frank Heitmann heitmann@informatik.uni-hamburg.de 19/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 20/28

Beispiel 1 Kontextfreie Beispiel 1 Kontextfreie M = a b = {a n b m n, m N} S AB, A aa λ, B bb λ M L(). Sei w = a n b m M. In können wir nun wie folgt ableiten: S AB aab... a n AB a n B a n bb... a n b m B a n b m Also gilt auch w L(). M = a b = {a n b m n, m N} S AB, A aa λ, B bb λ L() M. An den Produktionen erkennen wir zunächst, dass w {a} für jedes w mit A = w gilt, denn i-malige Anwendung von A aa führt zu der Satzform a i A. Dann kann mit A λ das A gelöscht werden. Ebenso gilt v {b} für jedes v mit B = v. Eine Ableitung eines Wortes u L() muss nun mit S AB beginnen. Anschließend kann wie eben erläuert A zu a i und B zu b j mit i, j N abgeleitet werden, d.h. u hat die Form a i b j. Dies zeigt u M. Frank Heitmann heitmann@informatik.uni-hamburg.de 21/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 22/28 Beispiel 2 Kontextfreie Beispiel 2 Kontextfreie M = {a n b n n N} S asb λ M L(). Sei w = a n b n M. In können wir nun wie folgt ableiten: S asb... a n Sb n a n b n Also gilt auch w L(). M = {a n b n n N} S asb λ L() M. Sei w L(). Da wir nur zwei Regeln haben, ist die Argumentation recht einfach. Die einzige Möglichkeit zu einem Wort zu kommen ist die Produktion S λ. Vorher kann i-mal die Produktion S asb benutzt werden. w kann damit nur die Form a i b i haben und damit gilt auch w M. Frank Heitmann heitmann@informatik.uni-hamburg.de 23/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 24/28

Kontextfreie Zur Konstruktion von Typ-3 Kontextfreie Konstruktionstipps Zwei Tipps bei der Konstruktion von : 1 Will man einen linken und einen rechten Teil miteinander in Beziehung setzen, wie bei a n b n, so klappt dies meist, indem das Nonterminal nach innen wandert: S asb 2 Will man eine Zeichenkette sequentiell aufbauen, wie bei a k, so kann man das Nonterminal meist an den Rand setzen S as Definition (Kontextfreie rammatik (CF)) Eine kontextfreie rammatik = (V N, V T, P, S) heißt linear, falls P V N (V T V N V T V T ) linkslinear, falls P V N (V N V T V T ) rechtslinear, falls P V N (V T V N V T ) Wir werden uns auf rechtslineare beschränken. Diese heißen auch Typ-3- oder reguläre. Frank Heitmann heitmann@informatik.uni-hamburg.de 25/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 26/28 Kontextfreie Kontextfreie und Automaten Ausblick Satz Eine Sprache R Σ ist regulär genau dann, wenn es eine rechtslineare rammatik gibt mit L() = R. Satz Eine Sprache C Σ ist kontextfrei genau dann, wenn es einen PDA gibt, der C mit leerem Keller akzeptiert. Das machen wir nächstes Mal... :) Bemerkung Der erste Satz stellt einen Zusammenhang zwischen DFAs und rechtslinearen her. Der zweite Satz stellt einen Zusammenhang zwischen PDAs und kontextfreien her. DFAs und rechtslineare sind hiernach äquivalent, ebenso wie PDAs und kontextfreie! Frank Heitmann heitmann@informatik.uni-hamburg.de 27/28 Frank Heitmann heitmann@informatik.uni-hamburg.de 28/28