Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1...

137
Einführung in die Computerlinguistik Automaten Alexander Fraser / Robert Zangenfeind Center for Information and Language Processing 2019-12-09 Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First Moodle Fraser: Automaten 1 / 90

Transcript of Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1...

Page 1: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Einführung in die ComputerlinguistikAutomaten

Alexander Fraser / Robert Zangenfeind

Center for Information and Language Processing

2019-12-09

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 1 / 90

Page 2: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Die Grundfassung dieses Foliensatzes wurde von Prof. Dr. StefanEvert erstellt, und von Prof. Dr. Hinrich Schütze erweitert.

Fehler und Mängel sind ausschließlich meine Verantwortung.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 2 / 90

Page 3: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Outline

1 Motivation

2 Reguläre Sprachen

3 Reguläre Ausdrücke

4 Automaten

5 Breadth-First & Depth-First

6 Moodle

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 3 / 90

Page 4: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Outline

1 Motivation

2 Reguläre Sprachen

3 Reguläre Ausdrücke

4 Automaten

5 Breadth-First & Depth-First

6 Moodle

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 4 / 90

Page 5: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Motivation: Morphologie

Formen von “klein”:klein, kleine, kleinem, kleineren, kleiner, kleines,kleiner, kleinere, kleinerem, kleinereren, kleinerer, kleinereskleinst, kleinste, kleinstem, kleinsteren, kleinster, kleinstesErkennung: Ist eine gegebene Form eine Form von “klein”?Generierung: Generiere für eine gegebene Spezifikation (z.B.,stark, Nominativ, Singular, Maskulinum) eine Form (“kleiner”)Beide Aufgaben können mit Automaten gelöst werden.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 5 / 90

Page 6: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Motivation: Morphologie

Formen von “klein”:klein, kleine, kleinem, kleineren, kleiner, kleines,kleiner, kleinere, kleinerem, kleinereren, kleinerer, kleinereskleinst, kleinste, kleinstem, kleinsteren, kleinster, kleinstes

Erkennung: Ist eine gegebene Form eine Form von “klein”?Generierung: Generiere für eine gegebene Spezifikation (z.B.,stark, Nominativ, Singular, Maskulinum) eine Form (“kleiner”)Beide Aufgaben können mit Automaten gelöst werden.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 5 / 90

Page 7: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Motivation: Morphologie

Formen von “klein”:klein, kleine, kleinem, kleineren, kleiner, kleines,kleiner, kleinere, kleinerem, kleinereren, kleinerer, kleinereskleinst, kleinste, kleinstem, kleinsteren, kleinster, kleinstesErkennung: Ist eine gegebene Form eine Form von “klein”?

Generierung: Generiere für eine gegebene Spezifikation (z.B.,stark, Nominativ, Singular, Maskulinum) eine Form (“kleiner”)Beide Aufgaben können mit Automaten gelöst werden.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 5 / 90

Page 8: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Motivation: Morphologie

Formen von “klein”:klein, kleine, kleinem, kleineren, kleiner, kleines,kleiner, kleinere, kleinerem, kleinereren, kleinerer, kleinereskleinst, kleinste, kleinstem, kleinsteren, kleinster, kleinstesErkennung: Ist eine gegebene Form eine Form von “klein”?Generierung: Generiere für eine gegebene Spezifikation (z.B.,stark, Nominativ, Singular, Maskulinum) eine Form (“kleiner”)

Beide Aufgaben können mit Automaten gelöst werden.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 5 / 90

Page 9: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Motivation: Morphologie

Formen von “klein”:klein, kleine, kleinem, kleineren, kleiner, kleines,kleiner, kleinere, kleinerem, kleinereren, kleinerer, kleinereskleinst, kleinste, kleinstem, kleinsteren, kleinster, kleinstesErkennung: Ist eine gegebene Form eine Form von “klein”?Generierung: Generiere für eine gegebene Spezifikation (z.B.,stark, Nominativ, Singular, Maskulinum) eine Form (“kleiner”)Beide Aufgaben können mit Automaten gelöst werden.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 5 / 90

Page 10: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Automat für Adjektive (Buchstabenebene)

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 6 / 90

Page 11: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Motivation: Syntax

Ein wichtiger Teil der Syntax natürlicher Sprache kann durchAutomaten dargestellt werden.Beispiel:

das Autodas rote Autodas alte rote Autodas schnelle alte rote Autodas kaputte schnelle alte rote Auto

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 7 / 90

Page 12: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Motivation: Syntax

Ein wichtiger Teil der Syntax natürlicher Sprache kann durchAutomaten dargestellt werden.

Beispiel:das Autodas rote Autodas alte rote Autodas schnelle alte rote Autodas kaputte schnelle alte rote Auto

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 7 / 90

Page 13: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Motivation: Syntax

Ein wichtiger Teil der Syntax natürlicher Sprache kann durchAutomaten dargestellt werden.Beispiel:

das Autodas rote Autodas alte rote Autodas schnelle alte rote Autodas kaputte schnelle alte rote Auto

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 7 / 90

Page 14: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Automat für Nominalphrase (Lexemformebene)

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 8 / 90

Page 15: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Praktische Motivation: Reguläre Ausdrücke

Die meisten Textverarbeitungssysteme verwenden ReguläreAusdrücke.Vielfältige VerwendungsmöglichkeitenEntfernen von Markup (HTML etc.)Extraktion von InformationAutomatisches Ersetzen…Reguläre Ausdrücke ähneln einer eigenen Programmiersprache(sind aber auch Teil fast jeder Programmiersprache).

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 9 / 90

Page 16: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Praktische Motivation: Reguläre Ausdrücke

Die meisten Textverarbeitungssysteme verwenden ReguläreAusdrücke.

Vielfältige VerwendungsmöglichkeitenEntfernen von Markup (HTML etc.)Extraktion von InformationAutomatisches Ersetzen…Reguläre Ausdrücke ähneln einer eigenen Programmiersprache(sind aber auch Teil fast jeder Programmiersprache).

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 9 / 90

Page 17: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Praktische Motivation: Reguläre Ausdrücke

Die meisten Textverarbeitungssysteme verwenden ReguläreAusdrücke.Vielfältige VerwendungsmöglichkeitenEntfernen von Markup (HTML etc.)Extraktion von InformationAutomatisches Ersetzen…

Reguläre Ausdrücke ähneln einer eigenen Programmiersprache(sind aber auch Teil fast jeder Programmiersprache).

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 9 / 90

Page 18: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Praktische Motivation: Reguläre Ausdrücke

Die meisten Textverarbeitungssysteme verwenden ReguläreAusdrücke.Vielfältige VerwendungsmöglichkeitenEntfernen von Markup (HTML etc.)Extraktion von InformationAutomatisches Ersetzen…Reguläre Ausdrücke ähneln einer eigenen Programmiersprache(sind aber auch Teil fast jeder Programmiersprache).

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 9 / 90

Page 19: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Regulärer Ausdruck für Email-Adressen

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 10 / 90

Page 20: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?Ist das Vokabular einer Sprache begrenzt?Können Sätze beliebig lang sein?Ist Sprache rekursiv?Ist Sprache hierarchisch?Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.Zunächst nur Form, nicht Funktion/Bedeutung.Form: Kann man das so sagen?Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 21: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?

Ist das Vokabular einer Sprache begrenzt?Können Sätze beliebig lang sein?Ist Sprache rekursiv?Ist Sprache hierarchisch?Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.Zunächst nur Form, nicht Funktion/Bedeutung.Form: Kann man das so sagen?Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 22: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?Ist das Vokabular einer Sprache begrenzt?

Können Sätze beliebig lang sein?Ist Sprache rekursiv?Ist Sprache hierarchisch?Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.Zunächst nur Form, nicht Funktion/Bedeutung.Form: Kann man das so sagen?Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 23: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?Ist das Vokabular einer Sprache begrenzt?Können Sätze beliebig lang sein?

Ist Sprache rekursiv?Ist Sprache hierarchisch?Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.Zunächst nur Form, nicht Funktion/Bedeutung.Form: Kann man das so sagen?Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 24: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?Ist das Vokabular einer Sprache begrenzt?Können Sätze beliebig lang sein?Ist Sprache rekursiv?

