• Keine Ergebnisse gefunden

Kontextfreie Sprachen: Teil II

N/A
N/A
Protected

Academic year: 2021

Aktie "Kontextfreie Sprachen: Teil II"

Copied!
15
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Formale Sprachen und Komplexit¨ at

Sommersemester 2019

Kontextfreie Sprachen: Teil II

Prof. Dr. David Sabel

LFE Theoretische Informatik

Letzte ¨Anderung der Folien: 11. Juni 2019

Inhalts¨ ubersicht

Effiziente L¨ osung des Wortproblems f¨ ur CFLs:

Der Cocke-Younger-Kasami-Algorithmus Kellerautomaten

Deterministisch kontextfreie Sprachen

Entscheidbarkeitsresultate f¨ ur kontextfreie Sprachen

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 2/57 CYK PDAs Det.CFLs Entscheidbarkeit

Effizientes L¨ osen des Wortproblems f¨ ur CFLs

Algorithmus f¨ ur Typ 1-Sprachen hat exponentielle Laufzeit Jetzt: Algorithmus von Cocke, Younger und Kasami f¨ ur CFLs Ver¨ offentlich in den 1960er Jahren

Kurz: CYK-Algorithmus Polynomielle Laufzeit

Idee des CYK-Algorithmus

Eingabe:

CFG G = (V, Σ, P, S ) in Chomsky-Normalform und Wort w ∈ Σ

Ausgabe:

ja, wenn w ∈ L(G), nein, wenn w 6∈ L(G) Grundidee des Algorithmus:

(Rekursiver) Test, ob Variable A ein Wort u erzeugt.

Verwende Test zum Pr¨ ufen, ob S das Wort w erzeugt.

(2)

Idee des CYK-Algorithmus (2)

Pr¨ ufe, ob A ∈ V ein Wort u = a

1

· · · a

n

erzeugt:

Wenn u = a ∈ Σ, dann pr¨ ufe ob A → a ∈ P

Anderenfalls (|u| > 1) kann u nur erzeugt werden, wenn:

Es gibt Produktion A → BC ∈ P Es gibt Index 1 ≤ i < n, sodass:

B erzeugt a

1

· · · a

i

und C erzeugt a

i+1

· · · a

n

A

B C

| {z }

a1· · ·ai

| {z }

ai+1· · ·an

Daher pr¨ ufe f¨ ur alle A → BC ∈ P und alle i mit 1 ≤ i < n rekursiv, ob B das Wort w = a

1

· · · a

i

und C das Wort a

i+1

· · · a

n

erzeugt.

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 5/57 CYK PDAs Det.CFLs Entscheidbarkeit

Beispiel

S → AB | BA, A → AA | AB | a, B → BB | b S erzeugt bbbaab, denn S → BA und

B erzeugt bbb, denn B → BB und

B erzeugt bb, denn B → BB und B → b und B → b B erzeugt b, denn B → b

A erzeugt aab, denn A → AB und A erzeugt aa, denn A → AA und

Aerzeugta, dennA→aund Aerzeugta, dennA→a

B erzeugt b, denn B → b

Bevor der rekursive Algorithmus diesen richtigen Pfad findet, sucht er einige erfolglose ab, z.B. f¨ ur S → AB

Pr¨ufe, obAerzeugtbundBerzeugtbbabgilt.

Pr¨ufe, obAerzeugtbbundBerzeugtbabgilt.

Pr¨ufe, obAerzeugtbbbundBerzeugtabgilt.

Pr¨ufe, obAerzeugtbbbaundBerzeugtbgilt.

Naiv finden wiederholt dieselben Tests statt, z.B. ob A erzeugt b gilt.

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 6/57 CYK PDAs Det.CFLs Entscheidbarkeit

Idee des CYK-Algorithmus (3)

Effizienz: Statt Rekursion verwende dynamische Programmierung Algorithmus berechnet Menge V (i, j) ⊆ V , sodass

V (i, j ) = {A ∈ V | A ⇒

a

i

· · · a

i+j−1

}

” V (i, j ) enth¨ alt alle A ∈ V , die a

i

· · · a

i+j−1

erzeugen“

Berechnung der V (i, j):

Starte mit V (i, 1) = {A | A → a

i

∈ P }.

Berechne V (i, j ) mit ansteigender L¨ ange j.

F¨ ur j > 1 gilt:

A ∈ V (i, j) g.d.w.

A → BC ∈ P und B ∈ V (i, k), C ∈ V (i + k, j − k)

Berechnung: f¨ ur festes (i, j) betrachte alle k mit k = 1, 2, . . . , j − 1 Finaler Schritt: Pr¨ ufe, ob S ∈ V (1, n) ist.

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 7/57 CYK PDAs Det.CFLs Entscheidbarkeit

Algorithmus 8: CYK-Algorithmus

Eingabe: CFG G = (V, Σ, P, S) in Chomsky-NF und Wort w = a

1

· · · a

n

∈ Σ

Ausgabe: Ja, wenn w ∈ L(G) und Nein, wenn w 6∈ L(G)

Beginn

f¨ ur i = 1 bis n tue

V (i, 1) = {A ∈ V | A → a

i

∈ P } f¨ ur j = 2 bis n tue

f¨ ur i = 1 bis n + 1 − j tue V (i, j ) = ∅;

f¨ ur k = 1 bis j − 1 tue V (i, j) = V (i, j ) ∪

A → BC ∈ P, A ∈ V B ∈ V (i, k),

C ∈ V (i + k, j − k)

wenn S ∈ V (1, n) dann return Ja

sonst

return Nein

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 8/57 CYK PDAs Det.CFLs Entscheidbarkeit

(3)

Laufzeit des CYK-Algorithmus

Drei geschachtelte F¨ ur-Schleifen

Im inneren wird noch ¨ uber alle Produktionen aus P iteriert Mit n = |w| und |P | = Anzahl der Iterationen kann die Laufzeitkomplexit¨ at mit O(n

3

· |P |) abgesch¨ atzt werden.

Theorem

Das Wortproblem f¨ ur kontextfreie Sprachen kann in Polynomialzeit entschieden werden.

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 9/57 CYK PDAs Det.CFLs Entscheidbarkeit

Beispiel

