automaten und formale sprachen - tu-ilmenau.de€¦ · grundbegriffe definition eine grammatik g...

25
Grundbegriffe Grammatiken Grammatiken in der Informatik sind – ¨ ahnlich wie Grammatiken f¨ ur nat¨ urliche Sprachen – ein Mittel, um alle syntaktisch korrekten S¨ atze (hier: orter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte Grammatik zur Erzeugung deutscher S¨ atze: in spitzen Klammern: Variable ohne spitze Klammern: Terminale r 1 | r 2 | ... r n steht f¨ ur die Regeln ( r 1 ), ( r 2 ),..., ( r n ) WS 11/12 24

Upload: others

Post on 16-Jun-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Grammatiken

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

Beispiel: Eine vereinfachte Grammatik zur Erzeugung deutscher Satze:

• in spitzen Klammern: Variable

• ohne spitze Klammern: Terminale

• � → r1 | r2 | . . . rn steht fur die Regeln (� → r1), (� → r2), . . . ,(� → rn)

WS 11/12 24

Page 2: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

�Satz� → �Subjekt��Pradikat��Objekt��Subjekt� → �Artikel��Attribut��Substantiv��Artikel� → ε | der | die | das

�Attribut� → ε |�Adjektiv�| �Adjektiv��Attribut��Adjektiv� → kleine | bissige | große

�Substantiv� → Hund | Katze�Pradikat� → jagt

�Objekt� → �Artikel��Attribut��Substantiv�

WS 11/12 25

Page 3: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

�Satz � ⇒ �Subjekt � �Pradikat� �Objekt�⇒ �Subjekt � jagt �Objekt�⇒ �Artikel� �Attr.� �Substantiv� jagt �Objekt�⇒ �Artikel� �Attr.� Hund jagt �Objekt�⇒ der �Attr.� Hund jagt �Objekt�⇒ der �Adj.� �Attr.� Hund jagt �Objekt�⇒ der kleine �Adj.� Hund jagt �Objekt�⇒ der kleine bissige Hund jagt �Objekt�⇒ der kleine bissige Hund jagt �Objekt�⇒ der kleine bissige Hund jagt �Artikel� �Attr.� �Subst.�⇒ der kleine bissige Hund jagt die �Attr.� �Subst.�⇒ der kleine bissige Hund jagt die �Adj.� �Subst.�⇒ der kleine bissige Hund jagt die große �Subst.�⇒ der kleine bissige Hund jagt die große Katze

WS 11/12 26

Page 4: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Diese Folge nennt man eine”Ableitung“. Sie beweist, daß der Satz

der kleine bissige Hund jagt die große Katze

zu der Sprache gehort, die von der Grammatik erzeugt wird.Mit Hilfe dieser (endlichen) Grammatik ist es moglich, unendlich vieleSatze zu erzeugen:

der Hund jagt die kleine kleine kleine . . . Katze

Das heißt, die zu der Grammatik gehorende Sprache ist unendlich.

WS 11/12 27

Page 5: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Grammatiken besitzen Regeln der Form

linke Seite → rechte Seite

Sowohl auf der linken, als auch auf der rechten Seite konnen zwei Typenvon Symbolen vorkommen:

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

• Terminale (die “eigentlichen” Symbole)

Im vorherigen Beispiel: auf der linken Seite befindet sich immer genau einNicht-Terminal; man spricht von einer kontextfreien Grammatik.

Wir werden auch allgemeinere Grammatiken behandeln.

Es gibt sogar Grammatiken, die auf Baumen und Graphen statt auf Wortern

arbeiten. Diese werden in der Vorlesung jedoch nicht behandelt.

WS 11/12 28

Page 6: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Definition

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

• V ist eine endliche Menge von Nicht-Terminalen oder Variablen.

• Σ ist ein (endliches) Alphabet (Menge der Terminal(symbol)e) mitV ∩ Σ = ∅, d.h., kein Zeichen ist gleichzeitig Terminal undNicht-Terminal.

• P ⊆ (V ∪ Σ)+ × (V ∪ Σ)∗ ist eine endliche Menge von Regeln oderProduktionen.

• S ∈ V ist die Startvariable oder Axiom.

WS 11/12 29

Page 7: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Konventionen:

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

• Terminalsymbole (Elemente aus Σ) werden mit Kleinbuchstabendargestellt: a, b, c , . . .

Beispiel

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

WS 11/12 30

Page 8: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

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

Definition

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

u ⇒G v

falls eine Produktion (�, r) ∈ P und Worter x , y ∈ (V ∪ Σ)∗ existieren mit

u = x�y und v = xry .

Sprech- und Schreibweise:

• Fur u ⇒G v sagen wir”u geht unter G unmittelbar uber in v“.

• Ist die Grammatik G klar, so schreibt man u ⇒ v fur u ⇒G v

• Fur Produktion (�, r) ∈ P schreibt man mitunter � → r .

WS 11/12 31

Page 9: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Definition

Sei G = (V ,Σ,P , S) eine Grammatik.

• Eine Ableitung ist eine Folge von Wortern w0,w1,w2, . . . ,wn mitw0 = S und w0 ⇒ w1 ⇒ w2 ⇒ · · · ⇒ wn.

• Ein Wort w ∈ (V ∪ Σ)∗ heißt Satzform, wenn es eine Ableitung gibt,deren letztes Wort w ist.

• Die SpracheL(G ) = {w ∈ Σ∗ | S ⇒∗

G w}

aller Satzformen aus Σ∗ heißt von G erzeugte Sprache.

Dabei ist ⇒∗G die reflexive und transitive Hulle von ⇒G , d.h. u ⇒∗

G v

genau dann, wenn n ≥ 0 und Worter u0, u1, . . . un ∈ (V ∪ Σ)∗ existierenmit: u0 = u, ui ⇒G ui+1 fur alle 0 ≤ i ≤ n − 1 und un = v .

In anderen Worten: Die von G erzeugte Sprache L(G ) besteht genau ausden Wortern, die in beliebig vielen Schritten aus S abgeleitet werdenkonnen und nur aus Terminalen bestehen.

WS 11/12 32

Page 10: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Beispiel

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

1 hat u.a. die Ableitungen:S ⇒ aBC ⇒ abC ⇒ abc

S ⇒ aSBC ⇒ aaBCBC ⇒ aaBBCC ⇒ aabBCC ⇒ aabbCC

⇒ aabbcC ⇒ aabbcc

2 damit sind u.a. aBC , abc , aaBCBC und aabbcc Satzformen

3 abc und aabbcc gehoren zur von G erzeugten Sprache L(G )

4 man kann zeigen, daß L(G ) = {anbncn | n ≥ 1} gilt(schwierig:

”⊆“, vgl. Ubung)

WS 11/12 33

Page 11: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Bemerkung: Fur ein u ∈ (V ∪ Σ)∗ kann es entweder gar kein, ein odermehrere v geben mit u ⇒G v . Ableiten ist also kein deterministischer,sondern ein nichtdeterministischer Prozeß.

In anderen Worten: ⇒G ist keine Funktion.

Dieser Nichtdeterminismus kann durch zwei verschiedene Effekteverursacht werden . . .

WS 11/12 34

Page 12: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

• Eine Regel ist an zwei verschiedenen Stellen anwendbar.

Beispiel-Grammatik:

aaaSBBCCBC

aaaSBCBCBC

��

��aaaSBCBBCC

• Zwei verschiedene Regeln sind anwendbar (entweder an der gleichenStelle – wie unten abgebildet – oder an verschiedenen Stellen):

Beispiel-Grammatik:aSBC

S

��

��aBC

WS 11/12 35

Page 13: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Weitere Bemerkungen:

• Es kann beliebig lange Ableitungen geben, die nie zu einem Wort ausTerminalsymbolen fuhren:

S ⇒ aSBC ⇒ aaSBCBC ⇒ aaaSBCBCBC ⇒ . . .

• Manchmal konnen Ableitungen in einer Sackgasse enden, d.h., obwohlnoch Variablen in einer Satzform vorkommen, ist keine Regel mehranwendbar:

S ⇒ aSBC ⇒ aaBCBC ⇒ aabCBC ⇒ aabcBC �⇒

WS 11/12 36

Page 14: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Noam Chomsky (geb. 1928)

• Linguist am MIT (und einer der bekanntesten linken Intellektuellender USA)

• fragte sich, wie Menschen lernen, korrekte von inkorrekten Satzen zuunterscheiden, und warum alle menschlichen Sprachen Ahnlichkeitenaufweisen

• seine Erklarung: angeborene”Grundgrammatik“, die beim Erlernen

der Muttersprache angepaßt wird

• hierzu”erfand“ er die Grammatiken, die spater in der Informatik

wesentlich wurden.WS 11/12 37

Page 15: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Chomsky-Hierarchie

Typ 0 – Chomsky-0

Jede Grammatik ist vom Typ 0 (oder einSemi-Thue-System).

Axel Thue (1863-1922)

Typ 1 – Chomsky-1

1 Eine Regel (� → r) ist kontext-sensitiv, wenn es Worteru, v ,w ∈ (V ∪ Σ)∗, |v | > 0 und ein Nicht-Terminal A ∈ V gibt mit

� = u Aw und r = u v w .

2 Eine Grammatik G = (V ,Σ,P , S) ist vom Typ 1 (oder kontext-sensitiv), falls

• alle Regeln aus P kontext-sensitiv sind oder• (S → ε) ∈ P die einzige nicht kontext-sensitive Regel in P ist und S

auf keiner rechten Seite einer Regel aus P vorkommt.WS 11/12 38

Page 16: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Typ 2 – Chomsky-2

1 Eine Regel (� → r) ist kontext-frei, wenn � ∈ V und r ∈ (V ∪Σ)∗ gilt.

2 Eine Grammatik G = (V ,Σ,P , S) ist vom Typ 2 (oder kontext-frei),falls sie nur kontext-freie Regeln enthalt.

Typ 3 – Chomsky-3

1 Eine Regel (� → r) ist rechtslinear, wenn � ∈ V und r ∈ ΣV ∪ {ε}gilt.

2 Eine Grammatik G = (V ,Σ,P , S) ist vom Typ 3 (oder rechtslinear),falls sie nur rechtslineare Regeln enthalt.

WS 11/12 39

Page 17: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

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. Wir bezeichnen mit Li die Klasseder Sprachen vom Typ i .

Beispiel

Die Grammatik mit der Regelmenge

{ (S , aSBC ), (S , aBC ), (CB ,BC ), (aB , ab),(bB , bb), (bC , bc), (cC , cc) }

ist von Typ 0 und nicht kontext-sensitiv. Sie erzeugt die Sprache

{anbncn | n ≥ 1} ∈ L0 .

Diese Sprache ist also vom Typ 0.

WS 11/12 40

Page 18: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Beispiel

Die Grammatik mit der Regelmenge

{ (S , aSBC ), (S , aBC ), (CB ,HB), (HB ,HC ), (HC ,BC ),(aB , ab), (bB , bb), (bC , bc), (cC , cc) }

ist kontext-sensitiv und nicht kontext-frei. Sie erzeugt die Sprache

{anbncn | n ≥ 1} ∈ L1 .

Diese Sprache ist also sogar vom Typ 1 (oder kontext-sensitiv).

Bemerkung: Spater werden wir sehen, daß diese Sprache nicht vom Typ 2ist.

WS 11/12 41

Page 19: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Beispiel

Die Grammatik mit der Regelmenge

{(S , aSb), (S , ε)}

ist kontext-frei und nicht rechts-linear. Sie erzeugt die Sprache

{anbn | n ≥ 0} ∈ L2 .

Diese Sprache ist also vom Typ 2 (oder kontext-frei).

Bemerkung: Spater werden wir sehen, daß diese Sprache nicht vom Typ 3ist.

WS 11/12 42

Page 20: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Beispiel

Die Grammatik mit der Regelmenge

{(S , aA), (A, aS), (S , ε)}

ist rechtslinear und erzeugt die Sprache

(aa)∗ = {a2n | n ≥ 0} ∈ L3 .

Diese Sprache ist also vom Typ 3 (oder rechtslinear).

WS 11/12 43

Page 21: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Bemerkung

• Jede Typ-1-Grammatik ist vom Typ 0, also L1 ⊆ L0.

• Jede Typ-3-Grammatik ist vom Typ 2, also L3 ⊆ L2.

• Regeln der Form (A → ε) konnen in Grammatiken vom Typ 2, abernicht in Grammatiken vom Typ 1 vorkommen. Es ist also nicht klar,ob L2 ⊆ L1 gilt.

WS 11/12 44

Page 22: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Kontext-freie Sprachen sind kontext-sensitiv

Lemma

Aus einer kontextfreien Grammatik G = (V ,Σ, S ,P) kann einekontext-sensitive Grammatik G

� berechnet werden mit L(G ) = L(G �).

Beweis:1. Schritt: neues Startsymbol S � und zusatzliche Produktion S

� → S

=⇒ die erzeugte Sprache andert sich nicht, aber neuesStartsymbol kommt auf keiner rechten Seite vor.

2. Schritt: Eine Variable A ∈ V heißt nilpotent, wenn A ⇒∗G ε gilt.

(�, r �) ist Produktion aus neuer Grammatik G�, wenn gilt

1 • � ∈ V und r� ∈ (V ∪ Σ)+

• es gibt Produktion (�, r) ∈ P , wobei r � aus r entsteht, indem einigeVorkommen von nilpotenten Variablen geloscht werden.

2 oder � = S�, r = S

3 oder � = S�, r = ε und ε ∈ L(G ).

WS 11/12 45

Page 23: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

klar: die neue Grammatik G� = (V ∪ {S �},Σ,P �, S �) ist kontext-sensitiv.

Wir zeigen jetzt, daß fur jedes Wort w � ∈ (V ∪ Σ)+ die folgendenAussagen aquivalent sind:

(1) S ⇒∗G � w

(2) es gibt ein Wort w ∈ (V ∪ Σ)∗ mit S ⇒∗G w , so daß w

� durchStreichen einiger Vorkommen von nilpotenten Variablen aus wentsteht.

Die Implikationen (1) ⇒ (2) und (2) ⇒ (1) werden getrennt bewiesen.

Beide Beweise erfolgen per Induktion uber die Lange der Ableitungen (vgl.extra pdf-Datei).

WS 11/12 46

Page 24: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Es gilt

ε ∈ L(G ) ⇐⇒ (S � → ε) ∈ P� (nach Definition von P

�)

⇐⇒ ε ∈ L(G �) (da G� kontext-sensitiv ist).

Fur w ∈ Σ+ haben wir

w ∈ L(G ) ⇐⇒ S ⇒∗G w

⇐⇒ S ⇒∗G � w (wegen (1) ⇐⇒ (2))

⇐⇒ S� ⇒∗

G � w (wegen (S � → S) ∈ P�)

⇐⇒ w ∈ L(G �).

Also gilt L(G ) = L(G �).

WS 11/12 47

Page 25: Automaten und Formale Sprachen - tu-ilmenau.de€¦ · Grundbegriffe Definition Eine Grammatik G ist ein 4-Tupel G =(V , Σ, P, S), das folgende Bedingungen erf¨ullt: • V ist

Grundbegriffe

Damit haben wir auch L2 ⊆ L1,es ergibt sich alsonebenstehendes Bild

Außerdem: die Inklusionen sindecht, d.h., es gibt fur jedes i eineTyp-(i−1)-Sprache, die keineTyp-i-Sprache ist (z.B. einekontextfreie Sprache, die nichtregular ist). Das werden wirspater zeigen.

Typ-2-Sprachenkontextfreie Sprachen

Typ-3-Sprachenrechtslineare Sprachen

kontextsensitive SprachenTyp-1-Sprachen

Typ-0-Sprachen

alle Sprachen

WS 11/12 48