25
Organisatorisches Einf¨ uhrung Chomsky-Hierarchie Regul¨ are Sprachen Kontextfreie Sprachen Vorlesung “Automaten und Formale Sprachen” Sommersemester 2019 Prof. Barbara K¨ onig ¨ Ubungsleitung: Lars Stoltenow Barbara K¨ onig Automaten und Formale Sprachen 1

Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Embed Size (px)

Citation preview

Page 1: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Vorlesung “Automaten und Formale Sprachen”Sommersemester 2019

Prof. Barbara KonigUbungsleitung: Lars Stoltenow

Barbara Konig Automaten und Formale Sprachen 1

Page 2: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem

Zum Aufwarmen: wir betrachten das sogenannteAdventure-Problem, bei dem ein Abenteurer/eine Abenteurerineinen Weg durch ein Adventure finden muss.

(Spater wird dann erklart, was das eigentlich mit theoretischerInformatik zu tun hat.)

Barbara Konig Automaten und Formale Sprachen 18

Page 3: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem

Adventures bestehen aus Graphen bzw. Automaten, die mitfolgenden Symbolen markiert sind:

Drachen:

Schwert:

Fluss:

Torbogen:

Tur:

Schlussel:

Schatz:

Barbara Konig Automaten und Formale Sprachen 19

Page 4: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

42

3

1

5 6

9

8

7

11

10

12

13

14 15 16

Barbara Konig Automaten und Formale Sprachen 20

Page 5: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 1)

Naturlich gibt es bestimmte Regeln, die bei einem erfolgreichenAbenteuer zu beachten sind:

Die Schatz-Regel

Man muss mindestens zwei Schatze finden.

Die Tur-Regel

Durch eine Tur kann man nur gehen, wenn man zuvor einenSchlussel gefunden hat. (Dieser Schlussel darf aber dann beliebigoft verwendet werden.)

Barbara Konig Automaten und Formale Sprachen 21

Page 6: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 1)

Die Drachen-Regel

Unmittelbar nach der Begegnung mit einem Drachen muss man ineinen Fluss springen, da uns der Drache in Brand stecken wird.Dies gilt nicht mehr, sobald man ein Schwert besitzt, mit dem manden Drachen vorher toten kann.

Bemerkung: Drachen, Schatze und Schlussel werden “nachgefullt”,sobald man das entsprechende Feld verlassen hat.

Gesucht ist der kurzeste Weg, von einem Anfangszustand zu einemEndzustand, der alle diese Bedingungen erfullt:

Barbara Konig Automaten und Formale Sprachen 22

Page 7: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 1)

Fragen (Level 1)

Gibt es in dem Beispiel eine Losung? Adventure

Ja! Die kurzeste Losung ist1, 2, 3, 1, 2, 4, 10, 4, 5, 6, 4, 5, 6, 4, 11, 12 (Lange 16).

Gibt es ein allgemeines Losungsverfahren, das – gegeben einAdventure in Form eines Automaten – immer bestimmenkann, ob es eine Losung gibt?

Ja! Wir werden dieses Verfahren noch kennenlernen.

Um das Verfahren implementieren zu konnen, benotigen wirauch formale Beschreibungen der Regeln (Tur-Regel,Drachen-Regel, Schatz-Regel).

Barbara Konig Automaten und Formale Sprachen 23

Page 8: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 2)

Neue Tur-Regel

Die Schlussel sind magisch und verschwinden sofort, nachdem eineTur mit ihnen geoffnet wurde. Sobald man eine Tur durchschrittenhat, schließt sie sich sofort wieder.

Barbara Konig Automaten und Formale Sprachen 24

Page 9: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 2)

Fragen (Level 2)

Gibt es in dem Beispiel eine Losung? Adventure

Ja! Die kurzeste Losung ist 1, 2, 3, 1, 2, 4, 10, 4, 7, 8, 9,4, 7, 8, 9, 4, 11, 12. (Lange 18)

Gibt es ein allgemeines Losungsverfahren?

Ja! Wir werden dieses Verfahren noch kennenlernen.

Warum ist das Problem jetzt schwieriger?

Wir haben jetzt durch die Schlussel eine Art Zahlereingefuhrt.

Barbara Konig Automaten und Formale Sprachen 25

Page 10: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 3)

Neue Drachen-Regel

Auch Schwerter werden durch das Drachenblut unbenutzbar,sobald man einen Drachen damit getotet hat. Außerdem werdenDrachen sofort wieder “ersetzt”.Es gibt jedoch immer noch die Option, ein Schwert nicht zubenutzen und nach der Begegnung mit dem Drachen in den Flusszu springen.

Außerdem bleibt die neue Tur-Regel bestehen.

