1 / 26

Diskrete Mathematik I

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>

emera
Télécharger la présentation

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. 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. Diskrete Mathematik I Vorlesung 11 Grammatiken, Sprachen und deren Verarbeitung

  2. 1 Wo bin ich? $GPGLL,3455.45,N,74565.87,E,215421.54,V*23

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

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

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

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

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

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

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

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

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

  12. Klassifikation von Sprachen/Grammatiken Informatik: Chomsky-Hierarchie nur die grau unterlegten Grammatiken werden hier behandelt

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

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

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

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

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

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

  19. Erkennung/Verarbeitung von Sprachen nur die grau unterlegten Konzepte werden hier behandelt

  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): abc S A x Ein endlicher Automat ist ein gerichteter, markierterGraph(vgl. nächste Vorlesung:Dijkstra) d Ende xyz y B

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

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

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

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

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

  26. Endlicher Automat zum Einlesen von NMEA . . . . . . <CR><LF> S2 $GPGLL, S1 S22 . . . . . . $GPWNC, <CR><LF> . . . . . . $GPGSV, S38 . . . . . . <CR><LF>

More Related