• Keine Ergebnisse gefunden

KontextsensitiveundTyp0-Sprachen FormaleSprachenundKomplexit¨at

N/A
N/A
Protected

Academic year: 2021

Aktie "KontextsensitiveundTyp0-Sprachen FormaleSprachenundKomplexit¨at"

Copied!
43
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Sprachen und Komplexit¨ at

Sommersemester 2019

Kontextsensitive und Typ 0-Sprachen

Prof. Dr. David Sabel

LFE Theoretische Informatik

Letzte ¨Anderung der Folien: 29. Juni 2019

(2)

Inhalt

Typ 1- und Typ 0-Sprachen

Maschinenmodelle, die dazu passen

Turingmaschinen und linear beschr¨ ankte Turingmaschinen LBA-Probleme

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 2/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(3)

Erinnerung: Typ 1- und Typ 0-Sprachen

Typ 1: |`| ≤ |r| f¨ ur alle Produktionen ` → r Typ 1-Grammatik = kontextsensitive Grammatik aber (im Gegensatz zu Typ 2): ` ∈ (Σ ∪ V )

+

Typ 0: alles erlaubt

In manchen B¨ uchern werden unsere Typ 1-Grammatik auch monotone Grammatiken genannt

In manchen B¨ uchern wird f¨ ur kontextsensitive Grammatiken

gefordert: Produktionen von der Form α

1

2

→ α

1

α

3

α

2

mit

α

3

6= ε

(4)

Kuroda-Normalform f¨ ur Typ 1-Sprachen

(benannt nach dem japanischen Linguisten Sige-Yuki Kuroda) Definition

Eine Typ 1-Grammatik G = (V, Σ, P, S) ist in Kuroda-Normalform, falls alle Produktionen in P einer der folgenden vier Formen entsprechen:

A → a A → B A → BC AB → CD

wobei a ∈ Σ und A, B, C, D ∈ V . Bemerkung: Die Kuroda-Normalform

” erweitert“ kontextfreie Grammatiken um Regeln der Form AB → CD.

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 4/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(5)

Herstellen der Kuroda-Normalform

Satz

Sei L eine kontextsensitive Sprache mit ε 6∈ L. Dann gibt es eine Grammatik in Kuroda-Normalform, die L erzeugt.

Beweis: Algorithmus 10 (n¨ achste Folie) bewerkstelligt dies.

(6)

Algorithmus 10: Herstellung der Kuroda-Normalform

Eingabe:Eine Typ 1-GrammatikG= (V,Σ, P, S)mitε6∈L(G)

Ausgabe:Eine Typ 1-Grammatik in Kuroda-Normalform dieL(G)erzeugt.

Beginn

ur alleaΣtue

/* F¨uhre neue VariableAauraein, und ersetze Vorkommen vonadurch das Nichtterminal */

G:= (V∪{A· a},Σ,{`[Aa/a]r[Aa/a]|`rP}, S);

/* Nun sind alle Regeln von der FormAaoderA1· · ·AmB1· · ·BnmitAi, BjV */

ur alleAB1· · ·BnP mitn >2tue SeienC1, . . . , Cn−2neue Variablen;

V :=V∪{C· 1, . . . , Cn−2};

/* Ersetze inPdie ProduktionAB1· · ·Bndurch neue Regeln */

P:=(P\ {AB1· · ·Bn})

∪{AB1C1} ∪ {CiBi+1Ci+1|i= 1, . . . , n3} ∪ {Cn−2Bn−1Bn};

ur alleA1· · ·AmB1· · ·BnPmitm >2odern >2tue SeienD2, . . . , Dn−1neue Variablen;

V :=V∪{D· 2, . . . , Dn−1};

/* Ersetze inPdie ProduktionA1· · ·AmB1· · ·Bndurch neue Regeln */

P:=(P\ {A1· · ·AmB1· · ·Bn})

∪{A1A2B1D2} ∪ {DiAi+1BiDi+1|i= 2, . . . , m1}

∪{DiBiDi+1|i=m, . . . , n2} ∪ {Dn−1Bn−1Bn} Gebe die so entstandene Grammatik aus;

Entfernt alleaΣaus den Regeln bis auf neueAa-Regeln

“Zerhacken” von rechten Seiten wie bei Chomsky-NF Effekt:

Ableitung vorher: xA1· · ·Amy

xB1· · ·Bny Ableitung nachher:

xA1A2· · ·Amy

xB1D2A3· · ·Amy

xB1B2D3A4· · ·Amy

. . .

xB1· · ·Bm−2Dm−1Amy

xB1· · ·Bm−1Dmy

xB1· · ·Bm−1BmDm+1y

. . .

xB1· · ·Bn−2Dn−1y

xB1· · ·Bn−2Bn−1Bny

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 6/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(7)

Algorithmus 10: Herstellung der Kuroda-Normalform

Eingabe:Eine Typ 1-GrammatikG= (V,Σ, P, S)mitε6∈L(G)

Ausgabe:Eine Typ 1-Grammatik in Kuroda-Normalform dieL(G)erzeugt.

Beginn

ur alleaΣtue

/* F¨uhre neue VariableAauraein, und ersetze Vorkommen vonadurch das Nichtterminal */

G:= (V∪{A· a},Σ,{`[Aa/a]r[Aa/a]|`rP}, S);

/* Nun sind alle Regeln von der FormAaoderA1· · ·AmB1· · ·BnmitAi, BjV */

ur alleAB1· · ·BnP mitn >2tue SeienC1, . . . , Cn−2neue Variablen;

V :=V∪{C· 1, . . . , Cn−2};

/* Ersetze inPdie ProduktionAB1· · ·Bndurch neue Regeln */

P:=(P\ {AB1· · ·Bn})

∪{AB1C1} ∪ {CiBi+1Ci+1|i= 1, . . . , n3} ∪ {Cn−2Bn−1Bn};

ur alleA1· · ·AmB1· · ·BnPmitm >2odern >2tue SeienD2, . . . , Dn−1neue Variablen;

V :=V∪{D· 2, . . . , Dn−1};

/* Ersetze inPdie ProduktionA1· · ·AmB1· · ·Bndurch neue Regeln */

P:=(P\ {A1· · ·AmB1· · ·Bn})

∪{A1A2B1D2} ∪ {DiAi+1BiDi+1|i= 2, . . . , m1}

∪{DiBiDi+1|i=m, . . . , n2} ∪ {Dn−1Bn−1Bn} Gebe die so entstandene Grammatik aus;

Entfernt alleaΣaus den Regeln bis auf neueAa-Regeln

“Zerhacken” von rechten Seiten wie bei Chomsky-NF

Effekt: Ableitung vorher:

xA1· · ·Amy

xB1· · ·Bny Ableitung nachher:

xA1A2· · ·Amy

xB1D2A3· · ·Amy

xB1B2D3A4· · ·Amy

. . .

xB1· · ·Bm−2Dm−1Amy

xB1· · ·Bm−1Dmy

xB1· · ·Bm−1BmDm+1y

. . .

xB1· · ·Bn−2Dn−1y

xB1· · ·Bn−2Bn−1Bny

(8)

Algorithmus 10: Herstellung der Kuroda-Normalform

Eingabe:Eine Typ 1-GrammatikG= (V,Σ, P, S)mitε6∈L(G)

Ausgabe:Eine Typ 1-Grammatik in Kuroda-Normalform dieL(G)erzeugt.

Beginn

ur alleaΣtue

/* F¨uhre neue VariableAauraein, und ersetze Vorkommen vonadurch das Nichtterminal */

G:= (V∪{A· a},Σ,{`[Aa/a]r[Aa/a]|`rP}, S);

/* Nun sind alle Regeln von der FormAaoderA1· · ·AmB1· · ·BnmitAi, BjV */

ur alleAB1· · ·BnP mitn >2tue SeienC1, . . . , Cn−2neue Variablen;

V :=V∪{C· 1, . . . , Cn−2};

/* Ersetze inPdie ProduktionAB1· · ·Bndurch neue Regeln */

P:=(P\ {AB1· · ·Bn})

∪{AB1C1} ∪ {CiBi+1Ci+1|i= 1, . . . , n3} ∪ {Cn−2Bn−1Bn};

ur alleA1· · ·AmB1· · ·BnPmitm >2odern >2tue SeienD2, . . . , Dn−1neue Variablen;

V :=V∪{D· 2, . . . , Dn−1};

/* Ersetze inPdie ProduktionA1· · ·AmB1· · ·Bndurch neue Regeln */

P:=(P\ {A1· · ·AmB1· · ·Bn})

∪{A1A2B1D2} ∪ {DiAi+1BiDi+1|i= 2, . . . , m1}

∪{DiBiDi+1|i=m, . . . , n2} ∪ {Dn−1Bn−1Bn} Gebe die so entstandene Grammatik aus;

Entfernt alleaΣaus den Regeln bis auf neueAa-Regeln

“Zerhacken” von rechten Seiten wie bei Chomsky-NF Effekt:

Ableitung vorher:

xA1· · ·Amy

xB1· · ·Bny Ableitung nachher:

xA1A2· · ·Amy

xB1D2A3· · ·Amy

xB1B2D3A4· · ·Amy

. . .

xB1· · ·Bm−2Dm−1Amy

xB1· · ·Bm−1Dmy

xB1· · ·Bm−1BmDm+1y

. . .

xB1· · ·Bn−2Dn−1y

xB1· · ·Bn−2Bn−1Bny

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 6/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(9)

Motivation f¨ ur Turingmaschinen

Einschr¨ ankungen der Kellerautomaten

PDAs erkennen genau die CFLs, daher m¨ ussen Automaten f¨ ur Typ 1- und Typ 2-Sprachen

” mehr k¨ onnen“

Wesentliche Beschr¨ ankung bei PDAs: Zugriff auf Speicher nur von oben m¨ oglich

Z.B. kann man {a

i

b

i

c

i

| i ∈

N>0

} nicht mit PDA erkennen, da man die Anzahl i

. . . beim Lesen dera0sim Keller speichert;

. . . beim Lesen derb0svergleichen muss und das geht nur durch sukzessives Entnehmen aus dem Keller;

beim Lesen derc0snicht mehr hat!

Mit beliebigem Lesen des Speichers w¨ are es kein Problem,

a

i

b

i

c

i

zu erkennen.

(10)

Turingmaschine:Illustration

· · · a

1

a

2

a

3

· · · a

n

· · · Band mit Feldern

(nach links und rechts unbeschr¨ ankt) Schreib-Lesekopf

(Bewegung nach links/rechts m¨ oglich)

endliche Steuerung

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 8/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(11)

Formale Definition der Turingmaschine

Definition (Turingmaschine)

Eine Turingmaschine (TM) ist ein 7-Tupel M = (Z, Σ, Γ, δ, z

0

,

2

, E) mit Z ist eine endliche Menge von Zust¨ anden,

Σ ist das (endliche) Eingabealphabet, Γ ⊃ Σ ist das (endliche) Bandalphabet, δ ist die Zustands¨ uberf¨ uhrungsfunktion

deterministische TM (DTM):

δ : Z × Γ → Z × Γ × {L, R, N }, nichtdeterministische TM (NTM):

δ : Z × Γ → P(Z × Γ × {L, R, N }) z

0

∈ Z ist der Startzustand,

2

∈ Γ \ Σ ist das Blank-Symbol

E ⊆ Z ist die Menge der Endzust¨ ande.

(12)

Zustandswechsel, informell

DTM:

Ein Eintrag δ(z, a) = (z

0

, b, x) bedeutet:

Falls die TM im Zustand z ist und das Zeichen a an der aktuellen Position des Schreib-Lesekopfs ist, dann

Wechsele in Zustand z

0

Ersetze a durch b auf dem Band

Falls x = L: Verschiebe den Schreib-Lesekopf ein Position nach links Falls x = R: Verschiebe den Schreib-Lesekopf ein Position nach rechts Falls x = N : Lasse Schreib-Lesekopf unver¨ andert (Neutral)

NTM:

δ(z, a) ist eine Menge solcher m¨ oglichen Schritte, und die NTM macht in einem Lauf irgendeinen davon (nichtdeterministisch)

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 10/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(13)

Zustandswechsel, informell

DTM:

Ein Eintrag δ(z, a) = (z

0

, b, x) bedeutet:

Falls die TM im Zustand z ist und das Zeichen a an der aktuellen Position des Schreib-Lesekopfs ist, dann

Wechsele in Zustand z

0

Ersetze a durch b auf dem Band

Falls x = L: Verschiebe den Schreib-Lesekopf ein Position nach links Falls x = R: Verschiebe den Schreib-Lesekopf ein Position nach rechts Falls x = N : Lasse Schreib-Lesekopf unver¨ andert (Neutral)

NTM:

δ(z, a) ist eine Menge solcher m¨ oglichen Schritte, und die NTM

macht in einem Lauf irgendeinen davon (nichtdeterministisch)

(14)

Konfigurationen

Definition (Konfiguration einer Turingmaschine)

Eine Konfiguration einer Turingmaschine ist ein Wort k ∈ Γ

D.h. eine Konfiguration ist ein Wort wzw

0

, sodass:

die TM ist im Zustand z,

auf dem Band steht · · ·

22

ww

022

· · · und

der Schreib-Lesekopf steht auf dem ersten Symbol von w

0

Definition (Startkonfiguration einer TM)

F¨ ur ein Eingabewort w ist die Startkonfiguration einer TM M = (Z, Σ, Γ, δ, z

0

,

2

, E) das Wort z

0

w.

Im Spezialfall w = ε ist die Startkonfiguration z

02

D.h. am Anfang steht der Kopf auf dem ersten Symbol der Eingabe.

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 11/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(15)

Konfigurationen

Definition (Konfiguration einer Turingmaschine)

Eine Konfiguration einer Turingmaschine ist ein Wort k ∈ Γ

D.h. eine Konfiguration ist ein Wort wzw

0

, sodass:

die TM ist im Zustand z,

auf dem Band steht · · ·

22

ww

022

· · · und

der Schreib-Lesekopf steht auf dem ersten Symbol von w

0

Definition (Startkonfiguration einer TM)

F¨ ur ein Eingabewort w ist die Startkonfiguration einer TM M = (Z, Σ, Γ, δ, z

0

,

2

, E) das Wort z

0

w.

Im Spezialfall w = ε ist die Startkonfiguration z

02

D.h. am Anfang steht der Kopf auf dem ersten Symbol der

Eingabe.

(16)

Transitionsrelation einer TM

Definition (Transitionsrelation f¨ ur Konfigurationen einer TM) Sei M = (Z, Σ, Γ, δ, z

0

,

2

, E) eine TM. Die Relation `

