• Keine Ergebnisse gefunden

( )= { | ∈ N } ∈ ( ) = = ∈ N ∈ ( ∪ ) = ⇒ = ⇒ = ⇒ = ⇒ = ⇒ ⊆⊆⊆ = → ε = → GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI =( { } , { , } , { , } , ) Beispiel Beispiel Dank

N/A
N/A
Protected

Academic year: 2021

Aktie "( )= { | ∈ N } ∈ ( ) = = ∈ N ∈ ( ∪ ) = ⇒ = ⇒ = ⇒ = ⇒ = ⇒ ⊆⊆⊆ = → ε = → GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI =( { } , { , } , { , } , ) Beispiel Beispiel Dank"

Copied!
7
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 / 140

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

Beispiel

Beispiel 6.15

GrammatikGab

= ({

S

}, {

a,b

}, {

R1,R2

},

S

)

mit R1

=

S

aSb

R2

=

S

ε Mögliche Ableitung:

S

= ⇒

R

1 aSb

= ⇒

R

1 aaSbb

= ⇒

R

1 aaaSbbb

= ⇒

R

2 aaabbb Also: a3b3

L

(

G2

)

Lemma 6.16

Die Grammatik Gaberzeugt die Sprache L

(

Gab

) = {

anbn

|

n

N0

}

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 72 / 140

Beispiel

Beweis

DassGabtatsächlich genau diese Sprache erzeugt, zeigen wir allgemein, indem wir alle möglichen Ableitungen vonGabbetrachten.

⊆⊆: zu zeigen: Jedes terminale Wort, das vonGaberzeugt wird, hat die Form anbn.

Wir zeigen für allew

∈ (

V

T

)

: FallsS

= ⇒

Gab w, dann gilt entweder w

=

anSbnoderw

=

anbnfür einn

N0.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 73 / 140

(2)

Beispiel

Beweis (Forts.)

Dazu verwenden wir eineInduktion über die Länge einer AbleitungvonS nachw.

Induktionsanfang:w

=

S

=

a0Sb0 Induktionsschritt:Es gelteS

= ⇒

Gab w

= ⇒

Gab w0, und fürwgelte nach der Induktionsvoraussetzung bereitsw

=

anbnoderw

=

anSbn. Außerdem sei w

= ⇒

Gab w0eine Ableitung in einem Schritt. Nun ist zu zeigen:w0

=

ambm oderw0

=

amSbmfür irgendeinm.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 74 / 140

Beispiel

Beweis (Forts.)

Fall 1:w=anbn. Dann konnte keine Regel angewandt werden, dawschon terminal ist, also tritt dieser Fall nie auf.

Fall 2:w=anSbn. Dann wurde vonwnachw0entweder RegelR1oderR2 angewandt.

FallsR1angewandt wurde, dann giltw

=

anSbn

= ⇒

R

1 anaSbbn

=

an+1Sbn+1

=

w0.

FallsR2angewandt wurde, dann gilt w

=

anSbn

= ⇒

R

2 anεbn

=

w0. Dies Wort ist terminal und hat die geforderte Formanbn.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 75 / 140

Beispiel

Beweis (Forts.)

: zu zeigen: Für allenkannanbnvonGaberzeugt werden:S

= ⇒

Gab anbn

n

N0.

Umanbnzu erzeugen, wende man aufS n-mal die RegelR1und dann einmal die RegelR2an.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 76 / 140

Beispiel: Dycksprache

Definition 6.17 (Dycksprache) Gegeben:

– k

N

– Σk :=

{

x1,x1,x2. . . ,xk,xk

}

ein Alphabet mit 2kSymbolen

Die DyckspracheDk ist diekleinste Mengedie folgende Bedingungen erfüllt:

1 ε

Dk,

2 Fallsw

Dk, so auchxiw xi.

3 Fallsu,v

Dk, so auchuv.

Interpretiert man diexi als öffnende, diexi als zugehörige schließende Klammern, so kann man die Dycksprache als dieMenge aller korrekten Klammerausdrückesehen.

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 77 / 140

(3)

Beispiel: Dycksprache

Walther von Dyck b1856,d1934

Mathematiker Hochschulpolitiker

Erster Rektor der TU München

Einer der Gründungsväter des Deutschen Museums

[Foto: Deutsches Museum]

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 78 / 140

Teil II

1 Sprache, Grammatik

2 Warum Sprachen?