Ist Sprache hierarchisch?Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.Zunächst nur Form, nicht Funktion/Bedeutung.Form: Kann man das so sagen?Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 25: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?Ist das Vokabular einer Sprache begrenzt?Können Sätze beliebig lang sein?Ist Sprache rekursiv?Ist Sprache hierarchisch?

Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.Zunächst nur Form, nicht Funktion/Bedeutung.Form: Kann man das so sagen?Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 26: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?Ist das Vokabular einer Sprache begrenzt?Können Sätze beliebig lang sein?Ist Sprache rekursiv?Ist Sprache hierarchisch?Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.

Zunächst nur Form, nicht Funktion/Bedeutung.Form: Kann man das so sagen?Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 27: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?Ist das Vokabular einer Sprache begrenzt?Können Sätze beliebig lang sein?Ist Sprache rekursiv?Ist Sprache hierarchisch?Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.Zunächst nur Form, nicht Funktion/Bedeutung.

Form: Kann man das so sagen?Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 28: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?Ist das Vokabular einer Sprache begrenzt?Können Sätze beliebig lang sein?Ist Sprache rekursiv?Ist Sprache hierarchisch?Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.Zunächst nur Form, nicht Funktion/Bedeutung.Form: Kann man das so sagen?

Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 29: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theoretische Motivation: Was ist Sprache?

Ist Sprache endlich?Ist das Vokabular einer Sprache begrenzt?Können Sätze beliebig lang sein?Ist Sprache rekursiv?Ist Sprache hierarchisch?Die Theorie der Formalen Sprachen hilft bei der Präzisierungund Beantwortung dieser Fragen.Zunächst nur Form, nicht Funktion/Bedeutung.Form: Kann man das so sagen?Funktion: Was ist die Bedeutung des Gesagten?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 11 / 90

Page 30: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Motivation für Reguläre Sprachen / Automaten

MorphologieSyntaxPraktische Motivation: Reguläre AusdrückeTheoretische Motivation: Was ist Sprache?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 12 / 90

Page 31: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

UmfrageFür wen sind neu:

Automatenreguläre Ausdrückeformale Sprachen(einschließlich reguläre Sprachen)

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 13 / 90

Page 32: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Beispiel / ÜbungDenken Sie sich eine Endung des Adjektivs “klein” aus und findenSie den Pfad, mit dem der Automat diese Endungerkennt/akzeptiert. Epsilon = “Nullübergang”. Endzustand:Doppelkreis.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 14 / 90

Page 33: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Automatendiagramme

Bogen, der mit einem Symbol annotiert ist:Der Automat liest das Symbol und geht zum nächstenZustand.Bogen, der mit einem Epsilon annotiert ist:Der Automat liest nichts und geht zum nächsten Zustand.Doppelkreis: Endzustand.Der Automat “akzeptiert” einen String, wenn er nach Lesendes Strings in einem Endzustand ist.Ein einfacher Pfeil (der nicht bei einem Zustand beginnt)zeigt auf den Startzustand.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 15 / 90

Page 34: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Automatendiagramme

Bogen, der mit einem Symbol annotiert ist:Der Automat liest das Symbol und geht zum nächstenZustand.

Bogen, der mit einem Epsilon annotiert ist:Der Automat liest nichts und geht zum nächsten Zustand.Doppelkreis: Endzustand.Der Automat “akzeptiert” einen String, wenn er nach Lesendes Strings in einem Endzustand ist.Ein einfacher Pfeil (der nicht bei einem Zustand beginnt)zeigt auf den Startzustand.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 15 / 90

Page 35: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Automatendiagramme

Bogen, der mit einem Symbol annotiert ist:Der Automat liest das Symbol und geht zum nächstenZustand.Bogen, der mit einem Epsilon annotiert ist:Der Automat liest nichts und geht zum nächsten Zustand.

Doppelkreis: Endzustand.Der Automat “akzeptiert” einen String, wenn er nach Lesendes Strings in einem Endzustand ist.Ein einfacher Pfeil (der nicht bei einem Zustand beginnt)zeigt auf den Startzustand.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 15 / 90

Page 36: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Automatendiagramme

Bogen, der mit einem Symbol annotiert ist:Der Automat liest das Symbol und geht zum nächstenZustand.Bogen, der mit einem Epsilon annotiert ist:Der Automat liest nichts und geht zum nächsten Zustand.Doppelkreis: Endzustand.Der Automat “akzeptiert” einen String, wenn er nach Lesendes Strings in einem Endzustand ist.

Ein einfacher Pfeil (der nicht bei einem Zustand beginnt)zeigt auf den Startzustand.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 15 / 90

Page 37: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Automatendiagramme

Bogen, der mit einem Symbol annotiert ist:Der Automat liest das Symbol und geht zum nächstenZustand.Bogen, der mit einem Epsilon annotiert ist:Der Automat liest nichts und geht zum nächsten Zustand.Doppelkreis: Endzustand.Der Automat “akzeptiert” einen String, wenn er nach Lesendes Strings in einem Endzustand ist.Ein einfacher Pfeil (der nicht bei einem Zustand beginnt)zeigt auf den Startzustand.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 15 / 90

Page 38: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Beispiel

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 16 / 90

Page 39: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Beispiel / ÜbungDenken Sie sich eine Endung des Adjektivs “klein” aus und findenSie den Pfad, mit dem der Automat diese Endungerkennt/akzeptiert. Epsilon = “Nullübergang”. Endzustand:Doppelkreis.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 17 / 90

Page 40: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Outline

1 Motivation

2 Reguläre Sprachen

3 Reguläre Ausdrücke

4 Automaten

5 Breadth-First & Depth-First

6 Moodle

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 18 / 90

Page 41: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Fahrplan

Reguläre SprachenReguläre Ausdrückedeterministische Automatennichtdeterministische AutomatenReguläre Sprachen= Reguläre Ausdrücke= deterministische Automaten= nichtdeterministische Automaten

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 19 / 90

Page 42: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

CaveatIn dieser Vorlesung gibt es einiges, das Sie als Hintergrund wissensollten, das aber nicht abgefragt wird. Versuchen Sie einfach,möglichst viel zu verstehen, aber vollständiges Verständnis ist beivielem nicht nötig.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 20 / 90

Page 43: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Grundbegriffe

Das Alphabet Σ ist eine endliche Menge, deren Elemente Symboleoder Zeichen heißen. Wir verwenden für Zeichen üblicherweise dieBuchstaben a, b, c, . . . ∈ Σ.

Wir können die Zeichen aus einem gegebenen Alphabet Σ zuendlichen Symbolfolgen oder Wörtern zusammensetzen, wobeiWiederholungen erlaubt sind. Wir bezeichnen Wörter mitu, v ,w , . . . oder griechischen Buchstaben.

Die Länge |w | eines Wortes w ist die Anzahl der Zeichen, ausdenen es besteht. Eine besondere Stellung nimmt dabei das leereWort ϵ ein, das als einziges die Länge |ϵ| = 0 hat.

Die Menge aller Wörter über einem Alphabet Σ (einschließlich desleeren Wortes) wird mit Σ∗ bezeichnet.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 21 / 90

Page 44: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Buchstabenebene vs. Lexemformebene

BuchstabenebeneZeichen sind Buchstaben.Ein Wort der regulären Sprache ist ein Wort der natürlichenSprache.

LexemformebeneZeichen sind Lexemformen (natürlichsprachliche Wörter).Ein Wort der regulären Sprache ist eine Phrase oder ein Satz dernatürlichen Sprache.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 22 / 90

Page 45: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Buchstabenebene vs. Lexemformebene

BuchstabenebeneZeichen sind Buchstaben.Ein Wort der regulären Sprache ist ein Wort der natürlichenSprache.

LexemformebeneZeichen sind Lexemformen (natürlichsprachliche Wörter).Ein Wort der regulären Sprache ist eine Phrase oder ein Satz dernatürlichen Sprache.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 22 / 90

Page 46: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Buchstabenebene vs. Lexemformebene

BuchstabenebeneZeichen sind Buchstaben.Ein Wort der regulären Sprache ist ein Wort der natürlichenSprache.