M

ist definiert durch (wobei δ(z, a) = (z

0

, c, x) f¨ ur eine NTM (z

0

, c, x) ∈ δ(z, a) meint):

b

1

· · · b

m

za

1

· · · a

n

`

M

b

1

· · · b

m

z

0

ca

2

· · · a

n

, wenn δ(z, a

1

) = (z

0

, c, N ), m ≥ 0, n ≥ 1, z 6∈ E b

1

· · · b

m

za

1

· · · a

n

`

M

b

1

· · · b

m−1

z

0

b

m

ca

2

· · · a

n

, wenn δ(z, a

1

) = (z

0

, c, L), m ≥ 1, n ≥ 1, z 6∈ E b

1

· · · b

m

za

1

· · · a

n

`

M

b

1

· · · b

m

cz

0

a

2

· · · a

n

, wenn δ(z, a

1

) = (z

0

, c, R), m ≥ 0, n ≥ 2, z 6∈ E b

1

· · · b

m

za

1

`

M

b

1

· · · b

m

cz

02

,

wenn δ(z, a

1

) = (z

0

, c, R) und m ≥ 0, z 6∈ E za

1

· · · a

n

`

M

z

02ca2

· · · a

n

,

wenn δ(z, a

1

) = (z

0

, c, L) und n ≥ 1, z 6∈ E

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 12/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(17)

Transitionsrelation einer TM (2)

Weitere Notation dazu:

`

