• Keine Ergebnisse gefunden

Sommersemester2007 BernhardBeckert GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI Vorlesung

N/A
N/A
Protected

Academic year: 2021

Aktie "Sommersemester2007 BernhardBeckert GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI Vorlesung"

Copied!
61
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Bernhard Beckert

Institut für Informatik

Sommersemester 2007

(2)

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 / 366

(3)

L

2

L

1

Das heißt, jede kontextfreie Sprache ist auch kontextsensitiv

Beweis

Regeln einer kontextsensitiven Grammatik müssen folgende Form haben:

entweder uAv → u α v

mit u , v ,α ∈ ( V ∪ T ) , |α| ≥ 1 , A ∈ V oder S → ε

und S kommt in keiner Regelconclusio vor.

Diesen Bedingungen genügt die kontextfreie Grammatik nach Elimination der

(4)

Elimination von ε -Regeln

Korollar

L

2

L

1

Das heißt, jede kontextfreie Sprache ist auch kontextsensitiv

Beweis

Regeln einer kontextsensitiven Grammatik müssen folgende Form haben:

entweder uAv → u α v

mit u , v ,α ∈ ( V ∪ T ) , |α| ≥ 1 , A ∈ V oder S → ε

und S kommt in keiner Regelconclusio vor.

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

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

(5)

L

2

L

1

Das heißt, jede kontextfreie Sprache ist auch kontextsensitiv

Beweis

Regeln einer kontextsensitiven Grammatik müssen folgende Form haben:

entweder uAv → u α v

mit u , v ,α ∈ ( V ∪ T ) , |α| ≥ 1 , A ∈ V oder S → ε

und S kommt in keiner Regelconclusio vor.

Diesen Bedingungen genügt die kontextfreie Grammatik nach Elimination der

(6)

Elimination von Kettenproduktionen

Definition 19.7 (Kettenproduktion) Eine Regel der Form

A → B mit A, B ∈ V heißt Kettenproduktion.

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 260 / 366

(7)

Definition 19.7 (Kettenproduktion) Eine Regel der Form

A → B mit A, B ∈ V heißt Kettenproduktion.

Theorem 19.8 (Kettenproduktionen sind eliminierbar)

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

Kettenproduktionen.

(8)

Elimination von Kettenproduktionen

Beweis

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

Konstruiere neue Grammatik wie folgt:

1

Für alle

Variablenpaare A , B ∈ V , A 6= B mit A = ⇒ B Regeln B → α ∈ R , α 6∈ V

füge zu R hinzu:

A → α

2

Lösche alle Kettenproduktionen

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

(9)

Beweis

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

Konstruiere neue Grammatik wie folgt:

1

Für alle

Variablenpaare A , B ∈ V , A 6= B mit A = ⇒ B Regeln B → α ∈ R , α 6∈ V

füge zu R hinzu:

A → α

2

Lösche alle Kettenproduktionen

(10)

Elimination von Kettenproduktionen

Beweis

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

Konstruiere neue Grammatik wie folgt:

1

Für alle

Variablenpaare A , B ∈ V , A 6= B mit A = ⇒ B Regeln B → α ∈ R , α 6∈ V

füge zu R hinzu:

A → α

2

Lösche alle Kettenproduktionen

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

(11)

Beweis

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

Konstruiere neue Grammatik wie folgt:

1

Für alle

Variablenpaare A , B ∈ V , A 6= B mit A = ⇒ B Regeln B → α ∈ R , α 6∈ V

füge zu R hinzu:

A → α

2

Lösche alle Kettenproduktionen

(12)

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 ∈ V oder Q ∈ T .

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

(13)

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 ∈ V oder Q ∈ T .

(14)

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 ∈ V oder Q ∈ T .

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

(15)

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 ∈ V oder Q ∈ T .

(16)

Normalform für cf-Grammatiken

Beweis

1

Man teste zunächst, ob S nullbar ist. Falls ja, dann verwende man S

neu

als neues Startsymbol und füge die Regeln S

neu

→ S | ε zum Regelsatz hinzu.

2

Man eliminiere nutzlose Symbole.

3

Man eliminiere alle ε -Regeln außer S

neu

→ ε .

4

Man bringe die Grammatik in die Normalform,

bei der für jede Regel P → Q gilt: entweder Q ∈ V oder Q ∈ 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 263 / 366

(17)

Beweis

1

Man teste zunächst, ob S nullbar ist. Falls ja, dann verwende man S

neu

als neues Startsymbol und füge die Regeln S

neu

→ S | ε zum Regelsatz hinzu.

2

Man eliminiere nutzlose Symbole.

3

Man eliminiere alle ε -Regeln außer S

