1 / 14

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:

gyala
Download Presentation

8. Formale Sprachen und Grammatiken

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 8. Formale Sprachen und Grammatiken 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.

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

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

  4. 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)

  5. 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} Grammatiken

  6. 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. Ableitungsbaum

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

  8. 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 FOR; END. Rechtslineare Grammatik und endliche Automaten

  9. 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 Typen von Grammatiken alle Sprachen rekursiv aufzählbare Sprachen durch beliebige Grammatiken erzeugbar kontextsensitive Sprachen kontextfreie Sprachen Chomsky- Hierarchie reguläre Sprachen

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

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

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

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

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

More Related