iM

: die i-fache Anwendung von `

M

`

M

die reflexiv-transitive H¨ ulle von `

M

Wenn M klar ist, schreiben wir nur `, `

i

, bzw. `

. Bemerkung:

Wir nehmen an, dass die TM anh¨ alt, sobald sie einen Endzustand erreicht.

(Sch¨ oning-Buch erlaubt weiterrechnen)

(18)

Akzeptierte Sprache einer TM

Definition (Akzeptierte Sprache einer TM) Sei M = (Z, Σ, Γ, δ, z

0

,

2

, E) eine TM.

Die von M akzeptierte Sprache L(M ) ist definiert als L(M ) := {w ∈ Σ

| ∃u, v ∈ Γ

, z ∈ E : z

0

w `

M

uzv}

Triviale Beispiele:

F¨ ur Turingmaschinen der Form M = (Z, Σ, Γ, δ, z

0

,

2

, E) mit z

0

∈ E gilt L(M ) = Σ

, denn diese Turingmaschinen

akzeptieren jede Eingabe sofort.

F¨ ur Turingmaschinen der Form M = (Z, Σ, Γ, δ, z

0

,

2

, ∅) gilt L(M) = ∅, denn sie akzeptieren nie.

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 14/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(19)

Akzeptierte Sprache einer TM

Definition (Akzeptierte Sprache einer TM) Sei M = (Z, Σ, Γ, δ, z

0

,

2

, E) eine TM.

Die von M akzeptierte Sprache L(M ) ist definiert als L(M ) := {w ∈ Σ

| ∃u, v ∈ Γ

, z ∈ E : z

0

w `

M

uzv}

