Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen...

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

Transcript of Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen...

Page 1: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Vorlesung “Automaten und Formale Sprachen”Sommersemester 2019

Prof. Barbara KonigUbungsleitung: Lars Stoltenow, Dennis Nolte

Barbara Konig Automaten und Formale Sprachen 1

Page 2: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Worter

Wort

Sei Σ ein Alphabet, d.h., eine endliche Menge von Zeichen. Dannbezeichnet man mit Σ∗ die Menge aller Worter, d.h., die dieMenge aller (endlichen) Zeichenketten mit Zeichen aus Σ.Das leere Wort (das Wort der Lange 0) wird mit ε bezeichnet.Die Menge aller nicht-leeren Worter uber Σ wird mit Σ+

bezeichnet.Mit |w | bezeichnen wir die Lange des Wortes w .

Beispiel: Sei Σ = {a, b, c}. Dann sind mogliche Worter aus Σ∗:

ε, a, b, aa, ab, bc, bbbab, . . .

Ein anderes mogliches Alphabet Σ (mit den Zeichen “Drache”,“Schlussel”, . . . ) haben wir im vorigen Beispiel kennengelernt.

Barbara Konig Automaten und Formale Sprachen 45

Page 3: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Sprachen

Sprache

Sei Σ ein Alphabet.Eine (formale) Sprache L uber Σ ist eine beliebige Teilmengevon Σ∗ (L ⊆ Σ∗).

Beispiel: sei Σ = {(, ),+,−, ∗, /, a}, so konnen wir die SpracheEXPR der korrekt geklammerten Ausdrucke definieren. Es giltbeispielsweise:

(a− a) ∗ a + a/(a + a)− a ∈ EXPR

(((a))) ∈ EXPR

((a+)− a( 6∈ EXPR

Barbara Konig Automaten und Formale Sprachen 46

Page 4: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Beispielsprachen

Alphabete und Sprachen:

Σ1 = {(, ),+,−, ∗, /, a}L1 = EXPR = {w ∈ Σ∗1 | w ist ein arithmetischer Ausdruck}

Σ2 = {a, . . . , z, a, u, o, ß, ., ,, :, . . .}L2 = Grammatikalisch korrekte deutsche Satze

Σ3 = beliebigL3 = ∅, L′3 = {ε}

Typische Sprachen uber dem Alphabet Σ4 = {a, b, c}:L4 = {w ∈ Σ∗

4 | w enthalt aba als Teilwort}L5 = {anbn | n ∈ N0}L6 = {anbncn | n ∈ N0}

(wobei xn = x . . . x︸ ︷︷ ︸n-mal

)

Barbara Konig Automaten und Formale Sprachen 47

Page 5: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Einfuhrung)

Grammatiken in der Informatik sind – ahnlich wie Grammatiken furnaturliche Sprachen – ein Mittel, um alle syntaktisch korrektenSatze (hier: Worter) einer Sprache zu erzeugen.

Beispiel: Vereinfachte Grammatik zur Erzeugungnaturlichsprachiger Satze

〈Satz〉 → 〈Subjekt〉〈Pradikat〉〈Objekt〉〈Subjekt〉 → 〈Artikel〉〈Attribut〉〈Substantiv〉〈Artikel〉 → ε

〈Artikel〉 → der

〈Artikel〉 → die

〈Artikel〉 → das

〈Attribut〉 → ε

Barbara Konig Automaten und Formale Sprachen 48

Page 6: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Einfuhrung)

〈Attribut〉 → 〈Adjektiv〉〈Attribut〉 → 〈Adjektiv〉〈Attribut〉〈Adjektiv〉 → kleine

〈Adjektiv〉 → bissige

〈Adjektiv〉 → große

〈Substantiv〉 → Hund

〈Substantiv〉 → Katze

〈Pradikat〉 → jagt

〈Objekt〉 → 〈Artikel〉〈Attribut〉〈Substantiv〉

In spitzen Klammern: Variable, Nicht-Terminale

Ohne spitze Klammern: Terminale

Barbara Konig Automaten und Formale Sprachen 49

Page 7: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Einfuhrung)

Gehort folgender Satz zu der Sprache, die von der Grammatikerzeugt wird?

der kleine bissige Hund jagt die große Katze

Barbara Konig Automaten und Formale Sprachen 50

Page 8: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Einfuhrung)

