8. formale sprachen und grammatiken
DESCRIPTION
Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr., ...) Vorteile gegenüber natürlichen Sprachen: - PowerPoint PPT PresentationTRANSCRIPT
G.Heyer Digitale Informationsverarbeitung1
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.
G.Heyer Digitale Informationsverarbeitung2
Formale SprachenFormale 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
G.Heyer Digitale Informationsverarbeitung3
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.
G.Heyer Digitale Informationsverarbeitung4
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)
G.Heyer Digitale Informationsverarbeitung5
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}
G.Heyer Digitale Informationsverarbeitung6
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.
G.Heyer Digitale Informationsverarbeitung7
Chomsky Grammatik
Reguläre Sprachen (Typ 3)
Produktionsregeln der Form
X aY
X Ya
X aKontextfreie Sprachen (Typ 2)
Produktionsregeln der Form
X uYv
Kontextsensitive Sprachen (Typ 1)
Produktionsregeln der Form
uXv uYv
Unbeschränkte Sprachen (Typ 0)
G.Heyer Digitale Informationsverarbeitung8
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>
BEGINE:=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 PTHEN (Y,y):= (Y,y) {0}
END IF;END FOR;FOR EACH y T DO (0,y):= 0
END FOR;END.
G.Heyer Digitale Informationsverarbeitung9
Typen von Grammatikeneine 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 Variabledurch Grammatiktypen erzeugbare Sprachen bilden echte Teilmengen
reguläre Sprachen
kontextfreie Sprachen
kontextsensitive Sprachen
alle Sprachen
rekursiv aufzählbare Sprachendurch beliebige Grammatiken erzeugbar
Chomsky-Hierarchie
G.Heyer Digitale Informationsverarbeitung10
Eine Grammatik für die natürliche Sprache
<Satz><Subjekt><Artikel><Artikel><Artikel><Artikel><Attribut><Attribut><Attribut><Adjektiv><Adjektiv><Adjektiv><Substantiv><Substantiv><Prädikat><Objekt>
->->->->->->->->->->->->->->->->
<Subjekt> <Prädikat> <Objekt><Artikel> <Attribut> <Substantiv>
derdiedas
<Adjektiv><Adjektiv> <Attribut>kleinebissigegroßeHundKatzejagt<Artikel> <Attribut> <Substantiv>
P:
{<Satz>, <Subjekt>, <Artikel>, <Attribut>, <Adjektiv>, <Substantiv>, <Prädikat>, <Objekt>}
V:
:
<Satz>{der, die, das, kleine, bissige, große, Hund, Katze, jagt}
S:
G.Heyer Digitale Informationsverarbeitung11
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
G.Heyer Digitale Informationsverarbeitung12
Ein Ableitungsbaum
der kleine bissige Hund jagt die große Katze
<Satz>
<Subjekt> <Objekt><Prädikat>
<Artikel> <Artikel><Attr.>
<Attr.>
<Attr.>
<Adj.> <Adj.>
<Adj.>
<Subst.> <Subst.>
G.Heyer Digitale Informationsverarbeitung13
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 wE*, die der Automat akzeptiert, nennt man
Sprache L() des Automaten.
G.Heyer Digitale Informationsverarbeitung14
Automaten und Sprachen
Automat endlicher Keller- linear b. Turing-Automat automat Automat Maschine
Sprach- reguläre kontext kontext- unbeschränkte
klasse -freie sensitive