Barbara Konig Automaten und Formale Sprachen 26

Page 11: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 3)

Fragen (Level 3)

Gibt es in dem Beispiel eine Losung? Adventure

Ja! Die kurzeste Losung ist 1, 2, 3, 1, 2, 4, 10, 4, 7, 8, 9,4, 7, 8, 9, 4, 11, 12. (Lange 18)

Gibt es ein allgemeines Losungsverfahren?

Ja! Dieses Problem ist “gerade noch” losbar. Eine genaueLaufzeit kann nicht angegeben werden. (Mogliche Losungenwerden in der Vorlesung voraussichtlich nicht behandelt.)

Warum wird das Problem schwieriger?

Durch die Schwerter haben wir einen weiteren Zahlerhinzubekommen. Weitere Zahler (d.h., drei oder mehr)machen das Problem nicht wesentlich schwieriger.

Barbara Konig Automaten und Formale Sprachen 27

Page 12: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 4)

Schlussel-Regel

Der magische Torbogen kann nur passiert werden, wenn mankeinen Schlussel besitzt.

Schwert-Regel

Ein Fluss kann nur passiert werden, wenn man kein Schwert besitzt(weil man sonst ertrinkt!).

Das Wegwerfen von Schlusseln oder Schwertern ist nicht erlaubt.

Barbara Konig Automaten und Formale Sprachen 28

Page 13: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 4)

Fragen (Level 4)

Gibt es in dem Beispiel eine Losung? Adventure

Ja! Die kurzeste Losung ist 1, 2, 3, 1, 2, 4, 10, 4, 7, 8, 9,4, 10, 4, 5, 6, 4, 11, 12. (Lange 19)

Gibt es ein allgemeines Losungsverfahren?

Nein! Es handelt sich hier um ein sogenanntesunentscheidbares Problem. Wir werden in der Vorlesung“Berechenbarkeit und Komplexitat” beweisen, dass estatsachlich kein Losungsverfahren gibt.

Barbara Konig Automaten und Formale Sprachen 29

Page 14: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem (Level 4)

Fragen (Level 4)

Warum wird das Problem schwieriger?

Wir haben jetzt nicht nur zwei Zahler, sondern konnendiese auch auf Null testen. Damit hat unser Modell bereitseine Machtigkeit, bei der viele Problemstellungenunentscheidbar werden.

Man beachte: Computer-Programme sind mindestens somachtig, denn es ist ganz einfach zwei Zahler einzufuhren undebenso sind Null-Tests moglich!

Barbara Konig Automaten und Formale Sprachen 30

Page 15: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem und Formale Sprachen

(Formale) Sprachen

Sprachen = Mengen von Wortern

Im Beispiel: Menge aller Pfade in einem Adventure; Menge allerzulassigen Pfade in einem Adventure; Menge aller Pfade, die dieTur-Regel erfullen (unabhangig vom Adventure), . . .

Im Allgemeinen: Mengen von Wortern, die bestimmtenBedingungen genugen (zum Beispiel: Menge aller korrektgeklammerten arithmetischen Ausdrucke; Menge aller syntaktischkorrekter Java-Programme; . . . )

Barbara Konig Automaten und Formale Sprachen 31

Page 16: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem und Formale Sprachen

Automaten und Formale Sprachen

Sprachen enthalten im Allgemeinen unendliche viele Worter.

Daher: Man benotigt endliche Beschreibungen fur unendlicheSprachen.Mogliche endliche Beschreibungen sind Automaten (wie imBeispiel), Grammatiken (ahnlich zu Grammatiken fur naturlicheSprachen) oder regulare Ausdrucke.

Es gibt auch Beschreibungen in Worten (Tur-Regel, etc.), aberdiese mussen – damit sie eindeutig sind und mechanischweiterverarbeitet werden konnen – formalisiert werden.

Barbara Konig Automaten und Formale Sprachen 32

Page 17: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem und Formale Sprachen

Fragestellungen

Typische Fragen in diesem Zusammenhang sind:

Ist eine bestimmte Sprache L leer oder enthalt sie ein Wort?L = ∅?Ist ein gegebenes Wort w in der Sprache? w ∈ L?

Sind zwei Sprachen ineinander enthalten? L1 ⊆ L2?

Wir betrachten verschiedene Algorithmen, die solche Fragenbeantworten konnen.

Barbara Konig Automaten und Formale Sprachen 33

Page 18: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Adventure-Problem und Formale Sprachen

Die einzelnen Level des Adventures entsprechen in etwa folgendenSprachklassen:

Level 1 → regulare Sprachen

Level 2 → kontextfreie Sprachen

(Level 3 → Petri-Netz-Sprachen)Stattdessen: wir behandeln kontextsensitiven Sprachen

