Theorie der Informatik



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

Formale Sprachen und Grammatiken

Programmiersprachen und Übersetzer

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

Mathematische Grundlagen der Informatik 2

Theoretische Informatik I

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

Vorlesung Theoretische Informatik

Theoretische Grundlagen der Informatik

Grundlagen der Künstlichen Intelligenz

Grammatiken. Einführung

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

Wortproblem für kontextfreie Grammatiken

7. Formale Sprachen und Grammatiken

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

Grundbegriffe der Informatik

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

Grundbegriffe der Informatik

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

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

Grundbegriffe der Informatik

2.11 Kontextfreie Grammatiken und Parsebäume

Erfüllbarkeit und Allgemeingültigkeit

1 Mathematische Grundlagen

Logik für Informatiker

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

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 )

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

Sprachen/Grammatiken eine Wiederholung

Logische Folgerung. Definition 2.11

Informatik IC2. Balazs Simon

1. Formale Sprachen 1.2 Grammatiken formaler Sprachen

Grundbegriffe der Informatik

IT-Basics 2. DI Gerhard Fließ

Theoretische Informatik I

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

Semantik von Formeln und Sequenzen

Grundbegriffe der Informatik

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

Theoretische Informatik

Der Zwei-Quadrate-Satz von Fermat

Einfache kryptographische Verfahren

Theoretische Grundlagen des Software Engineering

Satz. Für jede Herbrand-Struktur A für F und alle t D(F ) gilt offensichtlich

Formale Grundlagen der Wirtschaftsinformatik

Informationsblatt Induktionsbeweis

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

Formeln. Signatur. aussagenlogische Formeln: Aussagenlogische Signatur

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

I. Aussagenlogik. Aussagenlogik untersucht Verknüpfungen wie "und", "oder", "nicht", "wenn... dann" zwischen atomaren und komplexen Sätzen.

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Multimedia Technologie II

Binäre Suchbäume (binary search trees, kurz: bst)

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

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

Kapitel 2: Formale Sprachen Gliederung

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

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

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

1 Aussagenlogik und Mengenlehre

Einführung in. Logische Schaltungen

Diana Lange. Generative Gestaltung Operatoren

Einführung in die Informatik Grammars & Parsers

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

Was bisher geschah: Formale Sprachen

Grundbegriffe der Informatik Tutorium 7

Was ist ein Compiler?

WS 2008/09. Diskrete Strukturen

Grundlagen der Theoretischen Informatik

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

Elemente der Analysis I Kapitel 2: Einführung II, Gleichungen

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

4. Mathematik Olympiade 2. Stufe (Kreisolympiade) Klasse 8 Saison 1964/1965 Aufgaben und Lösungen

1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.

Informatik I WS 07/08 Tutorium 24

Formale Sprachen, reguläre und kontextfreie Grammatiken

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

Programmieren I. Formale Sprachen. Institut für Angewandte Informatik

Data Mining: Einige Grundlagen aus der Stochastik

Abschnitt 5. Grammatiken

Formale Methoden II. Gerhard Jäger. SS 2008 Universität Bielefeld. Teil 8, 11. Juni Formale Methoden II p.1/30

7 Rechnen mit Polynomen

Fragen für die Klausuren

Primzahlen und RSA-Verschlüsselung

Brückenkurs Mathematik, THM Friedberg,

Grundlagen des Maschinellen Lernens Kap. 4: Lernmodelle Teil II

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

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Informatik I WS 07/08 Tutorium 24

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

Einführung in die Algebra

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

2. Vorlesung. Slide 40

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Die Post hat eine Umfrage gemacht

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundbegriffe der Informatik

Transkript:

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 der Aussagenlogik) Sei A eine Menge von atomaren Aussagen. Die Menge der aussagenlogischen Formeln (über A) ist induktiv wie folgt definiert: Jedes Atom a A ist eine aussagenlogische Formel über A. Ist φ eine aussagenlogische Formel über A, dann auch die Negation φ. Sind φ und ψ aussagenlogische Formeln über A, dann ist es auch die Konjunktion (φ ψ). Sind φ und ψ aussagenlogische Formeln über A, dann ist es auch die Disjunktion (φ ψ).