〈Artikel〉 〈Attr.〉 〈Subst.〉

〈Satz〉

〈Pradikat〉 〈Objekt〉

〈Artikel〉 〈Attr.〉 〈Subst.〉

〈Adj.〉 〈Attr.〉

〈Adj.〉

jagt

〈Adj.〉

die große Katzeder kleine bissige Hund

〈Subjekt〉

Dieser Baum ist der “Beweis” dafur, dass der Satz in der Sprachevorkommt. Man nennt ihn Syntaxbaum.

Barbara Konig Automaten und Formale Sprachen 51

Page 9: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Einfuhrung)

Mit Hilfe dieser (endlichen) Grammatik ist es moglich, unendlichviele Satze zu erzeugen:

der Hund jagt die kleine kleine kleine . . . Katze

Das heißt, die zu der Grammatik gehorende Sprache (man sagtauch: die von der Grammatik erzeugte Sprache) ist unendlich.

Barbara Konig Automaten und Formale Sprachen 52

Page 10: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Definition)

Grammatiken besitzen Regeln der Form

linke Seite → rechte Seite

Sowohl auf der linken als auch auf auf der rechten Seite konnenzwei Typen von Symbolen vorkommen:

Nicht-Terminale (die Variablen, aus denen noch weitereWortbestandteile abgeleitet werden sollen)

Terminale (die “eigentlichen” Symbole)

Im vorherigen Beispiel: auf der linken Seite befindet sich immergenau ein Nicht-Terminal (kontextfreie Grammatik).

Es gibt aber allgemeinere Grammatiken. (Es gibt sogarGrammatiken, die auf Baumen und Graphen statt auf Worternarbeiten. Diese werden in der Vorlesung jedoch nicht behandelt.)

Barbara Konig Automaten und Formale Sprachen 53

Page 11: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Definition)

Definition (Grammatik)

Eine Grammatik G ist ein 4-Tupel G = (V ,Σ,P,S), das folgendeBedingungen erfullt:

V ist eine endliche Menge von Nicht-Terminalen bzw.Variablen

Σ ist das endliche Alphabet bzw. die Menge derTerminal(symbol)e. (Es muss gelten: V ∩ Σ = ∅, d.h., keinZeichen ist gleichzeitig Terminal und Nicht-Terminal.)

P ist eine endliche Menge von Regeln bzw. Produktionen mitP ⊆ (V ∪ Σ)+ × (V ∪ Σ)∗.

S ∈ V ist die Startvariable bzw. das Axiom.

Barbara Konig Automaten und Formale Sprachen 54

Page 12: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Definition)

Wie sehen Produktionen aus?

Eine Produktion aus P ist ein Paar (`, r) von Wortern uber V ∪ Σ,das zumeist `→ r geschrieben wird. Dabei gilt:

Sowohl ` als auch r sind Worter, bestehend aus Variablen undTerminalsymbolen.

` darf nicht leer sein. (Eine Regel muss immer zumindest einZeichen ersetzen.)

Konventionen:

Variablen (Elemente aus V ) werden mit Großbuchstabenbezeichnet: A, B, C , . . . , S , T , . . .

Terminalsymbole (Elemente aus Σ) werden mitKleinbuchstaben dargestellt: a, b, c , . . .

Barbara Konig Automaten und Formale Sprachen 55

Page 13: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Beispiel)

Beispiel-Grammatik

G = (V ,Σ,P,S) mit

V = {S ,B,C}Σ = {a, b, c}P = {S → aSBC , S → aBC ,CB → BC , aB → ab,bB → bb, bC → bc, cC → cc}

Barbara Konig Automaten und Formale Sprachen 56

Page 14: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Ableitungen)

Wie werden die Produktionen eingesetzt, um Worter aus derStartvariable S zu erzeugen?

Idee: Wenn die Grammatik eine Produktion `→ r enthalt, durfenwir ` durch r ersetzen.

Beispiel:Produktion: CB → BCAbleitungsschritt: aab︸︷︷︸

x

CB︸︷︷︸`

Bcca︸︷︷︸y

⇒ aab︸︷︷︸x

BC︸︷︷︸r

Bcca︸︷︷︸y

.

Barbara Konig Automaten und Formale Sprachen 57

Page 15: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Ableitungen)

Definition (Ableitung)

Sei G = (V ,Σ,P, S) eine Grammatik und seien u, v ∈ (V ∪ Σ)∗.Es gilt:

u ⇒G v (u geht unter G unmittelbar uber in v),falls

u, v folgende Form haben:

u = x`y v = xry ,