LexemformebeneZeichen sind Lexemformen (natürlichsprachliche Wörter).Ein Wort der regulären Sprache ist eine Phrase oder ein Satz dernatürlichen Sprache.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 22 / 90

Page 47: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Indexnotation

Formal läßt sich ein Wort w ∈ Σ∗ der Länge |w | = n als Abbildungw : {1, . . . , n} → Σ auffassen.

Wir verwenden die Notation w(i) für das i-te Zeichen eines Wortes:w(1) bezeichnet also das erste, w(n) das letzte Zeichen von w .Alternativ: wi , w1, wn

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 23 / 90

Page 48: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Verkettung = Konkatenation

Die Verkettung oder Konkatenation zweier Wörter v ,w ∈ Σ∗ wirdv ◦ w oder kurz vw geschrieben. v ◦ w ∈ Σ∗ entsteht durch“Aneinanderhängen” der Wörter v und w . Wir können jedes Wortals Verkettung seiner Zeichen auffassen:w = w(1) ◦ w(2) ◦ · · · ◦ w(n) (mit n = |w |).

Das leere Wort ϵ wird als neutrales Element (bezüglich derKonkatenation) bezeichnet, da ϵ ◦ w = w ◦ ϵ = w für alle w ∈ Σ∗

gilt.

Weiterhin ist stets |v ◦ w | = |v |+ |w |.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 24 / 90

Page 49: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Potenz, Umkehrung, Palindrom

Die i-te Potenz w i eines Wortes w bezeichnet dessen i-facheWiederholung. Formal läßt sich dieser Sachverhalt in eine rekursiveDefinition fassen: w0 := ϵ und w i+1 := w i ◦ w für i ∈ N0.

Die Umkehrung (oder Spiegelung) wR von w = w(1)w(2) · · ·w(n)ist definiert als wR := w(n)w(n − 1) · · ·w(1) (z.B. ist(stefan)R = nafets).

Ein Palindrom ist ein Wort w , für das wR = w gilt.

Einfache Eigenschaften der Umkehrung sind (v ◦ w)R = wR ◦ vR

und∣∣wR ∣∣ = |w |.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 25 / 90

Page 50: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Präfix, Suffix

Gibt es zu v ,w ∈ Σ∗ ein Wort u ∈ Σ∗ mit w = v ◦ u (bzw.w = u ◦ v), so heißt v Präfix (bzw. Suffix) von w . Ein Präfix vvon w wird abkürzend mit v ≤ w gekennzeichnet.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 26 / 90

Page 51: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Kleenesche Hülle

Der Abschluß A∗ (oder Abschluß unter Konkatenation) einerWortmenge A ⊆ Σ∗ ist die kleinste Teilmenge von Σ∗, die folgendeBedingungen erfüllt:

A ⊆ A∗

ϵ ∈ A∗

v ,w ∈ A∗ ⇒ v ◦ w ∈ A∗

Der Abschluß einer Wortmenge wird als Kleenesche Hüllebezeichnet, der Operator ∗ als Kleene Star. Anschaulich bestehtA∗ aus allen möglichen Verkettungen von beliebig vielen Wörternaus A. Es gilt folglich

A∗ = {w1 ◦ w2 ◦ · · · ◦ wn | n ∈ N und w1, . . . ,wn ∈ A} ∪ {ϵ}

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 27 / 90

Page 52: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Definition: Formale Sprache

Eine formale Sprache über dem Alphabet Σ ist eine (beliebige)Teilmenge A ⊆ Σ∗.

Wir unterscheiden zwischen endlichen und unendlichen Sprachen,je nachdem ob |A| endlich oder unendlich ist.

Da das Alphabet Σ endlich ist, ist Σ∗ und somit jede unendlicheformale Sprache abzählbar unendlich.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 28 / 90

Page 53: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Mengenoperationen

Auf formale Sprachen A,B ⊆ Σ∗ lassen sich die folgendenMengenoperationen anwenden:Vereinigung A ∪ B,Durchschnitt A ∩ B,Differenz A \ B,sowie das Komplement CA = Σ∗ \ A

sind alle wieder formale Sprachen über Σ.

Zusätzliche Operationen für formale Sprachen sind KleenescheHülle A∗ und die Verkettung A ◦ B := {v ◦ w | v ∈ A ∧ w ∈ B}.Formal ist A ◦ B als Teilmenge von Σ∗ definiert:

A ◦ B := {w ∈ Σ∗ | ∃u ∈ A ∃v ∈ B : w = u ◦ v}.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 29 / 90

Page 54: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Sprachklassen

Eine Sprachklasse L über einem Alphabet Σ ist eine Menge vonformalen Sprachen A ⊆ Σ∗.

Da jede Sprache A selbst eine Teilmenge von Σ∗ ist, ist L also eineMenge von Teilmengen, d.h. eine Teilmenge der Potenzmenge vonΣ∗: L ⊆ P(Σ∗). Auch P(Σ∗) stellt somit eine Sprachklasse dar;sie umfaßt alle möglichen formalen Sprachen über Σ.

Wir stellen an jede betrachtete Sprachklasse L bestimmteForderungen. Sie sind zugleich Minimalforderungen an dieMächtigkeit der entsprechenden Grammatikformalismen.

Hier: Die Sprachklasse der regulären Sprachen

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 30 / 90

Page 55: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Forderungen an eine Sprachklasse L

(i) Jede endliche Sprache gehört zu L.Mit zwei Sprachen A,B ∈ L gehört auch deren (ii)Vereinigung A ∪ B zu L und (iii) Verkettung A ◦ B zu L.(iv) Mit jeder Sprache A ∈ L gehört auch deren KleenescheHülle A∗ zu L.

Forderung (i) stellt sicher, dass jeder Grammatikformalismusextensionale Definitionen ermöglicht. Forderungen (ii) und (iii)leiten sich aus der Kombination der Regeln zweier Grammatikenher, wobei die Regelsätze entweder Alternativen sind (ii) oderdurch Verkettung kombiniert werden (iii). Forderung (iv)schließlich bildet den Schlüssel zu unendlichen Sprachen. Während(iii) bereits sicherstellt, dass Verkettungen endlicher Länge ∈ Lsind, wird diese Eigenschaft durch (iv) auf Verkettungen beliebigerLänge ausgedehnt.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 31 / 90

Page 56: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Forderungen an eine Sprachklasse L

(i) Jede endliche Sprache gehört zu L.

Mit zwei Sprachen A,B ∈ L gehört auch deren (ii)Vereinigung A ∪ B zu L und (iii) Verkettung A ◦ B zu L.(iv) Mit jeder Sprache A ∈ L gehört auch deren KleenescheHülle A∗ zu L.

Forderung (i) stellt sicher, dass jeder Grammatikformalismusextensionale Definitionen ermöglicht. Forderungen (ii) und (iii)leiten sich aus der Kombination der Regeln zweier Grammatikenher, wobei die Regelsätze entweder Alternativen sind (ii) oderdurch Verkettung kombiniert werden (iii). Forderung (iv)schließlich bildet den Schlüssel zu unendlichen Sprachen. Während(iii) bereits sicherstellt, dass Verkettungen endlicher Länge ∈ Lsind, wird diese Eigenschaft durch (iv) auf Verkettungen beliebigerLänge ausgedehnt.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 31 / 90

Page 57: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Forderungen an eine Sprachklasse L

(i) Jede endliche Sprache gehört zu L.Mit zwei Sprachen A,B ∈ L gehört auch deren (ii)Vereinigung A ∪ B zu L und (iii) Verkettung A ◦ B zu L.

(iv) Mit jeder Sprache A ∈ L gehört auch deren KleenescheHülle A∗ zu L.

Forderung (i) stellt sicher, dass jeder Grammatikformalismusextensionale Definitionen ermöglicht. Forderungen (ii) und (iii)leiten sich aus der Kombination der Regeln zweier Grammatikenher, wobei die Regelsätze entweder Alternativen sind (ii) oderdurch Verkettung kombiniert werden (iii). Forderung (iv)schließlich bildet den Schlüssel zu unendlichen Sprachen. Während(iii) bereits sicherstellt, dass Verkettungen endlicher Länge ∈ Lsind, wird diese Eigenschaft durch (iv) auf Verkettungen beliebigerLänge ausgedehnt.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 31 / 90