Beispiel: Aussagenlogische Formeln Sei S A die Menge aller aussagenlogischen Formeln über A. Solche Mengen von Zeichenketten (oder Wörtern) nennt man Sprachen. Gesucht: Allgemeine Konzepte, um solche (oftmals unendliche) Sprachen mit endlichen Beschreibungen zu definieren heute: Grammatiken nächste Kapitel zusätzlich: Automaten

Beispiel: Aussagenlogische Formeln Beispiel (Grammatik für S {a,b,c} ) Grammatikvariablen {F, A, N, K, D} mit Startvariable F, Terminalsymbole {a, b, c,,,, (, )} und Regeln F A A a N F F N A b K (F F ) F K A c D (F F ) F D Beginne mit F und ersetze schrittweise eine linke Regelseite durch eine rechte Regelseite bis keine Variablen mehr enthalten sind: F N F D (F F ) (A F ) (b F ) F (b A) (b c)

Alphabete und formale Sprachen

Alphabete und formale Sprachen Definition (Alphabete, Wörter und formale Sprache) Ein Alphabet Σ ist eine endliche, nicht-leere Menge von Zeichen (oder Symbolen). Beispiel Σ = {a, b}

Alphabete und formale Sprachen Definition (Alphabete, Wörter und formale Sprache) Ein Alphabet Σ ist eine endliche, nicht-leere Menge von Zeichen (oder Symbolen). Die Menge Σ aller Wörter über Σ enthält alle endlichen Folgen von Elementen aus Σ. Das leere Wort (die leere Elementfolge) wird dabei mit ε bezeichnet. Beispiel Σ = {a, b} Σ = {ε, a, b, aa, ab, ba, bb,... }

Alphabete und formale Sprachen Definition (Alphabete, Wörter und formale Sprache) Ein Alphabet Σ ist eine endliche, nicht-leere Menge von Zeichen (oder Symbolen). Die Menge Σ aller Wörter über Σ enthält alle endlichen Folgen von Elementen aus Σ. Das leere Wort (die leere Elementfolge) wird dabei mit ε bezeichnet. Für ein Wort w bezeichnet w seine Länge. Beispiel Σ = {a, b} Σ = {ε, a, b, aa, ab, ba, bb,... } aba = 3, b = 1, ε = 0

Alphabete und formale Sprachen Definition (Alphabete, Wörter und formale Sprache) Ein Alphabet Σ ist eine endliche, nicht-leere Menge von Zeichen (oder Symbolen). Die Menge Σ aller Wörter über Σ enthält alle endlichen Folgen von Elementen aus Σ. Das leere Wort (die leere Elementfolge) wird dabei mit ε bezeichnet. Für ein Wort w bezeichnet w seine Länge. Eine formale Sprache ist eine Teilmenge von Σ. Beispiel Σ = {a, b} Σ = {ε, a, b, aa, ab, ba, bb,... } aba = 3, b = 1, ε = 0

Sprachen: Beispiele Beispiel (Sprachen über Σ = {a, b}) S 1 = {a, aa, aaa, aaaa,... } S 2 = Σ S 3 = {a n b n n 0} = {ε, ab, aabb, aaabbb,... } S 4 = {ε} S 5 = S 6 = {w Σ w enhält doppelt soviele a wie b} S 6 = {ε, aab, aba, baa,... } S 7 = {w Σ w = 3} S 6 = {aaa, aab, aba, baa, bba, bab, abb, bbb}

Sprachen: Beispiele Beispiel (Sprachen über Σ = {a, b}) S 1 = {a, aa, aaa, aaaa,... } S 2 = Σ S 3 = {a n b n n 0} = {ε, ab, aabb, aaabbb,... } S 4 = {ε} S 5 = S 6 = {w Σ w enhält doppelt soviele a wie b} S 6 = {ε, aab, aba, baa,... } S 7 = {w Σ w = 3} S 6 = {aaa, aab, aba, baa, bba, bab, abb, bbb}

