Author
emera
View
86
Download
0
Embed Size (px)
DESCRIPTION
Diskrete Mathematik I. Vorlesung 11. Grammatiken, Sprachen und deren Verarbeitung. 1. Wo bin ich?. $GPGLL,3455.45,N,74565.87,E,215421.54,V*23. Beispiel: Satzbau in deutscher Sprache (Auszug). Grammatik: (1) - PowerPoint PPT Presentation
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Diskrete Mathematik I
Grammatiken, Sprachen und deren Verarbeitung
Vorlesung 11
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 201
Wo bin ich?
$GPGLL,3455.45,N,74565.87,E,215421.54,V*23
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Grammatik:(1) <Satz> <Subjekt> <Prädikat> <Objekt>(2) <Subjekt> <Artikel> <Substantiv>(3) <Objekt> <Artikel> <Substantiv>(4) <Prädikat> jagt(5) <Prädikat> beißt(6) <Artikel> die(7) <Substantiv> Maus(8) <Substantiv> Katze
Ableitung:<Satz> <Subjekt> <Prädikat> <Objekt> <Artikel> <Substantiv> <Prädikat><Artikel> <Substantiv> die <Substantiv> <Prädikat> die <Substantiv> die Katze jagt die Maus
Beispiel: Satzbau in deutscher Sprache (Auszug)
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 201
• Beispiel: Grammatik der deutschen Sprache (Auszug)• Grammatik: formale Definition• Ableitung, von Grammatik erzeugte Sprache• Hierarchie von Sprachen/Grammatiken • 'kontextfreie' Sprachen/Grammatiken
• Beispiel 'Arithmetische Ausdrücke'• Ableitungsbäume
• 'reguläre' Sprachen/Grammatiken • Einlesen/Verarbeiten von Sprachen• 'endliche Automaten' (Zustandsübergangsgraphen)• Beispiel: Einlesen/Verarbeiten von GPS-Daten (NMEA-Format)
Übersicht
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 201
• Grammatik: formale Beschreibung von Sprachen• natürliche Sprachen • Fokus: formale Sprachen (Java, arithmetische Ausdrücke, HTML,
XML, ...)• Überprüfung der syntaktischen Korrektheit
• Überprüfung, ob Wort zur Sprache gehört (grammatikalisch richtig ist)
• Voraussetzung für Verarbeitung• Erkennung/Verarbeitung natürlicher Sprachen• Kompilieren/Ausführen von Java-Programmen• Berechnen arithmetischer Ausdrücke• Einlesen/Verarbeiten von GPS-Signalen, Dateien mit Tachymeter-
Messpunkten, GIS-Daten,....
Motivation
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Grammatik: formale Definition
Eine Grammatik G ist definiert durch G = (N, T, S, P), mit• N: endliche Menge der Nichtterminalsymbole• T: endliche Menge der Terminalsymbole (N und T sind disjunkt)• S: Startsymbol, aus N• P: endliche Menge von Ersetzungsregeln p q, wobei p und q
aus (N T)* sind
*: Stern-Operator: M* ist die Menge aller Worte, die sich aus den Symbolen aus M bilden lassen.
Bsp: {a}* = {, a, aa, aaa, aaaa, aaaaa, ...} Bsp: {a,b}* = {, a, b, aa, ab, ba, bb, aaa, aab, aba, abb,
baa, bab,...}: leeres Wort, ist immer dabei
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Grammatik: Beispiel Satzbau
Eine Grammatik G ist definiert durch G = (N, T, S, P) mit• N:
{<Satz>,<Subjekt>,<Prädikat>,<Objekt>,>Artikel>,<Substantiv>}
• T: {die, Katze, Maus, jagt, beißt}• S: <Satz>• P: Menge der Ersetzungsregeln p q
<Satz> <Subjekt> <Prädikat> <Objekt><Subjekt> <Artikel> <Substantiv><Objekt> <Artikel> <Substantiv><Prädikat> jagt<Prädikat> beißt<Artikel> die<Substantiv> Maus<Substantiv> Katze
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
• Gegeben: Grammatik G = (N,T,S,P)• X ist Wort aus (N T)* (d.h. beliebige Kombination aus
Terminal- und Nichtterminalsymbolen)• p q ist Ersetzungsregel aus P• X = apb, d.h. p taucht in X auf• dann ist Y = aqb aus X = apb ableitbar durch die
Ersetzungsregel p q• Schreibweise: apb aqb oder X Y
Beispiel: Das Wort Y = die <Substantiv> jagt die <Substantiv>ist aus X = die <Substantiv> <Prädikat> die <Substantiv>ableitbar durch die Regel <Prädikat> jagt
Ableitungsschritt, ableitbar
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
• Zur Darstellung der Ableitungsschritte können Bäume verwendet werden. Beispiel:
Ableitungsbaum
<Subjekt>
<Artikel> <Substantiv>
Katze
<Satz>
<Prädikat> <Objekt>
<Substantiv><Artikel>
die jagt Mausdie
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
• Gegeben: Grammatik G = (N,T,S,P)• Die von G erzeugte Sprache ist die Menge aller Worte,
die aus S durch Anwendung der Ersetzungsregeln P ableitbar sind, und die nur aus Terminalsymbolen T bestehen.
Sprache
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
• Die von der Satzbau-Grammatik erzeugte Sprache ist { die Maus jagt die Maus,
die Maus jagt die Katze,die Maus beißt die Maus,die Maus beißt die Katze,die Katze jagt die Maus,die Katze jagt die Katze,die Katze beißt die Maus,die Katze beißt die Katze
}• Keine Worte dieser Sprache sind:
• die Katze <Prädikat> die Maus• die Katze frisst die Maus• Katze beißt Maus
Sprache: Beispiel Satzbau in deutscher Sprache
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Klassifikation von Sprachen/Grammatiken
Sprache/Grammatik
Einschränkung der Regeln
regulär(Typ 3)
A wB oderA w A,B: Nichtterminalsymbol w: Wort aus Terminalsymbolen
kontextfrei(Typ 2)
A a
A: Nichtterminalsymbol a: beliebiges Wort, |a| > 0
kontextsensitiv(Typ 1)
p q
|q| |p| p,q: beliebig
rekursiv aufzählbar(Typ 0)
beliebig
Informatik:
Chomsky-Hierarchi
e nur die grau unterlegten
Grammatiken werden hier behandelt
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Kontextfreie Grammatiken und Sprachen
• Definition: Ein Grammatik G heißt kontextfrei, wenn die Regeln die Form• A a
haben, wobei A ein Nichtterminalsymbol und a ein beliebiges Wort ist (|a| > 0)
• Eine Sprache heißt kontextfrei, wenn sie von einer kontextfreien Grammatik erzeugt wird
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Kontextfreie Grammatik: Bsp. Arithmetische AusdrückeG sei definiert durch
• Nichtterminalsymbole: {A}• Terminalsymbole: {+, —, * ( , ),a,b,c}• Startsymbol: A• Regeln: (1) A A * A (5) A a
(2) A A + A (6) A b(3) A A — A (7) A c(4) A (A) (8) A —A
• Ableitung (Bsp): A A * A A * (A) A * (A + A) —A * (A + A) —A * (—A + A) —A * (—(A) + A) A * (—(A — A) + A) —c * (—(A — A) + A) c * (—(b — A) + A) c * (—(b — a) + A) —c * (—(b — a) + c)
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Arithmetische Ausdrücke: Ableitungsbaum
Ableitung: A A * A A * (A) A * (A + A) —A * (A + A) —A * (—A + A) —A * (—(A) + A) —A * (—(A — A) + A) —c * (—(A — A) + A) —c * (—(b — A) + A) —c * (—(b — a) + A) —c * (—(b — a) + c)
A
*
+
a
—
( )
b
A
A
c A A
A
A — A
cA
( )
A
A
—
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Reguläre Grammatiken und Sprachen
• Definition: Ein Grammatik G heißt regulär, wenn die Regeln die Form• A wB oder
• A w
haben, wobei A und B Nichtterminalsymbole sind und w ein Wort aus Terminalsymbolen ist
• Eine Sprache heißt regulär, wenn sie von einer regulären Grammatik erzeugt wird
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Reguläre Grammatiken/Sprachen: Beispiel
• Sprache: waa...axbb...bycc...cz• Grammatik G:
• Nichtterminalsymbole: {S,A,B,C}• Terminalsymbole: {a,b,c,w,x,y,z}• Startsymbol: S• Regeln: (1) S wA (5) B yC
(2) A aA (6) C cC(3) A xB (7) C z(4) B bB
• Ableitung (Beispiel): S wA waA waaA waaaA waaaxB waaaxbB waaaxbbB waaaxbbbB waaaxbbbbB waaaxbbbbyC waaaxbbbbycC waaaxbbbbyccC waaaxbbbbycccC waaaxbbbbyccccC waaaxbbbbyccccz
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Erkennung/Verarbeitung von Sprachen
• Grammatiken: Erzeugung von Worten einer Sprache• Komplementäres Problem: Erkennung eines Wortes
• Gehört ein Wort zur Sprache oder nicht?• z.B. ist Java-Programm syntaktisch korrekt (keine
Syntaxfehler)?• z.B. ist ein HTML-Dokument syntaktisch korrekt?
• Voraussetzung zur Verarbeitung eines Wortes• Zerlegen von Datensätzen, Extrahieren von
Informationen• z.B. Erkennung von Subjekt, Prädikat, Objekt• z.B. Extraktion von Koordinaten aus GPS-Daten• Begriff: 'parsen' (vgl. Vorlesung Java: Token)
• zu jedem Grammatik-Typ (3-0) gibt es entsprechendes Erkennungsverfahren
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Erkennung/Verarbeitung von Sprachen
Sprache/Grammatik
Einschränkung der Regeln
Mechanismus zur Erkennung
regulär(Typ 3)
A wBA w A,B: Nichtterminalsymbol w: Wort aus Terminalsymbolen
Endlicher Automat
kontextfrei(Typ 2)
A a
A: Nichtterminalsymbol a: beliebig, |a| > 0
Kellerautomat
kontextsensitiv(Typ 1)
p q
|q| |p| p,q: beliebig
linear beschränkte Turing-Maschine
rekursiv aufzählbar(Typ 0)
beliebig Turing-Maschine
nur die grau unterlegten Konzepte
werden hier behandelt
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Endliche Automaten
• Ein endlicher Automat besteht aus• einer endlichen Menge Q von Zuständen• einem Anfangszustand aus Q• einer Menge von Endzuständen (Teilmenge von Q)• einer Zustandsüberführungsfunktion:
überführt einen Zustand q1 durch Lesen eines Terminal-Wortes w in den Zustand q2
• Beispiel (graphische Notation):
Ende d
abc x
y
A
B xyz
Ein endlicher Automatist ein gerichteter, markierter Graph (vgl. nächste Vorlesung:Dijkstra)
S
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Endliche Automaten und reguläre Sprachen
• Gegeben: eine reguläre Grammatik G = (N,T,S,P)• Konstruktion des endlichen Automaten zu G:
• Zustandsmenge ist Menge der Nichtterminalsymbole, plus einem extra Endzustand
• Anfangszustand entspricht Startsymbol• Jede Ersetzungsregel entspricht einem Zustandsübergang:
• A wB: Übergang von A nach B durch Lesen des Wortes w
• A w: Übergang von A in Endzustand durch Lesen des Wortes w
• Ein endlicher Automat zu einer Grammatik G akzeptiert ein Wort, wenn er• beginnend im Anfangszustand • das Wort schrittweise gemäß der
Zustandsübergangsfunktion liest, und• nach dem Lesen in einem Endzustand ist
• Ein endlicher Automat zu einer Grammatik G akzeptiert ein Wort w genau dann, wenn das Wort w von der Grammatik G erzeugt wird
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Endlicher Automat zu regulärer Grammatik: Beispiel• Sprache: waa...axbb...bycc...cz• Regeln: (1) S wA (5) B yC
(2) A aA (6) C cC(3) A xB (7) C z(4) B bB
• Zugehöriger endlicher Automat:
• z.B. wird Wort waaaaaaxycccccz akzeptiert• z.B. wird Wort waxbbyccz akzeptiert• z.B. wird Wort waaafbbyccz nicht akzeptiert• z.B. wird Wort waxby nicht akzeptiert (kein Endzustand
erreicht)
S Ende
a b c
w x y zA B C
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Beispiel: Interpretation eines GPS-Formats
• Standard NMEA 0183 (National Marine Electronics Association)• Auslesen von Informationen aus GPS-Geräten• wird von fast allen GPS-Geräten unterstützt• Protokoll besteht aus mehreren Sätzen (ASCII/Text)• Satz beginnt mit Dollarsymbol ($) und endet mit neuer
Zeile(<CR><LF>)• Nach $ kommt Kennung des Satzes, z.B.
• $GPGLL: Geographic Position – Latitude/Longitude• $GPWNC: Distance - Waypoint to Waypoint• $GPGSV: Satellites in view • ......
• Kennung bestimmt das Format des Satzes• Endlicher Automat zum Einlesen von NMEA....
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
NMEA: GLL: Geographic Position – Latitude/Longitude
$GPGLL,llll.ll,a,yyyyy.yy,a,hhmmss.ss,A*hh<CR><LF>
geogr. LängeN or S (North or South)
geogr. Breite
E or W (East or West)
Zeit (UTC)
Status (A: Valid, V: Invalid)
PrüfsummeKennung
$GPGLL, , c
zz
<CR><LF>
S1 zzzz
. zzS8
, zzzzz
.
zz,, zzzzzz., zz
c
S3S2 S4 S5 S6 S9
S21
S7
, cS10S11S12S13S14S15S16S17S18S19S20
z ist Zahl c ist Buchstabe
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
NMEA: WNC - Distance - Waypoint to Waypoint
$GPWNC,x.x,N,x.x,K,c--c,c--c*hh<CR><LF>
N: Naut. Meilen
Abstand in naut. Meilen
Name des TO WaypointPrüfsummeKennung
Abstand in Kilometern
K: Kilometer
Name des FROM Waypoint
$GPWNC, N,.
<CR><LF>
S22
c
z z z ,
z
.,,
c
K,* zz
S23S1
S24 S25 S26 S27 S28 S29
S30S31S35S36S32S33S34
S37
Diskrete Mathe11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Endlicher Automat zum Einlesen von NMEA
$GPGLL,
<CR><LF>
S1 $GPWNC,
S2
. . . . . .
S22 . . . . . .
<CR><LF>
S38
$GPGSV,
. . . . . .
. . . . . .
<CR><LF>