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



Ähnliche Dokumente
Theorie der Informatik

Programmiersprachen und Übersetzer

Theoretische Grundlagen der Informatik

Kapitel 2: Formale Sprachen Kontextfreie Sprachen. reguläre Grammatiken/Sprachen. kontextfreie Grammatiken/Sprachen

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

Grundbegriffe der Informatik

Formale Sprachen und Grammatiken

Theoretische Informatik I

2.11 Kontextfreie Grammatiken und Parsebäume

Grundbegriffe der Informatik

Theoretische Informatik I

Grammatiken. Einführung

Grundlagen der Informatik II. Teil I: Formale Modelle der Informatik

Wortproblem für kontextfreie Grammatiken

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

Mathematische Grundlagen der Informatik 2

Grundbegriffe der Informatik

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

7. Formale Sprachen und Grammatiken

Vorlesung Theoretische Informatik

1 Mathematische Grundlagen

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

Grundbegriffe der Informatik

Informatik IC2. Balazs Simon

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

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

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

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Grammatiken und die Chomsky-Hierarchie

Informationsblatt Induktionsbeweis

Einfache kryptographische Verfahren

TheGI 1: Grundlagen und algebraische Strukturen Prof. Dr.-Ing. Uwe Nestmann Februar Schriftliche Leistungskontrolle (EK)

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 )

Übung Theoretische Grundlagen Nachtrag zur Vorlesung Dirk Achenbach

Primzahlen und RSA-Verschlüsselung

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

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

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Kapitel 2: Formale Sprachen Gliederung

Vorlesung Dokumentation und Datenbanken Klausur

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

teischl.com Software Design & Services e.u. office@teischl.com

Grundlagen der Künstlichen Intelligenz

Formale Systeme. Binary Decision Diagrams. Prof. Dr. Bernhard Beckert WS 2010/2011 KIT INSTITUT FÜR THEORETISCHE INFORMATIK

Sprachen/Grammatiken eine Wiederholung

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

Professionelle Seminare im Bereich MS-Office

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

Definition und Begriffe

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

Informatik I WS 07/08 Tutorium 24

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.

Grundlagen der Theoretischen Informatik, SoSe 2008

Anmerkungen zur Übergangsprüfung

WS 2009/10. Diskrete Strukturen

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

Erfüllbarkeit und Allgemeingültigkeit

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

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Der Zwei-Quadrate-Satz von Fermat

7 Die Determinante einer Matrix

7 Rechnen mit Polynomen

Uwes Wiests Training

Theoretische Informatik

Datenbanken Kapitel 2

Grundbegriffe der Informatik

Grundbegriffe der Informatik Tutorium 7

Erstellen von x-y-diagrammen in OpenOffice.calc

Anwendungsbeispiele Buchhaltung

Formale Sprachen, reguläre und kontextfreie Grammatiken

Übungen für Woche 10

Analysis I für Studierende der Ingenieurwissenschaften

Formale Systeme, WS 2012/2013 Lösungen zu Übungsblatt 4

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Definition:Eine meromorphe Modulform vom Gewicht k Z ist eine meromorphe. f : H C. (ii) C > 0, so daß f(z) im Bereich Im z > C keine Singularität hat.

IT-Basics 2. DI Gerhard Fließ

Online-Bestellung Tageskarten für Mitglieder des FC St. Pauli, die nicht im Besitz einer Dauer- oder Saisonkarte sind.

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

Leichte-Sprache-Bilder

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

Terme stehen für Namen von Objekten des Diskursbereichs (Subjekte, Objekte des natürlichsprachlichen Satzes)

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

Formelsammlung zur Kreisgleichung

3. Grundlagen der Linearen Programmierung

Data Mining: Einige Grundlagen aus der Stochastik

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

Kostenstellen verwalten. Tipps & Tricks

Lineare Gleichungssysteme

Wie kann man beweisen, dass (H, ) eine Gruppe ist?

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Wir gehen aus von euklidischen Anschauungsraum bzw. von der euklidischen Zeichenebene. Parallele Geraden schneiden einander nicht.

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

Beispiel Zusammengesetzte Zufallsvariablen

Was ist Sozial-Raum-Orientierung?

5. Bildauflösung ICT-Komp 10

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

WS 2008/09. Diskrete Strukturen

1 Aussagenlogik und Mengenlehre

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Transkript:

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 4 Komplexitätstheorie heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen 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 4 Komplexitätstheorie heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 20