Sprachen: Beispiele Beispiel (Sprachen über Σ = {a, b}) S 1 = {a, aa, aaa, aaaa,... } S 2 = Σ S 3 = {a n b n n 0} = {ε, ab, aabb, aaabbb,... } S 4 = {ε} S 5 = S 6 = {w Σ w enhält doppelt soviele a wie b} S 6 = {ε, aab, aba, baa,... } S 7 = {w Σ w = 3} S 6 = {aaa, aab, aba, baa, bba, bab, abb, bbb}

Sprachen: Beispiele Beispiel (Sprachen über Σ = {a, b}) S 1 = {a, aa, aaa, aaaa,... } S 2 = Σ S 3 = {a n b n n 0} = {ε, ab, aabb, aaabbb,... } S 4 = {ε} S 5 = S 6 = {w Σ w enhält doppelt soviele a wie b} S 6 = {ε, aab, aba, baa,... } S 7 = {w Σ w = 3} S 6 = {aaa, aab, aba, baa, bba, bab, abb, bbb}

Sprachen: Beispiele Beispiel (Sprachen über Σ = {a, b}) S 1 = {a, aa, aaa, aaaa,... } S 2 = Σ S 3 = {a n b n n 0} = {ε, ab, aabb, aaabbb,... } S 4 = {ε} S 5 = S 6 = {w Σ w enhält doppelt soviele a wie b} S 6 = {ε, aab, aba, baa,... } S 7 = {w Σ w = 3} S 6 = {aaa, aab, aba, baa, bba, bab, abb, bbb}

Sprachen: Beispiele Beispiel (Sprachen über Σ = {a, b}) S 1 = {a, aa, aaa, aaaa,... } S 2 = Σ S 3 = {a n b n n 0} = {ε, ab, aabb, aaabbb,... } S 4 = {ε} S 5 = S 6 = {w Σ w enhält doppelt soviele a wie b} S 6 = {ε, aab, aba, baa,... } S 7 = {w Σ w = 3} S 6 = {aaa, aab, aba, baa, bba, bab, abb, bbb}

Sprachen: Beispiele Beispiel (Sprachen über Σ = {a, b}) S 1 = {a, aa, aaa, aaaa,... } S 2 = Σ S 3 = {a n b n n 0} = {ε, ab, aabb, aaabbb,... } S 4 = {ε} S 5 = S 6 = {w Σ w enhält doppelt soviele a wie b} S 6 = {ε, aab, aba, baa,... } S 7 = {w Σ w = 3} S 6 = {aaa, aab, aba, baa, bba, bab, abb, bbb}

Fragen Fragen?

Grammatiken

Grammatiken Definition (Grammatik) Eine Grammatik ist ein 4-Tupel (Σ, V, P, S) mit 1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V Σ) + (V Σ) endliche Menge von Regeln, und 4 S V Startvariable.

Regelmengen Was genau bedeutet P (V Σ) + (V Σ)? (V Σ) : Alle Wörter über (V Σ) (V Σ) + : Alle nicht-leeren Wörter über (V Σ) Allgemein für Menge X : X + = X \ {ε} : kartesisches Produkt (V Σ) + (V Σ) : Menge aller Paare (x, y), wobei x nicht-leeres Wort über (V Σ) und y Wort über (V Σ) Statt (x, y) schreiben wir Regeln meist in der Form x y.

Regeln: Beispiele Beispiel Sei Σ = {a, b, c} und V = {X, Y, Z}. Folgende Regeln sind in (V Σ) + (V Σ) : X XaY Yb a XY ε XYZ abc abc XYZ

Ableitung Definition (Ableitung) Sei (Σ, V, P, S) eine Grammatik. Ein Wort v (V Σ) kann von Wort u (V Σ) + abgeleitet werden (u v), falls 1 u = xyz, v = xy z mit x, z (V Σ) und 2 es existiert eine Regel y y P. Wir schreiben: u v falls v in endlich vielen Schritten (d.h. durch die Anwendung von n Regeln für n N) von u abgeleitet werden kann.

Ableitung: Mehrdeutigkeit Beispiel G = ({a, b, c}, {S, A, B}, P, S), wobei P folgende Regeln enthält: S ab S Ac A ab B bc Wort abc kann von S abgeleitet werden: S ab abc Alternative Ableitung: S Ac abc Es kann verschiedene Ableitungen für ein Wort geben. Dies gilt selbst, wenn man immer nur die erste vorkommende Variable ersetzt (sogenannte Linksableitung).

