Automatentheorie und formale Sprachen

Werbung
Automatentheorie
und formale Sprachen
Zusammenfassung
Kathrin Hoffmann
27. Juni 2012
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
329
VL1
Chomsky-Hierarchie Zusammenfassung
Kontextsensitive Grammatiken und Sprachen
• Eine Grammatik G = (N, T , S, R) heißt kontextsensitiv wenn alle
Regeln die Form
u → v mit |u| ≤ |v |
haben, d.h. wenn die linke Seite einer Regel ist nie länger als die
rechte Seite.
• Als einzige Ausnahme ist die Regel S → zugelassen,
um das leere Wort zu erzeugen.
Dann aber darf das Startsymbol S nicht rekursiv sein,
d.h. nicht auf der rechten Seite einer Regel auftreten.
• Eine Regel, deren linke Seite nicht länger ist als die rechte Seite,
heißt monoton bezeichnet.
Daher heißt eine kontextsensitive Grammatik auch monotone
Grammatik.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
330
VL1
Chomsky-Hierarchie Zusammenfassung
BSP
G = (N, T , S, R)
mit T = {a, b, c}
N = {S, A, B}
R:
S → aSBc | aXc
cB → Bc
XB → bX
X →b
S =⇒ aSBc =⇒ aaSBcBc =⇒ aaaXcBcBc =⇒ aaaXcBBcc =⇒
aaaXBcBcc =⇒ aaaXBBccc =⇒ aaabXBccc =⇒ aaabbXccc =⇒
aaabbbccc
L(G) = {an bn c n | n > 0}
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
331
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 57:
Geben Sie bitte eine ksG für L = {ww | w ∈ {a, b, c}∗ } an und leiten
dann bitte abcabc ab.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
332
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 57:
Geben Sie bitte eine ksG für L = {ww | w ∈ {a, b, c}∗ } an und leiten
dann bitte abcabc ab.
Tipp:
Benutzen Sie pro Terminal als erstes Regeln der Form S → xXS.
X ist der Indikator dafür, dass noch in der anderen Worthälfte an
gleicher Stelle ein x zu setzen ist.
Entwerfen Sie nun Regeln, die es erlauben X in die zweite Hälfte des
Wortes zu schieben.
Wandeln Sie dann die X in die entsprechenden Terminale um.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
332
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 57
S → aMa | bMb | cMc | Ma → aAMa | bBMa | cCMa | Ea
Mb → aAMb | bBMb | cCMb | Eb
Mc → aAMc | bBMc | cCMc | Ec
Nt → tN für N ∈ {A, B, C} und t ∈ {a, b, c}
AMa → Ma a
AMb → Mb a
AMc → Mc a
BMa → Ma b
BMb → Mb b
BMc → Mc b
CMa → Ma c
CMb → Mb c
CMc → Mc c
Ea → a
Eb → b
Ec → c
S =⇒ aMa =⇒ abBMa =⇒ abBcCMa =⇒ abcBCMa
=⇒ abcBMa c =⇒ abcMa bc =⇒ abcabc
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
333
VL1
Chomsky-Hierarchie Zusammenfassung
Turingmaschine
• 1936 Alan Turing
• Lösung des Entscheidungsproblems
• Maschine besteht aus
• endliche Steuerung/Programm,
• Lese/Schreibkopf und
• unendlich langes Band.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
334
VL1
Chomsky-Hierarchie Zusammenfassung
Formale Definition einer Turingmaschine
Definition
Ein Turingmaschine (TM) ist ein Tupel
M = (Q, Σ, Γ, δ, q0 , B, F )
bestehend aus
• der endlichen Menge Q von Zuständen,
• dem Eingabealphabeth Σ,
• dem Bandalphabet Γ,
• der Übergangsfunktion δ : Q × Σ × Γ → Q × Γ × D
mit Bewegungsrichtung der Steuerung D = {L, R},
• dem Anfangszustand q0 ∈ Q,
• dem leeren Feld (Blank) B ∈ Γ \ Σ und
• der Menge F ⊆ Q von Endzuständen.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
335
VL1
Chomsky-Hierarchie Zusammenfassung
Beispiel: L(M) = {0n 1n |n ≥ 1}
Turingmaschine (TM)
M = (Q, Σ, Γ, δ, q0 , B, F )
mit
• der endlichen Menge Q = {q0 , q1 , q2 , q3 , q4 },
• dem Eingabealphabeth Σ = {0, 1},
• dem Bandalphabet Γ = {0, 1, X , Y , B},
• der Übergangsfunktion δ : Q × Σ × Γ → Q × Γ × D,
• dem Anfangszustand q0 ∈ Q,
• dem leeren Feld (Blank) B ∈ Γ \ Σ und
• der Menge F = {q4 }
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
336
VL1
Chomsky-Hierarchie Zusammenfassung
Beispiel: L(M) = {0n 1n |n ≥ 1}
Übergangsfunktion δ : Q × Σ × Γ → Q × Γ × D mit
0
1
X
Y
q0 (q1 , X , R)
(q3 , Y , R)
q1 (q1 , 0, R) (q2 , Y , L)
(q1 , Y , R)
q2 (q2 , 0, L)
(q0 , X , R) (q2 , Y , L)
q3
(q3 , Y , R)
q4
-
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
B
(q4 , B, R)
-
27.6. 2012
337
VL1
Chomsky-Hierarchie Zusammenfassung
Chomsky-Hierarchie
• Reguläre Sprachen
• Beispiel:
L = {an bm |n, m ∈ N}
• Wie werden sie erkannt?
• Kontextfreie Sprachen:
• Beispiel: L = {an b n |n ∈ N}
• Wie werden sie erkannt?
• Kontextsensitive Sprachen:
• Beispiel: L = {an b n c n |n ∈ N}
• Wie werden sie erkannt?
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
338
VL1
Chomsky-Hierarchie Zusammenfassung
Chomsky-Hierarchie
• Reguläre Sprachen
• Beispiel:
L = {an bm |n, m ∈ N}
• Wie werden sie erkannt?
Endliche Automaten
• Kontextfreie Sprachen:
• Beispiel: L = {an b n |n ∈ N}
• Wie werden sie erkannt?
Kellerautomaten
• Kontextsensitive Sprachen:
• Beispiel: L = {an b n c n |n ∈ N}
• Wie werden sie erkannt?
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
338
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 58:
Gegeben ist die Grammatik GN = (N, D, S, RN ) mit
RN :S → d0 |dX
wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}.
X → d0 X |
Geben Sie bitte darauf aufbauend eine Grammatik an für
• die ganzen Zahlen Z
• die rationalen Zahlen Q
• und die reellen Zahlen R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
339
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 58:
Gegeben ist die Grammatik GN = (N, D, S, RN ) mit
RN :S → d0 |dX
wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}.
X → d0 X |
Geben Sie bitte darauf aufbauend eine Grammatik an für
• die ganzen Zahlen Z
GZ = (N ] {V }, D ∪ {−, +}, V , RN ∪ {V → −S | +S | S})
• die rationalen Zahlen Q
• und die reellen Zahlen R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
339
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 58:
Gegeben ist die Grammatik GN = (N, D, S, RN ) mit
RN :S → d0 |dX
wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}.
X → d0 X |
Geben Sie bitte darauf aufbauend eine Grammatik an für
• die ganzen Zahlen Z
GZ = (N ] {V }, D ∪ {−, +}, V , RN ∪ {V → −S | +S | S})
• die rationalen Zahlen Q
GQ = {N ] {V , Q}, D ∪ {−, +, /}, Q, RN ∪ {V → −S | +S | S}
∪{Q → V /S | V })
• und die reellen Zahlen R
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
339
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 58:
Gegeben ist die Grammatik GN = (N, D, S, RN ) mit
RN :S → d0 |dX
wobei d0 ∈ {0, 1, .., 9} = D und d ∈ {1, .., 9}.
X → d0 X |
Geben Sie bitte darauf aufbauend eine Grammatik an für
• die ganzen Zahlen Z
GZ = (N ] {V }, D ∪ {−, +}, V , RN ∪ {V → −S | +S | S})
• die rationalen Zahlen Q
GQ = {N ] {V , Q}, D ∪ {−, +, /}, Q, RN ∪ {V → −S | +S | S}
∪{Q → V /S | V })
• und die reellen Zahlen R
geht nicht!!!
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
339
VL1
Chomsky-Hierarchie Zusammenfassung
Abzählbar
Definition
Eine Menge M ist abzählbar,
• falls es eine Funktion f : N → M gibt, die surjektiv ist
(d. h. alle Elemente aus M kommen als Bildelement vor), oder
• falls M = ∅.
Ist eine Menge nicht abzählbar, so ist sie überabzählbar.
BSP: Abzählbare Mengen
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
340
VL1
Chomsky-Hierarchie Zusammenfassung
Mächtigkeit der Menge aller Wörter über Σ
Satz:
Sei Σ ein Alphabet. Es gibt abzählbar unendlich viele Wörter über Σ,
d.h. die Menge Σ∗ aller Wörter über Σ hat die Mächtigkeit abzählbar
unendlich.
Beweis:
• Σ∗ enthält unendlich viele Elemente:
Angenommen, Σ∗ sei endlich.
Dann enthält Σ∗ ein Wort w maximaler Länge. Sei a ∈ Σ. Dann
wa ∈ Σ∗ , aber andererseits wa < Σ∗ , da Σ∗ nur Wörter der Länge
kleiner gleich|w| enthält und |wa| > |w| gilt.
Dies ist ein Widerspruch; also ist die Annahme falsch.
• Σ∗ ist abzählbar unendlich: Standard-Ordnung auf Σ∗
(zunächst ihrer Länge nach und dann
bei gleicher Länge lexikographisch)
und liefert eine surjektive Abbildung von N → Σ∗
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
341
VL1
Chomsky-Hierarchie Zusammenfassung
Alle Sprachen sind abzählbar
Satz:
Jede Teilmenge M 0 einer abzählbaren Menge M ist auch abzählbar.
Beweis: Sei surjektives f : N → M gegeben. Definiere f 0 : N → M 0 mit