neu

→ ε .

4

Man bringe die Grammatik in die Normalform,

bei der für jede Regel P → Q gilt: entweder Q ∈ V oder Q ∈ T .

5

Man eliminiere Kettenproduktionen.

6

Zum Schluss eliminiere man noch einmal alle nutzlosen Symbole

(wg. Schritt 3)

(18)

Normalform für cf-Grammatiken

Beweis

1

Man teste zunächst, ob S nullbar ist. Falls ja, dann verwende man S

neu

als neues Startsymbol und füge die Regeln S

neu

→ S | ε zum Regelsatz hinzu.

2

Man eliminiere nutzlose Symbole.

3

Man eliminiere alle ε -Regeln außer S

neu

→ ε .

4

Man bringe die Grammatik in die Normalform,

bei der für jede Regel P → Q gilt: entweder Q ∈ V oder Q ∈ 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 263 / 366

(19)

Beweis

1

Man teste zunächst, ob S nullbar ist. Falls ja, dann verwende man S

neu

als neues Startsymbol und füge die Regeln S

neu

→ S | ε zum Regelsatz hinzu.

2

Man eliminiere nutzlose Symbole.

3

Man eliminiere alle ε -Regeln außer S

neu

→ ε .

4

Man bringe die Grammatik in die Normalform,

bei der für jede Regel P → Q gilt: entweder Q ∈ V oder Q ∈ T .

5

Man eliminiere Kettenproduktionen.

6

Zum Schluss eliminiere man noch einmal alle nutzlosen Symbole

(wg. Schritt 3)

(20)

Normalform für cf-Grammatiken

Beweis

1

Man teste zunächst, ob S nullbar ist. Falls ja, dann verwende man S

neu

als neues Startsymbol und füge die Regeln S

neu

→ S | ε zum Regelsatz hinzu.

2

Man eliminiere nutzlose Symbole.

3

Man eliminiere alle ε -Regeln außer S

neu

→ ε .

4

Man bringe die Grammatik in die Normalform,

bei der für jede Regel P → Q gilt: entweder Q ∈ V oder Q ∈ 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 263 / 366

(21)

Beweis

1

Man teste zunächst, ob S nullbar ist. Falls ja, dann verwende man S

neu

als neues Startsymbol und füge die Regeln S

neu

→ S | ε zum Regelsatz hinzu.

2

Man eliminiere nutzlose Symbole.

3

Man eliminiere alle ε -Regeln außer S

neu

→ ε .

4

Man bringe die Grammatik in die Normalform,

bei der für jede Regel P → Q gilt: entweder Q ∈ V oder Q ∈ T .

5

Man eliminiere Kettenproduktionen.

6

Zum Schluss eliminiere man noch einmal alle nutzlosen Symbole

(wg. Schritt 3)

(22)

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: SS 2007 264 / 366

(23)

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

(24)

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 zu unterschiedlichen Sprachklassen Normalformeln führen zu

den selben Sprachklassen

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

(25)

Unterschied: Grammatiktypen und Normalformen

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

Unterschied:

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

den selben Sprachklassen

(26)

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 zu unterschiedlichen Sprachklassen Normalformeln führen zu

den selben Sprachklassen

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

(27)

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.

(28)

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 267 / 366

(29)

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.

(30)

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 267 / 366

(31)

Definition 20.1 (Chomsky-Normalform)

Eine cf-Grammatik G = ( V , T , R , S ) ist in Chomsky-Normalform (CNF), wenn gilt:

G hat nur Regeln der Form

A → BC mit A , B , C ∈ V und

A → a mit A ∈ V , a ∈ T (nicht ε !)

Ist ε ∈ L ( G ) , so darf G zusätzlich die Regel S → ε enthalten.

In diesem Fall darf S in keiner Regelconclusio vorkommen.

G enthält keine nutzlosen Symbole.

(32)

Chomsky-Normalform

Definition 20.1 (Chomsky-Normalform)

Eine cf-Grammatik G = ( V , T , R , S ) ist in Chomsky-Normalform (CNF), wenn gilt:

G hat nur Regeln der Form

A → BC mit A , B , C ∈ V und

A → a mit A ∈ V , a ∈ T (nicht ε !)

Ist ε ∈ L ( G ) , so darf G zusätzlich die Regel S → ε enthalten.

In diesem Fall darf S in keiner Regelconclusio vorkommen.

G enthält keine nutzlosen Symbole.

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 268 / 366

(33)

Definition 20.1 (Chomsky-Normalform)

Eine cf-Grammatik G = ( V , T , R , S ) ist in Chomsky-Normalform (CNF), wenn gilt:

G hat nur Regeln der Form

A → BC mit A , B , C ∈ V und

A → a mit A ∈ V , a ∈ T (nicht ε !)

Ist ε ∈ L ( G ) , so darf G zusätzlich die Regel S → ε enthalten.

In diesem Fall darf S in keiner Regelconclusio vorkommen.

G enthält keine nutzlosen Symbole.

(34)

Chomsky-Normalform

Theorem 20.2 (Chomsky-Normalform)

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

Beweis

Schritt 1: Wende auf G die Umformungen des letzten Abschnitts an.

Ergebnis:

G hat keine nutzlosen Symbole Alle Regeln haben die Form

1

A → α mit A ∈ V und α ∈ V , |α| ≥ 2, und

2

A → a mit A ∈ V , a ∈ T

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 269 / 366

(35)

Theorem 20.2 (Chomsky-Normalform)

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

Beweis

Schritt 1: Wende auf G die Umformungen des letzten Abschnitts an.

Ergebnis:

G hat keine nutzlosen Symbole Alle Regeln haben die Form

1

A → α mit A ∈ V und α ∈ V , |α| ≥ 2, und

2

A → a mit A ∈ V , a ∈ T

(36)

Chomsky-Normalform

Theorem 20.2 (Chomsky-Normalform)

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

Beweis

Schritt 1: Wende auf G die Umformungen des letzten Abschnitts an.

Ergebnis:

G hat keine nutzlosen Symbole Alle Regeln haben die Form

1

A → α mit A ∈ V und α ∈ V , |α| ≥ 2, und

2

A → a mit A ∈ V , a ∈ T

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 269 / 366

(37)

Theorem 20.2 (Chomsky-Normalform)

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

Beweis

Schritt 1: Wende auf G die Umformungen des letzten Abschnitts an.

Ergebnis:

G hat keine nutzlosen Symbole Alle Regeln haben die Form

1

A → α mit A ∈ V und α ∈ V , |α| ≥ 2, und

2

A → a mit A ∈ V , a ∈ T

(38)

Chomsky-Normalform

Beweis (Forts.)

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

Ersetze jede Regel

A → A

1

. . . A

n

mit A , A

i

∈ V , n ≥ 3 durch:

A → A

1

C

1

C

1

→ A

2

C

2

.. . C

n

2

→ A

n

1

A

n

Dabei sind die C

i

neue Variablen in V .

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 270 / 366

(39)

Beweis (Forts.)

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

Ersetze jede Regel

A → A

1

. . . A

n

mit A , A

i

∈ V , n ≥ 3 durch:

A → A

1

C

1

C

1

→ A

2

C

2

.. . C

n

2

→ A

n

1

A

n

Dabei sind die C

i

neue Variablen in V .

(40)

Greibach-Normalform

Definition 20.3 (Greibach-Normalform)

Eine cf-Grammatik G = ( V , T , R , S ) ist in Greibach-Normalform (GNF), wenn gilt:

G hat nur Regeln der Form

A → a α mit A ∈ V und a ∈ T und α ∈ V

Ist ε ∈ L ( G ) , so darf G zusätzlich die Regel S → ε enthalten.

In diesem Fall darf S in keiner Regelconclusio vorkommen.

G enthält keine nutzlosen Symbole.

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 271 / 366

(41)

Definition 20.3 (Greibach-Normalform)

Eine cf-Grammatik G = ( V , T , R , S ) ist in Greibach-Normalform (GNF), wenn gilt:

G hat nur Regeln der Form

A → a α mit A ∈ V und a ∈ T und α ∈ V

Ist ε ∈ L ( G ) , so darf G zusätzlich die Regel S → ε enthalten.

In diesem Fall darf S in keiner Regelconclusio vorkommen.

G enthält keine nutzlosen Symbole.

(42)

Greibach-Normalform

Definition 20.3 (Greibach-Normalform)

Eine cf-Grammatik G = ( V , T , R , S ) ist in Greibach-Normalform (GNF), wenn gilt:

G hat nur Regeln der Form

A → a α mit A ∈ V und a ∈ T und α ∈ V

Ist ε ∈ L ( G ) , so darf G zusätzlich die Regel S → ε enthalten.

In diesem Fall darf S in keiner Regelconclusio vorkommen.

G enthält keine nutzlosen Symbole.

B. Beckert – Grundlagen d. Theoretischen Informatik: Normalformen SS 2007 271 / 366

(43)

Definition 20.3 (Greibach-Normalform)

Eine cf-Grammatik G = ( V , T , R , S ) ist in Greibach-Normalform (GNF), wenn gilt:

G hat nur Regeln der Form