wobei x , y ∈ (V ∪ Σ)∗ und `→ r eine Regel in P ist.

Barbara Konig Automaten und Formale Sprachen 58

Page 16: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Ableitungen)

Konventionen:

Worter aus (V ∪ Σ)∗ werden mit Kleinbuchstaben (aus derhinteren Halfte des Alphabets) bezeichnet: u, v , w , x , y , z ,. . .

Die Konkatenation zweier Worter u, v wird mit uv bezeichnet.Es gilt vε = εv = v , d.h., das leere Wort ε ist das neutraleElement der Konkatenation.

Statt u ⇒G v schreibt man auch u ⇒ v , wenn klar ist, umwelche Grammatik es sich handelt.

Barbara Konig Automaten und Formale Sprachen 59

Page 17: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken (Ableitungen)

Ableitung

Eine Folge von Wortern w0,w1,w2, . . . ,wn ∈ (V ∪Σ)∗ mit w0 = S

undw0 ⇒G w1 ⇒G w2 ⇒G · · · ⇒G wn

heißt Ableitung von wn (aus S). Der Fall n = 0 ist erlaubt(Abteilung in 0 Schritten).Das Wort wn darf sowohl Terminale als auch Variablen enthaltenund heißt Satzform.

Man schreibt dafur auch w0 ⇒∗G wn. (⇒∗G ist die sogenanntereflexive und transitive Hulle von ⇒G ).

Barbara Konig Automaten und Formale Sprachen 60

Page 18: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken und Sprachen

Die von einer Grammatik erzeugte Sprache

Die von einer Grammatik G = (V ,Σ,P,S) erzeugte Sprache ist

L(G ) = {w ∈ Σ∗ | S ⇒∗G w}.

In anderen Worten:

Die von G erzeugte Sprache besteht genau aus denableitbaren Satzformen, die nur Terminalsymbole erhalten.

Oder: genau die Worter, die in mehreren Schritten aus Sabgeleitet werden und nur aus Terminalen bestehen, gehorenzu L(G ).

Barbara Konig Automaten und Formale Sprachen 61

Page 19: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken und Sprachen

Die vorherige Beispielgrammatik G erzeugt die Sprache

L(G ) = {anbncn | n ≥ 1}.

Dabei ist an = a . . . a︸ ︷︷ ︸n-mal

.

Die Behauptung, dass G wirklich diese Sprache erzeugt, ist nichteinfach nachzuweisen.

Barbara Konig Automaten und Formale Sprachen 62

Page 20: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken und Sprachen

Bemerkung: Ableiten ist kein deterministischer, sondern einnichtdeterministischer Prozess. Fur ein u ∈ (V ∪ Σ)∗ kann esentweder gar kein, ein oder mehrere v geben mit u ⇒G v .

In anderen Worten: ⇒G ist keine Funktion.

Dieser Nichtdeterminismus kann durch zwei verschiedene Effekteverursacht werden . . .

Barbara Konig Automaten und Formale Sprachen 63

Page 21: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken und Sprachen

Eine Regel ist an zwei verschiedenen Stellen anwendbar.

Beispiel-Grammatik:

aaaSBBCCBC

aaaSBCBCBC.6

(0aaaSBCBBCC

Zwei verschiedene Regeln sind anwendbar (entweder an dergleichen Stelle – wie unten abgebildet – oder an verschiedenenStellen):

Beispiel-Grammatik:

aSBC

S19

%-aBC

Barbara Konig Automaten und Formale Sprachen 64

Page 22: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken und Sprachen

Weitere Bemerkungen:

Es kann beliebig lange Pfade geben, die nie zu einem Wortaus Terminalsymbolen fuhren:

S ⇒ aSBC ⇒ aaSBCBC ⇒ aaaSBCBCBC ⇒ . . .

Manchmal konnen Pfade in einer Sackgasse enden, d.h.,obwohl noch Variablen in einer Satzform vorkommen, ist keineRegel mehr anwendbar.

S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabcBC 6⇒

Barbara Konig Automaten und Formale Sprachen 65

Page 23: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken und Sprachen

Wir werden oft die folgende kurzere Schreibweise benutzen (diesogenannte Backus-Naur-Form).

Wenn es Regeln

u → w1

...

u → wn

gibt, schreiben wir auch

u → w1 | · · · | wn

Barbara Konig Automaten und Formale Sprachen 66

Page 24: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken und Sprachen

Σ =

{, , , , , ,

}

Tur-Regel-Sprache (Level 1)

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

G1 =({K ,N,X},Σ,P1,N

), wobei P1 aus den folgende

Produktionen besteht:

N → XN | K | ε

K → XK | K | K | ε

X →∣∣ ∣∣ ∣∣ ∣∣

Barbara Konig Automaten und Formale Sprachen 67

Page 25: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Grammatiken und Sprachen

Σ =

{, , , , , ,

}

Neue-Tur-Regel-Sprache (Level 2)

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

G2 =({S ,X},Σ,P2, S

), wobei P2 aus den folgende Produktionen

besteht:

S → X | S | S | SS | ε

X →∣∣ ∣∣ ∣∣ ∣∣

Barbara Konig Automaten und Formale Sprachen 68

Page 26: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Chomsky-Hierarchie

Wir klassifizieren nun Grammatiken nach der Form ihrer Regeln:

Typ 0 – Chomsky-0

Jede Grammatik ist vom Typ 0. (Keine Einschrankung der Regeln.)

Typ 1 – Chomsky-1

Fur alle Regeln `→ r gilt: |`| ≤ |r |. (Man sagt auch, dieGrammatik ist monoton oder kontextsensitiv.)

Typ 2 – Chomsky-2

Eine Typ-1-Grammatik ist vom Typ 2 oder kontextfrei, wenn furalle Regeln `→ r gilt, dass ` ∈ V , d.h., ` ist eine einzelne Variable.