Sei w = bbddc und G = ({S, A, B}, {b, c, d}, P, S) mit

P = {S → AC, A → BE, A → BD, E → AD, C → c, B → b, D → d}

V (i, j )-Tabelle ist zun¨ achst leer:

V (i, j)

b b d d c

1 2 3 4 5

1 2 3 4 5

i

j

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 10/57 CYK PDAs Det.CFLs Entscheidbarkeit

Beispiel (2)

Sei w = bbddc und G = ({S, A, B}, {b, c, d}, P, S) mit

P = {S → AC, A → BE, A → BD, E → AD, C → c, B → b, D → d}

F¨ ullen der V (i, 1)-Eintr¨ age:

V (i, j )

b b d d c

1 2 3 4 5

1 2 3 4 5

i

j

B B D D C

Beispiel (3)

Sei w = bbddc und G = ({S, A, B}, {b, c, d}, P, S) mit

P = {S → AC, A → BE, A → BD, E → AD, C → c, B → b, D → d}

V(i, j)

b b d d c

1 2 3 4 5

1 2 3 4 5

i

j

B B D D C

A E A S

Da S ∈ V (1, 5) gilt w ∈ L(G)

(4)

Kellerautomaten: Motivation

Endliche Automaten (DFA & NFA) haben fast keinen Speicher Einziger Speicher dort: Zust¨ ande Daher endlicher Speicher

Daher z.B. unm¨ oglich {w$w | w ∈ {a, b, c}

} zu erkennen:

Man m¨ usste beim Lesen von w alle gelesenen Zeichen speichern, um sie dann beim Lesen von w zu vergleichen.

Kellerautomaten: F¨ ugen einen Speicher hinzu

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 13/57 CYK PDAs Det.CFLs Entscheidbarkeit

Kellerspeicher

Kellerautomaten haben Kellerspeicher

(Stack, LIFO-Speicher, last-in-first-out-Speicher)

Uendlich großer Speicher als Stapel auf den nur von oben zugegriffen werden kann.

Zustands¨ ubergang:

Endlicher Automat Kellerautomat

Eingabe Zustand und Zeichen Zustand, Zeichen, oberstes Symbol im Keller

Ausgabe n¨ achster Zustand Zustand, Sequenz von Kel- lersymbolen, die das erste Symbol ersetzen

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 14/57 CYK PDAs Det.CFLs Entscheidbarkeit

Kellerautomat: Illustration

a

1

a

2

a

3

· · · a

n

Eingabeband

Lesekopf (bewegt sich nur nach rechts)

Keller

Zugriff auf Keller nur von oben endliche

Steuerung

A

1

A

2

.. . A

n

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 15/57 CYK PDAs Det.CFLs Entscheidbarkeit

Kellerautomaten: Definition

Definition (Kellerautomat, PDA)

