8. Formale Sprachen und Grammatiken

Slides:



Advertisements
Ähnliche Präsentationen
Vorlesung Compilertechnik Sommersemester 2008
Advertisements

Programmierung 1 - Repetitorium
6. Regelbasierte Systeme
7. Natürliche Binärbäume
9. Syntaxdiagramme und Backus-Naur-Form (BNF)
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Organisatorisches Klausur für Übungsschein (Anfang Januar)
3. Berechenbarkeit Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar? Intuitiv: Wenn es einen Algorithmus gibt, der sie berechnet! Was heißt,
Imperative Programmierung
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Notationen A = ist eine endliche, nichtleere menge,
Grammatiken, Definitionen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken beschreiben Sprachen L µ *, indem.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reduktionen Def: L · L (L ist reduzierbar auf.
FH-Hof Grammatiken Richard Göbel. FH-Hof Begriffe Eine Grammatik definiert die Struktur (Syntax) einer Zeichenkette Eine Grammatik definiert nicht die.
Parser für CH3-Sprachen
REKURSION + ITERATION. Bemerkung: Die in den folgenden Folien angegebenen "Herleitungen" sind keine exakten Beweise, sondern Plausibilitätsbetrachtungen.
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (02 – Endliche Automaten) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (12 – Kellerautomaten, PDA) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (17 –Turingmaschinen) Prof. Dr. Th. Ottmann.
M a r c – o l i v e r p a h l Informatik II – Kapitel 18 Übersetzung Zusammenfassung des Kapitel 18 Küchlin, Weber, Vorversion Einführung in die Informatik,
Prof. Dr. rer.nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil Metasprache der.
Prolog Grundkurs WS 98/99 Christof Rumpf
Beispiele für Ausdrucksalgebren
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Christian Schindelhauer
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/ Vorlesung Dominic Dumrauf.
Christian Schindelhauer
Christian Schindelhauer
Christian Schindelhauer
Formale Sprachen Grundbegriffe für formale Sprachen
RDF MT Resource Description Framework Model Theory © 2002 by Emir Blažević
Grenzen der Regularität
Christian Schindelhauer Wintersemester 2006/07 8. Vorlesung
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
1936: On Computable Numbers, with an application to the
Formale Sprachen Reguläre Sprachen Rudolf FREUND, Marian KOGLER.
Entwurf und Implementierung eines Scanner-Generatorsystems
POCKET TEACHER Mathematik Algebra
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Städtisches Gymnasium Beverungen Friedel Berlage
Dieser nicht Fehler finden Algorithmus enthält einfach einen gravierenden welcher zu ist.
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
PS Grundlagen wissenschaftlichen Arbeitens
Noam CHOMSKY, Sheila GREIBACH
Noam CHOMSKY, Sheila GREIBACH
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Automaten und Formale Sprachen VO UE 1
Automaten und Formale Sprachen VO UE 1
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Arne Vater Wintersemester 2006/07 28.
Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Informatik Formale Sprachen 1.2 Grammatiken formaler Sprachen
Mensch – Maschine - Kommunikation
Der Hund jagt die Katze. Theoretische Informatik Satz S P O
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
7. Formale Sprachen und Grammatiken
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele: KFG und Automaten Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln:
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Kapitel 4:Die Chomsky Hierarchie
Wann ist eine Funktion (über den natürlichen Zahlen) berechenbar?
Information - syntaktisch
Sprachen und Programmiersprachen
Gliederung 0. Motivation und Einordnung 1. Endliche Automaten
 Präsentation transkript:

8. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr., ...) Vorteile gegenüber natürlichen Sprachen: • exakte Definition der zulässigen Ausdrücke und ihrer Bedeutung • keine Kontextabhängigkeit der Bedeutung • dadurch erheblich leichtere Verarbeitung Eine Sprache L besteht aus Wörtern über einem zugrundeliegenden Alphabet , es gilt also: L Teilmenge von *. Die Syntax einer Sprache legt fest, welche Ausdrücke zur Sprache gehören. Die Semantik legt fest, was die Ausdrücke bedeuten. Endliche Sprachen können durch Aufzählen ihrer Elemente definiert werden, für unendliche Sprachen braucht man endliche Beschreibung.

Formale Sprachen Formale Sprache Alphabet: geordneter Zeichenvorrat Formale Sprache: Menge von Zeichenketten, die aus den Symbolen eines beliebigen Alphabets aufgebaut sind. Zeichenkette: endliche Folge von Symbolen, die ohne Zwischenraum hintereinander geschrieben werden (Verkettung) Wohlgeformtheit Definition der zulässigen Zeichenketten einer Sprache durch induktive Definition induktive Definition: 1. definitorische Anfangsbestimmung 2. generierende Bestimmung 3. Abschlußbestimmung

Aussagenlogik Aussagenlogik - Syntax Eine atomare Formel hat die Form Ai (wobei i = 1,2,3): (1) Alle atomaren Formeln sind Formeln. (2a) Für alle Formeln F und G sind (F&G) und (FvG) Formeln. (2b) Für jede Formel F ist ¬F eine Formel. (3) Nichts ist eine Formel, was nicht als solche durch (1) und (2) bestimmt ist.

Axiomensystem für Aussagenlogik (A1) (A(B  A)) (A2) ((A (B  C)) ((A  B) (A  C))) (A3) (( B   A) (( B  A)  B)) Inferenzregel: Gilt A und A  B, folgere B (modus ponens)

