• Keine Ergebnisse gefunden

GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI Eliminationvon EliminationvonKettenproduktionen ε -Regeln Dank

N/A
N/A
Protected

Academic year: 2021

Aktie "GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI Eliminationvon EliminationvonKettenproduktionen ε -Regeln Dank"

Copied!
5
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Bernhard Beckert

Institut für Informatik

Sommersemester 2007

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 1 / 356

Dank

Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von

Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der TU Clausthal)

Ihnen beiden gilt mein herzlicher Dank.

– Bernhard Beckert, April 2007

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 2 / 356

Elimination von ε -Regeln

Korollar

L2

L1

Das heißt, jede kontextfreie Sprache ist auch kontextsensitiv

Beweis

Regeln einer kontextsensitiven Grammatik müssen folgende Form haben:

entwederuAv

v

mitu,v,α

(V

T),|α| ≥1,A

V oderS

ε

undSkommt in keiner Regelconclusio vor.

Diesen Bedingungen genügt die kontextfreie Grammatik nach Elimination der ε-Regeln.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 256 / 356

Elimination von Kettenproduktionen

Definition 19.7 (Kettenproduktion) Eine Regel der Form

A

B mitA,B

V heißtKettenproduktion.

Theorem 19.8 (Kettenproduktionen sind eliminierbar)

Zu jeder cf-Grammatik existiert eine äquivalente cf-Grammatik ohne Kettenproduktionen.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 257 / 356

(2)

Elimination von Kettenproduktionen

Beweis

SeiG= (V,T,R,S)eine kontextfreie Grammatik ohneε-Regeln, außer ggf.S

ε.

Konstruiere neue Grammatik wie folgt:

1 Für alle

VariablenpaareA,B∈V, A6=B mitA=⇒B RegelnB→α∈R, α6∈V

füge zuRhinzu:

A

α

2 Lösche alle Kettenproduktionen

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 258 / 356

Normalform für cf-Grammatiken

Theorem 19.9 (Normalform für cf-Grammatiken)

Zu jeder cf-Grammatik existiert eine äquivalente cf-Grammatik ohneε-Regeln

(bis auf S

ε, fallsεzur Sprache gehört;

in diesem Fall darf S in keiner Regelconclusio vorkommen), ohne nutzlose Symbole,

ohne Kettenproduktionen,

so daß für jede Regel P

Q gilt: entweder Q

Voder Q

T .

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 259 / 356

Normalform für cf-Grammatiken

Beweis

1 Man teste zunächst, obSnullbar ist. Falls ja, dann verwende manSneu als neues Startsymbol und füge die RegelnSneu

S

|

εzum Regelsatz hinzu.

2 Man eliminiere nutzlose Symbole.

3 Man eliminiere alleε-Regeln außerSneu

ε.

4 Man bringe die Grammatik in die Normalform,

bei der für jede RegelP

Q gilt: entwederQ

VoderQ

T.

5 Man eliminiere Kettenproduktionen.

6 Zum Schluss eliminiere man noch einmal alle nutzlosen Symbole (wg. Schritt 3)

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 260 / 356

Teil IV

1 Ableitungsbäume

2 Umformung von Grammatiken

3 Normalformen

4 Pumping-Lemma für kontextfreie Sprachen

5 Pushdown-Automaten (PDAs)

6 Determinierte PDAs

7 Abschlusseigenschaften

8 Wortprobleme

9 Der CYK-Algorithmus

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 261 / 356

(3)

Normalformen

Unterschied: Grammatiktypen und Normalformen

Gemeinsamkeit: Sowohl Grammatiktypen als auch Normalformen schränken die Form von Grammatikregeln ein.

Unterschied:

Grammatiktypen (rechtslinear, kontextfrei usw.) führen zuunterschiedlichen Sprachklassen Normalformeln führen zu

den selben Sprachklassen

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 262 / 356

Normalformen

Wozu dann Normalformen?

Weniger Fallunterscheidungen bei Algorithmen, die mit Grammatiken arbeiten.

Struktur von Grammatiken einfacher zu „durchschauen“

Zwei Normalformen

Chomsky-Normalform: Baut auf den Umformungen des vorigen Teils auf.

Greibach-Normalform: Ähnlich den rechtslinearen Grammatiken.

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 263 / 356

Chomsky-Normalform

Definition 20.1 (Chomsky-Normalform)

Eine cf-GrammatikG= (V,T,R,S)ist inChomsky-Normalform (CNF), wenn gilt:

Ghat nur Regeln der Form

A

BC mitA,B,C

Vund

A

a mitA

V,a

T (nichtε!)

Istε

L(G), so darfGzusätzlich die RegelS

