View
2
Download
0
Category
Preview:
Citation preview
Automaten und F ormale Sp rac h en
R ep etitorium
5. V orlesung
Martin D ie tz fe lb in ge r
7. J u n i 2005
F G K T u E A , T U Ilm e n a u Rep e tito riu m A F S – 07.06.05
3.1 G rammatik en
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 1
Beisp iel :
V = {S, /c , $, A, B, C}; Σ = {a}; Startsymbol S;
P enthalt folgend e P aare:
(1) S → /cAa$
(2) Aaa → aaAa
(3) Aa$ → aaB$
(4) aB → Ba
(5) /cB → /cA
(6) Aa$ → aaC
(7) aC → Ca
(8) /cC → ε
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 2
Interessante Ableitungen beginnen mit S, z.B .:
S(1)⇒ /cAa$
(6 )⇒ /caaC
(7 )⇒ /caCa
(7 )⇒ /cCaa
(8 )⇒ aa.
S(1)⇒ /cAa$
(3 )⇒ /caaB$
(4 )⇒ /caBa$
(4 )⇒ /cBaa$
(5 )⇒
⇒ /cAaa$(2 )⇒ /caaAa$
(6 )⇒ /caaaaC
(7 )⇒ /caaaCa
(7 )⇒ · · ·
(7 )⇒ /cCaaaa
(8 )⇒ aaaa.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 3
Behauptung:
Dieses System erzeugt genau die W orter
aa · · · a︸ ︷︷ ︸
i−mal
mit i = 2s, s ≥ 1.
Beweis: Induktion, etw as muhsam, nicht tief.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 4
Definition: Grammatik G besteht aus :
• V : Alphabet, Menge der (syntaktischen)”Variablen“
• Σ : Alphabet, Menge der”T erminalzeichen“
V ∩ Σ = ∅
• S ∈ V :”Startsymbol“,
”Startvariable“
• P : endliche Menge von”P roduktionen“
oder”Ableitungsregeln“
l → r (formal: Paar (l, r))
wobei l ∈ (V ∪ Σ)+ und r ∈ (V ∪ Σ)∗.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 5
Grammatik spezifiziert Kalkul
. . . der Worter uber Σ erzeugt.
Sei G = (V, Σ, S, P ) Grammatik.
(a) Wir schreiben u lv ⇒G u rv oder u lv ⇒ u rv ,
falls u , v ∈ (V ∪ Σ)∗ und l → r eine Produktion in P ist
Achtung: → ist durch endliche L iste gegeben,
⇒ ist unendlich (normalerweise)
Sprechweise: u rv ist in 1 Schritt aus u lv ableitbar.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 6
Beispiele:
/caaB$ ⇒ /caBa$
/caaaaC ⇒ /caaaCa
A/caAaBa ⇒ A/caABaa
$$AaaB ⇒ $$aaAaB
$$AaaB ⇒ $$AaBa
⇒ enthalt”sinnvolle“ und
”sinnlose“ Ubergange!
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 7
Mehrere Schritte nacheinander
(b) α∗
⇒ α′, fallseine Folge
α = α0 ⇒ α1 ⇒ α2 ⇒ . . . ⇒ αt−1 ⇒ αt = α′
ex istiert.
Spezialfall t = 0: α∗
⇒ α gilt immer
Sprechweise: α′ ist aus α ableitbar.
Schrittanzahl betonen: αt⇒ α′
Beispiele: /caC2⇒ a S
5⇒ aa
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 8
”Sinnvolle“ Z w ischenschritte
(c) α ∈ (V ∪ Σ)∗ heiß t Satzform von G, falls S∗
⇒ α.
Folge S = α0 ⇒ α1 ⇒ · · · ⇒ αt = α, t ≥ 0,
heiß t Ableitung oder H erleitung von α.
N ur Satzformen haben Ableitungen.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 9
”Sinnvolle“ E ndresultate
(d)
L(G) := {w ∈ Σ∗ | S∗
⇒ w}
heißt die von G erzeugte (oder beschriebene) Sprache.
Im Beispiel:
L(G) = {ai | i = 2s fur ein s ≥ 1}
Grammatik G : endliches Objekt, endlicher”Text“
Sprache L(G) : (meist) unendliche Menge
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 10
Chomsky-0-Grammatiken
sind Grammatiken G = (V, Σ, S, P ) wie in der Definition
beschrieben.
In P sind Paare
l → r
wobei l ein nichtleeres Wort uber V ∪ Σ ist,
r ein beliebiges Wort uber V ∪ Σ .
L0 ist die Klasse aller Sprachen der Form L(G),
G Grammatik.
”Chomsky-0-Sprachen“
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 11
Chomsky-1-Grammatiken
. . . oder kontextsensitive Grammatiken
Def.: Eine Produktion l → r heißt kontextsensitiv, falls
l = α A γ , r = α β γ, wobei |β| ≥ 1
und A ∈ V , α, β, γ ∈ (V ∪ Σ)∗
”Man darf A durch das nichtleere Wort β ersetzen, aber
nur, wenn A im Kontext α..γ steht.“
Entscheidend: N icht-verkurzend: |r| ≥ |l|
Auch A → β, A ∈ V , β ∈ (V ∪ Σ)+, ist kontextsensitive
Produktion. (α = γ = ε.)
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 12
Beispiel : Kontextsensitiv: /cB → /cA aAa$ → aaBa$
Nicht kontextsensitiv: Aa$ → aaB$ /cC → ε
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 13
Chomsky-1-Grammatiken
Def.: Grammatik G = (V, Σ, S, P ) heißt vom Typ 1 oder
kontextsensitiv,
wenn
• entweder alle Produktionen von G kontextsensitiv sind
• oder alle Produktionen von G kontextsensitiv sind außer
S → ε,
u nd S nie a u f der rechten Seite einer Produ ktion vorkom m t.
Kontextsensitive Grammatiken heißen auch
Chomsky-1-Grammatiken
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 14
Chomsky-1-Sprachen
Def.: Eine Sprache L heißt kontextsensitiv oder
vom Typ 1, falls
L = L(G)
fur eine kontextsensitive Grammatik G gilt.
Die Klasse aller Typ-1-Sprachen heißt L1
Klar:
L1 ⊆ L0
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 15
(Wortlangen-)Monotone Grammatiken
Def.: Eine Produktion l → r heißt (wortlangen-)monoton
oder nicht-verkurzend, falls |r| ≥ |l|.
Def.: Grammatik G = (V, Σ, S, P ) heißt monoton, wenn
• entweder alle Produktionen von G monoton sind
• oder alle Produktionen von G monoton sind außer
S → ε,
und S nie auf der rechten Seite einer Produktion vorkommt.
Klar: G kontextsensitiv ⇒ G monoton .
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 16
Monotone Grammatiken
Fakt: G monoton
⇒
man kann eine kontextsensitive Grammatik G′ konstruieren
so dass
L(G) = L(G′)
(Idee: Baue jede monotone Produktion einzeln
in eine Folge von kontextsensitiven Produktionen um.)
Also:
Monotone Grammatiken liefern genau die Sprachen in L1.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 17
Beispiel : Grammatik fur L = {a2s
| s ≥ 1} kann in m on oton e
G ra m m a tik u m ge b a u t w e rd e n .
A lso: {a2s
| s ≥ 1} ∈ L 1
Beisp iel : (Ubung)
Mon oton e G ra m m a tik fu r L′= {an
bnc
n | n ≥ 0}
A lso: L′ ∈ L 1 .
F G K T u E A , T U Ilm e n a u Rep e titoriu m A F S – 07.06.05 18
Kontextfreie G ram m atik en
. . . oder T yp-2-Grammatiken
D ef.: Eine P roduktion l → r h eiß t kontextfrei, falls
l = A ∈ V, r ∈ (V ∪ Σ )∗.
Kontextfreie P roduk tion: A → β, A ∈ V , β ∈ (V ∪ Σ )∗
”Man darf die V ariable A durc h das W ort β ersetzen
(egal wo A steh t).“
β darf auc h ε sein.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 19
Kontextfreie Grammatiken und Sprachen
Def.: Grammatik G = (V, Σ, S , P ) heißt vom Typ 2 oder
kontextfrei,
wenn alle Produktionen von G kontextfrei sind.
Def.: Sprache L heißt kontextfrei oder vom Typ 2
falls
L = L(G)
fur eine kontextfreie Grammatik G gilt.
D ie Klasse aller kontextfreien Sprachen heißt auch L2.
Werden sehen (nicht off ensichtlich): L2 ⊆ L1
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 20
Beispiel fur kontextfreie Grammatik: (V, Σ, S, P ) mit
V = {〈expr 〉, 〈term 〉, 〈fa c to r 〉}, Σ = {+, -, *, /, (, ),num},
S = 〈expr 〉, P enthalt folgende Paare/Produktionen:
〈fa c to r 〉 → num
〈fa c to r 〉 → (〈expr 〉)
〈term 〉 → 〈term 〉 * 〈fa c to r 〉
〈term 〉 → 〈term 〉 / 〈fa c to r 〉
〈term 〉 → 〈fa c to r 〉
〈expr 〉 → 〈expr 〉 + 〈term 〉
〈expr 〉 → 〈expr 〉 - 〈term 〉
〈expr 〉 → 〈term 〉
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 21
Abku rz u n g :
Statt A → β1, A → β2, . . . , A → βs
schreibt man A → β1 | β2 | · · · | βs
oder senkrecht:
A → β1
| β2
| β3
... ...
| βs
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 22
Beispiel :
〈factor〉 → num | (〈expr〉)
〈term〉 → 〈term〉 * 〈factor〉
| 〈term〉 / 〈factor〉
| 〈factor〉
〈expr〉 → 〈expr〉 + 〈term〉
| 〈expr〉 - 〈term〉
| 〈term〉
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 23
3.2 R echtslineare Grammatiken
Def.: Eine Produktion l → r heißt rechtslinear, falls
l = A ∈ V, r = aB ∈ ΣV oder r = ε.
R echtslineare Produktionen:
A → aB , A, B ∈ V , a ∈ Σ und A → ε
Klar: J ede rechtslineare Produktion ist kontextfrei.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 24
Rechtslineare Grammatiken, Typ-3-Sprachen
Def.: Grammatik G = (V, Σ, S, P ) heißt vom Typ 3 oder
rechtslinear,
wenn alle Produktionen von G rechtslinear sind.
Def.: Sprache L heißt vom Typ 3, falls
L = L(G)
fur eine rechtslineare Grammatik G gilt.
Die Klasse aller Typ-3-Sprachen heißt auch L3.
Klar: L3 ⊆ L2
Werden sehen: L3 = Klasse der regularen Sprachen
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 25
Die C homsky-H ierarchie
L3 ⊆ L2 ⊆ L1 ⊆ L0
”regular“
⇒”kontextfrei“
⇒”kontextsensitiv“
⇒”rekursiv aufzahlbar“
Werden sehen: Alle Inklusionen sind echt (”(“ )
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 26
Beispiel: N FA M
2SStart
B
C
D
1
2
2
2
1
Klar: LM = L(ε + 1+2∗ + 22+)
Rechtslineare Grammatik G = ({S, B, C, D}, {1, 2}, S, P ),
wo P enthalt:
S → 1B, S → 2C, S → ε,
B → 1B, B → 2D, B → ε,
C → 2D,
D → 2D, D → ε.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 27
Berechnungswege in M :
2
B B B D D DSStart
C DS
1 1 1 2 2 2
DStart2 2
Ableitungen in G:
S ⇒ 1B ⇒ 11B ⇒ 111B ⇒ 1112D ⇒ 11122D ⇒
111222D ⇒ 111222
S ⇒ 2C ⇒ 22D ⇒ 222D ⇒ 222.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 28
Satz : Typ-3-Grammatiken und N F A ’s
Sei L ⊆ Σ∗ Sprache. Dann gilt:
L ∈ L3 ⇔ L ist regular.
Beweis:
Transformation in beide Richtungen.
Menge V der Zustande ↔ Menge V der Variablen
Startzustand S ↔ Startvariable S
Kante von A nach B mit Beschriftung a ↔ Produktion
A → aB
Endzustand C ↔ Produktion C → ε
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 29
Verallgemeinerte rechtslineare Produktionen:
A → aB, a ∈ Σ, B ∈ V
A → ε, a ∈ Σ, B ∈ V
A → a, a ∈ Σ
A → abc, a, b, c ∈ Σ
A → abcB, a, b, c ∈ Σ, B ∈ V
A → B, B ∈ V
Allgemein:
A → a1 . . . asB, a1, . . . , as ∈ Σ, s ≥ 0, B ∈ V
A → a1 . . . as, a1, . . . , as ∈ Σ, s ≥ 0
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 30
Jede Grammatik, in der alle Produktionen verallgemeinert
rechtslinear sind, kann in einen aq uivalenten (ε-)NFA und eine
aq uivalente”pur“ rechtslineare Grammatik umgebaut werden.
(Ubung)
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 31
Linkslineare Grammatiken
Def.: Eine Produktion l → r heißt linkslinear, falls
l = A ∈ V, r = Ba ∈ V Σ oder r = ε.
Linkslineare Produktionen:
A → Ba, A, B ∈ V , a ∈ Σ und A → ε
Klar: Jede linkslineare Produktion ist kontextfrei.
Eine Grammatik G heißt linkslinear, wenn alle ihre Produk-
tionen linkslinear sind.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 32
Satz
G linkslineare Grammatik, G = (V, . . .)
⇒
es gibt rechtslineare Grammatik G′ = (V ′, . . .)
mit L(G′) = L(G).
(Also: L(G) regular.)
Dabei gilt: |V ′| ≤ |V | + 1
Beweisid ee:”Spiegelung“ von G ist rechtslineare Grammatik
fur die Spiegelsprache L(G)R. Daraus: NFA. Daraus: NFA
fur (L(G)R)R = L(G). Daraus: rechtslineare Grammatik fur
L(G).
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 33
Warnung:
M ischen von rechts- und linkslinearen Produktionen in einer
Grammatik
fuhrt uber die regularen Sprachen hinaus.
Beispiel : G = (V, Σ, S, P )
mit V = {S, B}, Σ = {a, b},
Produktionen S → aB, B → Sb, S → ε liefert:
L(G) = {anb
n | n ≥ 0} 6∈ L3
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 34
Fazit
• 4 Grammatiktypen: Typ 0, Typ 1, Typ 2, Typ 3
• . . . oder: Typ 0, kontextsensitiv, kontextfrei, rechtslinear
• 4 Sprachklassen
• Chomsky-H ierarchie: L3 ⊆ L2 ⊆ L1 ⊆ L0
• L3 entpricht regularen Sprachen
• L2: kontextfreie Sprachen:
Thema des Restes der V orlesung
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 35
Kapitel 4 Kontextfreie Grammatiken und
kontextfreie Sprachen
4. 1 B eispiele und Ableitungen
kfG (engl.: cfg): kontextfreie Grammatik
kfS (engl.: cfl): kontextfreie Sprache
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 36
Beispiel : Korrekte Klammerausdrucke Wichtig!
G = (V, Σ, S, P ) mit
V = {S}, Σ = {0, 1}, Startsymbol S, P enthalt:
(1) S → ε
(2) S → SS
(3) S → 0S1
Kurz: S → ε | SS | 0S1
Beispiel fur Ableitung:
S ⇒ SS ⇒ SSS ⇒ 0S1SS ⇒ 01SS ⇒ 01S0S1 ⇒ 01S00S11
⇒ 0100S11 ⇒ 010011 ∈ Σ∗
Kann zeigen: L(G) = kKA !! Nicht regular!
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 37
Beispiel :
G = (V, Σ, S, P ) mit
V = {S}, Σ = {0, 1}, Startsymbol S, P enthalt:
(1) S → ε
(2) S → 0S1
Kurz: S → ε | 0S1
Beispiel fur Ableitung:
S ⇒ 0S1 ⇒ 00S11 ⇒ 000S111 ⇒ 0000S1111 ⇒ 00001111
L eicht zu sehen: L(G) = {0n1n | n ≥ 0}
!! Nicht regular!
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 38
Grammatik fur arithmetische Ausdrucke: G =
({〈expr〉, 〈term〉, 〈factor〉}, {+, -, *, /, (, ),num}, 〈expr〉, P )
wobei P enthalt:
〈factor〉 → num | (〈expr〉)
〈term〉 → 〈term〉 * 〈factor〉
| 〈term〉 / 〈factor〉
| 〈factor〉
〈expr〉 → 〈expr〉 + 〈term〉
| 〈expr〉 - 〈term〉
| 〈term〉
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 39
Ableitungs-KalkulWenn
α = Y1 · · ·Ys A Z1 · · ·Zt
und A → X1 · · ·Xr ist Produktion in P , dann
α ⇒ α′ = Y1 · · ·Ys X1 · · ·Xr Z1 · · ·Zt
(ein Ableitungsschritt)
α∗
⇒ α′ ist definiert als
α = α0 ⇒ α1 ⇒ · · · ⇒ αt = α′ , t ≥ 0 .
(Ableitung)
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 40
Beispiel-Ableitung
〈expr〉 ⇒ 〈term〉 ⇒ 〈term〉 / 〈factor〉
⇒ 〈term〉 / (〈expr〉)
⇒ 〈term〉 / (〈expr〉 - 〈term〉)
⇒ 〈factor〉 / (〈expr〉 - 〈term〉)
⇒ num / (〈expr〉 - 〈term〉)
⇒ num / (〈expr〉 + 〈term〉 - 〈term〉)
⇒ num / (〈expr〉 + 〈factor〉 - 〈term〉)
⇒ num / (〈expr〉 + num - 〈term〉)
...
⇒ num / (num + num - num)
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 41
Beispiel-Ableitung
Produktionen: S → ε | SS | 0S1
S ⇒ SS ⇒ SSS ⇒ 0S1SS ⇒ 01SS ⇒ 01S0S1 ⇒ 01S00S11
⇒ 0100S11 ⇒ 010011 ∈ Σ∗
Beispiel-Ableitung
Produktionen: S → ε | SS | 0S1
S ⇒ 0S1 ⇒ 00S11 ⇒ 000S111 ⇒ 0000S1111 ⇒ 00001111
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 42
Satzformen
α ∈ (V ∪ Σ)∗ ist Satzform in G
⇔ ∃ Folge S = α0 ⇒ α1 ⇒ · · · ⇒ αt = α, mit t ≥ 0.
Beispiele: 〈expr〉 , 〈term〉 , 〈term〉 / 〈factor〉 , 〈term〉 / (〈expr〉)
〈term〉 / (〈expr〉 - 〈term〉) , 〈factor〉 / (〈expr〉 - 〈term〉)
num / (〈expr〉 - 〈term〉).
Keine Satzformen:
(〈expr〉 / 〈expr〉)(〈term〉 / 〈expr〉) und -〈term〉.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 43
Satzformen
Produktionen: S → ε | SS | 0S1
Satzformen:
S , 0S1 , 01 , SS , 0S1S
01S , 01SS , 01S0S1 ,
010S1S , 0101S , 0101 , 01S01
0100S110S1 , 0100110S1 , 01001101 .
Keine Satzformen:
1S0 , S0S , 0S0S1 , 0SSS0, und so weiter.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 44
Beispiel : G = ({S}, {0, 1}, S, P ), wo P folgende Produktio-
nen enthalt:
S → 0S0, S → 1S1, S → 0, S → 1, S → ε,
oder kurzer:
S → 0S0 | 1S1 | 0 | 1 | ε.
Behauptung:
L(G) = {w ∈ {0, 1}∗ | w = wR}.
Sprache der Spiegelw orter (”P alindrom e“ ) u b e r {0, 1}.
Beweis: S ie h e d ie volle n F olie n .
F G K T u E A , T U Ilm e n a u Rep e titoriu m A F S – 07.06.05 45
Palindrom e – anderes A lphab et
ara
elle
hannah
reliefpfeiler
sinnlosolnnis
ε
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 46
Auslassung:
• Induktive D efinition von Satzformen
• B ew eis durch Induktion uber Satzformen
• B ew eis durch Induktion uber die L ange einer Ableitung
• B ew eis durch Induktion uber die W ortlange
Siehe: D ie vollen Folien zur V orlesung AFS, Sommersemester
2004.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 47
Uber korrekte Klammerausdrucke fruher gezeigt:
Wenn w kKA ist, dann gilt:
(∗) |w|0 = |w|1 und fur jedes P rafix u von w gilt |u|0 ≥ |u|1.
Beim Lesen von w von links nach rechts passiert es nie,
dass man mehr Einsen als N ullen gesehen hat.
B ehauptung: Wenn w (∗) erfullt, dann ist w kKA.
D.h.: (∗) charak terisiert die Menge kKA.
Beweis: H ier weggelassen.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 48
Proposition
Fur G = ({S}, {0, 1}, S, P ) mit Produktionen
S → ε | SS | 0S1
gilt:
kKA = L(G).
Beweis:”⊆“: Induktion uber den Aufbau von kKA (Tafel)
Beispiel: Finde Ableitung fur 010010101011.
”⊇“: Durch Induktion uber die Lange der Ableitung von w
zeige:
jede Satzform α erfullt (eine Verallgemeinerung von) (∗).
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 49
4. 2 Ableitungsbaume, L inksableitungen,
R echtsableitungen
Beispiel:
S → ε | SS | 0S1
Ableitung:
S ⇒ SS ⇒ SSS ⇒ S0S1S
⇒ S01S ⇒ 0S101S ⇒ 0S101S ⇒ 0101S ⇒ 0101 .
Schrittweiser Umbau:
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 50
T :6 T :
7
_S
_S
_S
_S
_S
_S
_S
T :2
T :1
T0
:
T :3
T :4
T :5
S
S
S S
0 1
S
S
S
S
S
S
S
ε
ε
0 1
ε
ε
0 1
S
S
S S
S
S0 1
S0 1
ε
ε ε
S
S
S
S
S
S
S
S S
S
S0 1
S
S
S S
S0 1
S0 1
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 51
Ableitung:
S ⇒ SS ⇒ SSS ⇒ 0S1SS ⇒ 0S1S ⇒ 01S ⇒ 010S1 ⇒ 0101
liefert denselben Baum als Endresultat.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 52
Ableitung
S ⇒ SS ⇒ SSS ⇒ SS ⇒ 0S1S ⇒ 01S ⇒ 010S1 ⇒ 0101
liefert:
S
S
ε
S0 1
S
ε
S
S0 1
ε
S
Anderer Baum!
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 53
Beispiel: 〈expr〉-G rammatik
Arithmetische Ausdrucke mit Prioritaten
〈facto r 〉 → num | (〈ex p r 〉)
〈term 〉 → 〈term 〉 * 〈facto r 〉
| 〈term 〉 / 〈facto r 〉
| 〈facto r 〉
〈ex p r 〉 → 〈ex p r 〉 + 〈term 〉
| 〈ex p r 〉 - 〈term 〉
| 〈term 〉
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 54
Beispiel: 〈expr〉-Grammatik
Wort aus L(G):
(num-num*num/num)/num+num*num/num-num
Baue Ableitung und konstruiere Baum!
Liefert:
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 55
<factor>
num
+
num
/
*
num
)(
/
num
−
num
−
num
num
num
/
*
num
<expr>
<term>
<term>
<term>
<expr>
<expr>
<term>
<term>
<term> <expr>
<expr><term>
<term>
<term>
<term>
<factor>
<factor>
<factor>
<factor>
<factor>
<factor>
<factor>
<factor>
<factor>
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 56
num-num-num-num*num liefert
<factor>
−
num
<term>
<factor>
−
−
num
<term>
<factor>
num
<term>
<factor>
num
*
num
<expr>
<expr>
<expr>
<term>
<term>
<expr>
<factor>
FG KTuEA, TU Ilm e n a u Rep e tito rium AFS – 07.06.05 57
Ableitungsbaum fur Satzform:
<factor>
+
/
*
/
num
−
num
<expr>
<term>
<term>
<term>
<expr>
<term>
<term>
<term> <expr><factor>
<factor> <factor>
<factor>
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 58
Definition:
Ein Ableitungsbaum/Syntaxbaum T ist ein gerichte-
ter, geordneter B aum m it W urzel, d essen Knoten mit
B uc h staben aus V ∪ Σ od er mit ε besc h riftet sind , w obei:
(I) W urzel mit S besc h riftet,
(II) Knoten v mit a ∈ Σ od er mit ε besc h riftet ⇒ v ist B latt
(III) N ic h t-B latt v mit A ∈ V besc h riftet ⇒
(i) N ac h folgerknoten v1, . . . ,vr von v sind mit X1, . . . ,Xr ∈
Σ ∪ V besc h riftet; A → X1 · · · Xr ist Prod uktion in P ,
od er
(ii) v h at genau einen N ac h folger v′, mit ε besc h riftet,
A → ε ist Prod uktion
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 59
α(T ):”Ergebnis“ /
”R esultat“ /
”Blattw ort“ von T :
das Wort uber V ∪ Σ, das sich beim L esen der Blatter von T
von links nach rechts ergibt.
<factor>
+
/
*
/
num
−
num
<expr>
<term>
<term>
<term>
<expr>
<term>
<term>
<term> <expr><factor>
<factor> <factor>
<factor>
α(T ) = 〈facto r 〉 /num + 〈facto r 〉 * 〈facto r 〉 / 〈te rm 〉 -num
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 60
ε’s werden verschluckt:
S
S
ε
S0 1
S
ε
S
S0 1
ε
S
α(T ) = 0101
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 61
Extremfall: α(T ) = ε
S
ε
S
S S S
S S
ε ε
ε ε
S
S
X-Ableitungsbaum e: analog d efinie rt,
W u rz e lb e sc h riftu ng X ∈ V ∪ Σ
F G K T u E A , T U Ilm enau Rep e titoriu m A F S – 07.06.05 62
Lem m a
G kfG ⇒ fur X ∈ V ∪ Σ und α ∈ (V ∪ Σ)∗ sind aq uivalent:
(i) X∗
⇒ α;
(ii) α = α(T ) fur einen X-Ableitungsbaum T .
D .h.:
α ist Satzfo rm von G ⇔
∃ (S-)Ableitungsbaum T mit α(T ) = α
und
w ∈ L(G) ⇔ w ∈ Σ∗ und es gibt einen Ableitungsbaum T
mit α(T ) = w.
B e w e is: Konstruktionen. Siehe B eispiele, Ubungen.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 63
Insbesondere”(ii) ⇒ (i)“ :
Beispiel:
S
S0 1
S0 1
ε
S
S
ε
S0 1
S
ε
S
S ⇒ SS ⇒ SSS ⇒ SS ⇒ 0S1S ⇒ 01S ⇒ 010S1 ⇒
0100S11 ⇒ 010011.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 64
Ableitungsbaum / Syntaxbaum enthalt
Struk turinformation
Beispiel: Arithmetische Ausdrucke
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 65
<factor>
−
num
<term>
<factor>
−
−
num
<term>
<factor>
num
<term>
<factor>
num
*
num
<expr>
<expr>
<expr>
<term>
<term>
<expr>
<factor>
Teilbaume – Teilausdrucke – Prioritatsregeln
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 66
Linksableitungen — R echtsableitungen
Beispiele:
S ⇒ SS ⇒ 0S1S ⇒ 00S11S ⇒ 0011S ⇒ 00110S1 ⇒ 001101
ist Linksableitung,
S ⇒ SS ⇒ S0S1 ⇒ S01 ⇒ 0S101 ⇒ 00S1101 ⇒ 001101
ist R echtsableitung.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 67
Definition
Ableitung S = α0 ⇒ α1 ⇒ · · · ⇒ αr = w ∈ Σ∗
(N B: w besteht aus Terminalzeichen) heiß t
Linksableitung,
w enn beim Ubergang αs ⇒ αs+1
auf die am w eitesten links stehende V ariable in αs eine Pro-
duktion angew endet w ird: in
Y1 · · · Ys A Z1 · · · Zt ⇒ Y1 · · · Ys X1 · · · Xr Z1 · · · Zt
sind Y1, . . . ,Ys T erminalzeichen.
Rechtsableitungen: Z1, . . . ,Zt Terminalzeichen
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 68
S ⇒ SS ⇒ SSS ⇒ S0S1S ⇒ 0S1S ⇒ 0S10S1 ⇒ 010S1 ⇒ 0101
ist weder L inks- noch Rechtsableitung.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 69
Behauptung:
Ableitungsbaume und Linksableitungen fur w entsprechen ein-
ander eineindeutig.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 70
BeispielLinksableitungen fur 010101:
S ⇒ SS ⇒ 0S1S ⇒ 01S ⇒ 01SS ⇒ 010S1S ⇒
0101S ⇒ 01010S1 ⇒ 010101,
S ⇒ SS ⇒ SSS ⇒ 0S1SS ⇒ 01SS ⇒ 010S1S ⇒
0101S ⇒ 01010S1 ⇒ 010101,
Baume:
S
S
S0 1
ε
S
S
S
S0 1
ε
S
S0 1
ε
S
S0 1
ε
S
S
S0 1
ε
S
S0 1
ε
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 71
Behauptung:
Able itu n gsba u m e u n d L in ksa ble itu n ge n fu r w e n tsp re c h e n e in -
a n d e r e in e in d e u tig.
Beweis:
Au s L in ksa ble itu n g LA kon stru ie re Able itu n gsba u m TLA
V e rsc h ie d e n e L in ksa ble itu n ge n e rgebe n ve rsc h ie d e n e Able i-
tu n gsba u m e
Also: LA 7→ TLA ist injek tiv.
Au s be liebige m Able itu n gsba u m T e rh a lte L in ksa ble itu n g
LA(T ).
D a n n : TLA(T ) = T . — Also: LA 7→ TLA ist surjek tiv.
An a loge Argu m e n ta tion fu r Re c h tsa ble itu n ge n .
F G K T u E A, T U Ilm e n a u Rep e titoriu m AF S – 07.06.05 72
Definition
kf G rammatik G heiß t mehrdeutig, w enn es w ∈ L(G) gibt,
das z w ei verschiedene Ableitungsbaume besitzt.
G heiß t eindeutig, w enn jedes W ort w ∈ L(G) genau einen
A bleitungsbaum besitzt.
Eine kontextfreie Sp rache L heiß t inharent mehrdeutig,
w enn jede kontextfreie G rammatik G mit L = L(G) mehr-
deutig ist.
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 73
Beisp iele:
mehrdeutig: S → ε | SS | 0S1
eindeutig: S → ε | 0S1
eindeutig: die 〈ex p r 〉-Grammatik
Inharent mehrdeutig:
L := {anb
nc
m | n ,m ∈ N} ∪ {amb
nc
n | n ,m ∈ N}
Klammersprache kKA ist nicht inharent mehrdeutig!
Grammatik G mit L(G) = kKA:
Produktionen S → ε | 0S1S ist eindeutig
FG KTuEA, TU Ilmenau Repetitorium AFS – 07.06.05 74
Recommended