A → a α mit A ∈ V und a ∈ T und α ∈ V

Ist ε ∈ L ( G ) , so darf G zusätzlich die Regel S → ε enthalten.

In diesem Fall darf S in keiner Regelconclusio vorkommen.

G enthält keine nutzlosen Symbole.

(44)

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 272 / 366

(45)

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

(46)

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

Theorem 21.1 (Pumping-Lemma für L

3

-Sprachen) Sei L ∈ RAT.

Dann existiert ein n ∈ N , so dass:

Für alle

x ∈ L mit | x | ≥ n existiert eine Zerlegung

x = uv w u , v , w ∈ Σ mit

| v | ≥ 1

| v | < n

uv

m

w ∈ L für alle m ∈ N

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

(47)

Sei L ∈ RAT.

Dann existiert ein n ∈ N , so dass:

Für alle

x ∈ L mit | x | ≥ n existiert eine Zerlegung

x = uv w u , v , w ∈ Σ mit

| v | ≥ 1

| v | < n

(48)

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

Theorem 21.1 (Pumping-Lemma für L

3

-Sprachen) Sei L ∈ RAT.

Dann existiert ein n ∈ N , so dass:

Für alle

x ∈ L mit | x | ≥ n existiert eine Zerlegung

x = uv w u , v , w ∈ Σ mit

| v | ≥ 1

| v | < n

uv

m

w ∈ L für alle m ∈ N

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

(49)

Sei L ∈ RAT.

Dann existiert ein n ∈ N , so dass:

Für alle

x ∈ L mit | x | ≥ n existiert eine Zerlegung

x = uv w u , v , w ∈ Σ mit

| v | ≥ 1

| v | < n

(50)

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

Theorem 21.1 (Pumping-Lemma für L

3

-Sprachen) Sei L ∈ RAT.

Dann existiert ein n ∈ N , so dass:

Für alle

x ∈ L mit | x | ≥ n existiert eine Zerlegung

x = uv w u , v , w ∈ Σ mit

| v | ≥ 1

| v | < n

uv

m

w ∈ L für alle m ∈ N

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

(51)

Sei L ∈ RAT.

Dann existiert ein n ∈ N , so dass:

Für alle

x ∈ L mit | x | ≥ n existiert eine Zerlegung

x = uv w u , v , w ∈ Σ mit

| v | ≥ 1

| v | < n

(52)

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 = uv wx y u , v , w , x , y ∈ Σ mit

| vx | ≥ 1

| vwx | < n

uv

m

wx

m

y ∈ L für alle m ∈ N

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

(53)

Sei L kontextfrei

Dann existiert ein n ∈ N , so dass:

Für alle

z ∈ L mit | x | ≥ n existiert eine Zerlegung

z = uv wx y u , v , w , x , y ∈ Σ mit

| vx | ≥ 1

| vwx | < n

(54)

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 = uv wx y u , v , w , x , y ∈ Σ mit

| vx | ≥ 1

| vwx | < n

uv

m

wx

m

y ∈ L für alle m ∈ N

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

(55)

Sei L kontextfrei

Dann existiert ein n ∈ N , so dass:

Für alle

z ∈ L mit | x | ≥ n existiert eine Zerlegung

z = uv wx y u , v , w , x , y ∈ Σ mit

| vx | ≥ 1

| vwx | < n

(56)

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 = uv wx y u , v , w , x , y ∈ Σ mit

| vx | ≥ 1

| vwx | < n

uv

m

wx

m

y ∈ L für alle m ∈ N

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

(57)

Sei L kontextfrei

Dann existiert ein n ∈ N , so dass:

Für alle

z ∈ L mit | x | ≥ n existiert eine Zerlegung

z = uv wx y u , v , w , x , y ∈ Σ mit

| vx | ≥ 1

| vwx | < n

(58)

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 276 / 366

(59)

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.

(60)

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:

{ a

p

| p prim } { a

n

b

n

c

n

| n ∈ N } { zzz | z ∈ { a , b } } d.

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

(61)

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:

{ a

p

| p prim }

{ a

n

b

n

c

n

| n ∈ N }

{ zzz | z ∈ { a , b } } d.

Referenzen

ÄHNLICHE DOKUMENTE

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

Ein Algorithmus für ein Problem P ist eine Vorschrift (ein Programm), die zu beliebigem Objekt o berechnet, ob die Eigenschaft für o zutrifft oder

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

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

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

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

nächstes Eingabezeichen wird gelesen oder nicht (bei ε ), das oberste Kellersymbol wird entfernt,. der Zustand

es werden null oder mehr Zeichen auf den Keller geschoben Bei neuen Keller-Wort γ = A