Ein (nichtdeterministischer) Kellerautomat (PDA, pushdown automaton) ist ein Tupel M = (Z, Σ, Γ, δ, z

0

, #), wobei

Z ist eine endliche Menge von Zust¨ anden, Σ ist das (endliche) Eingabealphabet, Γ ist das (endliche) Kelleralphabet,

δ : (Z × (Σ ∪ {ε}) × Γ) → P

e

(Z × Γ

) ist die

Zustands¨ uberf¨ uhrungsfunktion (oder nur Uberf¨ ¨ uhrungsfunktion) z

0

∈ Z ist der Startzustand und

# ∈ Γ ist das Startsymbol im Keller.

(z

0

, B

1

· · · B

k

) ∈ δ(z, a, A) bedeutet: im Zustand z bei Eingabe a und A oben auf dem Keller darf der PDA in Zustand z

0

wechseln: Dabei wird A durch B

1

· · · B

k

ersetzt (B

1

liegt oben; k = 0 ist erlaubt)

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 16/57 CYK PDAs Det.CFLs Entscheidbarkeit

(5)

Illustration: Zustands¨ ubergang

(z

0

, B

1

· · · B

k

) ∈ δ(z, a, A) a a

0

· · ·

z

A .. .

a a

0

· · ·

z

0

B

1

.. . B

k

.. .

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 17/57 CYK PDAs Det.CFLs Entscheidbarkeit

Bemerkungen

Mit unserer Definition von PDAs:

PDAs sind nichtdeterministisch erlauben ε- ¨ Uberg¨ ange

keine Endzust¨ ande!

Wir werden sehen:

Akzeptieren: Wenn Eingabe verarbeitet und Keller leer Am Anfang: Keller enth¨ alt #

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 18/57 CYK PDAs Det.CFLs Entscheidbarkeit

Konfigurationen

Buchf¨ uhren w¨ ahrend einer Berechnung mit dem PDA:

akueller Zustand, Resteingabe, aktueller Kellerinhalt Wird dargestellt durch PDA-Konfiguration

Definition (Konfiguration eines Kellerautomaten) Sei M = (Z, Σ, Γ, δ, z

0

, #) ein PDA.

Eine Konfiguration von M ist ein Tripel (z, w, W ) mit z ∈ Z , w ∈ Σ

, W ∈ Γ

.

Die Menge aller Konfigurationen f¨ ur M ist daher Z × Σ

× Γ

. z ist der aktuelle Zustand

w ist die Resteingabe W ist der Kellerinhalt

Transitionsrelation

Definition (Transitionsrelation f¨ ur PDA-Konfigurationen) F¨ ur einen PDA M = (Z, Σ, Γ, δ, z

0

, #) definieren wir

`

M

⊆ (Z × Σ

× Γ

) × (Z × Σ

× Γ

) durch

(z, a

1

· · · a

n

, A

1

· · · A

m

) `

M

(z

0

, a

2

· · · a

n

, W A

2

· · · A

m

) falls (z

0

, W ) ∈ δ(z, a

1

, A

1

) und

(z, w, A

1

· · · A

m

) `

M

(z

0

, w, W A

2

· · · A

m

) falls (z

0

, W ) ∈ δ(z, ε, A

1

).

Weitere Notation:

`

M

= reflexiv-transitive H¨ ulle von `

M

`

iM

= i-fache Anwendung von `

M

Wenn M eindeutig: ` statt `

M

(6)

PDA: Akzeptierte Sprache

Definition (Akzeptierte Sprache eines PDA)

Sei M = (Z, Σ, Γ, δ, z

0

, #) ein PDA. Die durch M akzeptierte Sprache L(M ) ist definiert als

L(M) := {w ∈ Σ

| (z

0

, w, #) `

(z, ε, ε) f¨ ur ein z ∈ Z}.

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 21/57 CYK PDAs Det.CFLs Entscheidbarkeit

Notation als Zustandsgraph

Darstellung analog zu DFA / NFA

F¨ ur (z

0

, B

1

· · · B

k

) ∈ δ(z, a, A) zeichnen wir

z z

0

(A, a) : B

1

· · · B

k

Beachte, dass das Startsymbol im Keller bekannt sein muss (¨ uberlicherweise #)

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 22/57 CYK PDAs Det.CFLs Entscheidbarkeit

Beispiel

PDA M = ({z

0

, z

1

}, {a, b}, {B, #}, δ, z

0

, #) mit

δ(z

0

, a, #) = {(z

0

, B#)} δ(z

0

, b, B) = {(z

1

, ε)} δ(z

1

, ε, #) = {(z

1

, ε)}

δ(z

0

, a, B) = {(z

0

, BB)} δ(z

1

, b, B) = {(z

1

, ε)} δ(z

0

, ε, #) = {(z

0

, ε)}

und δ(z

i

, c, A) = ∅ in allen anderen F¨ allen Zustandsgraph dazu:

z

0

z

1

(#, a) : B #, (#, ε) : ε, (B, a) : BB

(B, b) : ε

(B, b) : ε, (#, ε) : ε

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 23/57 CYK PDAs Det.CFLs Entscheidbarkeit

Beispiel (2)

z

0

z

1

(#, a) : B#, (#, ε) : ε, (B, a) : BB

(B, b) : ε

(B, b) : ε, (#, ε) : ε

M akzeptiert ε, denn (z

0

, ε, #) ` (z

0

, ε, ε).

M akzeptiert das Wort a

i

b

i

f¨ ur i > 0, da (z

0

, a

i

b

i

, #) ` (z

0

, a

i−1

b

i

, B#) `

(z

0

, b

i

, B

i

#)

` (z

1

, b

i−1

, B

i−1

#) `

(z

1

, ε, #) ` (z

1

, ε, ε).

andere Worte werden nicht akzeptiert:

f¨ ur jedes gelesene a wird ein B auf den Keller gelegt, das durch lesen von b abgebaut werden muss.

In z

0

k¨ onnen nur a’s und ein b gelesen werden, dann Wechsel in z

1

und dort k¨ onnen nur b’s gelesen werden.

L(M) = {a

i

b

i

| i ∈ N }

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 24/57 CYK PDAs Det.CFLs Entscheidbarkeit

(7)

Weiteres Beispiel

Sei M = ({z

0

, z

1

}, {a, b}, {A, B, #}, δ, z

0

, #) mit δ(z

0

, a, #) = {(z

0

, A#), (z

1

, #)}

δ(z

0

, b, #) = {(z

0

, B#), (z

1

, #)}

δ(z

0

, a, A) = {(z

0

, AA), (z

1

, A)}

δ(z

0

, b, A) = {(z

0

, BA), (z

1

, A)}

δ(z

0

, a, B) = {(z

0

, AB), (z

1

, B)}

δ(z

0

, b, B) = {(z

0

, BB), (z

1

, B)}

δ(z

0

, ε, A) = {(z

1

, A)}

δ(z

0

, ε, B) = {(z

1

, B)}

δ(z

0

, ε, #) = {(z

1

, #)}

δ(z

1

, a, A) = {(z

1

, ε)}

δ(z

1

, b, B) = {(z

1

, ε)}

δ(z

1

, ε, #) = {(z

1

, ε, ε)}

und δ(z

i

, c, C) = ∅ f¨ ur alle anderen F¨ alle.

L(M) = {w ∈ {a, b}

| w ist Palindrom}:

In z

0

werden die gelesenen Zeichen (als A, B) auf den Keller gelegt In z

1

werden sie dann wieder abgearbeitet (durch Lesen von a, b) Wechsel von z

0

zu z

1

mit einem Zeichen (f¨ ur Palindrome uau, ubu) oder mit ε (f¨ ur Palindrome uu).

Richtiger Zeitpunkt des Wechsels: Macht der Nichtdeterminismus.

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 25/57 CYK PDAs Det.CFLs Entscheidbarkeit

Akzeptanz durch Endzust¨ ande

Definition (PDA mit Endzust¨ anden)

Ein (nichtdeterministischer) Kellerautomat mit Endzust¨ anden (PDA mit Endzust¨ anden) ist ein Tupel M = (Z, Σ, Γ, δ, z

0

, #, E) wobei

Z ist eine endliche Menge von Zust¨ anden, Σ ist das (endliche) Eingabealphabet, Γ ist das (endliche) Kelleralphabet

δ : Z × ((Σ ∪ {ε}) × Γ) → P

e

(Z × Γ

) ist die Uberf¨ ¨ uhrungsfunktion z

0

∈ Z ist der Startzustand,

# ∈ Γ ist das Startsymbol im Keller und E ⊆ Z ist die Menge der Endzust¨ ande.

Ein PDA mit Endzust¨ anden akzeptiert die Sprache

L(M) = {w ∈ Σ

| (z

0

, w, #) `

(z, ε, W ) und z ∈ E}.

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 26/57 CYK PDAs Det.CFLs Entscheidbarkeit

Aquivalenz: Akzeptanz durch Endzust¨ ¨ ande / leeren Keller

Lemma

F¨ ur jeden Kellerautomat mit Endzust¨ anden M kann ein

Kellerautomat M

0

(ohne Endzust¨ ande) konstruiert werden, so dass L(M) = L(M

0

) gilt

Lemma

F¨ ur jeden Kellerautomat M kann ein Kellerautomat mit

Endzust¨ anden M

0

konstruiert werden, so dass L(M) = L(M

0

) gilt.

Satz

PDAs mit Endzust¨ anden und PDAs ohne Endzust¨ ande (mit Akzeptanz durch leeren Keller) sind ¨ aquivalente Formalismen.

Beweise dazu sind im Skript

Aquivalenz: PDAs und CFLs ¨

Wir zeigen, dass PDAs genau die Typ 2-Sprachen erkennen.

Beweis in zwei Teilen:

1

Konstruktion eines PDA aus CFG in Greibach-NF

2

Konstruktion einer CFG aus einem PDA (sogenannte Tripelkonstruktion)

(PDA mit Einschr¨ ankung:

max. 2 Kellersymbole pro Schritt erzeugen)

(8)

CFG → PDA

Ideen:

CFG in Greibach-Normalform gegeben PDA simuliert Linksableitung S ⇒ w

Da CFG in Greibach-NF, sieht eine Linksableitung nach i-Schritten immer so aus: S ⇒

i

a

1

· · · a

i

B

1

· · · B

j

. Start mit Eingabe w und S auf dem Keller

Nach i Schritten, ist a

1

· · · a

i

verarbeitet und B

1

· · · B

j

auf dem Keller

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 29/57 CYK PDAs Det.CFLs Entscheidbarkeit

CFG → PDA (2)

Satz

Jede kontextfreie Sprache wird durch einen Kellerautomaten erkannt.

Beweis:

Sei L eine CFL und G = (V, Σ, P, S) mit L(G) = L \ {ε} in Greibach-NF.

Sei M = ({z

0

}, Σ, V, δ, z

0

, S) ein PDA, sodass

δ(z

0

, a, A) := {(z

0

, B

1

· · · B

n

) | (A → aB

1

· · · B

n

) ∈ P } und falls ε ∈ L setze zus¨ atzlich δ(z

0

, ε, S) := {(z

0

, ε)}.

In allen anderen F¨ allen sei δ(z

0

, ε, A) = ∅.

Wir zeigen L(M ) = L.

Zun¨ achst: ε ∈ L g.d.w. (z

0

, ε, S) ` (z

0

, ε, ε) und damit ε ∈ L(M).

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 30/57 CYK PDAs Det.CFLs Entscheidbarkeit

CFG → PDA (2)

M= ({z0},Σ,Σ∪V, δ, z0, S)mitδ(z0, a, A) :={(z0, B1· · ·Bn)|(A→aB1· · ·Bn)∈P}. . .

Beweis (Fortsetzung):

F¨ ur die weiteren F¨ alle zeigen wir f¨ ur alle i ∈ N (mit Induktion ¨ uber i) S ⇒

iG

a

1

· · · a

i

B

1

· · · B

m

mit einer Linksableitung

genau dann, wenn

(z

0

, a

1

· · · a

i

w, S ) `

i

(z

0

, w, B

1

· · · B

m

) f¨ ur alle w ∈ Σ

. Basis i = 0: gilt, denn S ⇒

0G

S und (z

0

, w, S) `

0

(z

0

, w, S) F¨ ur i > 0 und “ ⇒”:

Sei S ⇒

iG

a

1

· · · a

i

B

1

· · · B

m

eine Linksableitung.

Da G in Greibach-NF, kann diese geschrieben werden als S ⇒

i−1G

a

1

· · · a

i−1

B

x

B

j+1

· · · B

m

G

a

1

· · · a

i

B

1

· · · B

m

, wobei B

x

→ a

i

B

1

· · · B

j

∈ P als letzte Produktion angewendet wurde.

Induktionsannahme liefert: S ⇒

i−1G

a

1

· · · a

i−1

B

x

B

j+1

· · · B

m

genau dann, wenn (z

0

, a

1

· · · a

i−1

w, S) `

i−1

(z

0

, w, B

x

B

j+1

· · · B

k

).

Verwende w = a

i

w

0

und da (z

0

, B

1

· · · B

j

) ∈ δ(z

0

, a

i

, B

x

), gilt (z

0

, a

1

· · · a

i

w

0

, S) `

i

(z

0

, w

0

, B

1

· · · B

k

) f¨ ur alle w

0

.

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 31/57 CYK PDAs Det.CFLs Entscheidbarkeit

CFG → PDA (3)

M= ({z0},Σ,Σ∪V, δ, z0, S)mitδ(z0, a, A) :={(z0, B1· · ·Bn)|(A→aB1· · ·Bn)∈P}. . .

Beweis (Fortsetzung):

F¨ ur i > 0 und “⇐”:

Sei (z

0

, a

1

· · · a

i

w, S) `

i

(z

0

, w, B

1

· · · B

k

).

Dann muss der letzte Schritt a

i

gelesen haben D.h. die Folge l¨ asst sich zerlegen in

(z

0

, a

1

· · · a

i

w, S) `

i−1

(z

0

, a

i

w, B

x

B

j+1

· · · B

k

) ` (z

0

, w, B

1

· · · B

k

),

wobei (z

0

, B

1

· · · B

j

) ∈ δ(z

0

, a

i

, B

x

).

Dann muss B

x

→ aB

1

· · · B

j

eine Produktion in P sein.

Induktionsannahme liefert: S ⇒

i−1G

a

1

· · · a

i−1

B

x

B

j+1

· · · B

k

und wir k¨ onnen obige Produktion anwenden und erhalten S ⇒

iG

a

1

· · · a

i

B

1

· · · B

k

.

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 32/57 CYK PDAs Det.CFLs Entscheidbarkeit

(9)

Hilfssatz f¨ ur PDA → CFG-Beweis

Lemma (PDAs mit Erzeugung von ≤ 2 Kellersymbolen) F¨ ur jeden PDA M = (Z, Σ, Γ, δ, z

0

, #) gibt es einen PDA M

0

= (Z, Σ, Γ

0

, δ

0

, z

0

, #) mit L(M) = L(M

0

), sodass gilt: Wenn (z

0

, B

1

· · · B

k

) ∈ δ

0

(z, a, A) (f¨ ur a ∈ (Σ ∪ {ε})), dann ist k ≤ 2.

Beweis (Skizze):

Transformiere M in M

0

wie folgt (mit A ∈ Γ und a ∈ (Σ ∪ {ε})):

(z

0

, B

1

· · · B

k

) ∈ δ

0

(z, a, A) wenn (z

0

, B

1

· · · B

k

) ∈ δ(z, a, A), k ≤ 2.

falls (z

0

, B

1

· · · B

k

) ∈ δ(z, a, A) mit k > 2, dann (z, C

k

B

k

) ∈ δ

0

(z, a, A), und

δ(z, ε, C

i

) = {(z, C

i−1

B

i−1

)} f¨ ur alle i mit 4 ≤ i ≤ k, und δ(z, ε, C

3

) = {(z

0

, B

1

B

2

)}

wobei C

3

, . . . , C

k

∈ Γ

0

neue Kellersymbole sind

(diese werden jeweils neu erzeugt pro ersetztem Eintrag).

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 33/57 CYK PDAs Det.CFLs Entscheidbarkeit

PDA → CFG

Ideen

Verwende PDA mit Erzeugung von ≤ 2 Kellersymbolen Erzeuge Grammatik mit Tripelkonstruktion

Variablen der Grammatik:

Tripel hz

0

, A, zi, die alle Worte w erzeugt, die den PDA von z

0

mit Kellerinhalt A und Wort w zu z und leeren Keller f¨ uhren

Produktionen

hz

0

, A, zi → a wenn z

0

(A, a) : ε z

hz

0

, A, zi → ahz

00

, B, zi wenn z

0

z

00

(A, a) : B

hz

0

, A, zi → ahz

00

, B, z

1

ihz

1

, C, zi wenn z

0

z

00

(A, a) : BC

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 34/57 CYK PDAs Det.CFLs Entscheidbarkeit

PDA → CFG (2)

Satz

Kellerautomaten akzeptieren kontextfreie Sprachen.

Beweis: Sei M = (Z, Σ, Γ, δ, z

0

, #) ein PDA mit k ≤ 2 f¨ ur alle (z

0

, B

1

· · · B

k

) ∈ δ(z, a, A) (und a ∈ (Σ ∪ {ε})).

Konstruiere G = (V, Σ, P, S ) mit S neues Symbol und V = {S} ∪ {hz

i

, A, z

j

i | z

i

, z

j

∈ Z, A ∈ Γ}

P = {S → hz

0

, #, zi | z ∈ Z}

∪ {hz

0

, A, zi → a | (z, ε) ∈ δ(z

0

, a, A), a ∈ Σ ∪ {ε}, A ∈ Γ}

∪ {hz

0

, A, zi → ahz

00

, B, zi | (z

00

, B) ∈ δ(z

0

, a, A), z ∈ Z, a ∈ Σ ∪ {ε}, A ∈ Γ}

∪ {hz

0

, A, zi → ahz

00

, B, z

1

ihz

1

, C, z i | (z

00

, BC) ∈ δ(z

0

, a, A),

z, z

1

∈ Z, a ∈ Σ ∪ {ε}, A ∈ Γ}

Wir beweisen hz

0

, A, zi ⇒

G

w g.d.w.(z

0

, w, A) `

M

(z, ε, ε).

Da S → hz

0

, A, zi folgt: w ∈ L(G) ⇐⇒ w ∈ L(M), d. h. L(G) = L(M ).

PDA → CFG (3)

” ⇒“:

Sei hz

0

, A, zi ⇒

iG

w eine Linksableitung.

Wir verwenden Induktion ¨ uber i.

Basis i = 1: Sei hz

0

, A, zi ⇒

G

w

Verwendete Produktion muss hz

0

, A, zi → a sein

Dann muss (z, ε) ∈ δ(z

0

, a, A) gelten und damit gilt: (z

0

, a, A) ` (z, ε, ε).

Schritt: hz

0

, A, zi ⇒

G

u ⇒

i−1G

w. mit i − 1 > 0

Wenn u = a ∈ (Σ ∪ {ε}), dann kann i − 1 > 0 nicht gelten.

Wenn u = ahz

00

, B, zi, dann (z

00

, B) ∈ δ(z

0

, a, A) und u = ahz

00

, B, zi ⇒

i−1

aw

0

= w.

Dann gilt hz

00

, B, zi ⇒

i−1

w

0

und die Induktionsannahme liefert

(z

00

, w

0

, B) `

M

(z, ε, ε). Mit (z

00

, B) ∈ δ(z

0

, a, A) zeigt dies

(z

0

, u, A) = (z

0

, aw

0

, A) `

M

(z

00

, w

0

, B) `

M

(z, ε, ε).

(10)

PDA → CFG (4)

. . .

Wenn u = ahz

00

, B, z

1

ihz

1

, C, zi, dann ist (z

00

, BC) ∈ δ(z

0

, a, A) und u = ahz

00

, B, z

1

ihz

1

, C, zi ⇒

i−1

aw

0

= w

Dann gilt auch hz

00

, B, z

1

ihz

1

, C, zi ⇒

i−1

w

0

und es gibt Linksableitungen hz

00

, B, z

1

i ⇒

j

w

00

und hz

1

, C, zi ⇒

k

w

01

mit j + l ≤ i − 1, w

0

= w

00

w

01

. F¨ ur beide k¨ onnen wir die Induktionsannahme anwenden und erhalten (z

00

, w

00

, B) `

M

(z

1

, ε, ε) und (z

1

, w

01

, C) `

M

(z, ε, ε).

Ab¨ andern der 1. Konfigurationsfolge: C auf den Keller & w

01

anh¨ angen (z

00

, w

0

, BC) = (z

00

, w

00

w

10

, BC) `

M

(z

1

, w

01

, C).

Anh¨ angen der 2. Konfigurationsfolge liefert: (z

00

, w

0

, BC) `

M

(z, ε, ε).

Da (z

00

, BC) ∈ δ(z

0

, a, A), gilt

(z

0

, u, BC) = (z

0

, aw

0

, BC) `

M

(z

00

, w

0

, BC) `

M

(z, ε, ε).

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 37/57 CYK PDAs Det.CFLs Entscheidbarkeit

PDA → CFG (5)

” ⇐“:

Sei (z

0

, w, A) `

iM

(z, ε, ε). Zeige hz

0

, A, zi ⇒

G

w mit Induktion ¨ uber i Basis i = 1: Dann gilt w = a ∈ (Σ ∪ {ε}) und (z, ε) ∈ δ(z

0

, w, A).

Damit gibt es hz

0

, A, zi → a ∈ P und daher hz

0

, A, zi ⇒

G

a.

Schritt: Sei i > 1 und daher (z

0

, aw

0

, A) ` (z

00

, w

0

, α) `

i−1M

(z, ε, ε) f¨ ur i − 1 > 0, a ∈ Σ ∪ {ε} und α = ε, α = B oder α = BC.

Wir betrachten alle drei F¨ alle f¨ ur α einzeln:

α = ε: Dieser Fall ist nicht m¨ oglich, da i − 1 > 0 nicht gelten kann.

α = B. Dann ist hz

0

, A, zi → ahz

00

, B, zi ∈ P .

Da (z

00

, w

0

, B) `

i−1M

(z, ε, ε), liefert Induktionsannahme hz

00

, B, zi ⇒

G

w

0

und daher: hz

0

, A, zi ⇒

G

ahz

00

, B, zi ⇒

G

aw

0

= w.

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 38/57 CYK PDAs Det.CFLs Entscheidbarkeit

PDA → CFG (6)

. . .

α = BC. Dann ist hz

0

, A, zi → hz

00

, B, z

1

ihz

1

, C, zi ∈ P . Schreibe (z

00

, w

0

, BC) `

i−1M

(z, ε, ε) als

(z

00

, w

01

w

20

, BC) `

jM

(z

1

, w

02

, C ) `

kM

(z, ε, ε) mit j + k = i − 1.

Weglassen von C und w

02

im ersten Teil zeigt:

(z

00

, w

01

, B) `

jM

(z

1

, ε, ε),

Da j < i und k < i liefert Induktionsannahme hz

00

, B, z

1

i ⇒

G

w

01

und hz

1

, C, zi ⇒

G

w

20

. Daher gilt

hz

0

, A, zi ⇒

G

ahz

00

, B, z

1

ihz

1

, C, zi ⇒

G

aw

01

hz

1

, C, zi ⇒

G

aw

10

w

02

= w.

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 39/57 CYK PDAs Det.CFLs Entscheidbarkeit

Geschafft...

Die gezeigten S¨ atze zusammengefasst ergeben:

Theorem

Kellerautomaten erkennen genau die kontextfreien Sprachen.

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 40/57 CYK PDAs Det.CFLs Entscheidbarkeit

(11)

Bemerkung

Die bisherigen Beweise zeigen auch, dass man PDAs einschr¨ anken kann auf PDAs mit genau einem Zustand:

Sei M ein PDA.

Transformiere M in Grammatik G mit L(G) = L(M ) Transformiere G in G

0

in Greibach-Normalform (mit L(G

0

) = L(G) \ ε)

Transformiere Grammatik G

0

in PDA M

0

mit L(M

0

) = L(G) unsere Konstruktion verwendet nur einen Zustand!

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 41/57 CYK PDAs Det.CFLs Entscheidbarkeit

Beispiel

z

0

z

1

(#, a) : B#, (#, ε) : ε, (B, a) : BB

(B, b) : ε

(B, b) : ε, (#, ε) : ε

Der vorherige Beweis konstruiert die Grammatik G = (V, Σ, P, S) mit V = {S, hz

0

, B, z

0

i, hz

0

, B, z

1

i, hz

1

, B, z

0

i, hz

1

, B, z

1

i,

hz

0

, #, z

0

i, hz

0

, #, z

1

i, hz

1

, #, z

0

i, hz

1

, #, z

1

i}

P = {S → hz

0

, #, z

0

i, S → hz

0

, #, z

1

i.}

∪ {hz

0

, B, z

1

i → b, hz

1

, B, z

1

i → b, hz

0

, #, z

0

i → ε, hz

1

, #, z

1

i → ε}

∪ {hz

0

, #, z

0

i → ahz

0

, B, z

0

i, hz

0

, #, z

1

i → ahz

0

, B, z

1

i}

∪ {hz

0

, B, z

0

i → ahz

0

, B, z

0

ihz

0

, B, z

0

i, hz

0

, B, z

1

i → ahz

0

, B, z

0

ihz

0

, B, z

1

i, hz

0

, B, z

0

i → ahz

0

, B, z

1

ihz

1

, B, z

0

i, hz

0

, B, z

1

i → ahz

0

, B, z

1

ihz

1

, B, z

1

i}

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 42/57 CYK PDAs Det.CFLs Entscheidbarkeit

Beispiel (2)

Vereinfachen der Grammatik ergibt:

{S → hz

0

, #, z

0

i | hz

0

, #, z

1

i, hz

0

, #, z

0

i → ε, hz

0

, #, z

1

i → ahz

0

, B, z

1

i, hz

0

, B, z

1

i → b | ahz

0

, B, z

1

ihz

1

, B, z

1

i, hz

1

, B, z

1

i → b}

Umbenennen, Streichen von nicht erreichbaren Variablen und Entfernen von Einheitsproduktionen ergibt

G = ({S, B, C}, {a, b}, {S → ε | aB, B → b | aBC, C → b}, S) (ist bis auf ε-Produktion in Greibach-NF.)

Beispiel (3)

Der vorherige Beweis konstruiert f¨ ur

G = ({S, B, C }, {a, b}, {S → ε | aB, B → b | aBC, C → b}, S)

den PDA M = ({z

0

}, Σ, Σ ∪ V, δ, z

0

, S) mit

δ(z

0

, a, S) = {(z

0

, B)} δ(z

0

, b, B) = {(z

0

, ε)} δ(z

0

, a, B) = {(z

0

, BC)}

δ(z

0

, b, C ) = {(z

0

, ε)} δ(z

0

, ε, S ) = {(z

0

, ε)} δ(z

0

, d, A) = ∅ sonst Eine Konfigurationsfolge f¨ ur die Eingabe aaabbb ist

(z

0

, aaabbb, S)

` (z

0

, aabbb, B)

` (z

0

, abbb, BC)

` (z

0

, bbb, BCC)

` (z

0

, bb, CC)

` (z

0

, b, C)

` (z

0

, ε, ε)

(12)

Deterministisch kontextfreie Sprachen

Definiert durch deterministische Kellerautomaten mit Akzeptanz durch Endzust¨ ande.

ε- ¨ Uberg¨ ange sind erlaubt, aber nur wenn es keinen anderen

Ubergang (mit einem Terminalzeichen und selben Kellersymbol) gibt. ¨ Definition (Deterministischer Kellerautomat, DPDA)

Ein Kellerautomat mit Endzust¨ anden M = (Z, Σ, Γ, δ, z

0

, #, E) ist deterministisch (ein DPDA) wenn f¨ ur alle (z, a, A) ∈ (Z, Σ, Γ) gilt:

|δ(z, a, A)| + |δ(z, ε, A)| ≤ 1.

Die von DPDAs akzeptierten Sprachen heißen deterministisch kontextfrei.

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 45/57 CYK PDAs Det.CFLs Entscheidbarkeit

Beispiele (1)

Satz

Die Sprache L = {w$w | w ∈ {a, b}

} ist deterministisch kontextfrei.

Beweis: Betrachte den DPDA

M = ({z

0

, z

1

, z

2

}, {a, b, $}, {#, A, B}, δ, z

0

, #, {z

2

}) mit δ(z

0

, a, #) = {(z

0

, A#)}

δ(z

0

, b, #) = {(z

0

, B#)}

δ(z

0

, a, A) = {(z

0

, AA)}

δ(z

0

, b, A) = {(z

0

, BA)}

δ(z

0

, a, B) = {(z

0

, AB)}

δ(z

0

, b, B) = {(z

0

, BB)}

δ(z

0

, $, A) = {(z

1

, A)}

δ(z

0

, $, B ) = {(z

1

, B )}

δ(z

0

, $, #) = {(z

1

, #)}

δ(z

1

, a, A) = {(z

1

, ε)}

δ(z

1

, b, B) = {(z

1

, ε)}

δ(z

1

, ε, #) = {(z

2

, ε)}

und δ(z

i

, c, C) = ∅ sonst

Beachte: L = {ww | w ∈ {a, b}

} ist nicht deterministisch kontextfrei aber kontextfrei

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 46/57 CYK PDAs Det.CFLs Entscheidbarkeit

Beispiele (2)

Satz

Die Sprache L = {a

i

b

i

| i ∈ N

>0

} ist deterministisch kontextfrei.

Beweis: Betrachte den DPDA

M = ({z

0

, z

1

, z

2

}, {a, b}, {#, A}, δ, z

0

, #, {z

2

}) mit δ(z

0

, a, #) = {(z

0

, A#)}

δ(z

0

, a, A) = {(z

0

, AA)}

δ(z

0

, b, A) = {(z

1

, ε)}

δ(z

1

, b, A) = {(z

1

, ε)}

δ(z

1

, ε, #) = {(z

2

, ε)}

und δ(z

i

, c, B) = ∅, sonst

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 47/57 CYK PDAs Det.CFLs Entscheidbarkeit

Eigenschaften von deterministisch kontextfreien Sprachen

Theorem (Eigenschaften determin. kontextfreier Sprachen)

1

Das Wortproblem f¨ ur deterministisch kontextfreie Sprachen kann in Linearzeit entschieden werden.

2

F¨ ur deterministisch kontextfreie Sprachen gibt es eindeutige Grammatiken.

3

Deterministisch kontextfreie Sprachen sind unter Komplementbildung abgeschlossen.

Beweis: siehe Literatur

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 48/57 CYK PDAs Det.CFLs Entscheidbarkeit

(13)

Weitere Eigenschaften

Satz

Deterministisch kontextfreie Sprachen sind nicht abgeschlossen bez¨ uglich Vereinigung und Schnitt.

Beweis: i) Schnittbildung:

Die Sprachen L

1

= {a

n

b

n

c

m

| n, m ∈ N

>0

} und

L

2

= {a

n

b

m

c

m

| n, m ∈ N

>0

} sind deterministisch kontextfrei L

1

∩ L

2

= {a

n

b

n

c

n

| n ∈ N

>0

} ist nicht kontextfrei.

ii) Vereinigung:

L ∩ L

0

= L ∪ L

0

Annahme: Det. CFLs abgeschlossen bez. Vereinigung Da Det. CFLs auch abgeschlossen bez. Komplement, folgt:

Det. CLFs abgeschlossen bez. Schnitt. Widerspruch!

D.h. Annahme falsch, Det. CFLs nicht abgeschlossen bez. ∪.

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 49/57 CYK PDAs Det.CFLs Entscheidbarkeit

Weitere Eigenschaften (2)

Satz

Der Schnitt einer (deterministisch) kontextfreien Sprachen mit einer regul¨ aren Sprache ist (deterministisch) kontextfrei.

Beweis: Sei M = (Z, Σ, Γ, δ, z

0

, #, E ) ein PDA mit Endzust¨ anden und M

0

= (Z

0

, Σ, δ

0

, z

00

, E

0

) ein DFA. Konstruiere PDA mit Endzust¨ anden:

M

00

= (Z × Z

0

, Σ, δ

00

, (z

0

, z

00

), #, E × E

0

) mit (z

k

, z

0k

, B

1

· · · B

m

) ∈ δ

00

((z

i

, z

0i

), a, A) falls

(z

k

, B

1

· · · B

m

) ∈ δ(z

i

, a, A) und δ

0

(z

i0

, a) = z

k0

und

(z

k

, z

i0

, B

1

· · · B

m

) ∈ δ

00

((z

i

, z

i0

), ε, A) falls (z

k

, B

1

· · · B

m

) ∈ δ(z

i

, ε, A).

Es gilt:

L(M

00

) = L(M ) ∩ L(M

0

), denn M

00

simuliert M und M

0

gleichzeitig, und akzeptiert nur, wenn beide Automaten akzeptieren.

M

00

ist deterministisch, wenn M deterministisch ist.

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 50/57 CYK PDAs Det.CFLs Entscheidbarkeit

Entscheidbarkeitsfragen f¨ ur CFLs

CYK-Algorithmus zeigt: Das Wortproblem f¨ ur kontextfreie Grammatiken ist effizient entscheidbar.

Viele Fragestellungen sind f¨ ur CFLs unentscheidbar (z.B. das ¨ Aquivalenzproblem und das Schnittproblem) Wir betrachten weitere Entscheidungsprobleme

Leerheitsproblem

Satz

Das Leerheitsproblem f¨ ur kontextfreie Grammatiken ist entscheidbar.

Beweis:

Sei L als CFG gegeben

Pr¨ ufe zun¨ achst, ob ε ∈ L (wenn ja, dann ist L nicht leer) Sei G = (V, Σ, P, S) eine CFG in Chomsky-NF mit L(G) = L \ {ε}.

Der folgende Algorithmus markiert alle A ∈ V mit {w ∈ Σ

| A ⇒

G

w} 6= ∅

Pr¨ ufe, ob S markiert wird (wenn ja, dann ist L nicht-leer)

(14)

Algorithmus 9: Markierung der Variablen, die nichtleere Sprachen erzeugen

Eingabe: Grammatik G = (V, Σ, P, S) in Chomsky-Normalform Ausgabe: Menge W ⊆ V aller Variablen, die nicht die leere

Sprache erzeugen Beginn

W := {A ∈ V | A → a ∈ P, a ∈ Σ};

wiederhole W

alt

:= W ;

W := W

alt

∪ {A | A → BC ∈ P, B ∈ W

alt

, C ∈ W

alt

};

bis W = W

alt

; return W

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 53/57 CYK PDAs Det.CFLs Entscheidbarkeit

Endlichkeitsproblem

Satz

Das Endlichkeitsproblem f¨ ur kontextfreie Sprachen ist entscheidbar.

Beweis: Sei G = (V, Σ, P, S ) eine CFG in Chomsky-NF. Sei n die Zahl aus dem Pumping-Lemma f¨ ur CFGs (z.B. n = 2

|V|

siehe Beweis Pumping-L.).

Wir zeigen zun¨ achst: Es gilt |L(G)| = ∞ g.d.w. es ein Wort z ∈ L(G) mit n ≤ |z| < 2n gibt:

” ⇐“:

Sei z ∈ L mit |z| ≥ n.

Pumping-Lemma zeigt: uv

i

wx

i

y ∈ L f¨ ur alle i ∈ N . Also L(G)| = ∞

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 54/57 CYK PDAs Det.CFLs Entscheidbarkeit

Endlichkeitsproblem (2)

. . .

Wir zeigen zun¨ achst: Es gilt |L(G)| = ∞ g.d.w. es ein Wort z ∈ L(G) mit n ≤ |z| < 2n gibt:

” ⇒“:

Beweis durch Widerspruch

Annahme: Es gibt kein Wort z ∈ L(G) f¨ ur n ≤ |z| < 2n, aber trotzdem gilt |L(G)| = ∞.

Sei z ∈ L(G) das k¨ urzeste Wort mit |z| ≥ 2n.

Pumping-Lemma: Es gibt u, v, w, x, y gibt mit z = uvwxy, |vx| > 0 und |vwx| ≤ n, sodass insbes. uv

0

wx

0

y ∈ L gilt.

Da |uv

0

wx

0

y| = |uwy| < |uvwxy| und |uwy| ≥ n gilt, war z nicht minimal gew¨ ahlt. Widerspruch!

Entscheide Endlichkeitsproblem: Teste f¨ ur alle Worte w ∈ Σ

, der L¨ ange n ≤ |w| < 2n, ob w ∈ L(G) gilt (mit CYK-Algorithmus).

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 55/57 CYK PDAs Det.CFLs Entscheidbarkeit

Weiteres Entscheidbarkeitsproblem

Das Problem, ob eine deterministisch kontextfreie Sprache

¨ aquivalent zu einer regul¨ aren Sprache ist, ist entscheidbar.

Sei L

1

durch DPDA gegeben und L

2

durch einen DFA.

Pr¨ ufe L

1

∩ L

2

= ∅ und L

1

∩ L

2

= ∅

Beides ist entscheidbar, da DPDAs und DFAs abgeschlossen unter Komplementbildung, Schnittbildung zwischen DPDA und DFA durch DPDA konstruierbar ist und Leerheitsproblem f¨ ur CFLs entscheidbar ist

L

i

∩ L

j

= ∅ impliziert L

i

⊆ L

j

Daher ist V

(i,j)∈{(1,2),(2,1)}

L

i

∩ L

j

= ∅ ¨ aquivalent zu L

1

= L

2

.

TCS | 05 Kontextfreie Sprachen (II)| SoSe 2019 56/57 CYK PDAs Det.CFLs Entscheidbarkeit

(15)

Zusammenfassung

CYK-Algorithmus: w ∈ L(G) in O(n

3

) f¨ ur CFGs G in Chomsky-NF entscheiden.

Kellerautomaten erkennen genau die CFLs Deterministisch kontextfreie Sprachen (DPDAs) Entscheidbarkeitsresultate f¨ ur kontextfreie Sprachen

TCS | 05 Kontextfreie Sprachen (II) | SoSe 2019 57/57 CYK PDAs Det.CFLs Entscheidbarkeit

Referenzen

ÄHNLICHE DOKUMENTE

algorithmische Entscheidbarkeit = Turing-Entscheidbarkeit algorithmische Erzeugbarkeit = Turing-Aufz¨ ahlbarkeit Berechenbarkeit = Turing-Berechenbarkeit. Belege: • Erfahrung:

Man muss nur Ableitungen bis zur L¨ange (|N | + |T | + 1) |x| + 1 durchsuchen (ansonsten enth¨alt die Ableitung zwei identische W¨orter mit L¨ange.

Beweis: Jede reguläre Sprache ist per Denition auch kontextfrei und es gibt mindestens eine kontextfreie Sprache, nämlich L(a n b n ), die nicht regulär ist... Eine durch

Wenn man die Form der Regeln einschr¨ ankt erh¨ alt man Teilmen- gen der Menge aller durch eine Grammatik erzeugten Sprachen.. Wiebke Petersen – Formale Komplexit¨ at nat¨

mer d'chind em Hans es huus lönd hälfe aastriiche wir die Kinder-AKK Hans-DAT das Haus-AKK ließen helfen anstreichen. NP 1 NP 2 NP 3 VP 1 VP 2 VP 3

Eine Ableitung in einer kontextfreien Grammatik heißt Linksableitung, wenn in jedem Schritt das am weitesten links stehende Nichtterminalsymbol ersetzt wird.. Jedem Syntaxbaum zu

Die Menge der kontextfreien Sprachen ist unter den Operationen (i) Vereinigung,.. (ii) Produkt (Konkatenation) und

Die Menge der deterministisch kontextfreien Sprachen ist eine echte Teilmenge der Menge der