εenthalten.

In diesem Fall darfSin keiner Regelconclusio vorkommen.

Genthält keine nutzlosen Symbole.

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 264 / 356

Chomsky-Normalform

Theorem 20.2 (Chomsky-Normalform)

Zu jeder cf-Grammatik existiert eine äquivalente cf-Grammatik in Chomsky-Normalform.

Beweis

Schritt 1:Wende aufGdie Umformungen des letzten Abschnitts an.

Ergebnis:

Ghat keine nutzlosen Symbole Alle Regeln haben die Form

1 A

→ α

mitA

V und

α ∈

V,

|α| ≥

2, und

2 A

amitA

V,a

T

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 265 / 356

(4)

Chomsky-Normalform

Beweis (Forts.)

Schritt 2:Regeln so umformen, daß keine Conclusio eine Länge größer 2 hat.

Ersetze jede Regel

A

A1. . .AnmitA,Ai

V,n

3 durch:

A

A1C1 C1

A2C2

... Cn2

An1An

Dabei sind dieCi neue Variablen inV.

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 266 / 356

Greibach-Normalform

Definition 20.3 (Greibach-Normalform)

Eine cf-GrammatikG= (V,T,R,S)ist inGreibach-Normalform (GNF), wenn gilt:

Ghat nur Regeln der Form

A

aαmit A

V und a

T undα

V

Istε

L(G), so darfGzusätzlich die RegelS

εenthalten.

In diesem Fall darfSin keiner Regelconclusio vorkommen.

Genthält keine nutzlosen Symbole.

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 267 / 356

Teil IV

1 Ableitungsbäume

2 Umformung von Grammatiken

3 Normalformen

4 Pumping-Lemma für kontextfreie Sprachen

5 Pushdown-Automaten (PDAs)

6 Determinierte PDAs

7 Abschlusseigenschaften

8 Wortprobleme

9 Der CYK-Algorithmus

B. Beckert – Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS 2007 268 / 356

Wiederholung: Pumping-Lemma für reguläre Sprachen

Theorem 21.1 (Pumping-Lemma für L3-Sprachen) Sei L

RAT.

Dann existiert ein n

N, so dass:

Für alle

x

L mit

|

x

| ≥

n existiert eine Zerlegung

x =uvw u,v,w

Σ mit

|

v

| ≥

1

|

v

|

<n

uvmw

L für alle m

N

B. Beckert – Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS 2007 269 / 356

(5)

Pumping-Lemma für kontextfreie Sprachen

Theorem 21.2 (Pumping-Lemma für kontextfreie Sprachen) Sei L kontextfrei

Dann existiert ein n

N, so dass:

Für alle

z

L mit

|

x

| ≥

n existiert eine Zerlegung

z=uvwxy u,v,w,x,y

Σ mit

|

vx

| ≥

1

|

vwx

|

<n

uvmwxmy

L für alle m

N

B. Beckert – Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS 2007 270 / 356

Pumping-Lemma für kontextfreie Sprachen

Beweisidee

Bei der Ableitung eines hinreichend langen Wortes muss es eine Variable geben, die mehr als einmal auftaucht.

Dies führt zu einer Schleife in der Ableitung, die aufgepumpt werden kann.

B. Beckert – Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS 2007 271 / 356

Pumping-Lemma für kontextfreie Sprachen

Anwendung des Pumping-Lemmas für cf-Sprachen Wenn das cf-Pumping-Lemma für eine Sprache nicht gilt, dann kann sie nicht kontextfrei sein.

Beispiel 21.3 (Sprachen, die nicht kontextfrei sind)

Für folgende Sprachen kann man mit Hilfe des cf-Pumping-Lemmas zeigen, dass sie nicht kontextfrei sind:

{

ap

|

pprim

} {

anbncn

|

n

N

} {

zzz

|

z

∈ {

a,b

}

}

d.

B. Beckert – Grundlagen d. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS 2007 272 / 356

Referenzen

ÄHNLICHE DOKUMENTE

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 deterministisch kontextfreien Sprachen ist eine echte Teilmenge der Menge der

Es gibt somit eine Schleife, die beliebig oft durchlaufen werden kann; das Wort kann in dem Schleifenbereich aufgepumpt werden.. Wiebke Petersen Einführung

Das Pumping-Lemma f¨ ur regul¨ are Sprachen besagt, dass es f¨ ur jede unendliche regul¨ are Sprache eine Grenze n gibt, so daß es zu jedem Wort w der Sprache, das mindestens die

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

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

Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS 2007 268 / 356.. Theoretischen Informatik: Pumping-Lemma für kontextfreie Sprachen SS 2007 269