2.4 Kontextsensitive und Typ 0-Sprachen - Universität Kassel
2.4 Kontextsensitive und Typ 0-Sprachen - Universität Kassel
2.4 Kontextsensitive und Typ 0-Sprachen - Universität Kassel
- Keine Tags gefunden...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Definition <strong>2.4</strong>3<br />
Eine <strong>Typ</strong> 1 Grammatik ist in Kuroda Normalform, falls alle Regeln eine<br />
der folgenden 4 Formen haben:<br />
Dabei: A, B, C, D ∈ V <strong>und</strong> a ∈ Σ.<br />
Satz <strong>2.4</strong>4<br />
A → a, A → B, A → BC, AB → CD.<br />
Für jede <strong>Typ</strong> 1 Grammatik G mit ε ∉ L(G) gibt es eine Grammatik G ′ in<br />
Kuroda Normalform mit L(G) = L(G ′ ).<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 286 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Beweis:<br />
G = (V,Σ, P, S) mit ε ∉ L(G).<br />
(1.) Terminalzeichen nur in Regeln der Form A → a.<br />
(2.) Regel A → B 1 B 2 . ..B k (k > 2) :<br />
A → B 1 C 2 , C 2 → B 2 C 3 , ...,C k−1 → B k−1 B k<br />
mit neuen Variablen C 2 , ...,C k−1 .<br />
(3.) Regel A 1 . ..A m → B 1 . ..B n (m + n > 4) :<br />
A 1 A 2 → B 1 C 2 C m → B m C m+1<br />
C 2 A 3 → B 2 C 3 C m+1 → B m+1 C m+2<br />
.<br />
.<br />
C m−1 A m → B m−1 C m C n−1 → B n−1 B n<br />
mit neuen Variablen C 2 , ...,C n−1<br />
✷<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 287 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Turingmaschine (TM) (vgl. Kapitel 1)<br />
unendliches Band<br />
. . .<br />
✷ ✷ ✷ ✷ a b c # 0 1 1 0 ✷ ✷<br />
Lese-/Schreibkopf<br />
. . .<br />
endliche<br />
Kontrolleinheit<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 288 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Definition <strong>2.4</strong>5<br />
Eine nicht-deterministische Turingmaschine (NTM) ist gegeben durch<br />
ein 7-Tupel M = (Z,Σ,Γ, δ, z 0 ,✷, E):<br />
– Z endliche Zustandsmenge<br />
– Σ Eingabealphabet<br />
– Γ ⊃ Σ Arbeitsalphabet<br />
– z 0 ∈ Z Startzustand<br />
– ✷ ∈ Γ Σ Blank (Leerzeichen)<br />
– E ⊆ Z Endzustände<br />
– δ : Z × Γ → P(Z × Γ × {L, R, N}) Überführungsrelation<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 289 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Definition <strong>2.4</strong>6<br />
Eine Konfiguration der NTM M ist ein Wort k ∈ Γ ∗ ZΓ + . k deckt den von<br />
✷ verschiedenen Teil des Bandes ab.<br />
Beispiel:<br />
10zabc ⊢ 1z ′ 0bbc<br />
Startkonfiguration für Eingabe x ∈ Σ ∗ :<br />
z 0 x<br />
Definition <strong>2.4</strong>7<br />
Berechnungsrelation ⊢ :<br />
a 1 . ..a m zb 1 . ..b n ⊢<br />
⎧<br />
⎪⎨ a 1 . ..a m z ′ cb 2 . ..b n falls (z ′ , c, N) ∈ δ(z, b 1 ) (m ≥ 0, n ≥ 1)<br />
a 1 . ..a m cz ′ b 2 . ..b n falls (z ′ , c, R) ∈ δ(z, b 1 ) (m ≥ 0, n ≥ 2)<br />
⎪⎩<br />
a 1 . ..a m−1 z ′ a m cb 2 . ..b n falls (z ′ , c, L) ∈ δ(z, b 1 ) (m ≥ 1, n ≥ 1)<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 290 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Sonderfälle:<br />
a 1 . ..a m zb 1 ⊢ a 1 . ..a m cz ′ ✷ falls (z ′ , c, R) ∈ δ(z, b 1 ).<br />
zb 1 . ..b n ⊢ z ′ ✷cb 2 . ..b n falls (z ′ , c, L) ∈ δ(z, b 1 ).<br />
Die Relation ⊢ ist im Allgemeinen nicht-deterministisch!<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 291 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Definition <strong>2.4</strong>8<br />
Die von einer NTM M = (Z,Σ,Γ, δ, z 0 ,✷, E) akzeptierte Sprache ist<br />
definiert als<br />
T(M) := { x ∈ Σ ∗ | z 0 x ⊢ ∗ αzβ (α,β ∈ Γ ∗ , z ∈ E) }.<br />
Satz <strong>2.4</strong>9<br />
Zu jeder NTM M gibt es eine deterministische TM M ′ , sodass<br />
T(M ′ ) = T(M) gilt.<br />
Beweis:<br />
Eingabe: M = (Z,Σ,Γ, δ, z 0 ,✷, E) eine NTM mit |δ(z, a)| ≤ k<br />
für alle z ∈ Z, a ∈ Γ<br />
Ziel:<br />
Eine TM M ′ , die alle Rechnungen von M der Länge ≤ l<br />
zur Eingabe x ∈ Σ ∗ durchführt.<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 292 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Verfahren<br />
1. Numeriere die Elemente von δ(z, a) von 0 bis r − 1, r ≤ k, fest<br />
durch (für alle z, a).<br />
Ist (z, a) aktuell, so sind also r Rechenschritte möglich.<br />
2. Zu 0 ≤ z ≤ k l sei z l−1 . ..z 1 z 0 die k-näre Darstellung von z, also<br />
z = l−1 ∑<br />
z i k i , 0 ≤ z i < k.<br />
i=0<br />
Dann beschreibt z folgende Rechnung der Länge l: Führe im i-ten<br />
Schritt den z i -ten Befehl von δ(z, a) aus, falls (z, a) aktuell ist. Hat<br />
δ(z, a) weniger als z i Schritte, so stoppe.<br />
3. Das Band habe 3 Spuren: Auf Spur 1 steht x ∈ Σ ∗ . Auf Spur 2<br />
wird gezählt, z = 0 bis z = k l − 1. Auf Spur 3 wird zum z auf<br />
Spur 2 die Rechnung ausgeführt. Zur festen Eingabe x ∈ Σ ∗ gibt<br />
es O(k l ) Rechnungen von M der Länge ≤ l.<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 293 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Damit kann M ′ die Sprache T(M) wie folgt akzeptieren:<br />
Eingabe: x ∈ Σ ∗ ;<br />
l := 1;<br />
LOOP: simuliere alle Rechnungen von M der Länge ≤ l<br />
zur Eingabe x;<br />
if keine dieser Rechnungen akzeptiert then l := l + 1;<br />
goto LOOP<br />
else halt <strong>und</strong> accept.<br />
Dann gilt T(M ′ ) = T(M).<br />
✷<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 294 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
Linear beschränkte TM (LBA)<br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
a<br />
b<br />
b<br />
a<br />
b<br />
b<br />
a<br />
Lese-/Schreibkopf<br />
endliche<br />
Kontrolleinheit<br />
Definition 2.50<br />
Eine nichtdeterministische TM M heißt linear beschränkt, wenn für alle<br />
a 1 a 2 . ..a n−1 a n ∈ Σ + <strong>und</strong> alle Konfigurationen αzβ mit<br />
z 0 a 1 a 2 . ..a n−1 â n ⊢ ∗ αzβ folgendes gilt:<br />
Hierbei ist Σ ′ := Σ ∪ { â | a ∈ Σ }.<br />
|αβ| = n.<br />
T(M) := { a 1 . ..a n−1 a n ∈ Σ ∗ | z 0 a 1 . ..a n−1 â n ⊢ ∗ αzβ<br />
(α,β ∈ Γ ∗ , z ∈ E) }.<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 295 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Satz 2.51 (Kuroda)<br />
Die von linear beschränkten, nichtdeterministischen TMen (LBAs)<br />
akzeptierten <strong>Sprachen</strong> sind genau die kontextsensitiven <strong>Sprachen</strong>.<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 296 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Beweis:<br />
“⇐”:<br />
Sei L = L(G), G = (V,Σ, P, S) eine <strong>Typ</strong> 1-Grammatik.<br />
Eine TM M, die L akzeptiert:<br />
Eingabe: x = a 1 a 2 . ..a n−1 a n ∈ Σ + .<br />
(W) wähle nichtdet. eine Regel (u → v) ∈ P aus;<br />
suche ein Vorkommen von v auf dem Band;<br />
if gef<strong>und</strong>en then ersetze v durch u;<br />
(beachte: |u| ≤ |v|)<br />
if Bandinhalt = S then accept<br />
else goto (W)<br />
Dann gilt:<br />
x ∈ L(G) gdw.<br />
gdw.<br />
gdw.<br />
∃Ableitung S ⇒ . .. ⇒ x<br />
∃Rechnung von M, die eine Ableitung<br />
S ⇒ . .. ⇒ x in umgekehrter Reihenfolge konstruiert<br />
x ∈ T(M).<br />
Offensichtlich ist M linear beschränkt.<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 297 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
“⇒”: Sei L = T(M) für eine linear beschränkte TM M.<br />
Eine kontextsensitive Grammatik G = (V,Σ, P, S) für L:<br />
Sei ∆ := Γ ∪ (Z × Γ) :<br />
Konfiguration k:<br />
Beschreibung ˜k:<br />
. . .<br />
a<br />
b<br />
c<br />
d<br />
. . .<br />
a(z, b)cd ∈ ∆ +<br />
z<br />
Hilfsregeln P ′ (Simulation):<br />
(z ′ , b, L) ∈ δ(z, a) : c(z, a) → (z ′ , c)b ∈ P ′ (c ∈ Γ)<br />
(z ′ , b, R) ∈ δ(z, a) : (z, a)c → b(z ′ , c) ∈ P ′ (c ∈ Γ)<br />
(z ′ , b, N) ∈ δ(z, a) : (z, a) → (z ′ , b) ∈ P ′<br />
Dann gilt: ∀ Konfigurationen : k ⊢ ∗ k ′ gdw. ˜k ⇒ ∗ ˜k ′ .<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 298 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
V := {S, A} ∪ (∆ × Σ)<br />
P := { S → A(â, a) | a ∈ Σ } (1)<br />
∪{ A → A(a, a) | a ∈ Σ } (2)<br />
∪{ A → ((z 0 , a), a) | a ∈ Σ } (3)<br />
∪{(α 1 , a)(α 2 , b) → (β 1 , a)(β 2 , b) | α 1 α 2 → β 1 β 2 ∈ P ′ , a, b ∈ Σ } (4)<br />
∪{(α, a) → (β, a) | α → β ∈ P ′ , a ∈ Σ } (5)<br />
∪{((z, a), b) → b | z ∈ E, a ∈ Γ, b ∈ Σ } (6)<br />
∪{(a, b) → b | a ∈ Γ, b ∈ Σ } (7)<br />
S ⇒ ∗ (1−3)<br />
((z 0 , a 1 ), a 1 )(a 2 , a 2 )...(a n−1 , a n−1 )(â n , a n )<br />
⇒ ∗ (4,5)<br />
(γ 1 , a 1 ) . ..(γ k−1 , a k−1 )((z, γ k ), a k )(γ k+1 , a k+1 ) . ..(γ n , a n )<br />
⇒ ∗ (6,7)<br />
a 1 . ..a k−1 a k a k+1 . ..a n .<br />
Also:<br />
x = a 1 . ..a n ∈ T(M) gdw. x ∈ L(G).<br />
Offensichtlich ist G kontextsensitiv.<br />
✷<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 299 / 309
Kapitel 2: Automatentheorie <strong>und</strong> Formale <strong>Sprachen</strong><br />
<strong>2.4</strong> <strong>Kontextsensitive</strong> <strong>und</strong> <strong>Typ</strong> 0-<strong>Sprachen</strong><br />
Satz 2.52<br />
Die durch allgemeine TMen akzeptierbaren <strong>Sprachen</strong> sind genau die<br />
<strong>Typ</strong> 0-<strong>Sprachen</strong>.<br />
LBA-Problem:<br />
Kann jede kontextsensitive Sprache von einer linear beschränkten,<br />
deterministischen TM (DLBA) akzeptiert werden,<br />
d.h. gilt L(LBA) = L(DLBA) <br />
Satz 2.53 (Immerman, Szelepcsényi)<br />
Die Klasse der kontextsensitiven <strong>Sprachen</strong> ist unter<br />
Komplementbildung abgeschlossen.<br />
Prof. Dr. F. Otto (Universität <strong>Kassel</strong>) Berechenbarkeit <strong>und</strong> Formale <strong>Sprachen</strong> 300 / 309