Page 58: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Forderungen an eine Sprachklasse L

(i) Jede endliche Sprache gehört zu L.Mit zwei Sprachen A,B ∈ L gehört auch deren (ii)Vereinigung A ∪ B zu L und (iii) Verkettung A ◦ B zu L.(iv) Mit jeder Sprache A ∈ L gehört auch deren KleenescheHülle A∗ zu L.

Forderung (i) stellt sicher, dass jeder Grammatikformalismusextensionale Definitionen ermöglicht. Forderungen (ii) und (iii)leiten sich aus der Kombination der Regeln zweier Grammatikenher, wobei die Regelsätze entweder Alternativen sind (ii) oderdurch Verkettung kombiniert werden (iii). Forderung (iv)schließlich bildet den Schlüssel zu unendlichen Sprachen. Während(iii) bereits sicherstellt, dass Verkettungen endlicher Länge ∈ Lsind, wird diese Eigenschaft durch (iv) auf Verkettungen beliebigerLänge ausgedehnt.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 31 / 90

Page 59: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Forderungen an eine Sprachklasse L

(i) Jede endliche Sprache gehört zu L.Mit zwei Sprachen A,B ∈ L gehört auch deren (ii)Vereinigung A ∪ B zu L und (iii) Verkettung A ◦ B zu L.(iv) Mit jeder Sprache A ∈ L gehört auch deren KleenescheHülle A∗ zu L.

Forderung (i) stellt sicher, dass jeder Grammatikformalismusextensionale Definitionen ermöglicht. Forderungen (ii) und (iii)leiten sich aus der Kombination der Regeln zweier Grammatikenher, wobei die Regelsätze entweder Alternativen sind (ii) oderdurch Verkettung kombiniert werden (iii). Forderung (iv)schließlich bildet den Schlüssel zu unendlichen Sprachen. Während(iii) bereits sicherstellt, dass Verkettungen endlicher Länge ∈ Lsind, wird diese Eigenschaft durch (iv) auf Verkettungen beliebigerLänge ausgedehnt.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 31 / 90

Page 60: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Sprachen

Die einfachste Sprachklasse, die obigen Forderungen genügt, bildendie sogenannten regulären Sprachen. Wir bezeichnen die Klassealler regulären Sprachen über einem gegebenen Alphabet Σ mitReg(Σ) ⊆ P(Σ∗).

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 32 / 90

Page 61: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Sprachen: Definition

Wir können Reg(Σ) analog zu den Forderungen (i) – (v) rekursivdefinieren:

(i) ∅, {ϵ} ∈ Reg(Σ)

(ii) ∀a ∈ Σ : {a} ∈ Reg(Σ)

(iii) A,B ∈ Reg(Σ) ⇒ A ∪ B ∈ Reg(Σ)

(iv) A,B ∈ Reg(Σ) ⇒ A ◦ B ∈ Reg(Σ)

(v) A ∈ Reg(Σ) ⇒ A∗ ∈ Reg(Σ)

Forderung (i) wird durch die Regeln (i), (ii) und (iii) erfüllt, da mitihnen jede endliche Sprache erzeugt werden kann. Jede reguläreSprache A ∈ Reg(Σ) läßt sich durch wiederholte Anwendung derobigen Regeln darstellen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 33 / 90

Page 62: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Sprachen: Definition

Wir können Reg(Σ) analog zu den Forderungen (i) – (v) rekursivdefinieren:

(i) ∅, {ϵ} ∈ Reg(Σ)

(ii) ∀a ∈ Σ : {a} ∈ Reg(Σ)

(iii) A,B ∈ Reg(Σ) ⇒ A ∪ B ∈ Reg(Σ)

(iv) A,B ∈ Reg(Σ) ⇒ A ◦ B ∈ Reg(Σ)

(v) A ∈ Reg(Σ) ⇒ A∗ ∈ Reg(Σ)

Forderung (i) wird durch die Regeln (i), (ii) und (iii) erfüllt, da mitihnen jede endliche Sprache erzeugt werden kann. Jede reguläreSprache A ∈ Reg(Σ) läßt sich durch wiederholte Anwendung derobigen Regeln darstellen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 33 / 90

Page 63: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Sprachen: Definition

Wir können Reg(Σ) analog zu den Forderungen (i) – (v) rekursivdefinieren:

(i) ∅, {ϵ} ∈ Reg(Σ)

(ii) ∀a ∈ Σ : {a} ∈ Reg(Σ)

(iii) A,B ∈ Reg(Σ) ⇒ A ∪ B ∈ Reg(Σ)

(iv) A,B ∈ Reg(Σ) ⇒ A ◦ B ∈ Reg(Σ)

(v) A ∈ Reg(Σ) ⇒ A∗ ∈ Reg(Σ)

Forderung (i) wird durch die Regeln (i), (ii) und (iii) erfüllt, da mitihnen jede endliche Sprache erzeugt werden kann. Jede reguläreSprache A ∈ Reg(Σ) läßt sich durch wiederholte Anwendung derobigen Regeln darstellen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 33 / 90

Page 64: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Sprachen: Definition

Wir können Reg(Σ) analog zu den Forderungen (i) – (v) rekursivdefinieren:

(i) ∅, {ϵ} ∈ Reg(Σ)

(ii) ∀a ∈ Σ : {a} ∈ Reg(Σ)

(iii) A,B ∈ Reg(Σ) ⇒ A ∪ B ∈ Reg(Σ)

(iv) A,B ∈ Reg(Σ) ⇒ A ◦ B ∈ Reg(Σ)

(v) A ∈ Reg(Σ) ⇒ A∗ ∈ Reg(Σ)

Forderung (i) wird durch die Regeln (i), (ii) und (iii) erfüllt, da mitihnen jede endliche Sprache erzeugt werden kann. Jede reguläreSprache A ∈ Reg(Σ) läßt sich durch wiederholte Anwendung derobigen Regeln darstellen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 33 / 90

Page 65: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Sprachen: Definition

Wir können Reg(Σ) analog zu den Forderungen (i) – (v) rekursivdefinieren:

(i) ∅, {ϵ} ∈ Reg(Σ)

(ii) ∀a ∈ Σ : {a} ∈ Reg(Σ)

(iii) A,B ∈ Reg(Σ) ⇒ A ∪ B ∈ Reg(Σ)

(iv) A,B ∈ Reg(Σ) ⇒ A ◦ B ∈ Reg(Σ)

(v) A ∈ Reg(Σ) ⇒ A∗ ∈ Reg(Σ)

Forderung (i) wird durch die Regeln (i), (ii) und (iii) erfüllt, da mitihnen jede endliche Sprache erzeugt werden kann. Jede reguläreSprache A ∈ Reg(Σ) läßt sich durch wiederholte Anwendung derobigen Regeln darstellen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 33 / 90

Page 66: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Sprachen: Definition

Wir können Reg(Σ) analog zu den Forderungen (i) – (v) rekursivdefinieren:

(i) ∅, {ϵ} ∈ Reg(Σ)

(ii) ∀a ∈ Σ : {a} ∈ Reg(Σ)

(iii) A,B ∈ Reg(Σ) ⇒ A ∪ B ∈ Reg(Σ)

(iv) A,B ∈ Reg(Σ) ⇒ A ◦ B ∈ Reg(Σ)

(v) A ∈ Reg(Σ) ⇒ A∗ ∈ Reg(Σ)

Forderung (i) wird durch die Regeln (i), (ii) und (iii) erfüllt, da mitihnen jede endliche Sprache erzeugt werden kann. Jede reguläreSprache A ∈ Reg(Σ) läßt sich durch wiederholte Anwendung derobigen Regeln darstellen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 33 / 90

Page 67: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Sprachen: Definition

Wir können Reg(Σ) analog zu den Forderungen (i) – (v) rekursivdefinieren:

(i) ∅, {ϵ} ∈ Reg(Σ)

(ii) ∀a ∈ Σ : {a} ∈ Reg(Σ)