Triviale Beispiele:

F¨ ur Turingmaschinen der Form M = (Z, Σ, Γ, δ, z

0

,

2

, E) mit z

0

∈ E gilt L(M ) = Σ

, denn diese Turingmaschinen

akzeptieren jede Eingabe sofort.

F¨ ur Turingmaschinen der Form M = (Z, Σ, Γ, δ, z

0

,

2

, ∅) gilt

L(M) = ∅, denn sie akzeptieren nie.

(20)

Notation als Zustandsgraph

Darstellung analog zu DFA / NFA / PDA F¨ ur (z

0

, b, x) ∈ δ(z, a) zeichnen wir

z z

0

a : (b, x)

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 15/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(21)

Beispiel (aus Sch¨ oning-Buch)

TM M = ({z

0

, z

1

, z

2

, z

3

}, {0, 1}, {0, 1,

2

}, δ, z

0

,

2

, {z

3

}) mit δ(z

0

, 0) = (z

0

, 0, R) δ(z

0

, 1) = (z

0

, 1, R) δ(z

0

,

2) = (z1

,

2, L)

δ(z

1

, 0) = (z

2

, 1, L) δ(z

1

, 1) = (z

1

, 0, L) δ(z

1

,

2

) = (z

3

, 1, N ) δ(z

2

, 0) = (z

2

, 0, L) δ(z

2

, 1) = (z

2

, 1, L) δ(z

2

,

2

) = (z

3

,

2

, R) δ(z

3

, 0) = (z

3

, 0, N ) δ(z

3

, 1) = (z

3

, 1, N ) δ(z

3

,

2) = (z3

,

2, N

) Zustandsgraph:

z0 z1 z2

z3

0 : (0, R), 1 : (1, R) 2: (2, L)

1 : (0, L)

0 : (1, L)

2: (1, N)

0 : (0, L), 1 : (1, L) 2: (2, R)

0 : (0, N), 1 : (1, N), 2: (2, N)

(22)

Beispiel (Forts.)

TM interpretiert Eingabe w ∈ {0, 1}

als Bin¨ arzahl und addiert 1:

In z

0

wird das rechte Ende gesucht, dann in z

1

gewechselt In z

1

wird versucht 1 zur aktuellen Ziffer hinzu zu addieren:

Gelingt das ohne ¨ Ubertrag, dann in z

2

Bei ¨ Ubertrag: Weitermachen in z

1

und +1 zur n¨ achsten Ziffer links In z

2

: bis zum Anfang links laufen, dann in z

3

.

In z

3

wird akzeptiert.

z0 z1 z2

z3

0 : (0, R), 1 : (1, R) 2: (2, L)

1 : (0, L)

0 : (1, L)

2: (1, N)

0 : (0, L), 1 : (1, L) 2: (2, R)

0 : (0, N), 1 : (1, N), 2: (2, N)

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 17/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(23)

Beispiellauf

z0 z1 z2

z3

0 : (0, R), 1 : (1, R) 2: (2, L)

1 : (0, L)

0 : (1, L)

2: (1, N)

0 : (0, L), 1 : (1, L) 2: (2, R)

0 : (0, N), 1 : (1, N), 2: (2, N)

z

0

0011

` 0z

0

011

` 00z

0

11

` 001z

0

1

` 0011z

02

` 001z

1

1

2

` 00z

1

10

2

` 0z

1

0002

` z

2

0100

2

` z

2

0100

2

` z

2201002

`

2

z

3

0100

2

(24)

LBAs: Spezielle Turingmaschinen

Ideen und Notationen:

Linear beschr¨ ankte Turingmaschinen:

Schreib-Lesekopf darf den

Bereich der Eingabe

auf dem Band

nicht verlassen

Zum Erkennen des Endes:

Letztes Symbol der Eingabe wird markiert Kopie des Alphabets:

F¨ ur Alphabet Σ = {a

1

, . . . , a

n

} bezeichne Σ =

b

{

b

a

1

, . . . ,

b

a

n

}.

Eingabe bei LBAs: Statt a

1

· · · a

m

nun a

1

· · · a

m−1b

a

m

TM arbeitet auf Σ

0

= Σ ∪ Σ

b

Linkes Ende muss die Maschine selbst markieren!

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 19/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(25)

LBAs: Definition

Definition (LBA)

Eine NTM M = (Z, Σ ∪ Σ,

b

Γ, δ, z

0

,

2

, E) heißt linear beschr¨ ankt (LBA, linear bounded automaton), wenn f¨ ur alle a

1

· · · a

m

∈ Σ

+

und

alle Konfigurationen uzv

mit z

0

a

1

· · · a

m−1b

a

m

`

M uzv

gilt:

|uv| ≤m.

Die akzeptierte Sprache eines LBA M ist L(M ) :=

a

1

· · · a

m

∈ Σ

z

0

a

1

· · · a

m−1b

a

m

