24.01.2015 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • 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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!