Ableitung: Mehrdeutigkeit Beispiel G = ({a, b, c}, {S, A, B}, P, S), wobei P folgende Regeln enthält: S ab S Ac A ab B bc Wort abc kann von S abgeleitet werden: S ab abc Alternative Ableitung: S Ac abc Es kann verschiedene Ableitungen für ein Wort geben. Dies gilt selbst, wenn man immer nur die erste vorkommende Variable ersetzt (sogenannte Linksableitung).

Ableitung: Mehrdeutigkeit Beispiel G = ({a, b, c}, {S, A, B}, P, S), wobei P folgende Regeln enthält: S ab S Ac A ab B bc Wort abc kann von S abgeleitet werden: S ab abc Alternative Ableitung: S Ac abc Es kann verschiedene Ableitungen für ein Wort geben. Dies gilt selbst, wenn man immer nur die erste vorkommende Variable ersetzt (sogenannte Linksableitung).

Erzeugte Sprache einer Grammatik Definition (Sprache) Die von einer Grammatik G = (Σ, V, P, S) erzeugte Sprache L(G) = {w Σ S w} ist die Menge aller Wörter aus Σ, die von S mit endlich vielen Regelanwendungen abgeleitet werden können.

Grammatiken Beispiele: Tafel

Quiz

Fragen Fragen?

Chomsky-Hierarchie

Chomsky-Hierarchie Grammatiken werden in die Chomsky-Hierarchie eingegliedert. Definition (Chomsky-Hierarchie) Jede Grammatik ist vom Typ 0 (beliebige Regeln erlaubt). Grammatik ist vom Typ 1 (kontextsensitiv), falls für alle Regeln w 1 w 2 gilt: w 1 w 2. Grammatik ist vom Typ 2 (kontextfrei), falls für alle Regeln w 1 w 2 gilt: w 1 V (einzelne Variable). Grammatik ist vom Typ 3 (regulär), falls zusätzlich w 2 Σ ΣV. Spezialfall: Regel S ε ist immer erlaubt, wenn S Startsymbol ist und auf keiner rechten Seite irgendeiner Regel auftritt.

Chomsky-Hierarchie Beispiele: Tafel

Chomsky-Hierarchie Definition (Typ-0 3 Sprachen) Eine Sprache L Σ heisst vom Typ 0 (Typ 1, Typ 2, Typ 3), falls es eine Typ-0- (Typ-1-, Typ-2-, Typ-3-) Grammatik G gibt mit L(G) = L.

Chomsky-Hierarchie reguläre Sprachen (Typ 3) kontextfreie Sprachen (Typ 2) kontextsensitive Sprachen (Typ 1) Typ-0-Sprachen Alle Sprachen Nicht alle Sprachen sind durch Grammatiken beschreibbar.

Chomsky-Hierarchie reguläre Sprachen (Typ 3) kontextfreie Sprachen (Typ 2) kontextsensitive Sprachen (Typ 1) Typ-0-Sprachen Alle Sprachen Nicht alle Sprachen sind durch Grammatiken beschreibbar.

Quiz

Fragen Fragen?

Zusammenfassung

Zusammenfassung Sprachen sind Mengen von Zeichenketten. Grammatiken sind eine Möglichkeit Sprachen zu beschreiben. Erzeugte Sprache einer Grammatik ist die Menge der ableitbaren variablenfreien Wörter. Chomsky-Hierarchie teilt Grammatiken in Stufen unterschiedlicher Erzeugungsmächtigkeit ein. Nächstes Kapitel Mehr zu regulären Sprachen Automaten als alternative Darstellungsform von Sprachen

Zusammenfassung Sprachen sind Mengen von Zeichenketten. Grammatiken sind eine Möglichkeit Sprachen zu beschreiben. Erzeugte Sprache einer Grammatik ist die Menge der ableitbaren variablenfreien Wörter. Chomsky-Hierarchie teilt Grammatiken in Stufen unterschiedlicher Erzeugungsmächtigkeit ein. Nächstes Kapitel Mehr zu regulären Sprachen Automaten als alternative Darstellungsform von Sprachen