• Keine Ergebnisse gefunden

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
6
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 / 127

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

Gleichmächtigkeit: PDAs und kontextfreie Grammatiken

Lemma 5.15 (PDAcf-Grammatik)

Zu jedem Push-Down-AutomatenMgibt es eine kontextfreie Grammatik G mit L

(

G

) =

L

(

M

)

Beweis

SeiMein PDA, der eine SpracheLüber leeren Kellerakzeptiert.

Wir konstruieren aus dem Regelsatz vonMeine kontextfreie Grammatik, dieLerzeugt.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 92 / 127

Gleichmächtigkeit: PDAs und kontextfreie Grammatiken

Beweis (Forts.)

Idee:

Die Variablen der Grammatik sind 3-Tupel der Form

[

q

,

A

,

p

]

Bedeutung:

Grammatik kann Wortxaus Variablen

[

q

,

A

,

p

]

ableiten gdw

Mkann vom Zustandqin den Zustandpübergehen,

dabeiAvom Keller entfernen (sonst den Keller unveränder lassen) und das Wortx lesen:

[

q

,

A

,

p

] = ⇒

x

gdw

(

q

,

x

,

) `

(

p

,

ε

,

γ

)

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 93 / 127

(2)

Gleichmächtigkeit: PDAs und kontextfreie Grammatiken

Beweis (Forts.)

Formale Konstruktion:

Sei

M

= (

K

,Σ,Γ,∆,

s0

,

Z0

,

F

)

ein PDA.

Daraus konstruiert man die Grammatik

G

= (

V

,

T

,

R

,

S

)

mit

V:=

{[

q

,

A

,

p

] |

q

,

p

K

,

A

Γ} ∪ {S

}

T :=Σ

und . . .

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 94 / 127

Gleichmächtigkeit: PDAs und kontextfreie Grammatiken

Beweis (Forts.)

. . . folgenden Regeln inR:

S

→ [

s0

,

Z0

,

q

]

für alleq

K,

[

q

,

A

,

qm+1

] →

a

[

q1

,

B1

,

q2

][

q2

,

B2

,

q3

]. . . [

qm

,

Bm

,

qm+1

]

für jeden∆-Übergang

(

q

,

a

,

A

)

(

q1

,

B1

. . .

Bm

)

und für jede beliebige Kombinationq2

, . . . ,

qm+1

K,

[

q

,

A

,

q1

] →

a

für jeden∆-Übergang

(

q

,

a

,

A

)

(

q1

,ε)

Dabei ista

Σ

∪ {ε}

.

Siehe Buch für Beweis, dass die Konstruktion das gewünschte Ergebnis liefert:

[

q

,

A

,

p

] = ⇒

x

gdw

(

q

,

x

,

A

) `

(

p

,ε,ε)

