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→
aSbR2
=
S→
ε Mögliche Ableitung:S
= ⇒
R1 aSb
= ⇒
R1 aaSbb
= ⇒
R1 aaaSbbb
= ⇒
R2 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
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= ⇒
R1 anaSbbn
=
an+1Sbn+1=
w0.FallsR2angewandt wurde, dann gilt w
=
anSbn= ⇒
R2 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 2kSymbolenDie 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
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
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
=
1log2n
·
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
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
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+VDas 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ührtDie Ersetzung vonAdurchαfindet nur statt, wenn der in der Regel geforderteKontext(uundv), vorhanden ist
Das Wort wird nicht kürzer, außer beiε
∈
LB. 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|
,oderdie 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ε
∈
LB. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 93 / 140
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ählbarL {L
|
L⊆
Σ∗} beliebigeSpracheB. 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|
aX1bcR2
=
X1b→
bX1 R3=
X1c→
X2bcc R4=
bX2→
X2b R5=
aX2→
aa|
aaX1Ist diese Grammatikkontextsensitiv?
Ist siebeschränkt?
B. Beckert – Grundlagen d. Theoretischen Informatik: Die Chomsky-Hierarchie SS 2007 95 / 140