prachen Beispiel 15 (geklammerte Ausdrücke). Alphabet: Σ = {(, ), a} prache: PXPR:={korrekt geklammerte Ausdrücke mit der Variablen a} Σ ((a)((a))(a)) PXPR (aa) PXPR ((((((a)))))(a))((a)) PXPR (a)()a( PXPR Problem. Wie kann eine formale prache präzise (und effizient) beschrieben werden? Wie kann das Wortproblem algorithmisch/maschinell gelöst werden (Parser)? PXPR ist nur ein ganz einfaches Beispiel!!! heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 21 Grammatiken: Idee Produktions-/rsetzungsregeln A B Bedeutet: A kann durch B ersetzt werden, wobei A und B Wörter bestehend aus Hilfsvariablen und Zeichen des Alphabets (erminale) sind. Beispiel 16 (Grammatik für PXPR). G PXPR : B B (B) B BB B (a) und B sind Hilfsvariablen (stehen für tart und Block). Konvention Im Zusammenhang mit Grammatiken stehen hier GROBUCHABN stets/meist für (Hilfs)-Variablen und KLINBUCHABN für erminale. heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 22

Grammatiken: Ableitungen Wie werden Wörter durch Grammatiken produziert? Ableitungsalgorithmus 1 Beginne mit der tartvariablen X := 2 inde einen Zeichenkette Y in X X = X Y X für die es eine Produktionsregel gibt Y Z und ersetze Y durch Z X := X ZX 3 Wiederhole chritt 2 bis X nur noch aus erminalen besteht. Beispiel 17 (Ableitung in G PXPR ). (((a)(a))((a))) PXPR Ableitung: B (B) (BB) ((B)B) ((BB)B) (((a)b)b) (((a)(a))b) (((a)(a))(b)) (((a)(a))((a))) heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 23 Grammatiken: Definition Definition 18 (Grammatik). ine Grammatik G ist ein 4-upel wobei: G = (V,Σ, P, 0 ) V ist eine endliche Menge, deren lemente Variablen oder Nichtterminale heißen, Σ ist ein Alphabet mit V Σ =, P ist eine endliche eilmenge von (V Σ) + (V Σ), deren lemente Regeln oder Produktionen heißen und 0 V ist die tartvariable. ine Produktion (X, Y ) P steht für die Ableitungsregel X Y. Beispiel 19 (G PXPR = (V,Σ, P, 0 ) formal). V := {, B} Σ := {(, ), a} P := {(, B), (B, (B)), (B, BB), (B, (a))} 0 := Konventionen. Wir bezeichnen die tartvariable mit. Wir geben Grammatiken meist nur als Liste von Produktionen an, wenn das Alphabet/die erminalsymbolmenge klar ist (siehe Beispiel 16). heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 24

Ableitungen formal Definition 20. ei G = (V, Σ, P, ) eine Grammatik und seien X, W (V Σ). Wir definieren die Relationen G und G wie folgt: X G W gdw. X, X (V Σ) und eine Produktion Y Z, so dass X = X YX und W = X ZX. G bezeichnet die reflexive, transitive Hülle von G, d.h. X G W gdw. entweder X = W oder X 1,..., X k (V Σ) : X G X 1 G G X k G W. alls der Bezug auf G klar ist, schreiben wir einfach und. Definition 21. ei G eine Grammatik. ine olge (X 0,..., X n ) von Wörtern aus (V Σ) mit X 0 =, X i G X i+1 für i = 0,..., n 1, X n Σ heißt eine G-Ableitung von X n. in Wort X (V Σ) heißt eine atzform. heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 25 Grammatiken und prachen? Definition 22. ei G eine Grammatik. Die von G erzeugte prache L(G) ist L(G) = {w Σ G w}. L(G) besteht also aus allen Wörtern aus Σ, die eine G-Ableitung haben. ragen. Woher weiß man, dass G die gewünschte prache erzeugt? Gibt es für jede prache genau eine Grammatik? Gibt es für jedes Wort in L(G) genau eine G-Ableitung? Ist das Wortproblem für jede Gramatik lösbar? Gibt es Grammatiken, für die das Wortproblem lösbar ist? Wie kann man Grammatiken charakterisieren? i.a. schwierig i.a. nein i.a. nein nein ja heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 26

Backus Naur orm (rweiterte) Backus Naur orm (()BN) Zur Vereinfachung fassen wir Produktionsregeln wie folgt zusammen: oder A X 1 A X 2. A X k A X 1 X 2... X k beliebig oft (auch keinmal) A XZ A X BZ A X { Y } Z B Y B Y B (k)einmal A XZ A XYZ } A XˆY Z Beispiel 23 (G PXPR in BN). B B (B) BB (a) heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 27 Interessanteres Beispiel XPR Beispiel 24 (arithmetische Ausdrücke). Alphabet: Σ = {(, ), +,, a} prache: XPR:={korrekte arithmetische Ausdrücke mit der Variablen a} Σ G XPR : () + a a + a a a + a a + + a + a + a a + a + a + a a + a a a + a x a a + a x a a + a a heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 28