(iii) A,B ∈ Reg(Σ) ⇒ A ∪ B ∈ Reg(Σ)

(iv) A,B ∈ Reg(Σ) ⇒ A ◦ B ∈ Reg(Σ)

(v) A ∈ Reg(Σ) ⇒ A∗ ∈ Reg(Σ)

Forderung (i) wird durch die Regeln (i), (ii) und (iii) erfüllt, da mitihnen jede endliche Sprache erzeugt werden kann. Jede reguläreSprache A ∈ Reg(Σ) läßt sich durch wiederholte Anwendung derobigen Regeln darstellen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 33 / 90

Page 68: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Beispiel

Die Sprache A := {abkc l | k ∈ N0, l ∈ {0, 1}} ist regulär, denn

A = {a} ◦({b}

)∗ ◦ ({c} ∪ {ϵ}).

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 34 / 90

Page 69: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Formale Sprachen: Theoretische Motivation

Das Hauptinteresse der Theorie formaler Sprachen besteht darin,eine unendliche Sprache durch eine endliche Grammatik zubeschreiben. Hierzu werden geeignete Beschreibungsformalismenbenötigt. Die Gesamtheit aller Sprachen A, die sich in einembestimmten Formalismus beschreiben lassen, wird als SprachklasseA bezeichnet. Ein wesentlicher Aspekt der Forschungsarbeit istsomit die Untersuchung der Eigenschaften verschiedenerSprachklassen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 35 / 90

Page 70: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Zusammenfassung

Eine Sprache ist eine endliche oder unendliche Menge vonWörtern (= Strings)Wir interessieren uns für Sprachen, weil wir oft eine endlicheoder unendliche Liste von Wörtern matchen wollenDie Reguläre Sprachen sind sehr interessant, weil wir eineReguläre Sprache kompakt darstellen können, z.B., alsRegulärer Ausdruck, deterministischer endlicher Automat(DEA), oder nichtdeterministischer endlicher Automat (NEA)

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 36 / 90

Page 71: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Fahrplan

Reguläre SprachenReguläre Ausdrückedeterministische Automatennichtdeterministische AutomatenReguläre Sprachen= Reguläre Ausdrücke= deterministische Automaten= nichtdeterministische Automaten

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 37 / 90

Page 72: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Outline

1 Motivation

2 Reguläre Sprachen

3 Reguläre Ausdrücke

4 Automaten

5 Breadth-First & Depth-First

6 Moodle

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 38 / 90

Page 73: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Ausdrücke (1)

Eine etwas kompaktere Darstellung von regulären Sprachen als diegerade eingeführte Mengenschreibweise erlauben reguläreAusdrücke.

Ein regulärer Ausdruck über einem Alphabet Σ besteht aus denZeichen von Σ sowie den sogenannten Metazeichen (, ), | und *.

Um Verwechslungen von regulären Ausdrücken mit Wörtern über Σzu vermeiden, werden reguläre Ausdrücke auf diesen Folien durchUnterstreichung gekennzeichnet (z.B. ist aab ein Wort, aab einregulärer Ausdruck). Wir verwenden r , s, t, . . . als Variablen fürreguläre Ausdrücke.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 39 / 90

Page 74: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Ausdrücke (2)

Wir können reguläre Ausdrücke über Σ als Wörter über demAlphabet Σ ∪ M auffassen, wobei M := {(, ), |, *} die Menge derMetazeichen ist und Σ ∩ M = ∅ angenommen wird.

Die Menge aller zulässigen regulären Ausdrücke über Σ bezeichnenwir mit R(Σ).

Jeder Ausdruck r ∈ R(Σ) beschreibt eine formale Sprache über Σ,die wir mit L

[r]bezeichnen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 40 / 90

Page 75: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Abbildung: Regulärer Ausdruck 7→ Reguläre Sprache

Die Menge aller regulären Ausdrücke R(Σ) und die AbbildungL : R(Σ) → P(Σ∗), die jedem regulären Ausdruck die durch ihnbeschriebene Sprache zuordnet, werden wiederum rekursiv definiert:

ϵ ∈ R(Σ) L[ϵ]:= {ϵ}

∀a ∈ Σ : a ∈ R(Σ) L[a]:= {a}

r , s ∈ R(Σ) ⇒ (r)(s) ∈ R(Σ) L[(r)(s)

]:= L

[r]◦ L

[s]

Konkatenationr , s ∈ R(Σ) ⇒ r|s ∈ R(Σ) L

[r|s

]:= L

[r]∪ L

[s]

Disjunktionr ∈ R(Σ) ⇒ (r)* ∈ R(Σ) L

[(r)*

]:=

(L[r])∗ Kleene-Hülle

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 41 / 90

Page 76: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Reguläre Ausdrücke = Reguläre Sprachen

Aus dieser Definition ist unmittelbar ersichtlich, dass reguläreAusdrücke gerade die regulären Sprachen beschreiben, bzw.genauer:

SatzReg(Σ) = L

[R(Σ)

]∪ {∅}.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 42 / 90

Page 77: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Vereinfachte Notation

Zur Vereinfachung der Notation vereinbaren wir, dass Klammernweggelassen werden dürfen, wo sie aufgrund der Assoziativität vonDisjunktion und Konkatenation bzw. aufgrund der Präzedenzregeln(Kleenesche Hülle vor Konkatenation vor Disjunktion) nichtbenötigt werden (ebenso dürfen zusätzliche Klammern eingefügtwerden, um die Lesbarkeit zu verbessern). Beispielsweise ist wegender Assoziativität der Konkatenation

((a)(b))(c) ≡ (a)((b)(c)) ≡: abc

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 43 / 90

Page 78: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Äquivalenz regulärer Ausdrücke

Zwei reguläre Ausdrücke r , s ∈ R(Σ) sind äquivalent (r ≡ s), wennL[r]= L

[s].

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 44 / 90

Page 79: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Normalform

Es ist nicht immer offensichtlich, ob zwei reguläre Ausdrückeäquivalent sind, z.B.

(ab*)* ≡ (a(a*b*)*)|ϵ ≡ (a(a|b)*|ϵ)

Daher ist es wünschenswert, reguläre Ausdrücke auf einesogenannte “Normalform” zurückzuführen. Jeder zu einemregulären Ausdruck r ∈ R(Σ) äquivalente Ausdruck der Forms1|s2| . . . |sn, wobei keiner der Ausdrücke si das Metazeichen |enthält, heißt disjunktive Normalform von r . Die disjunktiveNormalform ist im allgemeinen nicht eindeutig bestimmt.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 45 / 90

Page 80: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

POSIX

Für Software-Anwendungen erweist sich die bisher verwendeteStandardnotation regulärer Ausdrücke oft als unhandlich. Siewurde daher nach und nach um weitere Metazeichen ergänzt.Inzwischen hat sich als Standard die sogenannte POSIX-Notationmit den Metazeichen

M := {(, ), |, *, ., ?, +, {, ,, }, [, -, ], ^, $ . . . }

etabliert.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 46 / 90

Page 81: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

POSIX: Backslash

Das Alphabet Σ besteht stets aus dem kompletten Zeichenvorratder Anwendung (ASCII, Unicode, …), daher ist zwangsläufigM ∩Σ ̸= ∅ (und sogar M ⊆ Σ). Soll ein Zeichen aus M “wörtlich”,d.h. als Zeichen von Σ interpretiert werden, so wird ein Backslash\ vorangestellt ($, ^, , und - werden nur in bestimmten Kontextenals Metazeichen interpretiert).

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 47 / 90

Page 82: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

POSIX: Epsilon und Anfang-vom-String

Man beachte, dass der leere reguläre Ausdruck ϵ nicht durch einspezielles Zeichen sondern durch einen leeren String repräsentiertwird.

Auch wichtig: POSIX erlaubt einen Match an eine beliebige Stellein einem String. ^ matcht den Anfang vom String. $ matcht dasEnde vom String.

So würde beispielsweise der POSIX-Ausdruck ^[ac] + (baa|)$ inder Standardnotation (a|c)(a|c)*(baa|ϵ) lauten.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 48 / 90