D.h., es sind nur Regeln der Form A→ r mit A ∈ V , r ∈ (V ∪Σ)∗

erlaubt.

Barbara Konig Automaten und Formale Sprachen 69

Page 27: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Chomsky-Hierarchie

Typ 3 – Chomsky-3

Eine Typ-2-Grammatik ist vom Typ 3 oder regular, falls zusatzlichgilt: r ∈ Σ∪ΣV , d.h., die rechten Seiten von Regeln sind entwedereinzelne Terminale oder ein Terminal gefolgt von einer Variablen.

D.h., es sind nur Regeln der Form A→ aB und A→ a mitA,B ∈ V , a ∈ Σ erlaubt.

Typ-i-Sprache

Eine Sprache L ⊆ Σ∗ heißt vom Typ i (i ∈ {0, 1, 2, 3}), falls es eineTyp-i-Grammatik G gibt mit L(G ) = L (d.h., L wird von Gerzeugt.)

Solche Sprachen nennt man dann auch semi-entscheidbar bzw.rekursiv aufzahlbar (Typ 0), kontextsensitiv (Typ 1), kontextfrei(Typ 2) oder regular (Typ 3).

Barbara Konig Automaten und Formale Sprachen 70

Page 28: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Chomsky-Hierarchie

ε-Sonderregelung (Teil 1)

Bei Typ-1-Grammatiken (und damit auch bei regularen undkontextfreien Grammatiken) ist die Regel S → ε zunachst nichtzugelassen, wegen |S | = 1 6≤ 0 = |ε|. Das bedeutet aber: das leereWort kann nicht abgeleitet werden!

Wir modifizieren daher die Grammatik-Definition furTyp-1-Grammatiken leicht und erlauben S → ε, falls S dasStartsymbol ist und auf keiner rechten Seite vorkommt. DieseBedingung heißt ε-Sonderregelung.

Barbara Konig Automaten und Formale Sprachen 71

Page 29: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Chomsky-Hierarchie

ε-Sonderregelung (Teil 2)

Bei kontextfreien und regularen Grammatiken (Typ 2, Typ 3)erlauben wir auch beliebige Produktionen der Form A→ ε.

Durch geeignete Umformungen kann man eine solche kontextfreie(regulare) Grammatik in eine kontextfreie (regulare) Grammatikumwandeln, die die ε-Sonderregelung erfullt. (Eine solcheKonstruktion funktioniert nicht fur alle Typ-1-Grammatiken.)