falls f (n) ∈ M 0
f (n)
f 0 (n) = 

w ∈ M 0 sonst
Da f surjektiv, werden alle Elemente von M 0 abgedeckt. Dieselben
Bildelemente in N decken durch f 0 die Menge M 0 ab. Damit ist f 0 auch
surjektiv.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
342
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 59:
Zeigen Sie, dass Q abzählbar unendlich ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
343
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 59:
Zeigen Sie, dass Q abzählbar unendlich ist.
Lösung
Wir haben Grammatik GQ für Q.
Also ist Q = L(G) ⊆ Σ∗ , also ist Q abzählbar unendlich.
oder 1. Cantorsche Diagonalisierungsverfahren
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
343
VL1
Chomsky-Hierarchie Zusammenfassung
Cantorsche Diagonalisierungsverfahren
Zweidimensionale Darstellung aller Brüche
0 1 −1 2 −2 3 ...
1
1
1
−1
1
2
1
−2
1
3
1
...
2
1
2
−1
2
2
2
−2
2
3
2
...
3
1
3
−1
3
2
3
−2
3
3
3
...
1
4
..
.
−1
4
..
.
2
4
..
.
−2
4
..
.
3
4
..
.
...
4
..
.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
344
VL1
Chomsky-Hierarchie Zusammenfassung
Cantorsche Diagonalisierungsverfahren
Zweidimensionale Aufzählung aller Brüche
Hausaufgabe 60: Geben Sie bitte die Abbildung f : N → Q an, die
diese Aufzählung beschreibt.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
344
VL1
Chomsky-Hierarchie Zusammenfassung
Mächtigkeit der Menge aller Sprachen über Σ∗
Satz:
Sei Σ ein Alphabet.
Es gibt überabzählbar viele Sprachen über Σ,
d.h. die Mächtigkeit der Menge aller Sprachen über Σ ist
überabzählbar unendlich.
Der Satz lässt sich mit dem 2. Cantorschen Diagonalverfahren
beweisen.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
345
VL1
Chomsky-Hierarchie Zusammenfassung
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
346
VL1
Chomsky-Hierarchie Zusammenfassung
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
346
VL1
Chomsky-Hierarchie Zusammenfassung
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
346
VL1
Chomsky-Hierarchie Zusammenfassung
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
346
VL1
Chomsky-Hierarchie Zusammenfassung
2. Cantorschen Diagonalverfahren für Sprachen
Angenommen, die Menge aller Sprachen über Σ sei abzählbar.
• Sprachen L1 , L2 , L3 , ... ⊆ Σ∗ und Wörtern wj ∈ Σ∗ in
Standardordnung in folgender Tabelle:
w1 w2 w3 w4 w5 w6 ...
mit Tabelleneintr
ägen
L1 1
1
1
0
1
1 ...