3 Die Chomsky-Hierarchie

4 Probleme über Sprachen

5 Endlich, unendlich und dann?

B. Beckert – Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 79 / 140

Darstellung von Problemen

Fakt

So ziemlich alle Probleme können als Probleme über Sprachen formuliert werden.

Beispiel 7.1 (Primzahlen) Alphabet Σnum:=

{|}

Sprache Lprimes:=

{||

. . .

|

| {z }

pmal

|

pprim

}

B. Beckert – Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 80 / 140

Darstellung von Problemen

Eingabealphabet

Σ

= {

0,1, . . . ,n

1

}

erlaubt Darstellung einer Ganzzahl zur Basisn

Beispiel 7.2 5 binär: 101

5 unär:

|||||

(oder auch 11111)

B. Beckert – Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 81 / 140

(4)

Darstellung von Problemen

Speicheraufwand

n-äre Darstellung(n>1) einer Zahlkführt zu einer Speicherersparnis:

lognk (n-är) statt k (unär)

Nur der Schritt von unär auf binär ist wesentlich, denn lognk

=

1

log2n

·

log2k

=

c

·

log2k (von binär aufn-är nur lineare Einsparung)

B. Beckert – Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 82 / 140

Darstellung des Erfüllbarkeitsproblems SAT

Problem SAT

Gegeben: Eine aussagenlogische Formelw

Frage: Gibt es eine Belegung der booleschen Variablen inw, so dasswzutrueauswertet?

Signatur für aussagenlogische Formeln Signatur: Σsat:=

{∧,∨,¬,(,),

x,0,1

}

Dabei Darstellung von boolscher Variablenxi alsx gefolgt voni binär kodiert.

Dadurch Formel der Längenum (unerheblichen) Faktor lognlänger.

B. Beckert – Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 83 / 140

Darstellung des Erfüllbarkeitsproblems SAT

Definition 7.3 (Satisfiability) Sprache

Lsat :=

{

w

Σsat: wist eine aussagenlogische Formel, und es gibt eine Belegung für diexi, so dass die Formelwzutrueauswertet

}

B. Beckert – Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 84 / 140

Darstellung des Erreichbarkeitsproblems in Graphen

Erreichbarkeitsproblem

Gegeben: Ein Graph mit Eckenv1bisvn

Frage: Gibt es einen Weg von Eckev1zu Eckevn?

Signatur für Graphen

Signatur: Σgraph:=