`

M

uzv, wobei u, v ∈ Γ

und z ∈ E

Beachte: LBAs sind NTMs

(26)

Kontextsensitive Sprachen durch LBAs erkennbar

Satz

Jede kontextsensitive Sprache wird von einem LBA erkannt.

Beweis:

Sprache sei als G = (V, Σ, P, S) in Kuroda-Normalform gegeben.

Konstruiere TM mit Bandalphabet ((Σ ∪ V ) ∪ Σ

\

∪ V ∪

2

) ⊆ Γ Zur einfacheren Illustration unterscheiden wir nicht zwischen a und

b

a und schreiben a auch f¨ ur den letzten Buchstaben der Eingabe, aber:

Wir gehen davon aus, dass der LBA entsprechend programmiert ist, die notwendigen Ersetzungen zu machen.

Die TM versucht nichtdeterministisch f¨ ur w ∈ Σ

das Startsymbol S der Grammatik r¨ uckw¨ arts herzuleiten, durch r¨ uckw¨ arts Anwenden der Produktionen ` → r ∈ P : ersetze Vorkommen von r durch ` . . .

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 21/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(27)

Kontextsensitive Sprachen durch LBAs erkennbar (2)

F¨ ur Produktionen A → a, A → B, AB → CD kann man direkt ersetzen, f¨ ur den Fall A → BC wird BC durch

2

A ersetzt und dann alle Zeichen von links um eins nach rechts verschoben.

Akzeptiere, wenn Startsymbol S alleine auf dem Band steht.

Nichtdeterminismus: Welche Produktion wird r¨ uckw¨ arts angewendet und f¨ ur welches Vorkommen einer rechten Seite.

Suche nach einer rechter Seite r:

Beginne links an der Eingabe und laufe diese durch.

Speichere im aktuellen Zustand: Symbol links vom Schreib-Lesekopf

Entscheide mit dem aktuellen Symbol, ob es passende Produktion

gibt (da rechte Seiten von Produktionen in Kuroda-Normalform aus

maximal 2 Zeichen bestehen, gen¨ ugt dies).

(28)

Kontextsensitive Sprachen durch LBAs erkennbar (2)

F¨ ur Produktionen A → a, A → B, AB → CD kann man direkt ersetzen, f¨ ur den Fall A → BC wird BC durch

2

A ersetzt und dann alle Zeichen von links um eins nach rechts verschoben.

Akzeptiere, wenn Startsymbol S alleine auf dem Band steht.

Nichtdeterminismus: Welche Produktion wird r¨ uckw¨ arts angewendet und f¨ ur welches Vorkommen einer rechten Seite.

Suche nach einer rechter Seite r:

Beginne links an der Eingabe und laufe diese durch.

Speichere im aktuellen Zustand: Symbol links vom Schreib-Lesekopf Entscheide mit dem aktuellen Symbol, ob es passende Produktion gibt (da rechte Seiten von Produktionen in Kuroda-Normalform aus maximal 2 Zeichen bestehen, gen¨ ugt dies).

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 22/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(29)

Kontextsensitive Sprachen durch LBAs erkennbar (3)

Ersetzung r durch `:

F¨ ur A → a und A → B wird das aktuelle Symbol durch A ersetzt, anschließend wird der n¨ achste Schritt gestartet (d.h. es gibt einen Zustand, der den Schreib-Lesekopf nach links f¨ ahrt).

F¨ ur AB → CD, wird B geschrieben und der Kopf nach links wechseln, dann A geschrieben und der n¨ achste Schritt gestartet.

F¨ ur A → BC schreibe A und wechsele nach links, schreibe

2

, fahre ganz nach links und starte Prozedur zum Verschieben der Zeichen nach rechts, solange bis die L¨ ucke geschlossen ist.

Verschieben nach rechts:

Zustand speichert das linkeste Symbol

Laufen nach rechts: aktuelles Symbol mit dem gespeicherten vertauschen

Vertauschen beenden nachdem

2

mit einem anderen Symbol

vertauscht wird.

(30)

Kontextsensitive Sprachen durch LBAs erkennbar (4)

Die TM ist ein LBA:

Da f¨ ur alle Produktionen ` → r ∈ P gilt: |`| ≤ |r|, werden nur Teilworte r durch gleichlange oder k¨ urzere Teilworte l ersetzt TM kommt mit dem Platz der Eingabe aus

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 24/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(31)

Bemerkungen und Typ 0-Grammatiken

Bemerkung 1:

Konstruktion funktioniert auch f¨ ur Grammatiken nicht in Kuroda-Normalform, ist aber komplizierter:

Speichere im Zustand q − 1 Zeichen, wobei q die L¨ ange der l¨ angsten rechten Seite

Funktioniert immer noch mit endlich vielen Zust¨ anden und als LBA

Bemerkung 2:

Konstruktion funktioniert auch f¨ ur Typ 0-Grammatiken: Platz allerdings dann unbeschr¨ ankt (kein LBA!)

Satz

Jede Typ i-Sprache (f¨ ur i=0,1,2,3) wird von einer

nichtdeterministischen Turing-Maschine akzeptiert.

(32)

LBAs erkennen kontextsensitive Sprachen

Satz

Sei M ein LBA. Dann ist L(M ) eine kontextsensitive Sprache.

Beweis:

Sei M = (Z, Σ ∪ Σ,

b

Γ, δ, z

0

,

2

, E)

Wir konstruieren eine Typ 1-Grammatik G mit L(G) = L(M ) Idee f¨ ur die Grammatik:

1 Erzeuge beliebigesw∈Σ und Startkonfiguration vonM f¨urw

2 Simuliere LBA zum Pr¨ufen, obw∈L(M)

3 Wenn LBA akzeptiert erzeugewendg¨ultig

Variablen der Grammatik:

Neue VariablenS und A Variablen der Form

u

v

wobeiu∈Σundv∈Γ∪(ZΓ)

Obere Komponenten ergeben Wortw, untere Komponenten ergeben TM-Konfiguration.

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 26/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(33)