Barbara Konig Automaten und Formale Sprachen 72

Page 30: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Chomsky-Hierarchie

Bemerkungen:

Woher kommt der Begriff “kontextsensitiv”?

Bei kontextfreien Sprachen gibt es Regeln der Form A→ x ,wobei x ∈ (Σ ∪ V )∗. Das bedeutet: A kann – unabhangig vomKontext – durch x ersetzt werden.

Bei den machtigeren kontextsensitiven Sprachen sind dagegenRegeln der Form uAv → uxv moglich, mit der Bedeutung: Akann nur in bestimmten Kontexten durch x ersetzt werden.

Barbara Konig Automaten und Formale Sprachen 73

Page 31: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Chomsky-Hierarchie

Jede Typ-i-Grammatik isteine Typ-(i−1)-Grammatik(fur i ∈ {1, 2, 3}) dieentsprechenden Mengen vonSprachen sind ineinanderenthalten.

Außerdem: die Inklusionensind echt, d.h., es gibt furjedes i eineTyp-(i−1)-Sprache, die keineTyp-i-Sprache ist. (ZumBeispiel eine kontextfreieSprache, die nicht regular ist.)Das werden wir spater zeigen.

Typ-2-Sprachenkontextfreie Sprachen

Typ-3-Sprachenregulare Sprachen

kontextsensitive SprachenTyp-1-Sprachen

semi-entscheidbare SprachenTyp-0-Sprachen

Menge aller Sprachen

Barbara Konig Automaten und Formale Sprachen 74

Page 32: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Chomsky-Hierarchie

Bemerkungen:

Fur eine Sprache der Chomsky-Hierarchie gibt es immermehrere Grammatiken, die diese Sprache erzeugen.

Eine Sprache, die durch eine Grammatik vom Typ i erzeugtwird, hat immer Typ k fur alle k ≤ i . Sie kann in manchenFallen aber sogar Typ j mit j > i haben.

Beispielsweise erzeugt die Grammatik G mit denProduktionen S → X | ε, X → aXa | aa die SpracheL(G ) = {an | n ∈ N0, n gerade}.Die Grammatik G ist vom Typ 2, aber nicht vom Typ 3. DieSprache L(G ) hat sowohl Typ 2 als auch Typ 3.

Barbara Konig Automaten und Formale Sprachen 75

Page 33: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Chomsky-Hierarchie

L(G1) = {an | n gerade} = L(G2)

S → aX | εY → aX

X → aY | aS → X | εX → aXa | aa

Regulare Grammatik G1 (Typ 3) Kontextfreie Grammatik G2 (Typ 2)

Regulare Sprache (Typ 3)

Barbara Konig Automaten und Formale Sprachen 76

Page 34: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Wortproblem

Wortproblem

Gegeben eine Grammatik G (von beliebigem Typ) und ein Wortw ∈ Σ∗. Entscheide, ob w ∈ L(G ).

Entscheidbarkeit des Wortproblems (Satz)

Das Wortproblem ist entscheidbar fur Typ-1-Sprachen (und damitauch fur regulare und kontextfreie Sprachen). Das heißt: es gibt einVerfahren, das entscheidet, ob w ∈ L(G ) gilt.

Barbara Konig Automaten und Formale Sprachen 77

Page 35: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Wortproblem fur Typ-1-Sprachen

Algorithmus zum Losen des Wortproblems fur Typ-1-Sprachen:gibt “true” aus genau dann, wenn w ∈ L(G ).

input (G ,w)T := {S}repeat

T ′ := TT := T ′ ∪ {u | |u| ≤ |w | und u′ ⇒G u, fur ein u′ ∈ T ′}

until (w ∈ T ) or (T = T ′)return (w ∈ T )

Barbara Konig Automaten und Formale Sprachen 78

Page 36: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Wortproblem fur Typ-1-Sprachen

Beispiel:

Grammatik G : S → aX | bX , X → cS | dWort w = acbdc

Entstehende Folge von Mengen von Satzformen:1 T = {S}2 T = {S , aX , bX}3 T = {S , aX , bX , acS , ad , bcS , bd}4 T = {S , aX , bX , acS , ad , bcS , bd , acaX , acbX , bcaX , bcbX}5 T = {S , aX , bX , acS , ad , bcS , bd , acaX , acbX , bcaX , bcbX ,

acacS , acad , acbcS , acbd , bcacS , bcad , bcbcS , bcbd}Nach dem funften Schritt bricht der Algorithmus ab, da nurnoch Worter entstehen, die langer als w sind.Es gilt: w 6∈ T , daraus folgt w 6∈ L(G ).