{

v,e,0,1,

(,),

#}

Darstellung von

Eckevi alsv gefolgti binär kodiert Kanteei,j alse

(

string1#string2), wobei

– string1die binäre Darstellung voni, – string2die binäre Darstellung vonj

B. Beckert – Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 85 / 140

(5)

Darstellung des Erreichbarkeitsproblems in Graphen

Definition 7.4 (Erreichbarkeitsproblem) Sprache

Lreach:=

{

w

Σgraph: es gibt einen Weg inw von der ersten Eckev1 zur letzten Eckevn

}

B. Beckert – Grundlagen d. Theoretischen Informatik: Warum Sprachen? SS 2007 86 / 140

Teil II

1 Sprache, Grammatik

2 Warum Sprachen?

3 Die Chomsky-Hierarchie

4 Probleme über Sprachen

5 Endlich, unendlich und dann?

B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 87 / 140

Die Chomsky-Hierarchie

Noam Chomsky b1928

Professor für Linguistik und Philosophie am MIT Bedeutender Linguist

Bedeutender Beitrag zur Informatik:

Erste Beschreibung der Chomsky-Hierarchie (1956)

Bedeutender linker Intellektueller und Globalisierungskritiker

B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 88 / 140

Die Chomsky-Hierarchie

Was muss eine Grammatik erfüllen?

Sie darf nurendlich viele Regelnhaben

Jede Regelprämisse mussmindestens eine Variableenthalten Das Wort kann im Lauf der Ableitung beliebig wachsen und wieder schrumpfen.

(Weitere) Beschränkung der Form, die Regeln haben dürfen, führt zu – Grammatiktypenund damit auch zu

Sprachtypen

von verschiedenen Schwierigkeitsgraden.

B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 89 / 140

(6)

Die Chomsky-Hierarchie

Definition 8.1 (Rechtlineare Grammatik)

Eine GrammatikG

= (

V,T,R,S

)

heißtrechtslinear gdw

∀(

P

Q

) ∈

R P

V undQ

T

T+V

Das heißt, bei jeder Regelanwendung:

Links eineeinzelne Variable Rechtshöchstens eine Variable

Wenn rechts eine Variable steht, steht sieganz rechts im Wort.

B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 90 / 140

Die Chomsky-Hierarchie

Definition 8.2 (Kontextfreie Grammatik)

Eine GrammatikG

= (

V,T,R,S

)

heißtkontextfrei gdw

∀(

P

Q

) ∈

R P

VundQ

∈ (

V

T

)

Das heißt, bei jeder Regelanwendung:

Links eineeinzelne Variable

Die Prämisse macht keine Aussage, was der Kontext dieser Variablen ist („kontextfrei“)

Rechts steht etwas beliebiges

B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 91 / 140

Die Chomsky-Hierarchie

Definition 8.3 (Kontextsensitive Grammatik)

Eine GrammatikG

= (

V,T,R,S

)

heißtkontextsensitiv gdw

∀(

P

Q

) ∈

R:

1

u,v,α

∈ (

V

T

)

A

V P

=

uAvundQ

=

uαv mit

|α| ≥

1 ,oder die Regel hat die FormS

ε

2 Snicht inQ

Das heißt, bei jeder Regelanwendung:

Eine VariableAwird in einen Stringαmit

|α| ≥

1 überführt

Die Ersetzung vonAdurchαfindet nur statt, wenn der in der Regel geforderteKontext(uundv), vorhanden ist

Das Wort wird nicht kürzer, außer beiε

L

B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 92 / 140

Die Chomsky-Hierarchie

Definition 8.4 (Beschränkte Grammatik)

Eine GrammatikG

= (

V,T,R,S

)

heißtbeschränkt gdw

∀(

P

Q

) ∈

R:

1

|

P

| ≤ |

Q

|

,oder

die Regel hat die FormS

ε

2 Snicht inQ

Das heißt, bei jeder Regelanwendung:

Die Conclusio ist mindestens so lang wie die Prämisse, außer beiε

L.

Das Wort wird nicht kürzer, außer beiε

L

B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 93 / 140

(7)

Die Chomsky-Hierarchie

Aufbauend auf den Grammatikarten kann man Sprachklassen definieren

Definition 8.5 (Sprachklassen)

Klasse definiert als Sprache heißt L3, REG {L

(

G

) |

Gist rechtslinear} Typ 3,regulär L2, CFL {L

(

G

) |

Gist kontextfrei} Typ 2,kontextfrei L1, CSL {L

(

G

) |

Gist kontextsensitiv} Typ 1,kontextsensitiv L1, CSL {L

(

G

) |

Gist beschränkt} Typ 1,beschränkt L0, r.e. {L

(

G

) |

Gbeliebig} Typ 0,aufzählbar

L {L

|

L

Σ} beliebigeSprache

B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 94 / 140

Die Chomsky-Hierarchie

Grammatiken können kompliziert sein!

Beispiel 8.6 (Grammatik füranbncn)

GrammatikGabc

= ({

S,X1,X2

},{

a,b,c

},{

R1, . . .R5

},

S

)

mit R1

=

S

abc

|

aX1bc

R2

=

X1b

bX1 R3

=

X1c

X2bcc R4

=

bX2

X2b R5

=

aX2

aa

|

aaX1

Ist diese Grammatikkontextsensitiv?

Ist siebeschränkt?

B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 95 / 140

Referenzen

ÄHNLICHE DOKUMENTE

Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 140 / 219... Theoretischen Informatik: Indetermnierte endliche Automaten (NDEAs) SS 2007 141

L ist rational heißt: es gibt einen endlichen Automaten, der L akzeptiert L ist regulär heißt: es gibt eine linkslineare Grammatik für L. Theoretischen Informatik: Endliche

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

Die durch endliche Automaten akzeptierten Sprachen sind genau die, die man durch reguläre Ausdrücke beschreiben kann. Theoretischen Informatik: Rational = Reguläre Ausdrücke SS 2007

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

So weiß M , wenn er dies Stacksymbol löscht, daß dann bis zu diesem Moment gleichviel as wie bs gelesen

Immer nur zwei benachbarte Kanten betrachten, um herauszufinden, ob darüber eine neue Kante eingefügt werden kann. Theoretischen Informatik: SS 2007 119

Betrachtet werden Abbildungen über den natürlichen Zahlen N : Welche davon sollen berechenbar genannt werdenB.