automaten und formale sprachen - tu-ilmenau.de€¦ · grundbegriffe definition eine grammatik g...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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