YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Diskrete Mathematik I

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

Page 2: Diskrete Mathematik I

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

Page 3: Diskrete Mathematik I

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)

Page 4: Diskrete Mathematik I

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

Page 5: Diskrete Mathematik I

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

Page 6: Diskrete Mathematik I

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

Page 7: Diskrete Mathematik I

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

Page 8: Diskrete Mathematik I

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

Page 9: Diskrete Mathematik I

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

Page 10: Diskrete Mathematik I

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

Page 11: Diskrete Mathematik I

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

Page 12: Diskrete Mathematik I

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

Page 13: Diskrete Mathematik I

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

Page 14: Diskrete Mathematik I

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)

Page 15: Diskrete Mathematik I

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

Page 16: Diskrete Mathematik I

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

Page 17: Diskrete Mathematik I

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

Page 18: Diskrete Mathematik I

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

Page 19: Diskrete Mathematik I

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

Page 20: Diskrete Mathematik I

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

Page 21: Diskrete Mathematik I

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

Page 22: Diskrete Mathematik I

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

Page 23: Diskrete Mathematik I

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

Page 24: Diskrete Mathematik I

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

Page 25: Diskrete Mathematik I

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

Page 26: Diskrete Mathematik I

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>


Related Documents