Barbara Konig Automaten und Formale Sprachen 79

Page 37: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Wortproblem fur Typ-1-Sprachen

Bemerkung:

Dieser Algorithmus funktioniert nicht fur Typ-0-Grammatiken bzw.-Sprachen. Dies liegt daran, dass das gesuchte Wort w dadurchentstanden sein konnte, dass ein langeres Wort wieder verkurztwird. In diesem FAll wurde w nicht gefunden werden aufgrund desKriteriums, dass wir nicht in den Wortern suchen, die langer als wsind.

Tatsachlich kann man zeigen, dass es ein solches Verfahren furTyp-0-Sprachen nicht geben kann. ( Vorlesung “Berechenbarkeitund Komplexitat”)

Barbara Konig Automaten und Formale Sprachen 80

Page 38: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Syntaxbaume und Eindeutigkeit

Wir beschranken uns im Folgenden auf kontextfreie Grammatiken.

Wir betrachten folgende (eindeutige) Beispiel-Grammatik zurErzeugung von korrekt geklammerten arithmetischen Ausdrucken:

G = ({E ,T ,F}, {(, ), a,+, ∗},P,E )

mit folgender Produktionenmenge P (in abkurzenderBackus-Naur-Form):

E → T | E + T

T → F | T ∗ FF → a | (E )

Barbara Konig Automaten und Formale Sprachen 81

Page 39: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Syntaxbaume und Eindeutigkeit

Fur die meisten Worter der von G erzeugten Sprache gibt esmehrere mogliche Ableitungen:

E ⇒ T ⇒ T ∗ F ⇒ F ∗ F ⇒ a ∗ F ⇒ a ∗ (E )

⇒ a ∗ (E + T )⇒ a ∗ (T + T )⇒ a ∗ (F + T )

⇒ a ∗ (a + T )⇒ a ∗ (a + F )⇒ a ∗ (a + a)

E ⇒ T ⇒ T ∗ F ⇒ T ∗ (E )→ T ∗ (E + T )

⇒ T ∗ (E + F )⇒ T ∗ (E + a)⇒ T ∗ (T + a)

⇒ T ∗ (F + a)⇒ T ∗ (a + a)⇒ F ∗ (a + a)⇒ a ∗ (a + a)

Die erste Ableitung ist eine sogenannte Linksableitung (immer soweit links wie moglich ableiten), die zweite eine Rechtsableitung(so weit rechts wie moglich ableiten).

Barbara Konig Automaten und Formale Sprachen 82

Page 40: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Syntaxbaume und Eindeutigkeit

Syntaxbaum aufbauen

Wir bilden nun aus beiden Ableitungen den Syntaxbaum, indemwir

Die Wurzel des Baums mit der Startvariable der Grammatikbeschriften.

Bei jeder Regelanwendung der Form A→ z zu A |z | Kinderhinzufugen, die mit den Zeichen von z beschriftet sind.

Syntaxbaume lassen sich fur alle Ableitungen von kontextfreienGrammatiken aufbauen.

Barbara Konig Automaten und Formale Sprachen 83

Page 41: Automaten und Formale Sprachen Sommersemester 2019 · Barbara K onig Automaten und Formale Sprachen 54 OrganisatorischesEinf uhrung Chomsky-HierarchieRegul are Sprachen Kontextfreie

Organisatorisches Einfuhrung Chomsky-Hierarchie Regulare Sprachen Kontextfreie Sprachen

Syntaxbaume und Eindeutigkeit

Dabei erhalten wir in beidenFallen den gleichen Syntaxbaum.

Man sagt, eine Grammatik isteindeutig, wenn es fur jedes Wortin der erzeugten Sprache genaueinen Syntaxbaum gibt⇐⇒ es gibt fur jedes Wort

genau eine Linksableitung⇐⇒ es gibt fur jedes Wort

genau eine Rechtsableitung.

Ansonsten heißt die Grammatikmehrdeutig.

F

a

F

a

T

F

a

T

T

E

T F

E( )

E +

Barbara Konig Automaten und Formale Sprachen 84