Page 83: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Regulärer Ausdruck für Email-Adressen

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 49 / 90

Page 84: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Übung(i) Modifiziere den Ausdruck, so dass die neuen top level domainsrichtig erkannt werden. (ii) Denken Sie sich eine valideEmail-Adresse aus, die vom neuen Ausdruck nicht erkannt wird.(iii) Gibt es eine nicht valide Email-Adresse, die vom neuenAusdruck trotzdem als richtig erkannt wird?

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 50 / 90

Page 85: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Fahrplan

Reguläre SprachenReguläre Ausdrückedeterministische Automatennichtdeterministische AutomatenReguläre Sprachen= Reguläre Ausdrücke= deterministische Automaten= nichtdeterministische Automaten

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 51 / 90

Page 86: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Outline

1 Motivation

2 Reguläre Sprachen

3 Reguläre Ausdrücke

4 Automaten

5 Breadth-First & Depth-First

6 Moodle

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 52 / 90

Page 87: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Endlicher Automat = finite state automaton

Ein endlicher Automat (EA) M über dem Alphabet Σ ist formalein Quintupel M = (Q,Σ, s,F , δ).

Dabei bezeichnet Q eine endliche Menge von Zuständen, s ∈ Qden Startzustand des Automaten und F ⊆ Q die Menge derEndzustände.

Die Übergangsrelation δ ⊆ Q × Σ× Q beschreibt, welcheZustandsübergänge der EA ausführen kann: ist (q, a, q′) ∈ δ, sokann M durch Einlesen des Zeichens a (Label) vom Zustand q(Ausgangszustand) in den Zustand q′ (Zielzustand) wechseln.

Wir schreiben Übergangsregeln in der Form q a−→ q′ undbezeichnen sie kurz als Bewegungen (oder Transitionen).

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 53 / 90

Page 88: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Automat für Adjektive (Buchstabenebene)

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 54 / 90

Page 89: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Deterministisch vs nicht-deterministisch

Gibt es für jeden Ausgangszustand q und jedes Zeichen ahöchstens einen Zielzustand (d.h. höchstens eine Übergangsregelq a−→ q′), und keine ϵ-Bewegungen (nächste Folie), dannbezeichnen wir M als deterministisch (DEA), andernfalls alsnichtdeterministisch (NEA).

Für einen deterministischen EA können wir die Übergangsrelationals (partielle) Abbildung δ : Q × Σ → Q auffassen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 55 / 90

Page 90: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Epsilon-Bewegungen

Bei einem NEA erlauben wir Epsilon-Bewegungen, alsoZustandsübergänge ohne Einlesen eines Zeichens. Diese werden alsBewegungen mit dem Label ϵ dargestellt (q ϵ−→ q′), also ist hierδ ⊆ Q × (Σ ∪ {ϵ})× Q.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 56 / 90

Page 91: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Beispiel

Deterministischer EA M1 := (Q1,Σ, s1,F1, δ1) über Σ = {a, b} mit

Q1 := {q0, q1, q2}s1 := q0

F1 := {q1, q2}

δ1 := {q0a−→ q0, q0

b−→ q1, q1a−→ q1, q1

b−→ q2, q2a−→ q2}.

Endliche Automaten lassen sich anschaulich durchÜbergangsdiagramme darstellen. Die Abbildung zeigt dasÜbergangsdiagramm für M1.

q0 q1 q2

a a a

b b

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 57 / 90

Page 92: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Ein Automat akzeptiert ein Eingabewort, wenn …

Ein Wort w ∈ Σ∗ wird von dem EA M akzeptiert, wenn dieser sichnach Einlesen aller Zeichen von w in einem Endzustand q ∈ Fbefindet.

Umgekehrt wird w nicht akzeptiert, wenn M sich zum Schluß nichtin einem Endzustand befindet oder schon während derVerarbeitung von w mit einem Fehler abbricht, weil keine zu demnächsten einzulesenden Zeichen passende Bewegung definiert ist.

Gewöhnlich wird kein Unterschied zwischen den beiden Arten desNichtakzeptierens gemacht.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 58 / 90

Page 93: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Simulation eines Automaten

Die schrittweise Abarbeitung eines Eingabewortes w auf demRechner nennt man Simulation des Automaten M.

Der Zustand, in dem sich M jeweils befindet, wird als aktiverZustand bezeichnet.

Wichtig: bei einem nichtdeterministischen EA können mehrereZustände gleichzeitig aktiv sein!

Die Menge aller akzeptierten Wörter w ∈ Σ∗ bezeichnet man alsdie von M akzeptierte Sprache L

[M].

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 59 / 90

Page 94: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Konfiguration eines Automaten

Zur formalen Definition von L[M]führen wir den Begriff der

Konfiguration (q,w) ∈ Q × Σ∗ ein, wobei q den gerade aktivenZustand und w die noch zu verarbeitende Eingabe bezeichnet.

Der Übergang (q, a ◦ w) ⊢ (q′,w) von einer Konfiguration(q, a ◦ w) in die Konfiguration (q′,w) (d.h. der Wechsel vomZustand q in den Zustand q′ unter Einlesen des Zeichens a) isterlaubt, wenn eine entsprechende Bewegung q a−→ q′ ∈ δ definiertist.

Im Falle eines NEA erlaubt jede ϵ-Bewegung q ϵ−→ q′ einenÜbergang (q,w) ⊢ (q′,w) ohne Einlesen eines Zeichens.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 60 / 90

Page 95: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Pfad

Ein Pfad von (q,w) nach (q′,w ′) ist eine Kette von Übergängen

(q,w) = (q0,w0) ⊢ (q1,w1) ⊢ · · · ⊢ (qn,wn) = (q′,w ′).

Wir schreiben kurz (q,w) ⊢∗ (q′,w ′), wenn (mindestens) einsolcher Pfad existiert.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 61 / 90

Page 96: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Automaten-basierte Definition von Sprache

Wenden wir M auf das Eingabewort w an, so startet der Automatin der Konfiguration (s,w) und w wird genau dann akzeptiert,wenn es einen Pfad zu einem geeigneten Endzustand q ∈ F gibt,der w vollständig abarbeitet: (s,w) ⊢∗ (q, ϵ). Also können wirdefinieren:

L[M]:= {w ∈ Σ∗ | ∃q ∈ F : (s,w) ⊢∗ (q, ϵ)}

Zwei EA M1 und M2 über demselben Alphabet Σ heißenäquivalent (M1 ≡ M2), wenn L

[M1

]= L

[M2

].

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 62 / 90

Page 97: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

NEA = DEA

Es ist unmittelbar klar, dass die DEA Spezialfälle der NEA sind.Somit gibt es zu jedem DEA M einen äquivalenten NEA. Um dieÄquivalenz von NEA und DEA nachzuweisen, müssen wir also nochzeigen, dass es zu jedem NEA einen äquivalenten DEA gibt.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 63 / 90

Page 98: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Theorem

LemmaSei M = (Q,Σ, s,F , δ) ein NEA. Dann gibt es einen zu Mäquivalenten DEA M ′ = (Q′,Σ, s ′,F ′, δ′), d.h. es giltL[M ′] = L

[M].

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 64 / 90

Page 99: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Equivalence of NFAs and DFAs

The ϵ-closure of a state q, denoted E (q), is the set of allstates, including q itself, that can be reached using onlyϵ-moves.Let {Q,Σ, q0,F , δ} be an NFA.Define a DFA {Q′,Σ′, q′

0,F ′, δ′} as follows:Q′ = P(Q).Σ′ = Σ.q′

0 = E (q0).For any state S ∈ P(Q) and any a ∈ Σ, define δ′(S, a) to be

δ′(S, a) =∪q∈S

E (δ(q, a)).

The final states in F ′ are those states that contain final statesof the NFA.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 65 / 90

Page 100: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Equivalence of NFAs and DFAs

The ϵ-closure of a state q, denoted E (q), is the set of allstates, including q itself, that can be reached using onlyϵ-moves.

Let {Q,Σ, q0,F , δ} be an NFA.Define a DFA {Q′,Σ′, q′

0,F ′, δ′} as follows:Q′ = P(Q).Σ′ = Σ.q′