woraus sofort L`

(

M

) =

L

(

G

)

folgt.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 95 / 127

Gleichmächtigkeit: PDAs und kontextfreie Grammatiken

Beispiel 5.16 Sprache:

Lab

= {

anbn

|

n

N0

}

Labwird über leeren Keller akzeptiert von dem PDA

M

= ({

s0

,

s1

},{

a

,

b

},{

Z0

,

A

},

s0

,

Z0

,

0)/ mit den Regeln

1

. (

s0

,ε,

Z0

)

(

s0

,ε)

2

. (

s0

,

a

,

Z0

)

(

s0

,

A

)

3

. (

s0

,

a

,

A

)

(

s0

,

AA

)

4

. (

s0

,

b

,

A

)

(

s1

,ε)

5

. (

s1

,

b

,

A

)

(

s1

,ε)

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 96 / 127

Gleichmächtigkeit: PDAs und kontextfreie Grammatiken

Beispiel (Forts.)

Die Transformation ergibt folgende Grammatik-Regeln:

S

→ [

s0

,

Z0

,

s0

] | [

s0

,

Z0

,

s1

]

1.

[

s0

,

Z0

,

s0

] →

ε

2.

[

s0

,

Z0

,

s0

] →

a

[

s0

,

A

,

s0

] [

s0

,

Z0

,

s1

] →

a

[

s0

,

A

,

s1

]

3.

[

s0

,

A

,

s0

] →

a

[

s0

,

A

,

s0

][

s0

,

A

,

s0

] [

s0

,

A

,

s0

] →

a

[

s0

,

A

,

s1

][

s1

,

A

,

s0

] [

s0

,

A

,

s1

] →

a

[

s0

,

A

,

s0

][

s0

,

A

,

s1

] [

s0

,

A

,

s1

] →

a

[

s0

,

A

,

s1

][

s1

,

A

,

s1

]

4.

[

s0

,

A

,

s1

] →

b

5.

[

s1

,

A

,

s1

] →

b

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 97 / 127

(3)

Gleichmächtigkeit: PDAs und kontextfreie Grammatiken

Beispiel (Forts.)

Lesbarer haben wir damit folgende Grammatik:

S

A

|

B A

aC

|

ε B

aD

C

aCC

|

aDE D

aCD

|

aDF

|

b F

b

Man sieht jetzt:

VariableEist nutzlos, und damit auch die VariableC.

Die Grammatik enthält Kettenproduktionen und nullbare Variablen.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 98 / 127

Gleichmächtigkeit: PDAs und kontextfreie Grammatiken

Beispiel (Forts.)

Nach Entfernung der überflüssigen Elemente:

S

ε

|

aD D

aDF

|

b F

b

Mit dieser Grammatik kann man z.B. folgende Ableitung ausführen:

S

= ⇒

aD

= ⇒

aaDF

= ⇒

aaaDFF

= ⇒

aaabFF

= ⇒

aaabbF

= ⇒

aaabbb

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 99 / 127

Teil I

1 Ableitungsbäume

2 Umformung von Grammatiken

3 Normalformen

4 Pumping-Lemma für kontextfreie Sprachen

5 Pushdown-Automaten (PDAs)

6 Abschlusseigenschaften

7 Wortprobleme

8 Der CYK-Algorithmus

B. Beckert – Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS 2007 100 / 127

Abschlusseigenschaften

Theorem 6.1 (Abschlusseigenschaften von L2) L2ist abgeschlossen gegen:

Vereinigung

Konkatenation

Kleene-Stern

Beweis Seien

Gi

= (

Vi

,

Ti

,

Ri

,

Si

) (

i

∈ {

1

,

2

})

zwei cf-Grammatiken mitV1

V2

=

0/.

Sei

Li

=

L

(

Gi

)

B. Beckert – Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS 2007 101 / 127

(4)

Abschlusseigenschaften

Beweis (Forts.) zu:

(

V1

V2

∪ {

Sneu

},

T1

T2

,

R1

R2

∪ {

Sneu

S1

|

S2

},

Sneu

)

erzeugt geradeL1

L2

zu:

(

V1

V2

∪ {

Sneu

},

T1

T2

,

R1

R2

∪ {

Sneu

S1S2

},

Sneu

)

erzeugt geradeL1

L2

zu:

(

V1

∪ {

Sneu

},

T1

,

R1

∪ {

Sneu

S1Sneu

|

ε},Sneu

)

erzeugt geradeL1.

B. Beckert – Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS 2007 102 / 127

Abschlusseigenschaften

Theorem 6.2 (Abschlusseigenschaften von L2) L2istnichtabgeschlossen gegen:

Durchschnitt

Komplement

¬

B. Beckert – Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS 2007 103 / 127

Abschlusseigenschaften

Beweis Zu „∩“:

L1

= {

anbncm

|

n

,

m

N

}

L2

= {

ambncn

|

n

,

m

N

}

wird erzeugt vonGi

= ({

S

,

S0

,

T

},{

a

,

b

,

c

},

Ri

,

S

)

mit R1

= {

S

S0T

S0

aS0b

|

ab T

cT

|

c

}

R2

= {

S

TS0

S0

bS0c

|

bc T

aT

|

a

}

SowohlL1als auchL2sind cf,nichtaberL1

L2

= {

anbncn

|

n

N

}

.

B. Beckert – Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS 2007 104 / 127

Abschlusseigenschaften

Beweis Zu „¬“:

Angenommen,L2wäre abgeschlossen gegen

¬

. Wegen

L1

L2

= ¬(¬

L1

∪ ¬

L2

)

wäreL2dann auch abgeschlossen gegen

Widerspruch

B. Beckert – Grundlagen d. Theoretischen Informatik: Abschlusseigenschaften SS 2007 105 / 127

(5)

Teil I

1 Ableitungsbäume

2 Umformung von Grammatiken

3 Normalformen

4 Pumping-Lemma für kontextfreie Sprachen

5 Pushdown-Automaten (PDAs)

6 Abschlusseigenschaften

7 Wortprobleme

8 Der CYK-Algorithmus

B. Beckert – Grundlagen d. Theoretischen Informatik: Wortprobleme SS 2007 106 / 127

Wortproblem

Problem

Gegeben: eine cf-Grammatik G, so daß L

(

G

)

eine Sprache ist überΣ, und ein Wortw

Σ

Frage: Istw

L

(

G

)

?

B. Beckert – Grundlagen d. Theoretischen Informatik: Wortprobleme SS 2007 107 / 127

Wortproblem

Lösung des Wortproblems für L3

Gegeben eine rechtslineare GrammatikG, so daßL

(

G

)

eine Sprache ist über Σ, und ein Wortw

Σ.

Konstruiere ausGeinenε-NDEAA1. Konstruiere ausA1einen NDEAA2. Konstruiere ausA2einen DEAA3.

Probiere aus, obA3das Wortwakzeptiert.

Dazu braucht der AutomatA3genau

|

w

|

Schritte.

B. Beckert – Grundlagen d. Theoretischen Informatik: Wortprobleme SS 2007 108 / 127

Wortproblem

Das Wortproblem für L2

Zu jeder cf-GrammatikGkann man einen PDA konstruieren

Aber ein Pushdown-Automat kannε-Übergänge machen, in denen er das Wort nicht weiter liest.

Wie kann man dann garantieren, daß der Automat in endlich vielen Schritten das Wortwzu Ende gelesen hat?

Deshalb: verwende anderes Verfahren:

Cocke-Younger-Kasami-Algorithmus(CYK-Algorithmus) Auch: Chart-Parsing

B. Beckert – Grundlagen d. Theoretischen Informatik: Wortprobleme SS 2007 109 / 127

(6)

Chart-Parsing

Gegeben: Ein Wort w

=

a1

. . .

an

Idee

Prinzip der dynamischen Programmierung

1.: Ermittle woraus sich die einstelligen Teilworte ableiten lassen 2.: Ermittle woraus sich die zweistelligen Teilworte ableiten lassen . . .

n.: Ermittle woraus sich dien-stelligen Teilworte (wselbst) ableiten lassen

B. Beckert – Grundlagen d. Theoretischen Informatik: Wortprobleme SS 2007 110 / 127

Referenzen

ÄHNLICHE DOKUMENTE

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

Daraus, dass das Pumping-Lemma für eine Sprache gilt, folgt nicht, dass sie regulär

Eine Regel in R 0 entsteht aus einer Regel in R, indem einige nullbare Variablen gestrichen werden. (m kann auch 0 sein, dann war die Regel selbst schon

Wie kann man dann garantieren, daß der Automat in endlich vielen Schritten das Wort w zu Ende gelesen hat?. Deshalb: verwende

Wie kann man dann garantieren, daß der Automat in endlich vielen Schritten das Wort w zu Ende gelesen hat. Deshalb: verwende

Nach rechts ist das Band unendlich, aber es enthält nach rechts von einer bestimmten Bandposition an nur noch Blanks. u = ε bedeutet, daß rechts vom Schreib-/Lesekopf nur noch

Zu jeder zw-DTM M , die eine Funktion f berechnet oder eine Sprache L akzeptiert, existiert eine Standard-DTM M 0 , die ebenfalls f berechnet bzw.. Theoretischen Informatik:

Wenn die alte Maschine simuliert wird, muss die neue nur 4 statt r Schritte machen: 2 um die neuen Felder zu drucken und weitere 2 um den Kopf auf das neue und wieder zurück auf