Grammatiken Formale Sprachen können durch Grammatiken beschrieben werden. Eine Grammatik G = (V, , P, S) besteht aus folgenden Komponenten: • einer endlichen Menge V von Variablen (Nichtterminalsymbolen), • dem endlichen Terminalalphabet , • einer endlichen Menge P von Regeln , wobei  und  aus V und  gebildet sind, • einer Startvariablen S aus V. Die durch G erzeugte Sprache L(G) wird wie folgt definiert: Die Zeichenkette v heißt direkt ableitbar aus der Zeichenkette u (Notation: u => v) genau dann wenn u = xyz, v = xy'z und y  y'  P. =>* bezeichnet die reflexive und transitive Hülle von =>. Wir definieren: L(G) = {w  * | S =>* w}

Ableitungsbaum 1. Die Wurzel des Ableitungsbaums ist mit dem Startsymbol markiert. 2. Ist ein Knoten mit einem Terminalsymbol markiert, dann ist er ein Blatt und hat keinen Sohn. 3. Ist ein Knoten mit einem Nichtterminalsymbol X markiert, und hat er n Söhne, die von links nach rechts mit X1, X2, ...,Xn markiert sind, so enthält die Grammatik die Regel X X1, X2, ..., Xn Die Folge der Blätter von links nach rechts gelesen ergibt ein Wort der Sprache.

Chomsky Grammatik Reguläre Sprachen (Typ 3) Produktionsregeln der Form X  aY X  Ya X  a Kontextfreie Sprachen (Typ 2) Produktionsregeln der Form X  uYv Kontextsensitive Sprachen (Typ 1) Produktionsregeln der Form uXv  uYv Unbeschränkte Sprachen (Typ 0)

Rechtslineare Grammatik und endliche Automaten Konstruktion eines nichtdeterministischen endlichen Automaten aus einer rechtslinearen Grammatik Input: Rechtslineare Grammatik G=<N, T, P, SG> Output: Nichtdeterministischer endlicher Automat NEA=<E, S, , s0, F> BEGIN E:=T; s0:= SG; S:= N{0}; F:={Y  N Y e  P}  {0}; FOR EACH (Y,y)  N x T DO (Y,y):= {Z  N Y yZ  P}; IF Y y  P THEN (Y,y):= (Y,y)  {0} END IF; END FOR; FOR EACH y  T DO (0,y):= 0 END.

rekursiv aufzählbare Sprachen durch beliebige Grammatiken erzeugbar Typen von Grammatiken eine Grammatik heißt kontextsensitiv falls für alle Regeln w1 -> w2 gilt: |w1| ≤ |w2| (|w|: Anzahl der Variablen und Terminalzeichen von w) kontextfrei falls für alle Regeln w1 -> w2 gilt: w1 aus V regulär falls zusätzlich gilt: w2 Terminalzeichen oder Terminalzeichen gefolgt von Variable durch Grammatiktypen erzeugbare Sprachen bilden echte Teilmengen alle Sprachen rekursiv aufzählbare Sprachen durch beliebige Grammatiken erzeugbar kontextsensitive Sprachen kontextfreie Sprachen reguläre Sprachen Chomsky- Hierarchie

Eine Grammatik für die natürliche Sprache <Satz> <Subjekt> <Artikel> <Attribut> <Adjektiv> <Substantiv> <Prädikat> <Objekt> -> <Subjekt> <Prädikat> <Objekt> <Artikel> <Attribut> <Substantiv> der die das <Adjektiv> <Adjektiv> <Attribut> kleine bissige große Hund Katze jagt   V: {<Satz>, <Subjekt>, <Artikel>, <Attribut>, <Adjektiv>, <Substantiv>, <Prädikat>, <Objekt>} : {der, die, das, kleine, bissige, große, Hund, Katze, jagt} S: <Satz>

Eine Ableitung <Satz> => <Subjekt> <Prädikat> <Objekt> <Artikel> <Attribut> <Substantiv> <Prädikat> <Objekt> der <Attribut> <Substantiv> <Prädikat> <Objekt> der <Adjektiv> <Attribut> <Substantiv> <Prädikat> <Objekt> der kleine <Attribut> <Substantiv> <Prädikat> <Objekt> der kleine <Adjektiv> <Substantiv> <Prädikat> <Objekt> der kleine bissige <Substantiv> <Prädikat> <Objekt> der kleine bissige Hund <Prädikat> <Objekt> der kleine bissige Hund jagt <Objekt> der kleine bissige Hund jagt <Artikel> <Attribut> <Substantiv> der kleine bissige Hund jagt die <Attribut> <Substantiv> der kleine bissige Hund jagt die <Adjektiv> <Substantiv> der kleine bissige Hund jagt die große <Substantiv> der kleine bissige Hund jagt die große Katze

Ein Ableitungsbaum <Satz> <Subjekt> <Prädikat> <Objekt> <Artikel> <Attr.> <Subst.> <Artikel> <Attr.> <Subst.> <Attr.> <Adj.> <Adj.> <Adj.> der kleine bissige Hund jagt die große Katze

Akzeption 1. Geht ein Automat  = (E, S, u, s0, F) bei der Verarbeitung eines Eingabewortes w  E* in den Zustand sj über, wobei sj ein Finalzustand ist, dann hat  w akzeptiert. 2. Die Menge aller Wörter wE*, die der Automat akzeptiert, nennt man Sprache L() des Automaten.

Automaten und Sprachen Automat endlicher Keller- linear b. Turing- Automat automat Automat Maschine Sprach- reguläre kontext kontext- unbeschränkte klasse -freie sensitive