LBAs erkennen kontextsensitive Sprachen (2)

Regeln zur Erzeugung von w ∈ Σ

Startkonfiguration zw:

P1:=

S→A

a ba

|a∈Σ

A→A a

a

|a∈Σ

A→ a

z0a

|a∈Σ

Worte w ∈ L(M ) mit |w| < 2 k¨ onnen dadurch nicht erzeugt werden, daher direkt alle Worte aus L(M ) der L¨ ange < 2 erzeugen:

P

0

= {S → w | |w| < 2, w ∈ L(M )}

F¨ ur a

1

· · · a

n

∈ Σ

mit n > 1 gilt:

S⇒P1A an

ban

P

1

a1

z0a1

a2

a2

· · · an

ban

Regelsatz P

2

simuliert M auf

den unteren

Komponenten. Wir bilden:

P2:=

a u

b v

→ a

u0 b v0

|a, b∈Σunduv→u0v0∈P2unten

∪ a

u

→ a

u0

|a∈Σundu→u0∈P2unten(mitu, u0∈Γ∪(ZΓ))

wobei wir P

2unten

noch definieren.

(34)

LBAs erkennen kontextsensitive Sprachen (3)

P

2unten

:= {c za → z

0

c b | f¨ ur alle c ∈ Γ und (z

0

, b, L) ∈ δ(z, a)}

∪ {za c → b z

0

c | f¨ ur alle c ∈ Γ und (z

0

, b, R) ∈ δ(z, a)}

∪ {za → zb | f¨ ur alle c ∈ Γ und (z

0

, b, N ) ∈ δ(z, a)}

Es gilt:

wzw

0