0 = E (q0).For any state S ∈ P(Q) and any a ∈ Σ, define δ′(S, a) to be

δ′(S, a) =∪q∈S

E (δ(q, a)).

The final states in F ′ are those states that contain final statesof the NFA.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 65 / 90

Page 101: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Equivalence of NFAs and DFAs

The ϵ-closure of a state q, denoted E (q), is the set of allstates, including q itself, that can be reached using onlyϵ-moves.Let {Q,Σ, q0,F , δ} be an NFA.

Define a DFA {Q′,Σ′, q′0,F ′, δ′} as follows:

Q′ = P(Q).Σ′ = Σ.q′

0 = E (q0).For any state S ∈ P(Q) and any a ∈ Σ, define δ′(S, a) to be

δ′(S, a) =∪q∈S

E (δ(q, a)).

The final states in F ′ are those states that contain final statesof the NFA.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 65 / 90

Page 102: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Equivalence of NFAs and DFAs

The ϵ-closure of a state q, denoted E (q), is the set of allstates, including q itself, that can be reached using onlyϵ-moves.Let {Q,Σ, q0,F , δ} be an NFA.Define a DFA {Q′,Σ′, q′

0,F ′, δ′} as follows:

Q′ = P(Q).Σ′ = Σ.q′

0 = E (q0).For any state S ∈ P(Q) and any a ∈ Σ, define δ′(S, a) to be

δ′(S, a) =∪q∈S

E (δ(q, a)).

The final states in F ′ are those states that contain final statesof the NFA.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 65 / 90

Page 103: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Equivalence of NFAs and DFAs

The ϵ-closure of a state q, denoted E (q), is the set of allstates, including q itself, that can be reached using onlyϵ-moves.Let {Q,Σ, q0,F , δ} be an NFA.Define a DFA {Q′,Σ′, q′

0,F ′, δ′} as follows:Q′ = P(Q).

Σ′ = Σ.q′

0 = E (q0).For any state S ∈ P(Q) and any a ∈ Σ, define δ′(S, a) to be

δ′(S, a) =∪q∈S

E (δ(q, a)).

The final states in F ′ are those states that contain final statesof the NFA.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 65 / 90

Page 104: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Equivalence of NFAs and DFAs

The ϵ-closure of a state q, denoted E (q), is the set of allstates, including q itself, that can be reached using onlyϵ-moves.Let {Q,Σ, q0,F , δ} be an NFA.Define a DFA {Q′,Σ′, q′

0,F ′, δ′} as follows:Q′ = P(Q).Σ′ = Σ.

q′0 = E (q0).

For any state S ∈ P(Q) and any a ∈ Σ, define δ′(S, a) to be

δ′(S, a) =∪q∈S

E (δ(q, a)).

The final states in F ′ are those states that contain final statesof the NFA.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 65 / 90

Page 105: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Equivalence of NFAs and DFAs

The ϵ-closure of a state q, denoted E (q), is the set of allstates, including q itself, that can be reached using onlyϵ-moves.Let {Q,Σ, q0,F , δ} be an NFA.Define a DFA {Q′,Σ′, q′

0,F ′, δ′} as follows:Q′ = P(Q).Σ′ = Σ.q′

0 = E (q0).

For any state S ∈ P(Q) and any a ∈ Σ, define δ′(S, a) to be

δ′(S, a) =∪q∈S

E (δ(q, a)).

The final states in F ′ are those states that contain final statesof the NFA.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 65 / 90

Page 106: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Equivalence of NFAs and DFAs

The ϵ-closure of a state q, denoted E (q), is the set of allstates, including q itself, that can be reached using onlyϵ-moves.Let {Q,Σ, q0,F , δ} be an NFA.Define a DFA {Q′,Σ′, q′

0,F ′, δ′} as follows:Q′ = P(Q).Σ′ = Σ.q′

0 = E (q0).For any state S ∈ P(Q) and any a ∈ Σ, define δ′(S, a) to be

δ′(S, a) =∪q∈S

E (δ(q, a)).

The final states in F ′ are those states that contain final statesof the NFA.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 65 / 90

Page 107: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Equivalence of NFAs and DFAs

The ϵ-closure of a state q, denoted E (q), is the set of allstates, including q itself, that can be reached using onlyϵ-moves.Let {Q,Σ, q0,F , δ} be an NFA.Define a DFA {Q′,Σ′, q′

0,F ′, δ′} as follows:Q′ = P(Q).Σ′ = Σ.q′

0 = E (q0).For any state S ∈ P(Q) and any a ∈ Σ, define δ′(S, a) to be

δ′(S, a) =∪q∈S

E (δ(q, a)).

The final states in F ′ are those states that contain final statesof the NFA.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 65 / 90

Page 108: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

“Automatensprachen” = reguläre Sprachen

Endliche Automaten akzeptieren genau diejenigen Sprachen, diedurch reguläre Ausdrücke beschrieben werden können, also dieKlasse der regulären Sprachen. Zum Nachweis dieser Behauptungmüssen wir die Äquivalenz von EA und regulären Ausdrückenzeigen: zu jedem regulären Ausdruck r gibt es (mindestens) einenendlichen Automaten M mit L

[M]= L

[r]; umgekehrt gibt es zu

jedem endlichen Automaten M einen regulären Ausdruck r mitL[r]= L

[M].

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 66 / 90

Page 109: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Äquivalenzbeweis

Zu jedem regulären Ausdruck r gibt es (mindestens) einenendlichen Automaten M mit L

[M]= L

[r]:

Konstruktionsverfahren.

Zu jedem endlichen Automaten M gibt es einen regulärenAusdruck r mit L

[r]= L

[M]. Diese Richtung ist komplexer und

sehr “technisch”, d.h. intuitiv schwer nachvollziehbar.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 67 / 90

Page 110: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Fahrplan

Reguläre SprachenReguläre Ausdrückedeterministische Automatennichtdeterministische AutomatenReguläre Sprachen= Reguläre Ausdrücke= deterministische Automaten= nichtdeterministische Automaten

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 68 / 90

Page 111: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Outline

1 Motivation

2 Reguläre Sprachen

3 Reguläre Ausdrücke

4 Automaten

5 Breadth-First & Depth-First

6 Moodle

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 69 / 90

Page 112: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Breadth first search

Breadth first traversal is accomplished by enqueueing eachlevel of a tree sequentially as the root of any subtree isencountered. There are 2 cases in the iterative algorithm.Root case: The traversal queue is initially empty so the rootnode must be added before the general case.General case: Process any items in the queue, while alsoexpanding their children. Stop if the queue is empty. Thegeneral case will halt after processing the bottom level as leafnodes have no children.Input: A search problem. A search-problem abstracts out theproblem specific requirements from the actual searchalgorithm.Output: An ordered list of actions to be followed to reachfrom start state to the goal state.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 70 / 90

Page 113: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Breadth first search

Breadth first traversal is accomplished by enqueueing eachlevel of a tree sequentially as the root of any subtree isencountered. There are 2 cases in the iterative algorithm.

Root case: The traversal queue is initially empty so the rootnode must be added before the general case.General case: Process any items in the queue, while alsoexpanding their children. Stop if the queue is empty. Thegeneral case will halt after processing the bottom level as leafnodes have no children.Input: A search problem. A search-problem abstracts out theproblem specific requirements from the actual searchalgorithm.Output: An ordered list of actions to be followed to reachfrom start state to the goal state.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 70 / 90

Page 114: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Breadth first search

Breadth first traversal is accomplished by enqueueing eachlevel of a tree sequentially as the root of any subtree isencountered. There are 2 cases in the iterative algorithm.Root case: The traversal queue is initially empty so the rootnode must be added before the general case.

General case: Process any items in the queue, while alsoexpanding their children. Stop if the queue is empty. Thegeneral case will halt after processing the bottom level as leafnodes have no children.Input: A search problem. A search-problem abstracts out theproblem specific requirements from the actual searchalgorithm.Output: An ordered list of actions to be followed to reachfrom start state to the goal state.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 70 / 90

Page 115: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Breadth first search

