Diskrete mathematik i
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

Diskrete Mathematik I PowerPoint PPT Presentation


  • 121 Views
  • Uploaded on
  • Presentation posted in: General

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) <Satz>  <Subjekt> <Prädikat> <Objekt>

Download Presentation

Diskrete Mathematik I

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Diskrete mathematik i

Diskrete Mathematik I

Vorlesung 11

Grammatiken, Sprachen und deren Verarbeitung


Diskrete mathematik i

1

Wo bin ich?

$GPGLL,3455.45,N,74565.87,E,215421.54,V*23


Diskrete mathematik i

Beispiel: Satzbau in deutscher Sprache (Auszug)

  • 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


Diskrete mathematik i

1

Übersicht

  • 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)


Diskrete mathematik i

1

Motivation

  • Grammatik: formale Beschreibung von Sprachen

    • natürliche Sprachen

    • Fokus: formaleSprachen (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,....


Diskrete mathematik i

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 mathematik i

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 mathematik i

Ableitungsschritt, ableitbar

  • 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 = apbableitbar durch die Ersetzungsregel p  q

  • Schreibweise:apbaqb oder X  Y

  • Beispiel:

  • Das Wort Y = die <Substantiv> jagtdie <Substantiv>

  • ist aus X = die <Substantiv><Prädikat>die <Substantiv>

  • ableitbar durch die Regel <Prädikat> jagt


Diskrete mathematik i

Ableitungsbaum

  • Zur Darstellung der Ableitungsschritte können Bäume verwendet werden. Beispiel:

<Satz>

<Subjekt>

<Prädikat>

<Objekt>

<Artikel>

<Substantiv>

<Artikel>

<Substantiv>

die

Katze

jagt

die

Maus


Diskrete mathematik i

Sprache

  • Gegeben: Grammatik G = (N,T,S,P)

  • Die von G erzeugte Spracheist die Menge aller Worte, die aus S durch Anwendung der Ersetzungsregeln P ableitbar sind, und die nur aus Terminalsymbolen T bestehen.


Diskrete mathematik i

Sprache: Beispiel Satzbau in deutscher Sprache

  • Die von der Satzbau-Grammatik erzeugte Spracheist {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


Diskrete mathematik i

Klassifikation von Sprachen/Grammatiken

Informatik: Chomsky-Hierarchie

nur die grau unterlegten Grammatiken werden hier behandelt


Diskrete mathematik i

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 kontextfreienGrammatik erzeugt wird


Diskrete mathematik i

Kontextfreie Grammatik: Bsp. Arithmetische Ausdrücke

  • G 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 mathematik i

Arithmetische Ausdrücke: Ableitungsbaum

A

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

A

(

A

)

c

A

+

A

A

c

(

A

)

A

A

b

a


Diskrete mathematik i

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 BNichtterminalsymbole sind und w ein Wort aus Terminalsymbolen ist

  • Eine Sprache heißt regulär, wenn sie von einer regulären Grammatik erzeugt wird


Diskrete mathematik i

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 mathematik i

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 mathematik i

Erkennung/Verarbeitung von Sprachen

nur die grau unterlegten Konzepte werden hier behandelt


Diskrete mathematik i

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):

abc

S

A

x

Ein endlicher Automat

ist ein gerichteter,

markierterGraph(vgl. nächste Vorlesung:Dijkstra)

d

Ende

xyz

y

B


Diskrete mathematik i

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 mathematik i

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 nichtakzeptiert

  • z.B. wird Wort waxby nichtakzeptiert (kein Endzustand erreicht)

y

z

w

x

Ende

S

C

A

B

c

a

b


Diskrete mathematik i

Beispiel: Interpretation eines GPS-Formats

  • Standard NMEA0183(National Marine Electronics Association)

  • Auslesen von Informationen aus GPS-Geräten

  • wird von fast allen GPS-Geräten unterstützt

  • Protokoll besteht aus mehrerenSä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 mathematik i

$GPGLL,

zzzz

zz

,

,

c

zzzzz

.

S1

S2

S6

S3

S4

S5

S7

S8

S9

<CR><LF>

.

S21

zz

zzzzzz

zz

zz

,

,

,

c

,

.

c

S20

S19

S18

S17

S16

S15

S14

S13

S12

S11

S10

NMEA: GLL: Geographic Position – Latitude/Longitude

$GPGLL,llll.ll,a,yyyyy.yy,a,hhmmss.ss,A*hh<CR><LF>

Prüfsumme

Kennung

Zeit (UTC)

geogr. Breite

Status (A: Valid, V: Invalid)

N or S (North or South)

geogr. Länge

E or W (East or West)

c ist Buchstabe

z ist Zahl


Diskrete mathematik i

,

,

N

.

z

z

z

$GPWNC,

S29

S22

S23

S28

S24

S26

S27

S25

S1

.

,

,

K

z

,

S30

zz

S31

*

S32

S34

S33

<CR><LF>

S35

S36

S37

c

c

NMEA: WNC- Distance - Waypoint to Waypoint

$GPWNC,x.x,N,x.x,K,c--c,c--c*hh<CR><LF>

Kennung

Prüfsumme

Name des TO Waypoint

Abstand in naut. Meilen

Name des FROM Waypoint

N: Naut. Meilen

K: Kilometer

Abstand in Kilometern


Endlicher automat zum einlesen von nmea

Endlicher Automat zum Einlesen von NMEA

. . . . . .

<CR><LF>

S2

$GPGLL,

S1

S22

. . . . . .

$GPWNC,

<CR><LF>

. . . . . .

$GPGSV,

S38

. . . . . .

<CR><LF>


  • Login