L2 1
0
1
0
1
0 ...
1
falls
w

j ∈ Li
t
=

ij

L3 0
1
1
0
0
1 ...
0 falls wj < Li
..
..
..
..
..
..
.
.
.
.
.
.
• Diagonale der Tabelle ist die charakteristische Funktion von Ld ,
der Diagonalsprache. Ld enthält hier die Wörter w1 , w3 , ...
• Ld ist nicht in der Tabelle, denn Ld kann keine der Li sein, weil sie
in der i-ten Spalte genau dann eine 0 hat, wenn Li dort eine 1 hat,
und umgekehrt.
• WIDERSPRUCH zur Annahme,
dass die Menge aller Sprachen über Σ abzählbar ist.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
346
VL1
Chomsky-Hierarchie Zusammenfassung
Sprachen mit endlicher Beschreibung
• überabzählbar viele Sprachen:
• sehr, sehr viele
• die meisten dieser Sprachen nicht explizit angebbar,
• denn keine endliche Beschreibung
• endliche Beschreibung einer Sprache
• z.B. ein regulärer Ausdruck, eine Grammatik oder auch eine
informelle Beschreibung
• alle diese endlichen Beschreibungen sind endliche Zeichenfolgen
• nur abzählbar viele endliche Beschreibungen, denn
• nur abzählbar viele Wörter über einem Alphabet, also
• nur abzählbar viele Sprachen mit einer endlichen Beschreibung
• ganz, ganz wenige
gegenüber der überwältigend großen Menge aller Sprachen
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
347
VL1
Chomsky-Hierarchie Zusammenfassung
Aufzählbar
Definition
Eine Menge M ist aufzählbar
(auch rekursiv aufzählbar oder semi-entscheidbar)
• falls es eine surjektive Funktion f : N → M gibt, und
• einen Algorithmus, der es gestattet, für jedes n ∈ N den
Funktionswert f (n) zu berechnen,
• oder falls M = ∅.
Satz:
Die Menge aller Wörter Σ∗ über einem Alphabet Σ ist aufzählbar.
Beweis: Wörter können in Standardordnung erzeugt werden
Aufgabe 61: : Weshalb heißen aufzählbare Mengen auch
semi-entscheidbar?
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
348
VL1
Chomsky-Hierarchie Zusammenfassung
Entscheidbar
Definition
Gegeben sei ein Alphabet Σ. Eine Sprache L ⊆ Σ∗ heißt entscheidbar,
• falls es einen abbrechenden Algorithmus,
Entscheidungsverfahren genannt,
w ∈ L oder
gibt, der für jedes w ∈ Σ∗ feststellt, ob
w <L
BSP: Aufzählbare Sprache, die nicht entscheidbar ist
L ⊆ ASCII ∗
L = {xy|x ist ein Programm, y ist eine Eingabe,
und x stoppt bei der Eingabe von y nach endlich vielen
Schritten}
Halteproblem !!
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
349
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 62: Wahr oder falsch und warum????
1
Jede Teilmenge einer aufzählbaren Sprache ist aufzählbar.
wahr oder
falsch
2
Jede Teilmenge einer aufzählbaren Sprache ist abzählbar.
wahr oder
falsch
3
Jede Teilmenge einer abzählbaren Sprache ist aufzählbar.
wahr oder
falsch
4
Jede Teilmenge einer abzählbaren Sprache ist abzählbar.
wahr oder
falsch
5
Jede Teilmenge einer entscheidbaren Sprache ist aufzählbar.
wahr oder
falsch
6
Jede Teilmenge einer entscheidbaren Sprache ist abzählbar.
wahr oder
falsch
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
350
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 62: Wahr oder falsch und warum????
1
Jede Teilmenge einer aufzählbaren Sprache ist aufzählbar.
X wahr oder X falsch
2
Jede Teilmenge einer aufzählbaren Sprache ist abzählbar.
X wahr oder X falsch
3
Jede Teilmenge einer abzählbaren Sprache ist aufzählbar.
X wahr oder X falsch
4
Jede Teilmenge einer abzählbaren Sprache ist abzählbar.
X wahr oder X falsch
5
Jede Teilmenge einer entscheidbaren Sprache ist aufzählbar.
X wahr oder X falsch
6
Jede Teilmenge einer entscheidbaren Sprache ist abzählbar.
X wahr oder X falsch
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
350
VL1
Chomsky-Hierarchie Zusammenfassung
Vergleich von Grammatiken
Falsche Annahme:
Je mächtiger, desto mehr Wörter
Umfangreichste Sprache Σ∗ für gegebenes Alphabet Σ kann durch
reguläre Grammatik beschrieben werden: S → aS| für alle a ∈ Σ
Statt dessen:
Grenze zwischen Wörter in und außerhalb der Sprache hat einen
komplexeren Verlauf
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
351
VL1
Chomsky-Hierarchie Zusammenfassung
Mengendiagramm für Sprachen
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
352
VL1
Chomsky-Hierarchie Zusammenfassung
Chomsky-Hierarchie mit Ergänzungen
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
353
VL1
Chomsky-Hierarchie Zusammenfassung
Zusammenfassung
• Kontextfreie Grammatiken sind geeignet, Blockstrukturen und
richtig geklammerte Ausdrücke zu erzeugen.
• Reguläre Sprachen sind kontextfrei. Es gibt kontextfreie
Sprachen, die nicht regulär sind.
• Kontextfreie Grammatiken werden zur Syntaxdefinition von
Programmiersprachen benutzt.
Sie werden üblicherweise in der Backus-Naur-Form notiert.
• Nicht-deterministische PDAs akzeptieren kontextfreie Sprachen.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
354
VL1
Chomsky-Hierarchie Zusammenfassung
Wörter & Sprachen
• Verkettung, Vereinigung, Komplement, Schnitt,
Kleene-Hülle, Spiegelung, Potenz
•
Σ+ , Σ∗ , Σn
• Typ der Sprache:
• regulär,
• kontextfrei,
• kontextsensitiv,
• aufzählbar
• Abgeschlossenheit von Sprachklassen
Aufgabe 63: Sei Σ = {a, b, c} das Alphabet.
Verketten Sie bitte die beiden Sprachen L1 = {a, bb, ccc} und L2 = Σ+ .
Geben Sie L1 ◦ L2 formal und als RA an.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
355
VL1
Chomsky-Hierarchie Zusammenfassung
Wörter & Sprachen
• Verkettung, Vereinigung, Komplement, Schnitt,
Kleene-Hülle, Spiegelung, Potenz
•
Σ+ , Σ∗ , Σn
• Typ der Sprache:
• regulär,
• kontextfrei,
• kontextsensitiv,
• aufzählbar
• Abgeschlossenheit von Sprachklassen
Aufgabe 63: Sei Σ = {a, b, c} das Alphabet.
Verketten Sie bitte die beiden Sprachen L1 = {a, bb, ccc} und L2 = Σ+ .
Geben Sie L1 ◦ L2 formal und als RA an. {av , bbv , cccv | v ∈ L2 } und
(a + bb + ccc) · (a + b + c)+
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
355
VL1
Chomsky-Hierarchie Zusammenfassung
Automaten
• DEA,NEA, -NEA, NKA, DKA
• Semantik
• Akzeptierte Sprachen
• Konfigurationen, erweiterte Zustandsüberführung
• Äquivalenzen zu
• anderen Automaten NEA −→ DEA, -NEA −→ DEA, Minimierung
• reguläre Ausdrücken
• Grammatiken
• Abgeschlossenheit
• Input,Output
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
356
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 64:
Gegeben der NEA N.
1
Berechnen Sie bitte
b
δN (q0 , ab).
2
Geben Sie bitte L(N) an.
3
Geben Sie bitte den
äquivalenten DEA D an.
4
Berechnen Sie bitte
b
δD (q0 , ab).
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
357
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 64
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
358
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 64
1
b
δN (q0 , ) = {q0[
}
b
δN (q0 , a) =
δN (q, a) = {q1 , q2 }
q∈b
δN (q0 ,)
[
b
δN (q0 , ab) =
δN (q, b) = δN (q1 , b) ∪ δN (q2 , b) = {q0 , q2 }
q∈b
δN (q0 ,a)
2
(ab+ )∗ (a + )
3
→ ∗{q0}
∗{q1, q2}
∅
∗{q0, q2}
a
b
{q1, q2}
∅
∅
{q0, q2}
∅
∅
{q1, q2} {q0, q2}
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
358
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 64(ff)
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
359
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 64(ff)
4
b
δD ({q0 }, ab) = δD (b
δD ({q0 }, a), b)
= δD (δD (b
δD ({q0 }, )a), b)
= δD (δD ({q0 }, a), b)
= δD ({q1, q2}, b)
= {q0, q2}
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
359
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 65:
Minimieren Sie bitte
diesen DEA A:
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
360
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 65:
Minimieren Sie bitte
diesen DEA A:
Table-Filling
q1
q2
q3
q4
q5
q6
X
X
X
X
X
X
q0
X
X
X
X
X
q1
X
X
q2
Hoffmann (HAW Hamburg)
X
X
X
q3
Äquivalent sind q4, q5 und q2
X
q4
X
q5
Automatentheorie und formale Sprachen
27.6. 2012
360
VL1
Chomsky-Hierarchie Zusammenfassung
Reguläre Sprachen und Ausdrücke
• reguläre Ausdrücke
Syntax, Sematik, Äquivalenzen
• RA zu -NEA
rekursiver Aufbau
• DEA zu RA
k -Pfade, Eliminierung
• Abschlusseigenschaften
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
361
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 66:
Für eine Alphabet Σ, seien zwei reguläre Sprachen gegeben mit
Li = L(Ai ) für zwei DEAs Ai = (Qi , Σ, δi , qi , Fi für i ∈ {1, 2}.
1
Konstruieren Sie eine Automaten A, der L1 ∩ L2 erkennt.
2
Geben Sie dafür ein BSP mit
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
362
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 66:
Für eine Alphabet Σ, seien zwei reguläre Sprachen gegeben mit
Li = L(Ai ) für zwei DEAs Ai = (Qi , Σ, δi , qi , Fi für i ∈ {1, 2}.
1
Konstruieren Sie eine Automaten A, der L1 ∩ L2 erkennt.
2
Geben Sie dafür ein BSP mit
1
• Variante 1:
Wir kennen den Automaten für das Komplement und für die
Vereinigung.
• Variante 2:
Produktautomat A = A1 × A2 = (Q1 × Q2 , Σ, δ, (q1 , q2 ), F1 × F2 ) mit
δ((p1 , p2 ), a) := δ1 × δ2 ((p1 , p2 ), a) = (δ1 (p1 , a), δ2 (p2 , a))
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
362
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 66
2
• Variante 1: Es gilt L1 ∩ L2 = (L1 ∪ L2 ).
Achtung : Komplementbildung für nur DEAS!!
DEA für (L1 ∪ L2 ):
-NEA für (L1 ∪ L2 ):
a
→ ∗{q, q0, p0} {q1, p1}
∗{q1, p1} {q2, p3}
∗{q1, p3} {q2, p3}
∗{q2, p3} {q0, p3}
{q2, p0} {q0, p1}
∗{q0, p3} {q1, p3}
∗{q0, p1} {q1, p3}
∗{q1, p0} {q2, p1}
∗{q2, p1} {q0, p3}
∗{q0, p0} {q1, p1}
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
b
{q1, p3}
{q2, p0}
{q2, p3}
{q0, p3}
{q0, p3}
{q1, p3}
{q1, p0}
{q2, p3}
{q0, p0}
{q1, p3}
27.6. 2012
363
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 66
2
• Variante 1: Es gilt L1 ∩ L2 = (L1 ∪ L2 ).
Achtung : Komplementbildung für nur DEAS!!
DEA zu (L1 ∪ L2 ):
→ {q, q0, p0}
{q1, p1}
{q1, p3}
{q2, p3}
∗{q2, p0}
{q0, p3}
{q0, p1}
{q1, p0}
{q2, p1}
{q0, p0}
a
{q1, p1}
{q2, p3}
{q2, p3}
{q0, p3}
{q0, p1}
{q1, p3}
{q1, p3}
{q2, p1}
{q0, p3}
{q1, p1}
Hoffmann (HAW Hamburg)
b
{q1, p3}
{q2, p0}
{q2, p3}
{q0, p3}
{q0, p3}
{q1, p3}
{q1, p0}
{q2, p3}
{q0, p0}
{q1, p3}
Automatentheorie und formale Sprachen
27.6. 2012
364
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 66
2
• Variante 2: A = A1 × A2 = (Q1 × Q2 , Σ, δ, (q1 , q2 ), F1 × F2 ) mit
δ((p1 , p2 ), a) := δ1 × δ2 ((p1 , p2 ), a) = (δ1 (p1 , a), δ2 (p2 , a))
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
365
VL1
Chomsky-Hierarchie Zusammenfassung
Pumping-Lemma
(für reguläre Sprachen)
Pumping Lemma
Sei L eine reguläre Sprache.
Dann gibt es eine natürliche Zahl p ∈ N,
(die so genannte PL-Konstante)
so dass jedes Wort w ∈ L mit |w| ≥ p zerlegt werden kann in
w = xyz
mit
• |xy | ≤ p
• y ,
• xy i z ∈ L für alle i ∈ N
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
366
VL1
Chomsky-Hierarchie Zusammenfassung
Chomsky-Grammatiken
• Terminale und Nonterminale (Symbole), Regeln
• Regeln Aufgabe 67: Wie sind Regeln u → v definiert für
regulär:
kontextfrei:
kontext-sensitiv:
• Ableitungen
• Abschlusseigenschaften
• Chomsky-Hierarchie
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
367
VL1
Chomsky-Hierarchie Zusammenfassung
Chomsky-Grammatiken
• Terminale und Nonterminale (Symbole), Regeln
• Regeln Aufgabe 67: Wie sind Regeln u → v definiert für
regulär: links ein Nonterminal,
rechts höchstens ein Nonterminal, und dann ganz rechts
kontextfrei: links ein Nonterminal, rechts ist alles erlaubt
kontext-sensitiv: links kürzer als rechts,
ausser S → für nicht-rekursive S
• Ableitungen
• Abschlusseigenschaften
• Chomsky-Hierarchie
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
367
VL1
Chomsky-Hierarchie Zusammenfassung
Aufgabe 68:
1
Geben Sie eine Grammatik an, die weder regulär noch kontextfrei
ist, und die L = {an |n teilbar durch 3} erzeugt.
2
Seien C eine kontextfreie und R eine reguläre Sprache.
Ist C ∩ R kontextfrei oder regulär?
Warum? Geben Sie bitte eine Beweisidee an.
3
Zeigen Sie, dass
L = {w|w ∈ {a, b, c}∗ enthält gleich viele a0 s, b0 s und c 0 s}
nicht kontextfrei ist.
PL für kfG’s oder unter Verwendung von 2.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
368
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 68
1
2
S → aaaS | | XCX , CX → CX
Produktautomat zwischen NKA und DEA:
Sei K = (Q, Σ, Γ, δK , q0 , Z , FK ) mit L(K ) = Cund
D = (P, Σ, δD , p0 , FD ) mit L(D) = R, dann erkennt der NKA
P = (Q × P, Σ, Γ, δ, (q0 , p0 ), FK × FD )
mit
δ((q, p), a, X ) = {((q 0 , δD (p, a)), α) | (q 0 , α) ∈ δK (q, a, X )}
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
369
VL1
Chomsky-Hierarchie Zusammenfassung
Lösung von Aufgabe 68
3
L = {w|w ∈ {a, b, c}∗ enthält gleich viele a0 s, b0 s und c 0 s}
• PL für kfG:
L sei kontextfrei, also gilt das Pumping-Lemma.
Sei z = ap bp c p , dann z ∈ L und |z| ≥ p.
vwx enthält höchstens zwei unterschiedliche Zeichen, denn
|vwx| ≤ p.
Weil vx , , wird durch das Löschen von v und x für ein oder zwei
Zeichen der Exponent erniedrigt, aber für den dritten auf jeden Fall
nicht, also uv 0 wx 0 y = uwy < L.
Widerspruch zur Aussage des Pumping-Lemmas.
• Es gilt L ∩ {ai b j c k | i, j, k ≥ 0} = {an b n c n | n ≥ 0},
wobei {ai bj c k | i, j, k ≥ 0} offensichtlich regulär
und {an bn c n | n ≥ 0} bekanntermaßen nicht kontextfrei ist.
Wegen Ë kann dann L nicht kontextfrei sein.
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
370
VL1
Chomsky-Hierarchie Zusammenfassung
Viel Erfolg bei der Klausur!!
Hoffmann (HAW Hamburg)
Automatentheorie und formale Sprachen
27.6. 2012
371
Herunterladen