Level 4 → Chomsky-0-Sprachen (semi-entscheidbareSprachen)

Kontextsensitive und semi-entscheidbare Sprachen werden imDetail erst in der Nachfolgervorlesung “Berechenbarkeit undKomplexitat” behandelt.

Barbara Konig Automaten und Formale Sprachen 34

Page 19: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Vom Nutzen der theoretischen Informatik

Wie kann man unendliche Strukturen (Sprachen) durchendliche Beschreibungen (Automaten, Grammatiken)erfassen?

Es geht um die Fragen: Was ist berechenbar? Wie sehen diedazugehorigen Algorithmen aus? Was sind wirklich harteProbleme?

Es gibt zahlreiche Anwendungen, beispielsweise in folgendenGebieten:

Suchen in Texten (regulare Ausdrucke)Syntax von (Programmier-)Sprachen und CompilerbauSystemverhalten modellierenProgrammverifikation

Barbara Konig Automaten und Formale Sprachen 35

Page 20: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Inhalt der Vorlesung

Automatentheorie und Formale Sprachen

Sprachen, Grammatiken und Automaten

Chomsky-Hierarchie (verschiedene Klassen von Sprachen)

Regulare Sprachen, kontextfreie Sprachen

Wie kann man zeigen, dass eine Sprache nicht zu einerbestimmten Sprachklassen gehort? (Pumping-Lemma)

Wortproblem (Gehort ein Wort zu einer bestimmten Sprache?)

Abschlusseigenschaften (Ist der Schnitt zweier regularerSprachen wieder regular?)

Barbara Konig Automaten und Formale Sprachen 36

Page 21: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Notation: Mengen und Funktionen

Menge

Menge M von Elementen, wird beschrieben als Aufzahlung

M = {0, 2, 4, 6, 8, . . . }

oder als Menge von Elementen mit einer bestimmten Eigenschaft

M = {n | n ∈ N0 und n gerade}.

Allgemeines Format:M = {x | P(x)}

(M ist Menge aller Elemente x , die die Eigenschaft P erfullen.)

Barbara Konig Automaten und Formale Sprachen 37

Page 22: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Notation: Mengen und Funktionen

Bemerkungen:

Die Elemente einer Menge sind ungeordnet, d.h., ihreOrdnung spielt keine Rolle. Beispielsweise gilt:

{1, 2, 3} = {1, 3, 2} = {2, 1, 3} = {2, 3, 1} = {3, 1, 2} = {3, 2, 1}

Ein Element kann nicht “mehrfach” in einer Menge auftreten.Es ist entweder in der Menge, oder es ist nicht in der Menge.Beispielsweise gilt:

{1, 2, 3} 6= {1, 2, 3, 4} = {1, 2, 3, 4, 4}

Barbara Konig Automaten und Formale Sprachen 38

Page 23: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Notation: Mengen und Funktionen

Element einer Menge

Wir schreiben a ∈ M, falls ein Element a in der Menge Menthalten ist.

Anzahl der Elemente einer Menge

Fur eine Menge M gibt |M| die Anzahl ihrer Elemente an.

Teilmengenbeziehung

Wir schreiben A ⊆ B, falls jedes Element von A auch in Benthalten ist. Die Relation ⊆ heißt auch Inklusion.

Leere Menge

Mit ∅ oder {} bezeichnet man die leere Menge. Sie enthalt keineElemente und ist Teilmenge jeder anderen Menge.

Barbara Konig Automaten und Formale Sprachen 39

Page 24: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Notation: Mengen und Funktionen

Vereinigung

Die Vereinigung zweier Mengen A,B ist die Menge M, die dieElemente enthalt, die in A oder B vorkommen. Man schreibt dafurA ∪ B.

A ∪ B = {x | x ∈ A oder x ∈ B}

Schnitt

Der Schnitt zweier Mengen A,B ist die Menge M, die die Elemententhalt, die sowohl in A als auch in B vorkommen. Man schreibtdafur A ∩ B.

A ∩ B = {x | x ∈ A und x ∈ B}

Barbara Konig Automaten und Formale Sprachen 40

Page 25: Automaten und Formale Sprachen Sommersemester 2019 · OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie Sprachen Adventure-Problem Adventures bestehen

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Notation: Mengen und Funktionen

Kreuzprodukt

Seien A,B zwei Menge. Die Menge A× B ist die Menge allerPaare (a, b), wobei das erste Element des Paars aus A, das zweiteaus B kommt.

A× B = {(a, b) | a ∈ A, b ∈ B}

Beispiel:{1, 2} × {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}Es gilt: |A× B| = |A| · |B| (fur endliche Menge A,B).

Barbara Konig Automaten und Formale Sprachen 41