Eigenschaften I. Earley-Parsing. Earley-Algorithmus. Eigenschaften II

Größe: px
Ab Seite anzeigen:

Download "Eigenschaften I. Earley-Parsing. Earley-Algorithmus. Eigenschaften II"

Transkript

1 Earley-Parsing Eigenschaften I Übersicht Atives Chart-Parsing für ontextfreie Grammatien Eigenschaften von Earleys Verfahren Einzelne Komponenten Initialisierung Predictor Scanner Completer Implementation in Prolog Ende und Resultat der Analyse Von Jay Earley wurde 970 ein Chart-Parsing-Verfahren für ontextfreie Grammatien vorgestellt. Es parst Sätze mit n Wörtern im schlechtesten Fall in einer Zeit proportional zu n Verfahren gehört zur Komplexitätslasse O(n ) ommt mit den häufig problematischen Regeln zurecht. linsreursive Regeln (diret oder indiret) Tilgungsregeln (Code siehe Übungen) verwendet eine ative Chart. benützt eine gemischte Analysestrategie von lins nach rechts top-down und bottom-up Earley-Parsing Earley-Parsing Eigenschaften II Earley-Algorithmus Der Earley-Algorithmus verfolgt jeweils für eine Satzposition alle syntatischen Alternativen gleichzeitig. hat am Ende des Parsings sämtliche alternativen Syntaxanalysen in der Chart. ist leicht in imperativen Programmiersprachen (C, Java etc.) zu implementieren. ist nützlich und wichtig bei pratischen Anwendungen der Computerlinguisti. erhielt seit 970 zahlreiche Verbesserungsvorschläge gegenüber Earleys Original-Verfahren. Das Verfahren von Earley besteht im wesentlichen aus drei Komponenten Predictor: Schlägt passende ative Kanten vor. Scanner: Azeptiert Wörter der Eingabeette. Completer: Versucht ative Kanten zu vervollständigen, d.h. passiv zu machen. ach der Initialisierung werden diese drei Komponenten für jeden Knoten in der Chart aufgerufen, jeweils solange, bis eine neuen Kanten mehr hinzuommen. Earley-Parsing Earley-Parsing