yntaxbäume/linksableitungen/mehrdeutigkeit + a + a + a a + a a yntaxbäume der Ableitung a + a a a + a x a a + a x a + a + a + a + a a + a a Definition 25 (Linksableitung). ine Ableitung, in der stets das am weitesten links stehende Nichtterminal ersetzt wird, heißt Linksableitung. (ine Rechtsableitung wird analog definiert.) Beide obigen Beispiele zeigen Linksableitungen von a + a a. Definition 26 (Mehrdeutigkeit). ine Grammatik G heißt mehrdeutig, falls es ein Wort gibt, das zwei verschiedene Linksableitungen besitzt. ine nicht mehrdeutige Grammatik heißt eindeutig. Die obigen Ableitungen zeigen G XPR ist mehrdeutig. heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 29 2. Versuch für XPR G XPR : + xpression, erm, aktor. () a a + a a again + + + a + a + a + a + a a + a a a + a x a Ist a + a a eindeutig in G XPR? ja heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 30

() ( + ) ( + ) ( + ) (a + ) (a + ) (a + a) (a + a) a ( a + a ) x a heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 31 Chomsky Hierachie Ziel: Klassifikation von Grammatiken. Definition 27 (Chomsky Hierachie). ei G = (V, Σ, P, ) eine Grammatik. 0 G ist eine Phrasenstrukturgrammatik (oder von yp 0). 1 G heißt kontextsensitiv (yp 1), falls für jede Produktion X Y in P gilt: X Y. 2 G heißt kontextfrei (yp 2), falls G von yp 1 ist und für alle X Y in P gilt: X V. 3 G heißt regulär (yp 3), falls G von yp 2 ist und für alle X Y in P gilt: Y Σ ΣV. L Σ heißt yp i pache, falls es eine Grammatik G vom yp i gibt mit L = L(G). Analog sprechen wir von kontextsensitiven, kontextfreien und regulären prachen. heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 32

Chomsky Hierachie Bemerkung 28. Nach Definition 27 gilt: reguläre pr. kontextfreie pr. kontextsensitive pr. yp 0 pr. In der VL werden wir sehen, dass alle vier Klassen echt verschieden sind, d.h. reguläre pr. kontextfreie pr. kontextsensitive pr. yp 0 pr. ür den Compilerbau sind kontextfreie und reguläre prachen relevant. Beispiel 29. G PXPR ist kontextfrei. G XPR und G XPR sind kontextfrei. heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 33 ε-onderregel Die Definition 27 für Grammatiken von yp i mit i 1 lässt nicht zu, dass ε L(G). Deshalb führen wir die folgende ε-onderregel ein. Definition 30 (ε-onderregel). alls ε L(G) erwünscht ist, darf die Regel ε vorkommen. In diesem all darf nicht auf der rechten eite einer Produktion vorkommen. Man kann die Definition der kontextfreien Grammatik so erweitern, dass auch Regeln der orm A ε zulässig sind (Übung). heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 34

yntaxbäume (formal) Definition 31 (yntaxbaum). ei G = (V,Σ, P, ) eine kontextfreie Grammatik. ei w L(G) und sei = X 0 X 1 X n = w eine G-Ableitung.Wir definieren den yntaxbaum wie folgt: ist die Wurzel. Wird im i-ten Ableitungsschritt X i 1 X i die Variable A durch das Wort Z = z 1... z k (V Σ) ersetzt, so hat A in dem yntaxbaum die Kinder z 1,..., z k. Die Blätter des Baumes sind dann die ymbole von w. Wieso nur für kontextfreie Grammatiken? G XPR : (a + a) a () ( + ) ( + ) ( + ) (a + ) (a + ) (a + a) (a + a) a ( a + a ) x a heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 35 Mehrdeutige prachen? Zur rinnerung: In Definition 26 definierten wir mehrdeutige Grammatiken als Grammatiken, in deren erzeugter prache es mindestens ein Wort gibt, welches mindestens zwei Linksableitungen hat. Definition 32 (Inhärent mehrdeutige prachen). ine prache heißt inhärent mehrdeutig, falls jede kontextfreie Grammatik, die L erzeugt, mehrdeutig ist. atz 33. G XPR ist eine eindeutige, kontextfreie Grammatik die XPR erzeugt, d.h. XPR ist nicht inhärent mehrdeutig. atz 34. Die prache L := {a i b j c k i = j oder j = k} über dem Alphabet Σ = {a, b, c} ist inhärent mehrdeutig. heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 36

Zusammenfassung Grammatiken, Ableitungen von Wörtern, erzeugte prache rweiterte Backus Naur orm Linksableitung Chomsky Hierachie 0 Phrasenstrukturgrammatiken yp 0 1 kontextsensitive Grammatiken yp 1 2 kontextfreie Grammatiken yp 2 3 reguläre Grammatiken yp 3 ε-onderregel yntaxbäume für kontextfreie prachen inhärente Mehrdeutigkeit heoretische Informatik 2 (W 2006/07) Automatentheorie und ormale prachen / Grammatiken 37