Breadth first traversal is accomplished by enqueueing eachlevel of a tree sequentially as the root of any subtree isencountered. There are 2 cases in the iterative algorithm.Root case: The traversal queue is initially empty so the rootnode must be added before the general case.General case: Process any items in the queue, while alsoexpanding their children. Stop if the queue is empty. Thegeneral case will halt after processing the bottom level as leafnodes have no children.

Input: A search problem. A search-problem abstracts out theproblem specific requirements from the actual searchalgorithm.Output: An ordered list of actions to be followed to reachfrom start state to the goal state.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 70 / 90

Page 116: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Breadth first search

Breadth first traversal is accomplished by enqueueing eachlevel of a tree sequentially as the root of any subtree isencountered. There are 2 cases in the iterative algorithm.Root case: The traversal queue is initially empty so the rootnode must be added before the general case.General case: Process any items in the queue, while alsoexpanding their children. Stop if the queue is empty. Thegeneral case will halt after processing the bottom level as leafnodes have no children.Input: A search problem. A search-problem abstracts out theproblem specific requirements from the actual searchalgorithm.

Output: An ordered list of actions to be followed to reachfrom start state to the goal state.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 70 / 90

Page 117: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Breadth first search

Breadth first traversal is accomplished by enqueueing eachlevel of a tree sequentially as the root of any subtree isencountered. There are 2 cases in the iterative algorithm.Root case: The traversal queue is initially empty so the rootnode must be added before the general case.General case: Process any items in the queue, while alsoexpanding their children. Stop if the queue is empty. Thegeneral case will halt after processing the bottom level as leafnodes have no children.Input: A search problem. A search-problem abstracts out theproblem specific requirements from the actual searchalgorithm.Output: An ordered list of actions to be followed to reachfrom start state to the goal state.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 70 / 90

Page 118: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Wikipedia: https://de.wikipedia.org/wiki/Breitensuche

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 71 / 90

Page 119: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Depth first search (DFS)

procedure DFS(G,v):process vlabel v as discoveredfor all edges from v to w in G.adjacentEdges(v) do

if vertex w is not labeled as discovered thenrecursively call DFS(G,w)

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 72 / 90

Page 120: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Wikipedia: https://de.wikipedia.org/wiki/Tiefensuche

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 73 / 90

Page 121: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

ÜbungGive order of nodes for BFS and DFS

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 74 / 90

Page 122: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Zum Schluss: Besonders klausurrelevant

Reguläre Ausdrücke (POSIX)Formale Definition des DEAFormale Definition des NEAUnterschiede DEA vs NEAAutomaten zeichnenDepth first search (DFS)Breadth first search (BFS)Nicht relevant: Determinisierung von NEAs

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 75 / 90

Page 123: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Outline

1 Motivation

2 Reguläre Sprachen

3 Reguläre Ausdrücke

4 Automaten

5 Breadth-First & Depth-First

6 Moodle

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 76 / 90

Page 124: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

In der folgenden Aufgabe werden Sie mit dem Tiger-Corpusarbeiten. Das Tiger-Corpus enthält ca. 50000 deutsche Sätze, diemit morphologischen und syntaktischen Informationen wie z.B.Wortarten annotiert sind. Auf Moodle ist ein Ausschnitt aus demTiger-Corpus verlinkt (tiger.txt), in dem in jeder Zeile ein Wortsteht.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 77 / 90

Page 125: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

. irgendein beliebiges Zeichen

.* kein oder beliebig viele Zeichen[a-e] a, b, c, d oder e[^a-e] alle Zeichen außer a, b, c, d und e(maus|hund) Zeichenfolge maus oder hund(ab)* kein oder beliebig viele ab(ab)+ mindestens ein oder oder mehr ab(ab)? kein oder ein ab^ Anfang einer Zeile$ Ende einer Zeile

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 78 / 90

Page 126: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Unter Linux können Sie mit dem Kommando grep mit regulärenAusdrücken in Dateien suchen (unter Windows geht das mitNotepad++ in der erweiterten Suchoption). Das Kommando grep-P ”abc” datei.txt gibt z.B. jede Zeile von datei.txt aus, in der abcvorkommt.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 79 / 90

Page 127: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Versuchen Sie, einen regulären Ausdruck zu finden, mit dem Siealle Wortformen (Präsens, Präteritum, mit Partizipialendungen)des Wortes reden (aber nicht z.B. von mitreden oder Gerede) imTiger-Corpus finden, und geben Sie ihn an. Unter Linux könnenSie außerdem wc verwenden, um herauszufinden, wie vieleVorkommen es sind.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 80 / 90

Page 128: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Einige Sonderzeichen (z.B. wenn nach ”+” gesucht werden soll)müssen mit einem Backslash ( nach links geneigter Schrägstrich: ”\”) escaped werden; dazu und generell zu regulären Ausdrückengibt es viele vollständige und ausführliche Hilfeseiten online.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 81 / 90

Page 129: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Spielen Sie ein wenig mit grep und anderen Unix-Befehlen! derman-Befehl (z.B. man grep) liefert zu fast allen Unix-BefehlenErklärungen und eine Auflistung möglicher Optionen. Übungmacht den Meister, und mit ein wenig Tüftelei kann man in einerZeile mächtige Befehle zusammenstellen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 82 / 90

Page 130: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Mit dem Operator | können mehrere Unix-Befehlehintereinandergeschaltet werden (man spricht auch von ”pipen”oder einer ”Pipeline”), sodass das Ergebnis des einen Befehls vomnächsten Befehl aufgenommen und weiterverarbeitet wird.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 83 / 90

Page 131: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Mit den Operatoren > und >> kann man das Ergebnis einesBefehls in eine Datei schreiben bzw. an eine Datei anhängen, umnicht alles auf der Konsole ausgegeben zu bekommen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 84 / 90

Page 132: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

In regulären Ausdrücken werden (runde Klammern) fürzusammengehörige Zeichenfolgen (=”Gruppen”) verwendet und[eckige Klammern], um Mengen/Klassen von Zeichen zudeklarieren. Gruppen sind innerhalb von Klassen nichtaussagekräftig. Dies kann zu Verwirrung führen. Um mehrereGruppen zu quantifizieren (z.B. mit +), kann man diese zu einer”veroderten Gruppe” machen: ((gruppe1)|(gruppe2)|(gruppe3))+z.B. matcht alles, was mindestens eine der drei Gruppen enthält,egal in welcher Reihenfolge oder Zusammensetzung.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 85 / 90

Page 133: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

Um sicherzustellen, dass alle Wortformen von reden gematchtwerden, sollten Sie auch wirklich alle Wortformen testen und nichtdarauf vertrauen, dass wirklich alle Wortformen von reden imTiger-Corpus vorkommen.

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 86 / 90

Page 134: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

grep ’red’ tiger.txt | uniq | sort | uniq -c | sort -gr > output.txt

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 87 / 90

Page 135: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

grep

“minus P” option: perl-compatible regular expression(recommended for exercises)grep -P 'dunke?l' tiger.txt“minus i”: case insensitivegrep -Pi 'darum' tiger.txt“minus v”: complementgrep -Pi 'darum' tiger.txt | grep -Pv 'darum'To read up on definition of these options:man grep

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 88 / 90

Page 136: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

ÜbungZeichnen Sie das Diagramm des folgenden AutomatenM = (Q,Σ, s,F , δ). Alphabet Σ = {a, b, c}. ZustandsmengeQ = {1, 2, 3, 4, 5}. Startzustand: 5. EndzustandsmengeF = {1, 3}. Übergangsrelation δ = {(1, b, 3), (1, c, 4), (2, b, 4)}∪{(4, b, 3), (4, c, 4), (5, a, 2), (5, b, 1), (5, c, 4)}

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 89 / 90

Page 137: Einführung in die Computerlinguistik Automatenfraser/intro_2019_WS/pdf/11auto.pdf · Outline 1 Motivation 2 ReguläreSprachen 3 ReguläreAusdrücke 4 Automaten 5 Breadth-First&Depth-First

ÜbungBFS and DFS for “bba”

Motivation Reguläre Sprachen Reguläre Ausdrücke Automaten Breadth-First & Depth-First MoodleFraser: Automaten 90 / 90