2 Beispiel-Grammati Die Chart Folgende Phrasenstrutur-Grammati mit Lexion sei vorausgesetzt: rule(s, [np,vp] rule(np, [np,conj,np]... S VP Conj DetP DetP Det DetP Poss Syntax word(det, the word(det, a... Det a the man woman V sleeps chases Conj and Poss 's Lexion Earley-Parsing DetP Det a Det the woman DetP ing Conj and Poss DetP Det linguistische Motivation für linsreursive Grammatiregeln s a crown man edge(from, To, C, RC, SC) Dynamische edge/-faten speichern ative und passive Kanten. From: Startposition. To: Endposition. C: Kategorie. RC: Liste der erannten Kategorien (Aus technischen Gründen in umgeehrter Reihenfolge.). SC: Liste der noch zu erennende Kategorien DetP. <,> DetP. Zwischen Position und ist eine (unvollständige), von der bereits die DetP gefunden wurde, der aber zur Vollständigeit noch ein fehlt. Earley-Parsing 6 DetP Det. DetP. edge(,, np, [], [detp,n] edge(,, np, [detp], [n] edge(,, detp, [det], [] Charteinträge einfügen Gerüst des Earley-Algorithmus store/: Einfügen von Kanten Identische Kanten dürfen nicht mehrfach in die Chart eingetragen werden, sonst gäbe es unerwünschte Mehrfachlösungen. Eine Kante wird gespeichert, d.h. der Chart hinzugefügt, falls sie nicht schon gespeichert ist. :- dynamic edge/. store(edge) :- \+ call(edge), asserta(edge Falls call(edge) scheitert, wird Edge assertiert. Falls call(edge) gelingt, wird Edge nicht assertiert. Einen Satz earley-parsen heisst,. Chart löschen. Chart bezüglich Startsymbol initialisieren. von den Komponenten verarbeiten lassen. prüfen, ob in der Chart eine passive Kante mit dem Startsymbol zu finden ist Von den Komponenten verarbeiten lassen heisst, Abbruch, falls Eingabeette leer ist. Reursives Abarbeiten durch. Predictor. Scanner. Completer und wieder von vorn, ein Wort weiter. parse(c, S) :- retractall(edge(_,_,_,_,_)), init(c), process(s,, LastPos), edge(, LastPos, C, _, [] process([], LastPos, LastPos process([word Words], Pos, LastPos) :- predictor(pos), scanner(word, Pos, extpos), completer(extpos), process(words, extpos, LastPos Earley-Parsing 7 Earley-Parsing 8

3 Legende zur Metasymboli Initialisierung der Chart Metasymbole für einzelne icht-terminalsymbole A, B, C Metasymbole für beliebig lange Ketten von Grammatisymbolen α, β, γ init/ fügt für jede Regel mit dem Startsymbol als LHS eine ative Kante ein. Initialisierungsregel Falls C die gesuchte Kategorie ist, füge für jede Grammatiregel der Form C γ die Kante, C. γ in die Chart. Beispiele Die Kette ann auch leer sein! D.H. ε. Die gepuntete Regel ist von der Form A. α, gdw. A = S und α = VP. Die gepuntete Regel. Conj ist von der Form, gdw. C =, α =, B = Conj und γ =. Die gepuntete Regel Conj. ist von der Form, gdw. C =, α = Conj, B = und γ = ε. edge(,, s, [], [np,vp] init(c) :- rule(c, RHS), store(edge(,,c,[],rhs)) Earley-Parsing 9 Earley-Parsing 0 foreach/ Predictor-Beschreibung Deterministisches Metaprädiat B, A) So oft die Bedingung B erfüllt ist, führe die Ation A genau einmal durch. B und A önnen trotz Metaprädiate durch gemeinsame Variablen "ommunizieren". Verwendet once/ als Hilfsprädiat. Emuliert Iteration (while-schlaufe once(ziel) Beweise Ziel höchstens einmal. B, A) :- call(b), once(a), fail. _, _ once(goal) :- call(goal),!. Der Predictor sagt voraus, welche Grammatiregeln zum Ziel führen önnen. Ative Konstituenten werden expandiert Die ative Konstituente steht diret hinter dem Punt. Vorgehensweise des Predictors: Top-Down Preditorregel für die Position Schritt I: Für jede Kante der Form i, und jede Regel der Form B β, füge eine Kante, B. β ein. Schritt II: Wende die Preditorregel auf das Resultat ihrer eigenen Anwendung an. Earley-Parsing Earley-Parsing

4 Predictor-Regel graphisch Predictor: Beispiel Schritt I Falls i < : i Predictor B β B. β i Predictor für Position Weil eine ative Kante an Position die ative Konstituente hat, werden anhand der -Regeln Kanten in die Chart eingefügt. Da unsere Grammati zwei Regeln für s enthält, werden entsprechend zwei ative Kanten eingefügt. Falls i=: Predictor B β B. β Regeln für Conj DetP Earley-Parsing Earley-Parsing Predictor: Beispiel Schritt II Predictor: Beispiel Schritt II Predictor für Position Die frisch eingefügte Kante hat wiederum eine als ative Konstituente. Daher sollen anhand der -Regeln neue Kanten in die Chart eingefügt werden. Allerdings ommen so eine neuen Kanten in die Chart, da alle ativen Kanten für s schon drin sind! Keine endlose Reursion, trotz linsreursiver Grammati! Regeln für Predictor für Position, Schritt II Die frisch eingefügte Kante r. hat eine DetP als ative Konstituente. Daher sollen anhand der DetP-Regeln neue Kanten in die Chart eingefügt werden. Die Grammati enthält zwei Regeln für DetP, also ommen zwei neue ative Kanten zur Chart hinzu. Dann ist für den Predictor nichts mehr zu tun. Regeln für DetP Earley-Parsing Earley-Parsing 6 DetP. Poss

5 Predictor in Prolog Scanner-Beschreibung predictor/ Mache für jede Kante mit einer ativen Konstituente an der Endposition die Voraussagen. predict/ Schritt I: Finde eine Regel, die die vorherzusagende Kategorie als LHS hat, mere die line Ece als neue ative Konstituente. Speichere die entsprechende Kante in der Chart, oder scheitere, falls sie schon gespeichert ist. Schritt II: Wende predict/ reursiv auf die neue ative Konstituente an. predictor(to) :- edge(_, To, _, _, [Active _]), predict(active, To) predict(c, Pos) :- rule(c, [Active Rest]), store(edge(pos,pos,c,[],[active Rest])), predict(active, Pos), fail. predict(_, _ Der Scanner nimmt Terminal-Symbole und bestimmt ihre lexialischen Kategorien. önnte z.b. Schnittstelle zu Lexion/Morphologie aufrufen Hier: Aufruf des spartanischen Lexions in word/ Scanner-Regel für Position man woman word(n, man word(n, woman... Falls das Wort W zwischen der Position und + der Eingabeette steht, füge für jede Lexion-Regel der Form C W die Kante, + C W. in die Chart. Earley-Parsing 7 Earley-Parsing 8 Scanner: Beispiel Scanner in Prolog Chart(-Ausschnitt) nach Laufen des Scanners für Knoten : DetP. Poss 6 Det the. scanner(+wort, +K,?Kplus) Für jede mögliche Kategorie, wird eine Kante mit der entsprechenden Endposition gespeichert. scanner(word, From, To) :- To is From +, word(cat, Word), store(edge(from,to,cat,[word],[])) Scanner beommt das Wort von process/ geliefert. Verbesserung gegenüber der Original-Version von Earley: Earley hätte Präterminal-Regeln wie Det the vom Predictor top-down verarbeiten lassen. Weil damit Terminale vorausgesagt werden, die gar nicht Teil der Eingabeette sind, ist das ineffizient wie beim Standard-DCG-Parser. Earley-Parsing 9 Earley-Parsing 0

6 Completer-Beschreibung Fundamental-Regel des Chart-Parsing Der Completer vervollständigt ative Kanten durch Kombination mit passiven Kanten. Anschaulich: Der Punt wandert in der Regel eine Kategorie nach rechts. Vorgehensweise des Completers: Bottom-Up Completer-Regel für Position Schritt I: Für jede passive Kante der Form j, B β. und jede ative Kante der Form i, j füge die Kante i, C α B. γ zur Chart hinzu. (sog. Fundamentalregel) Schritt II: Wende die Completer-Regel auf das Resultat ihrer eigenen Anwendung an. Wenn folgende Kanten in der Chart sind: Passive Kante zwischen Positionen j und : B β. d.h. cat. Ative Kante zwischen Positionen i und j: d.h. Det. Dann füge folgende Kante zur Chart hinzu: Ative oder passive Kante zwischen Positionen i und : C α B. γ d.h. Det. i i Det. Det. Det. j j cat. cat. Earley-Parsing Earley-Parsing Completer: Beispiel Completer: Beispiel Completer für Position, Schritt I Passive Kante 6 endet in Position. Ihre Kategorie ist Det. Suche ative Kanten, die ein Det benötigen und am Startnoten der passiven Kante enden (Position Kante passt. Füge durch Fundamentalregel die neue Kante (7) in die Chart. 6 Det the. 6 Det the. Completer für Position, Schritt II Passive Kante 7 endet hier. Ihre Kategorie ist DetP. Suche ative Kanten, die ein DetP benötigen und am Startnoten der passiven Kante enden (Position I) Kante passt füge durch Fundamentalregel neue Kante (8) zur Chart. 7 DetP Det. Ausschnitt 7 DetP Det. 7 DetP Det. 8 DetP. DetP. Poss DetP. Poss Earley-Parsing Earley-Parsing

7 Completer in Prolog Analyse: Fortschritt und Ende completer/ Vervollständige die Chart mit jeder passiven Kante, die bei Position K endet und bei J beginnt. complete/ Schritt I: Suche ative Kante, die bei J endet und Kategorie B benötigt. Wende die Fundamentalregel an und speichere die neue Kante. Schritt II: Falls sich bei Schritt I eine passive Kante ergeben hat, vervollständige diese reursiv. Achtung: Die erannten Konstituenten sind verehrt herum abgespeichert completer(k) :- edge(j, K, Passive, _, []), complete(j, K, Passive) complete(j, K, B) :- edge(i, J, A, Aphla, [B Gamma]), store(edge(i,k,a,[b Aphla],Gamma)), Gamma == [], complete(i, K, A), fail. complete(_, _, _ Fortschritt Wenn der Completer für Knoten nicht mehr weiterommt Ende Predictor für Knoten Scanner für Knoten Completer für Knoten Predictor für Knoten Scanner für Knoten Completer für Knoten Wenn die Eingabeette leer ist und alle Kanten vervollständigt sind, ist die syntatische Analyse beendet Ergebnis der Analyse Die Eingabe-Kette ist genau dann azeptiert, wenn gilt: I. eine passive Kante reicht von der ersten bis zur letzten Position II. und die Kategorie dieser Kante ist das Startsymbol. Earley-Parsing Earley-Parsing 6 Literatur Originalaufsatz Earley, Jay(970): An efficient context-free parsing-algorithm. Communications of the ACM,, pp Reprinted in "Readings in atural Language Processing (B. J. Gross, K. Spar et al. eds), pp. -, Morgan Kaufmann: Los Altos, 986. Implementation nahe bei Covington, M. (99: 76ff.) aber beeinflusst von Gazdar, G./ Mellish, Ch. (989: 79ff.): atural Language Processing in PROLOG Earley-Parsing 7

Charts. Motivation. Grundfrage. Chart als Graph

Charts. Motivation. Grundfrage. Chart als Graph Charts Motivation Übersicht Chart bzw. Well-Formed Substring Table (WFST) Als azyklischer Graph, Tabelle und Relation Kantenbeschriftungen Kategorien: WFST Regeln: Passive Charts Regelhyposen: Aktive Charts

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

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

Der Earley-Algorithmus

Der Earley-Algorithmus Der Earley-Algorithmus Kursfolien Karin Haenelt 25.03.02 1 25.03.02 2 Inhalt Funktion des Earley-Algorithmus Begriffe Erkenner/Parser Kontextfreie Grammatik Ein Beispiel Funktionen des Algorithmus Funktionsweise

Mehr

Der Earley-Algorithmus

Der Earley-Algorithmus Der Earley-Algorithmus Kursfolien Karin Haenelt 25.03.02 1 25.03.02 2 Inhalt Funktion des Earley-Algorithmus Begriffe Erkenner/Parser Kontextfreie Grammatik Ein Beispiel Funktionen des Algorithmus Funktionsweise

Mehr

Earley Parser. Flutura Mestani

Earley Parser. Flutura Mestani Earley Parser Flutura Mestani Informatik Seminar Algorithmen zu kontextfreien Grammatiken Wintersemester 2015/2016 Prof. Martin Hofmann, Dr. Hans Leiß Flutura Mestani 25.11.2015 Seminar Algorithmen zu

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

Automatisches Verstehen gesprochener Sprache

Automatisches Verstehen gesprochener Sprache Automatisches Verstehen gesprochener Sprache 6. Syntaxanalyse Martin Hacker Bernd Ludwig Günther Görz Professur für Künstliche Intelligenz Department Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg

Mehr

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

Übersicht. (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit Übersicht (A) Kontextfreie Sprachen (B) Syntaxanalyse (Parsing) (C) Grenzen der Kontextfreiheit (B) Syntaxanalyse 1. Definition Parsing 2. Einfache Parsestrategien: Top-down Bottom-Up Probleme beim Parsen

Mehr

Inhalt. Einführung Formale Sprachen und Grammatiken Übergangsnetze Merkmalsstrukturen Unifikationsgrammatiken

Inhalt. Einführung Formale Sprachen und Grammatiken Übergangsnetze Merkmalsstrukturen Unifikationsgrammatiken 4 Syntax Inhalt Einführung Formale Sprachen und Grammatiken Übergangsnetze Merkmalsstrukturen Unifikationsgrammatiken 4.1 Einführung Einführung Oberflächenstruktur (OF) äußere Erscheinungsform eines Satzes

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

Syntax und Parsing. OS Einblicke in die Computerlinguistik. Philipp Rabe, 13IN-M

Syntax und Parsing. OS Einblicke in die Computerlinguistik. Philipp Rabe, 13IN-M OS Einblicke in die Computerlinguistik basierend auf Computerlinguistik und Sprachtechnologie, 3. Auflage, Spektrum, Heidelberg 2010 22. Mai 2014 Ausgangssituation Tokenisierung und Wortarten-Tagging vollendet

Mehr

Die vorgestellten Chart-Parser haben bei bestimmten Grammatiken Probleme die Symbole der Grammatik dÿrfen nicht unterspezifiziert sein

Die vorgestellten Chart-Parser haben bei bestimmten Grammatiken Probleme die Symbole der Grammatik dÿrfen nicht unterspezifiziert sein bersicht Die vorgestellten Chart-Parser haben bei bestimmten Grammatiken Probleme die Symbole der Grammatik dÿrfen nicht unterspezifiziert sein OK: Prolog-Atome OK: komplexe Terme, deren Argumente jederzeit

Mehr

Bottom-Up-Chart-Parser

Bottom-Up-Chart-Parser Bottom-Up-Chart-Parser bersicht Grammatik und Lexikon Kanten-ReprŠsentation EinfŸgen von Kanten Terminal-Kanten Inaktive Kanten Aktive Kanten Ende des Parsings Zweck Verstehen des Verfahrens und der Prolog-Implementation

Mehr

Der CKY-Parser. Vorlesung Computerlinguistische Techniken Alexander Koller. 27. Oktober 2015

Der CKY-Parser. Vorlesung Computerlinguistische Techniken Alexander Koller. 27. Oktober 2015 Vorlesung omputerlinguistische Techniken Alexander Koller 27. Oktober 2015 Übersicht Komplexität des KY-Algorithmus Implementierung in Python hift-reduce-parsing hift-regel: (a w, s) (w, s a) Reduce-Regel:

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

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

LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13

LR-Parsing. Präsentation vom 19. Dez Adriana Kosior, Sandra Pyka & Michael Weidauer. Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 LR-Parsing Präsentation vom 19. Dez. 2012 Adriana Kosior, Sandra Pyka & Michael Weidauer Automatische Syntaxanalyse (Parsing) Wintersemester 12/13 Inhalte Einleitung LR(0) Parser LR(1) Parser Fazit Literatur

Mehr

L 0 = RE. Theorem Jede von einer Turing-Maschine akzeptierte Sprache kann auch von einer Typ-0 Grammatik generiert werden und umgekehrt, kurz:

L 0 = RE. Theorem Jede von einer Turing-Maschine akzeptierte Sprache kann auch von einer Typ-0 Grammatik generiert werden und umgekehrt, kurz: L 0 = RE Theorem Jede von einer Turing-Maschine azeptierte Sprache ann auch von einer Typ-0 Grammati generiert werden und umgeehrt, urz: L 0 = RE. Der Beweis erfolgt in zwei Schritten: 1. L 0 RE 2. RE

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

19. Dynamic Programming I

19. Dynamic Programming I Fibonacci Zahlen 9. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixettenmultipliation, Matrixmultipliation nach Strassen [Ottman/Widmayer,

Mehr

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012

Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester 2012 Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Sander Bruggink Automaten und Formale Sprachen 1 Einschub: Kellerautomaten

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

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

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus:

Definition 78 Ein NPDA = PDA (= Nichtdeterministischer Pushdown-Automat) besteht aus: 4.7 Kellerautomaten In der Literatur findet man häufig auch die Bezeichnungen Stack-Automat oder Pushdown-Automat. Kellerautomaten sind, wenn nichts anderes gesagt wird, nichtdeterministisch. Definition

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

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. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 8. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 08.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Letzte Vorlesung Eine

Mehr

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK

Voronoi-Diagramme. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 29.05.2011 Das Postamt-Problem b(p, q) = {x R 2 : xp = xq } p q h(p, q) h(q, p) = {x :

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

Städtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode

Städtisches Gymnasium Olpe Java Ht Informatik - Q1 Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode Die Klasse List im Abitur Methoden und Beispielcode Hier alle wichtigen Methoden. Ein Beispielcode folgt im Anschluss. Beispielcode Es gibt eine Klasse Benutzerverwaltung, welche eine Liste mit Benutzern

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester

Mehr

Top-Down-Parsing: DCGs

Top-Down-Parsing: DCGs Top-Down-Parsing: DCGs bersicht Formalismus Benutzung des in Prolog eingebauten Top-Down-Parsers fÿr DCGs Funktionsweise Komplexe Nichtterminalsymbole Modellieren von Kongruenz Ausgabe der erkannten Struktur

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2012/13 25. Vorlesung Dynamisches Programmieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Klausurvorbereitung Tipp: Schreiben Sie sich alle Fragen

Mehr

10. Hausübung Algorithmen und Datenstrukturen

10. Hausübung Algorithmen und Datenstrukturen Prof. Dr. Gerd Stumme, Folke Eisterlehner, Dominik Benz Fachgebiet Wissensverarbeitung 10. Hausübung Algorithmen und Datenstrukturen Sommersemester 2009 Abgabetermin: Montag, 22.06.2009, 10:00 Uhr 15.06.2009

Mehr

Polygontriangulierung

Polygontriangulierung Übung Algorithmische Geometrie Polygontriangulierung LEHRSTUHL FÜR ALGORITHMIK I INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Benjamin Niedermann 07.05.204 Ablauf Vergabe der Projekte Übungsblatt

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

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a

Mehr

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5.

Formale Sprachen. Spezialgebiet für Komplexe Systeme. Yimin Ge. 5ahdvn. 1 Grundlagen 1. 2 Formale Grammatiken 4. 3 Endliche Automaten 5. Formale Sprachen Spezialgebiet für Komplexe Systeme Yimin Ge 5ahdvn Inhaltsverzeichnis 1 Grundlagen 1 2 Formale Grammatien 4 Endliche Automaten 5 4 Reguläre Sprachen 9 5 Anwendungen bei Abzählproblemen

Mehr

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen

Kontextfreie Sprachen. Automaten und Formale Sprachen alias Theoretische Informatik. Sommersemester Kontextfreie Sprachen Automaten und Formale Sprachen alias Theoretische Informatik Sommersemester 2012 Dr. Sander Bruggink Übungsleitung: Jan Stückrath Wortproblem: der CYK-Algorithmus Pumping Lemma für kontextfreie Sprachen

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

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung

2. Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 2 Woche: Eindeutige Entschlüsselbarleit, Sätze von Kraft und McMillan, Huffmancodierung 24/ 44 Zwei Beispiele a 0

Mehr

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018 Hier Aufkleber mit Name und Matrikelnummer anbringen Vorname: Nachname: Matrikelnummer: Beachten Sie: Bringen Sie

Mehr

Chartparsing & CKY Algorithmus

Chartparsing & CKY Algorithmus Ludwigs Maximiliansuniversität München Centrum für Informations und Sprachverarbeitung Hauptseminar: Parsing Leitung: Prof. Dr. Klaus U. Schulz Sommersemester 2009 Chartparsing & CKY Algorithmus Daniel

Mehr

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein:

a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: 1 Aufgabe 8.1 (P) (2, 3)-Baum a) Fügen Sie die Zahlen 39, 38, 37 und 36 in folgenden (2, 3)-Baum ein: Zeichnen Sie, was in jedem Schritt passiert. b) Löschen Sie die Zahlen 65, 70 und 100 aus folgendem

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

Lösungen zur Vorlesung Berechenbarkeit und Komplexität

Lösungen zur Vorlesung Berechenbarkeit und Komplexität Lehrstuhl für Informatik 1 WS 009/10 Prof. Dr. Berthold Vöcking 0.0.010 Alexander Skopalik Thomas Kesselheim Lösungen zur Vorlesung Berechenbarkeit und Komplexität. Zulassungsklausur Aufgabe 1: (a) Worin

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

Algorithmische Geometrie: Voronoi Diagramme (Teil 2)

Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Algorithmische Geometrie: Voronoi Diagramme (Teil 2) Nico Düvelmeyer WS 2009/2010, 12.1.2010 Überblick 1 Definition und grundlegende Eigenschaften (Wied.) 2 Bestimmung des Voronoi Diagramms Gleitebenenverfahren

Mehr

2. Algorithmenbegriff

2. Algorithmenbegriff 2. Algorithmenbegriff Keine Algorithmen: Anleitungen, Kochrezepte, Wegbeschreibungen,... Algorithmus: Berechnungsvorschrift, die angibt, wie durch Ausführung bestimmter Elementaroperationen aus Eingabegrößen

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

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

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

Advanced Computational Semantics Sommersemester 2008, Hauptseminar. Lösung zu Übung 6,

Advanced Computational Semantics Sommersemester 2008, Hauptseminar. Lösung zu Übung 6, 1 Miriam Butt und Maribel Romero G220/5109, G212/2728 {miriam.butt maribel.romero}@uni-konstanz.de Advanced Computational Semantics Sommersemester 2008, Hauptseminar Lösung zu Übung 6, 05.06.2008 Aufgabe

Mehr

ÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 20. Juli 2016 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Stephan Schulz

ÜBUNGSKLAUSUR Studienhalbjahr: 2. Semester. Datum: 20. Juli 2016 Bearbeitungszeit: 90 Minuten. Modul: T2INF Dozent: Stephan Schulz Matrikelnummer: Fakultät Studiengang: Jahrgang / Kurs : Technik Angewandte Informatik 01 B/C/K ÜBUNGSKLAUSUR Studienhalbjahr:. Semester Datum: 0. Juli 01 Bearbeitungszeit: 90 Minuten Modul: TINF100.1 Dozent:

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

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben

Algorithmen und Datenstrukturen Tutorium Übungsaufgaben Algorithmen und Datenstrukturen Tutorium Übungsaufgaben AlgoDat - Übungsaufgaben 1 1 Landau-Notation Aufgabe Lösung 2 Rekurrenzen Aufgabe 3 Algorithmenentwurf und -analyse Aufgabe AlgoDat - Übungsaufgaben

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

Formale Methoden 1. Gerhard Jäger 12. Dezember Uni Bielefeld, WS 2007/2008 1/22

Formale Methoden 1. Gerhard Jäger 12. Dezember Uni Bielefeld, WS 2007/2008 1/22 1/22 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 12. Dezember 2007 2/22 Bäume Baumdiagramme Ein Baumdiagramm eines Satzes stellt drei Arten von Information

Mehr

Algorithmus: // Zähler für jede Regel. // Initialisierung. // Initialisierung von rhs } // 2 N result = ; // Ergebnis-Menge int count[p];

Algorithmus: // Zähler für jede Regel. // Initialisierung. // Initialisierung von rhs } // 2 N result = ; // Ergebnis-Menge int count[p]; Algorithmus: 2 N result = ; // Ergebnis-Menge int count[p]; // Zähler für jede Regel 2 P rhs[n]; // VorkommeninrechtenSeiten forall (A N) rhs[a] = ; // Initialisierung forall ((A,i) P) { // count[(a,i)]

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 16 Programm: Einführung

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

Technische Universität München. Aufgaben Montag WS 2011/12

Technische Universität München. Aufgaben Montag WS 2011/12 Technische Universität München Andreas Wörfel Ferienurs Analysis 1 für Physier Aufgaben Montag WS 2011/12 Aufgabe 1 Ne Menge Mengen a Zeigen Sie: A B A B B Zeige: A B A B B x (A B x A B x B, also: (A B

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

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Graphdurchläufe Maike Buchin 22. und 27.6.2017 Graphexploration Motivation: Für viele Zwecke will man den gesamten Graphen durchlaufen, zb. um festzustellen ob er (stark) zusammenhängt.

Mehr

Wann sind Codes eindeutig entschlüsselbar?

Wann sind Codes eindeutig entschlüsselbar? Wann sind Codes eindeutig entschlüsselbar? Definition Suffix Sei C ein Code. Ein Folge s {0, 1} heißt Suffix in C falls 1 c i, c j C : c i = c j s oder 2 c C und einen Suffix s in C: s = cs oder 3 c C

Mehr

Inkrementelle Syntax

Inkrementelle Syntax Inkrementelle Syntax CFG und inkrementelles Parsing Timm Lichte HHU Düsseldorf, Germany 30.10.2013 SFB 991 1 / 24 Aus der letzten Sitzung inkrementelle Syntax Mechanismen bzw. Komponenten eines Grammatikformalismus,

Mehr

Programmierkurs Python II

Programmierkurs Python II Programmierkurs Python II Michaela Regneri & Stefan Thater FR 4.7 Allgemeine Linguistik (Computerlinguistik) Universität des Saarlandes Sommersemester 2011 Prüfungsleistungen Klausur am Semesterende -

Mehr

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 2 Übung zur Vorlesung Grundlagen: Datenbanken im WS3/4 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws34/dbsys/exercises/

Mehr

14. Rot-Schwarz-Bäume

14. Rot-Schwarz-Bäume Bislang: Wörterbuchoperationen bei binären Suchbäume effizient durchführbar, falls Höhe des Baums klein. Rot-Schwarz-Bäume spezielle Suchbäume. Rot-Schwarz-Baum mit n Knoten hat Höhe höchstens 2 log(n+1).

Mehr

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19

Übungsblatt 6. Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Institut für Theoretische Informatik Lehrstuhl Prof. Dr. D. Wagner Übungsblatt 6 Vorlesung Theoretische Grundlagen der Informatik im WS 18/19 Ausgabe 8. Januar 2019 Abgabe 22. Januar 2019, 11:00 Uhr (im

Mehr

(Digital) Sorting. October 25, Algorithms & Datastructures 2 Exercises WS 2016

(Digital) Sorting. October 25, Algorithms & Datastructures 2 Exercises WS 2016 (Digital) Sorting October 2, 2016 Algorithms & Datastructures 2 Exercises WS 2016 Dipl.-Ing. University Linz, Institute for Pervasive Computing Altenberger Straße 69, A-4040 Linz kurz@pervasive.jku.at

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Kürzeste Wege Maike Buchin 4. und 6.7.2017 Einführung Motivation: Bestimmung von kürzesten Wegen ist in vielen Anwendungen, z.b. Routenplanung, ein wichtiges Problem. Allgemeine

Mehr

Das Halteproblem für Turingmaschinen

Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen Das Halteproblem für Turingmaschinen ist definiert als die Sprache H := { T w : T ist eine TM, die bei Eingabe w {0, 1} hält }. Behauptung: H {0, 1} ist nicht entscheidbar.

Mehr

Informatik I WS 07/08 Tutorium 24

Informatik I WS 07/08 Tutorium 24 Info I Tutorium 24 Informatik I WS 07/08 Tutorium 24 31.01.08 Bastian Molkenthin E-Mail: infotut@sunshine2k.de Web: http://infotut.sunshine2k.de Organisatorisches Anmeldung Hauptklausur : allerspätestens

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

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier Komplexitätstheorie WiSe 2011/12 in Trier Henning Fernau Universität Trier fernau@uni-trier.de 1 Komplexitätstheorie Gesamtübersicht Organisatorisches / Einführung Motivation / Erinnerung / Fragestellungen

Mehr

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri

Sprachanalyse. Fachseminar WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Nadia Douiri Sprachanalyse WS 08/09 Dozent: Prof. Dr. Helmut Weber Referentin: Inhalt 1. Formale Sprachen 2. Chomsky-Hierarchie 2 FORMALE SPRACHE 1. WAS IST EINE SPRACHE? 2. WIE BESCHREIBT MAN EINE SPRACHE? 3. WAS

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

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

Spezielle Themen der KI NLP. Parsing

Spezielle Themen der KI NLP. Parsing Spezielle Themen der KI NLP Parsing Syntaktisches Parsing 2 Bottom-up-Parsing s > np vp vp > verb np np > det noun np > det np np > proper-noun np > pronoun np > adj noun det > the det > a adj > red noun

Mehr

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen:

Homomorphismen. Defnition: Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: Homomorphismen Σ und Γ seien zwei endliche Alphabete, und h sei eine Abbildung h : Σ Γ. Wir definieren die folgenden Sprachen: h(l) := {h(u) : u L} Γ, für jede Sprache L Σ, h 1 (M) := {u Σ : h(u) M} Σ,

Mehr

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK

Theoretische Grundlagen der Informatik. Vorlesung am 17. Januar INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik 0 17.01.2019 Torsten Ueckerdt - Theoretische Grundlagen der Informatik KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Evaluation Ergebnisse

Mehr

19. Dynamic Programming I

19. Dynamic Programming I 495 19. Dynamic Programming I Fibonacci, Längste aufsteigende Teilfolge, längste gemeinsame Teilfolge, Editierdistanz, Matrixkettenmultiplikation, Matrixmultiplikation nach Strassen [Ottman/Widmayer, Kap.

Mehr

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015

Übersicht. Datenstrukturen und Algorithmen. Übersicht. Heaps. Vorlesung 8: Heapsort (K6) Joost-Pieter Katoen. 7. Mai 2015 Datenstrukturen und Algorithmen Vorlesung 8: (K6) 1 Joost-Pieter Katoen Lehrstuhl für Informatik Software Modeling and Verification Group http://moves.rwth-aachen.de/teaching/ss-15/dsal/ 7. Mai 015 3 Joost-Pieter

Mehr

Algorithmen für schwierige Probleme

Algorithmen für schwierige Probleme Algorithmen für schwierige Probleme Britta Dorn Wintersemester 2011/12 24. November 2011 Farbkodierung Beispiel Longest Path Longest Path gegeben: G = (V, E) und k N. Frage: Gibt es einen einfachen Pfad

Mehr

Vorlesung Datenstrukturen

Vorlesung Datenstrukturen Vorlesung Datenstrukturen Minimale Spannbäume Maike Buchin 18.7., 20.7.2017 Einführung Motivation: Verbinde Inseln mit Fähren oder Städte mit Schienen und verbrauche dabei möglichst wenig Länge. Problem:

Mehr

5. Die syntaktische Analyse

5. Die syntaktische Analyse mittels sog. Parser Input: Folge von Token (Symbolen), geliefert vom Scanner/Sieber Aufgabe: Teilfolgen zusammenfassen zu größeren syntaktischen Einheiten Ausdrücke, Anweisungen(-folgen), Deklarationen,

Mehr

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie

Voronoi-Diagramme INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK. Dr. Martin Nöllenburg Vorlesung Algorithmische Geometrie Vorlesung Algorithmische Geometrie INSTITUT FÜR THEORETISCHE INFORMATIK FAKULTÄT FÜR INFORMATIK Martin Nöllenburg 03.06.2014 1 Das Postamt-Problem b(p, q) = {x 2 R 2 : xp = xq } p q h(p, q) h(q, p) = {x

Mehr

1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee

1 AVL-Bäume. 1.1 Aufgabentyp. 1.2 Überblick. 1.3 Grundidee AVL-Bäume. Aufgabentyp Fügen Sie in einen anfangs leeren AVL Baum die folgenden Schlüssel ein:... Wenden Sie hierbei konsequent den Einfüge /Balancierungsalgorithmus an und dokumentieren Sie die ausgeführten

Mehr

Grundlagen der Theoretischen Informatik

Grundlagen der Theoretischen Informatik Grundlagen der Theoretischen Informatik 4. Kellerautomaten und kontextfreie prachen (VI) 25.06.2015 Viorica ofronie-tokkermans e-mail: sofronie@uni-koblenz.de 1 Übersicht 1. Motivation 2. Terminologie

Mehr

Theoretische Informatik 1

Theoretische Informatik 1 Theoretische Informatik 1 Search - Beweis der Korrektheit David Kappel Institut für Grundlagen der Informationsverarbeitung TU Graz SS 2013 Algemeine Anmerkungen zur Übung 9 Aufgabenblätter, 3 Abgabetermine

Mehr

Einführung in PROLOG 7 Kontextfreie Grammatiken

Einführung in PROLOG 7 Kontextfreie Grammatiken Einführung in PROLOG 7 Kontextfreie Grammatiken Der Erschaffer von PROLOG, Alain Colmerauer, war ein Computer-Linguist. Daher ist die Computer-Linguistik immer noch das klassische Anwendungsfeld von PROLOG.

Mehr

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37

2. November Gradfolgen Zusammenhang Kürzeste Wege. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 2. November 2011 Gradfolgen Zusammenhang Kürzeste Wege H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 37 Satz von Erdős und Gallai Eine Partition einer natürlichen Zahl ist genau dann die Gradfolge

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Prof. Martin Lercher Institut für Informatik Heinrich-Heine-Universität Düsseldorf Teil 10 Suche in Graphen Version vom 13. Dezember 2016 1 / 2 Vorlesung 2016 / 2017 2 /

Mehr

Grammatiken in Prolog

Grammatiken in Prolog 12. Grammatiken in Prolog 12-1 Grammatiken in Prolog Allgemeines: Gedacht zur Verarbeitung natürlicher Sprache. Dort braucht man kompliziertere Grammatiken als etwa im Compilerbau, andererseits sind die

Mehr