`

M

uz

0

u

0

g.d.w. wzw

0

Punten 2

uz

0

u

0

Dabei: Darstellung von z, z

0

in der Ableitung immer verbunden mit einem Zeichen aus Γ

P

3

: Nach Akzeptieren des LBA, erstelle aus Tupelfolgen das Wort a

1

· · · a

n

P

3

:=

b za

→ b | z ∈ E, a ∈ Γ, b ∈ Σ

∪ b

a

→ b | a ∈ Γ, b, b

0

∈ Σ

Es gilt a

1

b

1

· · · a

m

b

m

a

m+1

zb

m+1

a

m+2

b

m+2

· · · a

n

b

n

P

3

a

1

· · · a

n

.

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 28/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(35)

LBAs erkennen kontextsensitive Sprachen (4)

Sei

G=

{S, A} ∪

u

v

|u∈Σ, v∈Γ∪(ZΓ)

,Σ, P0∪P1∪P2∪P3, S

.

Dann gilt f¨ ur alle w ∈ Σ

: S ⇒

G

w genau dann, wenn w ∈ L(M ).

Des weiteren gilt, dass G eine kontextsensitive Grammatik ist, da es

keine verk¨ urzenden Regeln gibt.

(36)

Satz von Kuroda

Theorem (Satz von Kuroda)

Kontextsensitive Sprachen werden genau von den LBAs erkannt.

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 30/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(37)

Typ 0-Sprachen

Die Konstruktion der Typ 1-Grammatik aus einem LBA kann f¨ ur beliebige NTMs angepasst werden:

Zus¨ atzliche Tupel $

c

f¨ ur c ∈ Γ ∪ ZΓ und $ ein neues Symbol.

Darstellung von Konfiguration, die l¨ anger als das Eingabewort sind:

a

1

c

1

· · · a

n

c

n

$ c

n+1

· · ·

$

z

i

c

m

$ c

r

Regelsatz P

3

enth¨ alt Regeln $

c

i

→ ε (nicht kontextsensitiv!)

Satz

Die durch (allgemeine) nichtdeterministischen Turingmaschinen

akzeptierten Sprachen sind genau die Typ 0-Sprachen.

(38)

TM vs. NTM

Nichtdeterministische Turingmaschinen k¨ onnen durch deterministische Turingmaschinen simuliert werden:

Probiere alle Berechnungsm¨ oglichkeiten der NTM nacheinander durch

Daher gilt der letzte Satz auch f¨ ur DTM

Unterschied zwischen NTMs und DTMs kommt erst zum Tragen, wenn wir das Laufzeitverhalten betrachten (s. Kapitel zur Komplexit¨ atstheorie)

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 32/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(39)

LBA-Probleme

1. LBA-Problem

Erkennen deterministische LBAs die selben Sprachen wie nichtdeterministische LBAs?

Bis heute ungekl¨ art!

2. LBA-Problem

Sind die kontextsensitiven Sprachen abgeschlossen unter Komplementbildung?

Formuliert 1964 von Kuroda, 1987 gel¨ ost von Neil Immerman als auch R´ obert Szelepcs´ enyi

Uberraschenderweise positiv: ¨

Theorem (Satz von Immerman und Szelepcs´ enyi)

Die kontextsensitiven Sprachen sind abgeschlossen unter

Komplementbildung.

(40)

Satz von Immerman und Szelepcs´ enyi

Beweisskizze:

Sei G = (V, Σ, P, S) eine Typ 1-Grammatik mit L(G) = L.

Konstruiere LBA M f¨ ur L = Σ

\ L

Sei w ∈ Σ

. M berechnet die exakte Anzahl a ∈ N der von S aus erzeugbaren Satzformen der L¨ ange n ≤ |w|

a ≤ (|V | + |Σ| + 1)

n

und kann daher in (k + 1) · n-Bits dargestellt werden: Die passen auf das Band von M, wenn man Symbole f¨ ur je k + 1-Bitbl¨ ocke hat

Anschließend: Z¨ ahle alle Satzformen u der L¨ ange ≤ |n| aus (V ∪ Σ

) auf (außer w selbst) und pr¨ ufe ob S ⇒

G

u gilt Dabei wird ein Z¨ ahler mitgef¨ uhrt, der hochgez¨ ahlt wird, wenn Ableitung m¨ oglich ist

Wenn der Z¨ ahler die Zahl a erreicht, dann akzeptiert M:

Es wurden alle ableitbaren Worte der L¨ ange ≤ n aufgez¨ ahlt, w war nicht dabei. Also w 6∈ L und damit w ∈ L.

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 34/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(41)

Satz von Immerman und Szelepcs´ enyi (2)

Berechnung der Zahl a:

Sei a(m, n) die Zahl der Satzformen, die in h¨ ochstens m Schritten aus S erzeugbar sind und deren L¨ ange n nicht

¨

uberschreitet:

a(m, n) = |{w ∈ (V ∪ Σ)

| |w| ≤ n, S ⇒

≤m

w}|).

Wenn wir a(i, n) f¨ ur i = 0, 1, 2, . . . berechnen, muss

irgendwann a(i, n) = a(i + 1, n) gelten, dann haben wir a

gefunden.

(42)

Berechnung von a(m, n)

Starte mit a(0, n) = |{S}| = 1

Berechne

result

= a(m + 1, n) durch Eingabe von a(m, n) Initial:

result

= 0.

Außere Schleife z¨ ¨ ahlt alle Satzformen u bis zur L¨ ange n auf

Innere Schleife z¨ ahlt nochmal alle Satzformen v bis zur L¨ ange n auf.

Vor Beginn der inneren Schleife:

count

= 0

In der inneren Schleife: pr¨ ufe nichtdeterministisch, ob S ⇒

≤m

v Wenn ja

count

=

count

+ 1;

Wenn v = u oder v ⇒ u gilt,

result

=

result

+ 1

Nach Ablauf der inneren Schleife, pr¨ ufe ob

count

= a(m, n) gilt.

Wenn nein, dann verwerfe diese nichtdeterministische Berechnung Wenn ja, dann war dies die richtige nichtdeterministische Berechnung und es wurde f¨ ur alle in ≤ m-Schritten aus S herleitbaren

Satzformen v gepr¨ uft, ob durch Verl¨ angern mit = oder ⇒ eine der Satzformen u herleitbar ist d. h.

result

enth¨ alt den Wert a(m + 1, n).

TCS | 06 Typ 1- und Typ 0-Sprachen | SoSe 2019 36/37 Kuroda-NF TMs LBAs TMs und Typ 0 LBA-Probleme

(43)

Zusammenfassung

Typ 1-Sprachen: Kuroda-Normalform Turingmaschinen (DTM und NTM) linear beschr¨ ankte NTMs (LBAs)

Satz von Kuroda: LBAs erkennen genau die Typ 1-Sprachen TMs erkennen genau die Typ 0-Sprachen

LBA-Probleme

Referenzen

ÄHNLICHE DOKUMENTE

Abgabe bis Do, 30.10., 12 Uhr Aufgabe 1 zur Bearbeitung in der ¨ Ubung Aufgaben 2-4 zur selbst¨ andigen Bearbeitung. Im Folgenden sei K stets ein angeordneter

Bemerkung: Alle obigen Aussagen gelten auch f¨ ur reelle statt rationale

Aufgabe 2 Zwei Geraden heien parallel (in Zeichen k), wenn sie gleich sind oder wenn es keinen Punkt gibt, der mit g und h inzidiert.. (Transitivitat) Es gelte nun zusatzlich zu

Bestimmen Sie die Parameter C und λ optimal im Sinne der kleinsten

Wieviele Container der Fabriken A und B muss ein Transporter laden, damit der Gewinn aus den Transportkosten m¨ oglichst groß

Fachbereich Mathematik und Statistik Prof.

Seien a, b und c die Seitenl¨ angen eines Dreiecks... Man bestimme den Wert

[r]