Übersicht. (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit

Größe: px
Ab Seite anzeigen:

Download "Übersicht. (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit"

Transkript

1 Übersicht (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit

2 (B) Syntaxanalyse 1. Definition Parsing 2. Einfache Parsestrategien: Top-down Bottom-Up Probleme beim Parsen 3. Effiziente Parsestrategien: Chart-Parsing

3 (B.1) Was ist Parsing? Parsing bedeutet, einen String als grammatisch oder ungrammatisch bezüglich einer gegebenen Grammatik zu klassifizieren und ihm einen Strukturbaum zuzuordnen Die Grammatik bestimmt also, ob ein Satz grammatisch ist oder nicht. Das Parsing ist eine Methode, für eine gegebene Grammatik und einen gegebenen Satz zu bestimmen, ob diese Grammatik diesen Satz generiert (und wie der entsprechende Ableitungsbaum aussieht)

4 (B.1) Was ist Parsing? Beim Parsing unterscheidet man grob zwei Hauptstrategien voneinander: Inputgetriebenes Parsing (Bottom-up) Theoriegetriebenes Parsing (Top-down)

5 (B) Syntaxanalyse 1. Definition Parsing 2. Einfache Parsestrategien: Top-down Bottom-Up Probleme beim Parsen 3. Effiziente Parsestrategien: Chart-Parsing

6 (B.2) Beispielgrammatik G = { S, NP, VP, DET, N, V }, { der, Hund, bellt, sieht, die, Katze }, { S NP VP, NP DET N, VP V, VP V NP, DET der, DET die, N Hund, N Katze, V bellt, V sieht }, S

7 (B.2) Top-down-Parsing Parser beginnt beim Startsymbol S und versucht, durch sukzessive Regelanwendung schließlich bei den Eingabewörtern zu landen Regelanwendung von links nach rechts nennt man Expansion Den Abgleich mit den Symbolen des Eingabesatzes nennt man Scan

8

9 (B.2) Parsing-Algorithmen: Verschiedene Strategien 1. Analyserichtung: von der Wurzel S zum Eingabestring (Top-down) oder vom Eingabestring zur Wurzel (Bottom-up, mehr dazu später) 2. Verarbeitungsrichtung: links-nach-rechts oder rechts-nach-links (oder bi-direktional) z.b. links-rechts: das linkeste Symbol wird zuerst expandiert: DET vor N (Linksableitung)

10 (B.2) Parsing-Algorithmen: Verschiedene Strategien 1. Alternativen: Bei mehreren passenden Regeln: welche Regel wird zuerst angewandt? z.b. nach Reihenfolge im Regelwerk z.b. N P soll expandiert werden, benutze als erstes die erste NP -Regel und wenn das schiefgeht, probier die nächste N P -Regel (Backtracking) oder: alle Regeln parallel anwenden (Parallel Processing)

11 (B.2) Parsing-Algorithmen: Verschiedene Strategien 4. Suchstrategie: S NP VP NP DET N VP V (a) Tiefe-zuerst (depth-first) bearbeite zuerst ein Symbol so weit wie möglich zuerst NP expandieren, dann DET und dann N expandieren, bevor man zu V P zurückkehrt

12 (B.2) Parsing-Algorithmen: Verschiedene Strategien 1. Breite-zuerst (breadth-first) bearbeite alle Symbole der Reihe nach, wie sie entstehen zuerst NP expandieren, dann V P, und erst dann bei den Töchtern von N P weitermachen

13 (B.2) Top-down-Parsing: Suchstrategien Tiefe-zuerst: Breite-zuerst:

14 (B.2) Top-down-Parsing: Algorithmus 1. Anfang: lege S auf den Stapel + notiere Inputstring 2. dann wende Regeln in 3. so lange an, bis entweder Stapel und Eingabestring leer sind = Satz ist akzeptiert oder es keine anwendbare (neue) Regel mehr gibt = Satz nicht akzeptiert

15 (B.2) Top-down-Parsing: Algorithmus 3. Regeln: (a) ist das aktuelle Symbol auf dem Stapel ein Nichtterminal, so expandiere es; d.h. wende (erste) passende Regel an (b) ist das aktuelle Symbol auf dem Stapel ein Terminal, so vergleiche dieses Symbol mit dem aktuellen Symbol des Eingabestrings: scan; sind beide gleich, lösche beide; ansonsten: (c) backtracking: kehre zur letzten Expand-Regelanwendung zurück, bei der es Alternativen gab, und wende alternative Regel an

16 (B.2) Backtracking Verschiedene Aktionsmöglichkeiten des Parsers Entscheidung Entscheidung kann falsch gewesen sein, d.h. top-down: gewählte Regel führt nicht zur Ableitung der Eingabe bottom-up: Eingabesatz kann nicht auf das Startsymbol reduziert werden Falsche Entscheidung kann sich erst zu späterem Zeitpunkt bemerkbar machen Fehlerbehebung nach dem Prinzip des Backtracking: Alle Schritte bis zu der letzten Stelle, an der eine Wahlmöglichkeit bestand, rückgängig machen, und dort eine andere Wahl treffen

17 (B.2) Top-down-Parser: Beispiel Ableitung des Satzes der Hund sieht die Katze Top-down, Tiefe-zuerst, links-nach-rechts, mit Backtracking E = Expandieren, S = Scannen, B = Backtracken Regeln: S NP VP, NP DET N, VP V, VP V NP, DET der, DET die, N Hund, N Katze, V bellt, V sieht

18 (B.2) Top-down-Parser: Beispiel Nr. Stapel Eingabe Schritt Regel Alternativen 1 S der Hund sieht die Katze E S NP VP 2 NP VP der Hund sieht die Katze E NP DET N 3 DET N VP der Hund sieht die Katze E DET der DET die 4 der N VP der Hund sieht die Katze S [der gelöscht] 5 N VP Hund sieht die Katze E N Hund N Katze 6 Hund VP Hund sieht die Katze S [Hund gelöscht] 7 VP sieht die Katze E VP V VP V NP 8 V sieht die Katze E V bellt V sieht 9 bellt sieht die Katze S scheitert B zu 8 [Kopie von 8] 8 V sieht die Katze

19 (B.2) Top-down-Parser: Beispiel (Forts.) Nr. Stapel Eingabe Schritt Regel Alternativen... 8 V sieht die Katze E V sieht 9 sieht sieht die Katze S [sieht gelöscht] V sieht scheitert B zu 7 7 VP sieht die Katze E VP V NP VP V NP 8 V NP sieht die Katze E V bellt V sieht 9 bellt NP sieht die Katze B zu 8 8 V NP sieht die Katze E V sieht V sieht 9 sieht NP sieht die Katze S [sieht gelöscht] 10 NP die Katze E NP DET N 11 DET N die Katze

20 (B.2) Top-down-Parser: Beispiel (Forts.) Nr. Stapel Eingabe Schritt Regel Alternativen DET N die Katze E DET der DET die 12 der N die Katze B zu DET N die Katze E DET die DET die 12 die N die Katze S [die gelöscht] 13 N Katze E N Hund N Katze 14 Hund Katze B zu N Katze E N Katze N Katze 14 Katze Katze S [Katze gelöscht] 15 ε ε akzeptiert

21 (B.2) Top-down-Parsing: Probleme bei Top-down, Tiefe-zuerst, links-nach-rechts, mit Backtracking: Linksrekursion (z.b. Regeln der Form: S S und S oder NP NP P P ), da Algorithmus nicht terminiert mögliche Lösung(en)? ineffizient wegen wiederholter Konstituentenanlyse z.b. Schritt 8 zu 9 : V sieht korrekt angewendet, aber Analyse wieder vergessen bei backtracking in 9

22 (B.2) Bottom-Up-Parsing Parser startet mit den Wörtern des Eingabesatzes Rückwärtiges Anwenden der Regeln der Grammatik, bis das Startsymbol erreicht ist Unterscheidung zwischen Shift: Stapeln der Eingabewörter bzw. der ihnen zugeordneten Kategorien und Reduce: Ersetzung einer rechten Regelseite durch die linke

23

24 (B.2) Ein Bottom-Up-Parser Verschiedene Strategien eines Bottom-Up-Parse-Algorithmus : 1. Verarbeitungsrichtung 2. Wann wird geshiftet, wann wird reduziert? (Suchstrategie) Shift-Reduce-Konflikt 3. Welche Reduktionsregel wird zuerst angewandt? (Alternativen) Reduce-Reduce-Konflikt Problem: ε-regeln, da theoretisch an jeder Stelle reduziert werden kann

25 (B.2) Probleme beim Parsen: Zusammenfassung Top-down: Linksrekursion; Bottom-up: ε-regeln Nichtdeterminismus Echte und lokale Ambiguitäten müssen behandelt werden z.b. durch Backtracking Ineffizientes Arbeiten durch wiederholte Konstituentenanlyse

26 (B) Syntaxanalyse 1. Definition Parsing 2. Einfache Parsestrategien: Top-down Bottom-Up Probleme beim Parsen 3. Effiziente Parsestrategien: Chart-Parsing

27 (B.3) Chartparsing Prominente Vertreter: Cocke/Kasami/Younger, 1967 (CKY) und Earley, 1970 Teilergebnisse eines Parses werden in einer Chart (Tabelle) festgehalten Wiederholte Analyse derselben Satzabschnitte entfällt Robust und effizient

28 (B.3) Die Chart Einträge in der Tabelle werden Items oder Kanten genannt Chart-Item enthält folgende Informationen: den Satzabschnitt, auf den sich das Item bezieht, die Syntaxregel, die angewandt wurde. Zahlenmarkierungen beim Chartparsing: Beispiel eines Chart-Items: 0 Der 1 Hund 2 sieht 3 die 4 Katze NP Det N

29 (B.3) Active Chart Parsing Man unterscheidet zwischen: aktivem Chartparsing (Annahme partieller Zwischenergebnisse) und inaktivem Chartparsing (keine Annahme partieller Zwischenergebnisse) Items aktiver Chart-Parser haben einen aktiven und einen inaktiven Abschnitt inaktiver Abschnitt umfasst den Bereich der angewandten Regel, der bereits analysiert wurde, und der aktive Abschnitt den noch nicht vollständig analysierten Rest

30 Man nennt diese Kanten geteilte Produktionen oder dotted Items Beispiel eines dotted items: 0 2 S NP VP

31 (B.3) Earley Parsing Earley-Algorithmus besteht aus drei Prozeduren: 1. PREDICT ist die Top-down-Komponente des Algorithmus und legt ausschließlich aktive Items an; (vgl. Expand) 2. SCAN erzeugt (ausschließlich inaktive) Items für die Wörter der Eingabekette; (vgl. Scan/Shift) 3. COMPLETE fasst die bereits vorhandenen Chart-Einträge zu größeren Einheiten zusammen, reduziert also bottom-up. (vgl. Reduce)

32 (B.3) Prozedur PREDICT DATEN: Eine kontextfreie Grammatik G = Φ, Σ, S, R METHODE: Wenn die Chart bereits eine Kante der Form i j A α B β (mit: i j) enthält, dann wird für jede Grammatikregel der Form B γ R ein neues Chart-item der Form angelegt. j j B γ

33 (B.3) Prozedur PREDICT PREDICT produziert neue Items für alle alten Items in der Chart gibt, für deren erstes aktives Symbol (= erstes Symbol rechts von ) es eine Grammatikregel gibt produziert Top-down-Hypothesen, also Vorhersagen über die weitere Feinstruktur bestehender Annahmen über die Eingabekette erzeugt ausschließlich zyklische, aktive Kanten (Start/Ende bei gleicher Position) Beispiel: Wenn wir annehmen, dass die Chart das Item 0 0 S NP VP enthält und in der Grammatik die Regel NP DET N vorkommt, dann würde PREDICT das Item 0 0 NP DET N produzieren.

34 (B.3) SCAN DATEN: Eine Eingabekette w = w 1 w 2... w n (mit: 1 n) METHODE: Wenn die Chart ein Item der Form: i j 1 A α w j β enthält, dann wird ein neues Item der Form angelegt. i j A α w j β

35 (B.3) SCAN SCAN benutzt keine Grammatikregeln, sondern schaut den Inputstring an wenn die Existenz eines Wortes w j an der aktuellen Input-Position j vorausgesagt wird und w j tatsächlich an Position j vorkommt, wird eine neue Chart-Kante generiert, die dieses Vorkommen von w j als erkannt, d.h. als Bestandteil des inaktiven Abschnitts, registriert erzeugt in der Regel inaktive Kanten (wegen nicht-verzweigender Terminalregeln) Beispiel: Angenommen, die Chart enthält bereits das Item 0 0 DET der und nach der Position 0 (in diesem Beispiel), d.h. als erstes Wort der Eingabekette, befindet sich das Wort der, dann fügt SCAN der Chart ein neues Item der Form 0 1 DET der hinzu.

36 (B.3) Prozedur COMPLETE DATEN: METHODE: Wenn die Chart bereits eine Kante der Form i j A α B β und eine weitere Kante der Form: j k B γ enthält, dann wird ein neues Item i k A α B β in die Chart eingetragen.

37 (B.3) Prozedur COMPLETE COMPLETE nimmt weder auf die Eingabekette noch auf die Grammatik Bezug, operiert ausschließlich auf den bereits vorhandenen Chart-Kanten verbindet inaktive Kanten (d.h. vollständig erkannte Teilstrukturen) mit aktiven Kanten Beispiel: Angenommen, die Chart enthält das inaktive Item 0 1 DET der sowie das aktive Item 0 0 NP DET N, dann erzeugt COMPLETE das neue Item 0 1 NP DET N.

38 (B.3) Earley-Algorithmus Algorithmus-Schema EARLEY-RECOGNIZER DATEN: Eine kontextfreie Grammatik G = Φ, Σ, S, R und eine Chart C. Die Grammatik darf weder Tilgungsregeln (Regeln des Typs: X ɛ) noch Kettenregeln enthalten, die Chart ist im Anfangszustand leer. INPUT: Eine Eingabekette w = w 1 w 2... w n (0 n) OUTPUT: Kette akzeptiert/kette nicht akzepiert

39 (B.3) Earley-Algorithmus (Forts.) METHODE: 1. Initialisierung: Erzeuge für alle das Startsymbol der Grammatik expandierenden Regeln der Form S α eine Chart-Kante der Form 0 0 S α 2. Erzeugung weiterer Chart-Kanten: Für alle Positionen j = 0,..., n und alle Positionen i = 0,..., j: (a) wende PREDICT und COMPLETE auf alle Items mit der Startposition i und der Endposition j solange an, bis diese beiden Prozeduren keine neuen Kanten mehr erzeugen. (b) wende die Prozedur SCAN auf alle Items mit der Startposition i und der Endposition j 1 an. 3. Auswertung: Wenn die Chart ein Item der Form 0 n S α enthält, dann ist der Rückgabewert Kette akzeptiert, sonst Kette nicht akzeptiert.

40 (B.3) Earley-Algorithmus: Beispiel Es soll w = der Hund bellt analysiert werden. Die Chart enthält nach abgeschlossener Analyse folgende Items: Nr. Item Prozedur S NP VP (Initialisierung) NP DET N (PREDICT 1.) DET der (PREDICT 2.) DET die (PREDICT 2.) DET der (SCAN 3.) NP DET N (COMPLETE 2. mit 5.) N Hund (PREDICT 6.) N Katze (PREDICT 6.) N Hund (SCAN 7.) NP DET N (COMPLETE 6.mit 9.) S NP VP (COMPLETE 1. mit 10.)

41 (B.3) Earley-Algorithmus: Beispiel Nr. Item Prozedur S NP VP (COMPLETE 1. mit 10.) VP V (PREDICT 11.) VP V NP (PREDICT 11.) V bellt (PREDICT 12. bzw. 13.) V sieht (PREDICT 12. bzw. 13.) V bellt (SCAN 14.) VP V (COMPLETE 12. mit 16.) VP V NP (COMPLETE 12. mit 16.) S NP VP (COMPLETE 11. mit 17.) Es gibt eine inaktive, mit dem Startsymbol etikettierte Kante, die den kompletten Satz überspannt die Eingabekette wird akzeptiert

42 Übersicht (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit

43 (C) Natürlichsprachliche Phänomene Sätze des Standarddeutschen (nach Jäger & Michaelis): (N i V i : V i regiert Kasus von N i ; N 0 : nicht regiert, V 0 : nicht regierend) Jan sagt, dass... der Karl die Maria dem Peter helfen läßt NP 0 NP 1 NP 2 V 2 V 1 der Karl die Maria dem Peter lehren helfen läßt NP 0 NP 1 NP 2 V 0 V 2 V 1 der Peter den Hans schwimmen lehrt NP 0 NP 1 V 0 V 1 die Maria dem Peter den Hans schwimmen lehren hilft NP 0 NP 1 NP 2 V 0 V 2 V 1

44 (C) Natürlichsprachliche Phänomene Jan sagt, dass... der Karl die Maria dem Peter den Hans schwimmen lehren helfen läßt NP 0 NP 1 NP 2 NP 3 V 0 V 3 V 2 V 1 Das ergibt folgende schematisch dargestellten Abhängikeiten: Außerdem Iteration sei möglich: NP 1 NP 2 NP 3... V 3 V 2 V 1... der Karl die Maria dem Peter n den Hans m schwimmen lehren m helfen n läßt NP 0 NP 1 NP 2 NP 3 V 0 V 3 V 2 V 1

45 (C) Natürlichsprachliche Phänomene Betrachten wir nun analoge Sätze des Schweizerdeutschen: Jan säit das... Jan sagt, dass... mer em Hans es huus hälfed aastriiche. wir Hans-DAT das Haus-ACC helfen-dat anstreichen-acc. wir Hans das Haus anstreichen helfen. mer de Hans es huus lönd aastriiche. wir Hans-ACC das Haus-ACC lassen-acc anstreichen-acc. wir Hans das Haus anstreichen lassen. *mer em Hans es huus lönd aastriiche. wir Hans-DAT das Haus-ACC lassen-acc anstreichen-acc.

46 (C) Natürlichsprachliche Phänomene *mer de Hans em huus lönd aastriiche. wir Hans-ACC das Haus-DAT lassen-acc anstreichen-acc. mer d chind em Hans es huus lönd hälfe aastriiche. wir die Kinder-ACC Hans-DAT das Haus-ACC lassen-acc helfen-dat anstreichen-acc. wir die Kinder Hans das Haus anstreichen helfen lassen. mer em Hans es huus haend wele hälfe aastriiche. wir Hans-DAT das Haus-ACC haben gewollt helfen-dat anstreichen-acc. wir Hans das Haus anstreichen helfen gewollt haben. mer d chind em Hans es huus haend wele laa hälfe aa wir die Kinder-ACC Hans-DAT das Haus-ACC haben gewollt lassen-acc helfen-dat an wir die Kinder Hans das Haus anstreichen helfen lassen gewollt haben.

47 (C) Natürlichsprachliche Phänomene Beobachtungen: In Nebensätzen des Schweizerdeutschen... können zuerst alle NPs kommen und anschließend alle Vs kommen, Schema: Jan säit das mer NP es huus haend wele V aastriiche sind (u.a.) solche Sätze grammatisch, in denen alle DAT-NPs nach allen AKK-NPs und alle Vs mit DAT-Komplement nach allen Vs mit AKK-Komplement kommen, Schema also: Jan säit das mer d chind-akk m em Hans-DAT n es huus haend wele laa m hälfe n aastriiche Abhängigkeiten wie diese heißen cross-serial dependencies. NP 1 NP 2 NP 3... V 1 V 2 V 3...

48 (C) Natürlichsprachliche Phänomene Übersetzt man die Bestandteile des Schweizerdeutschen folgendermaßen Jan säit das mer ε d chind a em Hans b es huus haend wele ε laa c hälfe d aastriiche ε sonstiges ε und schneidet das Ergebnis mit der regulären Sprache a b c d

49 (C) Natürlichsprachliche Phänomene... so erhält man wegen der Beobachtungen die formale Sprache a m b n c m d n Diese Sprache ist nicht kontextfrei, was sich mittels des Pumping-Lemmas für kontextfreie Sprachen zeigen lässt.

50 (C) Natürlichsprachliche Phänomene Das Pumping-Lemma für kontextfreie Sprachen: Sei L eine kontextfreie Sprache. Dann gibt es eine (von L abhängige) Konstante n, so dass sich jedes Wort z aus L mit z n als z = uvwxy schreiben lässt mit 1. vx 1 2. vwx n und 3. für alle i 0 liegt uv i wx i y in L. Im Gegensatz zu regulären Sprachen gibt es bei kontextfreien Sprachen also zwei pumpbare Teile.

Earley Parsing. Parsing - WS 2012 / 2013 Lisa Orszullok & Anika Stallmann

Earley Parsing. Parsing - WS 2012 / 2013 Lisa Orszullok & Anika Stallmann Earley Parsing Parsing - WS 2012 / 2013 Lisa Orszullok & Anika Stallmann 12.12.2012 Agenda Basics Komponenten Earley Parsing - Recognizer Earley Parsing - Parser Vor- und Nachteile Parsing WS 2012/2013

Mehr

Formale Sprachen und Automaten: Tutorium Nr. 8

Formale Sprachen und Automaten: Tutorium Nr. 8 Formale Sprachen und Automaten: Tutorium Nr. 8 15. Juni 2013 Übersicht 1 Nachtrag 2 Besprechung von Übungsblatt 7 Aufgabe 1 Aufgabe 2 Aufgabe 3 3 CFG PDA Definitionen Ein Beispiel! Aufgabe 4 Der PDA als

Mehr

Einführung in die Computerlinguistik

Einführung in die Computerlinguistik Einführung in die Computerlinguistik Pumping-Lemma für kontextfreie Sprachen, Abschlußeigenschaften kontextfreier Sprachen und die Komplexität natürlicher Sprachen Dozentin: Wiebke Petersen WS 2004/2005

Mehr

Chart-Parsing. bersicht. Ziel. Motivation: Bisher vorgestellte Verfahren sind nicht effizient Grundidee des Chart-Parsing Datenstruktur

Chart-Parsing. bersicht. Ziel. Motivation: Bisher vorgestellte Verfahren sind nicht effizient Grundidee des Chart-Parsing Datenstruktur Chart-Parsing bersicht Ziel Motivation: Bisher vorgestellte Verfahren sind nicht effizient Grundidee des Chart-Parsing Datenstruktur Knoten passive und aktive Kanten gepunktete Regeln (dotted rules) Fundamentalregel

Mehr

Einführung - Parser. Was ist ein Parser?

Einführung - Parser. Was ist ein Parser? Gliederung 1. Einleitung 1.1 Was ist ein Parser? 1.2 Was ist ein tabellengesteuerter TD-Parser? 1. Tabellengesteuerter TD-Parser 2.1 Funktionsweise 2.2 Darstellung als Pseudocode 2.3 Konstruktion von prädiktiven

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (III) 17.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17

Übungsblatt 7. Vorlesung Theoretische Grundlagen der Informatik im WS 16/17 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 7 Vorlesung Theoretische Grundlagen der Informatik im W 16/17 Ausgabe 17. Januar 2017 Abgabe 31. Januar 2017, 11:00 Uhr (im

Mehr

Einführung in die Computerlinguistik Chart-Parsing

Einführung in die Computerlinguistik Chart-Parsing Einführung in die Computerlinguistik Chart-Parsing Dozentin: Wiebke sen 21.12.2009 Wiebke sen Einführung CL (Wie 09/10) 1 P = calls calls Wiebke sen Einführung CL (Wie 09/10) 2 P = calls calls Wiebke sen

Mehr

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Institut für Informatik Sommersemester 2007 B. Beckert Grundlagen d. Theoretischen Informatik:

Mehr

Teil 111. Chart-Parsing

Teil 111. Chart-Parsing Teil 111 Chart-Parsing 102 Die im ersten Teil des Buches behandelten einfachen Parsingalgorithmen sind, anders als die meisten vor allem im Compilerbau verwendeten Algorithmen (z.b. die LLoder LR-Parsingalgorithmen),

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (IV) 31.05.2017 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Fachseminar Compilerbau

Fachseminar Compilerbau Fachseminar Compilerbau WS 08/09 Matthias Schiller Syntaktische Analyse 1. Prinzip der Top-Down-Analyse 2. LL(1)-Grammatiken Modell-Vorstellung Der Scanner liefert als Ergebnis der lexikalischen Analyse,

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 17. Januar 2012 INSTITUT FÜR THEORETISCHE 0 KIT 18.01.2012 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der

Mehr

Shift-Reduce-Parsing: Ein einfaches Bottom-Up-Verfahren Keller Shift- und Reduce-Schritte Vorgehen des Parsers Implementation in Prolog Probleme

Shift-Reduce-Parsing: Ein einfaches Bottom-Up-Verfahren Keller Shift- und Reduce-Schritte Vorgehen des Parsers Implementation in Prolog Probleme Shift-Reduce-Parsing bersicht Shift-Reduce-Parsing: Ein einfaches Bottom-Up-Verfahren Keller Shift- und Reduce-Schritte Vorgehen des Parsers Implementation in Prolog Probleme Tilgungsregeln Zyklische Regeln

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Vorlesung Computerlinguistische Techniken Alexander Koller 16. Oktober 2015 Übersicht Worum geht es in dieser Vorlesung? Übungen und Abschlussprojekt Kontextfreie Grammatiken Computerlinguistische

Mehr

LL(1)-Parsing. Ullrich Buschmann, Linda Schaffarczyk, Maurice Schleussinger. Automatische Syntaxanalyse (Parsing)

LL(1)-Parsing. Ullrich Buschmann, Linda Schaffarczyk, Maurice Schleussinger. Automatische Syntaxanalyse (Parsing) LL(1)-Parsing Ullrich Buschmann, Linda Schaffarczyk, Maurice Schleussinger Automatische Syntaxanalyse (Parsing) Heinrich-Heine-Universität Düsseldorf Wintersemester 2012/2013 Aufbau des Referats 1. Einführung,

Mehr

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Motivation Englisch

Fakultät für Informatik Universität Magdeburg Jürgen Dassow. Motivation Englisch Motivation Englisch Mary and John are a woman and a man, respectively. Mary, John and William are a woman, a man and a man, respectively. Mary, John, William and Jenny are a woman, a man, a man and a woman,

Mehr

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten

Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Einführung in die Computerlinguistik Formale Grammatiken rechtslineare und kontextfreie Grammatiken Kellerautomaten Dozentin: Wiebke Petersen 13. Foliensatz Wiebke Petersen Einführung CL 1 Formale Grammatik

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Vorlesung am 18. Januar 2018 INSTITUT FÜR THEORETISCHE 0 18.01.2018 Dorothea Wagner - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE KIT Die Forschungsuniversität

Mehr

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4)

Kellerautomat (1/4) Kellerautomat (2/4) Kellerautomat (3/4) Kellerautomat (4/4) Kellerautomat (1/4) Kellerautomat (2/4) Kontextfreie Grammatiken können von Kellerautomaten (Push Down Automata, PDA) erkannt werden PDAs sind eine Erweiterung der endlichen Automaten um ein einfaches

Mehr

Konstruieren der SLR Parsing Tabelle

Konstruieren der SLR Parsing Tabelle Konstruieren der SLR Parsing Tabelle Kontextfreie Grammatik (CFG) Notation 1. Diese Symbole sind Terminals: (a) Kleinbuchstaben vom Anfang des Alphabets wie a, b, c. (b) Operator Symbole wie +,, usw. (c)

Mehr

Deterministischer Kellerautomat (DPDA)

Deterministischer Kellerautomat (DPDA) Deterministische Kellerautomaten Deterministischer Kellerautomat (DPDA) Definition Ein Septupel M = (Σ,Γ, Z,δ, z 0,#, F) heißt deterministischer Kellerautomat (kurz DPDA), falls gilt: 1 M = (Σ,Γ, Z,δ,

Mehr

Automatentheorie und formale Sprachen

Automatentheorie und formale Sprachen Automatentheorie und formale Sprachen VL 8 Chomsky-Grammatiken Kathrin Hoffmann 23. Mai 2012 Hoffmann (HAW Hamburg) Automatentheorie und formale Sprachen 23.5. 2012 250 Wortproblem Wortproblem ist das

Mehr

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen -

Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale

Mehr

Hallo Welt für Fortgeschrittene

Hallo Welt für Fortgeschrittene Hallo Welt für Fortgeschrittene Parsen Thomas Wehr Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Inhalt Theoretische Grundlagen Grammatiken im Allgemeinen Die Chomsky-Hierarchie Die Chomsky-Normalform

Mehr

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004

Lösung zur Klausur. Grundlagen der Theoretischen Informatik im WiSe 2003/2004 Lösung zur Klausur Grundlagen der Theoretischen Informatik im WiSe 2003/2004 1. Geben Sie einen deterministischen endlichen Automaten an, der die Sprache aller Wörter über dem Alphabet {0, 1} akzeptiert,

Mehr

Compilerbau Syntaxanalyse 68. LR(1)-Syntaxanalyse

Compilerbau Syntaxanalyse 68. LR(1)-Syntaxanalyse Compilerbau Syntaxanalyse 68 LR(1)-Syntaxanalyse Bei der LL(1)-Syntaxanalyse wird allein aufgrund des nächsten Tokens die zu verwendende Produktion ermittelt. Bei der LR(1)-Syntaxanalyse braucht diese

Mehr

Einführung. Vorlesung Grammatikformalismen Alexander Koller. 15. April 2016

Einführung. Vorlesung Grammatikformalismen Alexander Koller. 15. April 2016 Einführung Vorlesung Grammatikformalismen Alexander Koller 15. April 2016 Übersicht Was sind Grammatikformalismen, und warum reichen uns kfgs nicht? Was machen wir in dieser Vorlesung? Prüfungsmodalitäten

Mehr

Der Earley-Algorithmus.

Der Earley-Algorithmus. 1 Der Earley-Algorithmus. Eine Erläuterung der formalen Spezifikation mit linguistischen Beispielen Kursskript Karin Haenelt, 25.07.2001 1 Einleitung In diesem Skript wird die formale Spezifikation des

Mehr

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14

Kapitel: Die Chomsky Hierarchie. Die Chomsky Hierarchie 1 / 14 Kapitel: Die Chomsky Hierarchie Die Chomsky Hierarchie 1 / 14 Allgemeine Grammatiken Definition Eine Grammatik G = (Σ, V, S, P) besteht aus: einem endlichen Alphabet Σ, einer endlichen Menge V von Variablen

Mehr

2.6 Deterministisches Top-Down-Parsen

2.6 Deterministisches Top-Down-Parsen 48 2.6 Deterministisches Top-Down-Parsen Als nächstes wollen wir uns mit Methoden zur syntaktischen Analyse befassen. Der lexikale canner eines Compilers liest die Eingabe Zeichen für Zeichen und erzeugt

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2011 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2011 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Wir beschäftigen uns ab

Mehr

I.5. Kontextfreie Sprachen

I.5. Kontextfreie Sprachen I.5. Kontextfreie prachen Zieht man in Betracht, dass BNF-yteme gerade so beschaffen sind, dass auf der linken eite immer genau ein Nichtterminal steht, so sind das also gerade die Ableitungsregeln einer

Mehr

LR-Parser, Shift-Reduce-Verfahren

LR-Parser, Shift-Reduce-Verfahren LR-Parser, Shift-Reduce-Verfahren Bottom-Up-Syntaxanalyse LR-Parser L: Eingabe von links nach rechts; R: Rechtsherleitung Shift-Reduce-Verfahren Beachte: Kein Backtracking nicht auf jede Grammatik anwendbar

Mehr

Theoretische Grundlagen der Informatik

Theoretische Grundlagen der Informatik Theoretische Grundlagen der Informatik Übung am 02.02.2012 INSTITUT FÜR THEORETISCHE 0 KIT 06.02.2012 Universität des Andrea Landes Schumm Baden-Württemberg - Theoretische und Grundlagen der Informatik

Mehr

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht

Grammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen besitzen große Bedeutung im Compilerbau Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung durch

Mehr

Kontextfreie Sprachen

Kontextfreie Sprachen Kontextfreie Sprachen Bedeutung: Programmiersprachen (Compilerbau) Syntaxbäume Chomsky-Normalform effiziente Lösung des Wortproblems (CYK-Algorithmus) Grenzen kontextfreier Sprachen (Pumping Lemma) Charakterisierung

Mehr

Zentralübung zur Vorlesung Theoretische Informatik

Zentralübung zur Vorlesung Theoretische Informatik SS 2015 Zentralübung zur Vorlesung Theoretische Informatik Dr. Werner Meixner Fakultät für Informatik TU München http://www14.in.tum.de/lehre/2015ss/theo/uebung/ 7. Mai 2015 ZÜ THEO ZÜ IV Übersicht: 1.

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Datenstrukturen: Anordnung von Daten, z.b. als Liste (d.h. in bestimmter Reihenfolge) Beispiel: alphabetisch sortiertes Wörterbuch... Ei - Eibe - Eidotter... als Baum (d.h.

Mehr

Kapitel 5: Syntax-Analyse

Kapitel 5: Syntax-Analyse Kapitel 5: Syntax-Analyse Aufgabe Die Token-Folge wird strukturiert in Anweisungen, Ausdrücke etc., um die Semantische Analyse und Code-Erzeugung zu ermöglichen Themen Kontextfreie Grammatik Äquivalente

Mehr

Einführung in die Computerlinguistik Syntax & Parsing

Einführung in die Computerlinguistik Syntax & Parsing yntax Einführung in die Computerlinguistik yntax & ozentin: Wiebke Petersen 19.12.2009 Wiebke Petersen Einführung CL (Wie 09/10) 1 yntax yntax συντ αξιζ (syntaxis) Zusammenordnung, Zusammenstellung yntax

Mehr

Einführung in die Computerlinguistik Syntax & Parsing

Einführung in die Computerlinguistik Syntax & Parsing yntax Einführung in die Computerlinguistik yntax & Dozentin: Wiebke Petersen 19.12.2009 Wiebke Petersen Einführung CL (Wie 09/10) 1 yntax yntax συντ αξιζ (syntaxis) Zusammenordnung, Zusammenstellung yntax

Mehr

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964)

Typ-1-Sprachen. Satz 1 (Kuroda ( ) 1964) Typ-1-Sprachen Satz 1 (Kuroda (1934-2009) 1964) Eine Sprache L hat Typ 1 (= ist kontextsensitiv) genau dann, wenn sie von einem nichtdeterministischen LBA erkannt wird. Beweis: Sei zunächst L Typ-1-Sprache.

Mehr

Chomsky-Grammatiken 16. Chomsky-Grammatiken

Chomsky-Grammatiken 16. Chomsky-Grammatiken Chomsky-Grammatiken 16 Chomsky-Grammatiken Ursprünglich von Chomsky in den 1950er Jahren eingeführt zur Beschreibung natürlicher Sprachen. Enge Verwandschaft zu Automaten Grundlage wichtiger Softwarekomponenten

Mehr

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz.

Umformung NTM DTM. Charakterisierung rek. aufz. Spr. Chomsky-3-Grammatiken (T5.3) Chomsky-0-Grammatik Rek. Aufz. Chomsky-0-Grammatik Rek. Aufz. Satz T5.2.2: Wenn L durch eine Chomsky-0- Grammatik G beschrieben wird, gibt es eine NTM M, die L akzeptiert. Beweis: Algo von M: Schreibe S auf freie Spur. Iteriere: Führe

Mehr

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben

Grundlagen der Theoretischen Informatik Musterlösungen zu ausgewählten Übungsaufgaben Dieses Dokument soll mehr dazu dienen, Beispiele für die formal korrekt mathematische Bearbeitung von Aufgaben zu liefern, als konkrete Hinweise auf typische Klausuraufgaben zu liefern. Die hier gezeigten

Mehr

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7

Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt Lösungsskizze 7 Prof. J. Esparza Technische Universität München S. Sickert, J. Krämer KEINE ABGABE Einführung in die theoretische Informatik Sommersemester 2017 Übungsblatt 7 Übungsblatt Wir unterscheiden zwischen Übungs-

Mehr

Idee: Wir definieren: 2.4 Topdown Parsing. uaβ mit

Idee: Wir definieren: 2.4 Topdown Parsing. uaβ mit 2.4 Topdown Parsing Idee: Benutze den Item-Kellerautomaten. Benutze die nächsten k Zeichen, um die Regeln für die Expansionen zu bestimmen ;-) Eine Grammatik heißt LL(k), falls dies immer eindeutig möglich

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik 1 Grundlagen der Theoretischen Informatik Till Mossakowski Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Wintersemester 2014/15 2 Kontextfreie Grammatiken Definition: Eine Grammatik G

Mehr

Klammersprache Definiere

Klammersprache Definiere Klammersprache w=w 1...w n {(,)}* heißt korrekt geklammert, falls die Anzahl ( ist gleich der Anzahl ). in jedem Anfangsstück w 1,...,w i (i n) ist die Anzahl ( nicht kleiner als die Anzahl ). Definiere

Mehr

Probabilistische kontextfreie Grammatiken

Probabilistische kontextfreie Grammatiken Mathematische Grundlagen III Probabilistische kontextfreie Grammatiken 14 Juni 2011 1/26 Ambiguität beim Parsing Wörter können verschiedene Bedeutungen haben und mehr als einer Wortkategorien angehören

Mehr

Automaten und formale Sprachen Klausurvorbereitung

Automaten und formale Sprachen Klausurvorbereitung Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen

Mehr

7. Syntax: Grammatiken, EBNF

7. Syntax: Grammatiken, EBNF 7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 29.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Motivation 2. Terminologie 3. Endliche Automaten und reguläre

Mehr

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen

Informales Beispiel. Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen. Grammatiken. Anmerkungen Informales Beispiel Formale Grundlagen der Informatik 1 Kapitel 6 Eigenschaften kontextfreier Sprachen Frank Heitmann heitmann@informatik.uni-hamburg.de 22. April 2014 I L IL ID L a b c D 0 1 2 3 4 Eine

Mehr

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen

Übung zur Vorlesung Grundlagen der theoretischen Informatik. Aufgabenblatt 7 Lösungen. Wiederholung: Pumping-Lemma für kontextfreie Sprachen Prof. Dr. Viorica Sofronie-Stokkermans Universität Koblenz-Landau Fachbereich 4: Informatik Dennis Peuter 01. Juni 2017 Übung zur Vorlesung Grundlagen der theoretischen Informatik Aufgabenblatt 7 Lösungen

Mehr

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung

kontextfreie Grammatiken Theoretische Informatik kontextfreie Grammatiken kontextfreie Grammatiken Rainer Schrader 14. Juli 2009 Gliederung Theoretische Informatik Rainer Schrader Zentrum für Angewandte Informatik Köln 14. Juli 2009 1 / 40 2 / 40 Beispiele: Aus den bisher gemachten Überlegungen ergibt sich: aus der Chomsky-Hierarchie bleiben

Mehr

Tableaukalkül für Aussagenlogik

Tableaukalkül für Aussagenlogik Tableaukalkül für Aussagenlogik Tableau: Test einer Formel auf Widersprüchlichkeit Fallunterscheidung baumförmig organisiert Keine Normalisierung, d.h. alle Formeln sind erlaubt Struktur der Formel wird

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (II) 11.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Theorie der Informatik

Theorie der Informatik Theorie der Informatik 11. Kontextsensitive und Typ-0-Sprachen Malte Helmert Gabriele Röger Universität Basel 7. April 2014 Kontextsensitive und allgemeine Grammatiken Wiederholung: (kontextsensitive)

Mehr

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen

Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Nachklausur zur Vorlesung Informatik 3 mit einigen Anmerkungen zu Lösungen Aufgabe 1 2 3 4 5 6 7 max. Punkte 6 6 7 7 8 8 12 err. Punkte Gesamtpunktzahl: Note: 1 Aufgabe 1 (3+1+1+1 = 6 Punkte) Es seien

Mehr

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie

Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.11.2005 5. Vorlesung 1 Überblick: Kontextfreie Sprachen Formale Grammatik Einführung, Beispiele Formale

Mehr

LL(k)-Analyse. (y) folgt α = β. (x) = start k. (=l> ist ein Linksableitungsschritt)

LL(k)-Analyse. (y) folgt α = β. (x) = start k. (=l> ist ein Linksableitungsschritt) LL(k)-Analyse Eine KFG G = (N,T,P,S) heisst LL(k)-Grammatik, wenn für alle w,x,y T*, α,β,σ (N U T)* und A N mit 1. S =l>* waσ =l> wασ =l>* wx, 2. S =l>* waσ = > wβσ =l>* wy, 3. start k (x) = start k (y)

Mehr

Grundlagen der theoretischen Informatik

Grundlagen der theoretischen Informatik Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 04.06.2013 An den Transitionen sieht man zunächst, dass nur die folgenden Zustandsübergänge

Mehr

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer,

Reguläre Sprachen. R. Stiebe: Theoretische Informatik für ING-IF und Lehrer, Reguläre Sprachen Reguläre Sprachen (Typ-3-Sprachen) haben große Bedeutung in Textverarbeitung und Programmierung (z.b. lexikalische Analyse) besitzen für viele Entscheidungsprobleme effiziente Algorithmen

Mehr

Beschreibungskomplexität von Grammatiken Definitionen

Beschreibungskomplexität von Grammatiken Definitionen Beschreibungskomplexität von Grammatiken Definitionen Für eine Grammatik G = (N, T, P, S) führen wir die folgenden drei Komplexitätsmaße ein: Var(G) = #(N), Prod(G) = #(P ), Symb(G) = ( α + β + 1). α β

Mehr

Einführung Computerlinguistik. Konstituentensyntax II

Einführung Computerlinguistik. Konstituentensyntax II Einführung Computerlinguistik Konstituentensyntax II Hinrich Schütze & Robert Zangenfeind Centrum für Informations- und Sprachverarbeitung, LMU München 2013-11-18 Schütze & Zangenfeind: Konstituentensyntax

Mehr

Spezielle Themen der KI. NLP Natural Language Processing Parsing

Spezielle Themen der KI. NLP Natural Language Processing Parsing Spezielle Themen der KI NLP Natural Language Processing Parsing Parsing Strategien top-down: Ausgehend von S Hypothesenbildung und Verifikation anhand der Grammatikregeln Ersetzung nicht-terminaler Symbole

Mehr

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)

Grammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S) Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie Sprachen (I) 3.06.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Organisatorisches 1. Teilklausur: Mittwoch,

Mehr

Grundbegriffe. Grammatiken

Grundbegriffe. Grammatiken Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte

Mehr

Die Rolle der Grammatik, Ersetzungsregelgrammatiken, und Parsing

Die Rolle der Grammatik, Ersetzungsregelgrammatiken, und Parsing Vorlesung Einführung in die Computerlinguistik Die Rolle der Grammatik, Ersetzungsregelgrammatiken, und Parsing Hans Uszkoreit WHAT HAPPES I BETWEE? WHAT HAPPES I BETWEE? sound waves activation of concepts

Mehr

Grundlagen der Programmierung 2 (Comp-D)

Grundlagen der Programmierung 2 (Comp-D) Grundlagen der Programmierung 2 (Comp-D) Prof. Dr. Manfred Schmidt-Schauÿ Künstliche Intelligenz und Softwaretechnologie 31. Mai 2007 Operationen auf Grammatiken Ziel: Normalisierungen, Vereinfachungen

Mehr

Deterministische PDAs

Deterministische PDAs Deterministische PDAs Erinnerung: Ein PDA ist deterministisch, wenn q Q, a Σ, Z Γ: δ(q,a,z) + δ(q,ε,z) 1. Definition: Eine Sprache heißt deterministisch kontextfrei, wenn es für sie einen DPDA gibt. Ziel:

Mehr

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen

Turingmaschinen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: Komplexitätstheorie und effiziente Algorithmen Vorlesung Berechenbarkeit und Komplexität alias Theoretische Informatik: und effiziente Algorithmen Wintersemester 2011/12 Schematische Darstellung einer Turing-Maschine: Kopf kann sich nach links und

Mehr

Operationen auf Grammatiken

Operationen auf Grammatiken Operationen auf Grammatiken Ziel: Normalisierungen, Vereinfachungen, Elimination bestimmter Konstrukte Erzeugen eines Parsers Transformation G 1 G 2 mit L(G 1 ) = L(G 2 ) I.a. Parsebaum 1 (w) Parsebaum

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen

Mehr

Tutoraufgabe 1 (ɛ-produktionen):

Tutoraufgabe 1 (ɛ-produktionen): Prof aa Dr J Giesl Formale Systeme, Automaten, Prozesse SS 2010 M Brockschmidt, F Emmes, C Fuhs, C Otto, T Ströder Hinweise: Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus dem gleichen Tutorium

Mehr

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45

Kontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45 Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 45 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs beliebig tief geschachtelten

Mehr

Musterlösung Informatik-III-Klausur

Musterlösung Informatik-III-Klausur Musterlösung Informatik-III-Klausur Aufgabe 1 (1+4+3+4 Punkte) (a) 01010 wird nicht akzeptiert: s q 0 q 1 q 2 f q 2 10101 wird akzeptiert: s q 2 q 2 f q 2 f (b) ε: {s, q 0, q 1, q 2 }, {f} 0: {s, q 0,

Mehr

Definition von LR(k)-Grammatiken

Definition von LR(k)-Grammatiken Definition von LR(k)-Grammatiken Ziel: Ein Lookahead von k soll ausreichen um entscheiden zu können, welche Regel angewendet werden muss. Definition: FIRST k (w 1 w n ):= w 1 w k, falls n k, w 1 w n, sonst.

Mehr

Kontextfreie Grammatiken

Kontextfreie Grammatiken Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt

Mehr

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung! Universität Karlsruhe Theoretische Informatik Fakultät für Informatik WS 23/4 ILKD Prof. Dr. D. Wagner 2. Februar 24. Klausur zur Vorlesung Informatik III Wintersemester 23/24 Mit Lösung! Beachten Sie:

Mehr

Programmierkurs Python II

Programmierkurs Python II Programmierkurs Python II Michaela Regneri & tefan Thater FR 4.7 Allgemeine Linguistik (Computerlinguistik) Universität des aarlandes ommersemester 2010 (Charniak, 1997) the dog biscuits N V N V the dog

Mehr

VU Software Paradigmen / SS 2014

VU Software Paradigmen / SS 2014 VU Software Paradigmen 716.060 / SS 2014 Thorsten Ruprechter ruprechter@tugraz.at Institute for Software Technology 1 Organisatorisches Ausgabe: 25.03. (heute) Fragestunde: 22.04. Abgabe: 29.04 (ausgedruckt)

Mehr

Einführung Computerlinguistik. Konstituentensyntax II

Einführung Computerlinguistik. Konstituentensyntax II Einführung Computerlinguistik Konstituentensyntax II Hinrich Schütze & Robert Zangenfeind Centrum für Informations- und Sprachverarbeitung, LMU München 2013-11-18 1 / 31 Take-away Phrasenstrukturgrammatik:

Mehr

Automatentheorie und formale Sprachen rechtslineare Grammatiken

Automatentheorie und formale Sprachen rechtslineare Grammatiken Automatentheorie und formale Sprachen rechtslineare Grammatiken Dozentin: Wiebke Petersen 17.6.2009 Wiebke Petersen Automatentheorie und formale Sprachen - SoSe09 1 Pumping lemma for regular languages

Mehr

Von der Grammatik zum AST

Von der Grammatik zum AST Von der Grammatik zum AST Welche Eigenschaften soll ein Parser haben? Wann ist eine Grammatik eindeutig? Wie sollte eine Grammatik aussehen? Theoretischer Hin tergrund: FIRST, FOLLOW Einschränkungen von

Mehr

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An

Definition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch

Mehr

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen

Mehr

Syntax von Programmiersprachen

Syntax von Programmiersprachen Syntax von Programmiersprachen SEP 209 Programmiersprachen Sprache = Menge von Wörtern, typischerweise unendlich Programmiersprache: Wörter repräsentieren Programme Programm kann auf einem Computer evtl.

Mehr

Formale Sprachen und Automaten

Formale Sprachen und Automaten Formale Sprachen und Automaten Kapitel 4: Typ 2 kontextfreie Sprachen Vorlesung an der DHBW Karlsruhe Thomas Worsch Karlsruher Institut für Technologie, Fakultät für Informatik Wintersemester 2012 Kapitel

Mehr

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann.

Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden kann. Der Satz von Kleene Wir haben somit Folgendes bewiesen: Der Satz von Kleene Sei Σ ein endliches Alphabet. Eine Sprache L Σ ist genau dann regulär, wenn sie von einem regulären Ausdruck beschrieben werden

Mehr

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen

Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien

Mehr

Rekursiv aufzählbare Sprachen

Rekursiv aufzählbare Sprachen Kapitel 4 Rekursiv aufzählbare Sprachen 4.1 Grammatiken und die Chomsky-Hierarchie Durch Zulassung komplexer Ableitungsregeln können mit Grammatiken größere Klassen als die kontextfreien Sprachen beschrieben

Mehr

Formale Grundlagen der Informatik

Formale Grundlagen der Informatik Formale Grundlagen der Informatik / 2015 1 Reguläre Ausdrücke Kommen in der Praxis immer dann vor, wenn standardisierte Eingaben erforderlich sind: Telefonnummern: +Land (0) Ort Anschluß Dateinamen: (A-Z,

Mehr