CF versus CS
Theorem
CF ist echt in CS enthalten.
CF versus CS
Theorem
CF ist echt in CS enthalten.
Beweis:
Nach dem Pumping-Lemma fur kontextfreie Sprachen ist
L = {am bm c m m 1}
nicht kontextfrei.
CF versus CS
Theorem
CF ist echt in CS enthalten.
Beweis:
Nach dem Pumping-Lemma fur kontextfreie Sprachen ist
L = {am bm c m m 1}
nicht kontextfrei.
Andererseits ist L kontextsensitiv, wie die Grammatik aus einem
fruheren Beispiel zeigt.
CF versus CS
Theorem
CF ist echt in CS enthalten.
Beweis:
Nach dem Pumping-Lemma fur kontextfreie Sprachen ist
L = {am bm c m m 1}
nicht kontextfrei.
Andererseits ist L kontextsensitiv, wie die Grammatik aus einem
fruheren Beispiel zeigt.
Somit ist L CS CF, also CF CS. q
CF versus CS
Theorem
CF ist echt in CS enthalten.
Beweis:
Nach dem Pumping-Lemma fur kontextfreie Sprachen ist
L = {am bm c m m 1}
nicht kontextfrei.
Andererseits ist L kontextsensitiv, wie die Grammatik aus einem
fruheren Beispiel zeigt.
Somit ist L CS CF, also CF CS. q
Turingmaschinen
Turingmaschinen
Turingmaschinen
Turingmaschinen
Arbeitsband Kopf
2 P S S T ! H I E R W I R D G E A R B E I T E T 2
Arbeitsband Kopf
2 P S S T ! H I E R W I R D G E A R B E I T E T 2
Definition
Bemerkung:
Fur k = 1 ergibt sich die 1-Band-Turingmaschine (1-Band-TM).
Bemerkung:
Fur k = 1 ergibt sich die 1-Band-Turingmaschine (1-Band-TM).
Jede k-Band-TM kann durch eine 1-Band-Turingmaschine
simuliert werden, wobei sich die Rechenzeit hochstens quadriert.
Bemerkung:
Fur k = 1 ergibt sich die 1-Band-Turingmaschine (1-Band-TM).
Jede k-Band-TM kann durch eine 1-Band-Turingmaschine
simuliert werden, wobei sich die Rechenzeit hochstens quadriert.
Spielt die Effizienz eine Rolle, kann es dennoch sinnvoll sein,
mehrere Bander zu haben.
Bemerkung:
Fur k = 1 ergibt sich die 1-Band-Turingmaschine (1-Band-TM).
Jede k-Band-TM kann durch eine 1-Band-Turingmaschine
simuliert werden, wobei sich die Rechenzeit hochstens quadriert.
Spielt die Effizienz eine Rolle, kann es dennoch sinnvoll sein,
mehrere Bander zu haben.
Wir beschranken uns im Folgenden auf 1-Band-Turingmaschinen.
J. Rothe (HHU Dusseldorf) Informatik IV 6 / 39
Kontextsensitive und L0 -Sprachen Turingmaschinen
Turingmaschine: Arbeitsweise
Turingmaschine: Arbeitsweise
Turingmaschine: Semantik
Turingmaschine: Semantik
Turingmaschine: Semantik
Turingmaschine: Semantik
Turingmaschine: Semantik
Definition
Eine Konfiguration einer TM M = (, , Z , , z0 , 2, F ) ist ein Wort
k Z .
Turingmaschine: Semantik
Definition
Eine Konfiguration einer TM M = (, , Z , , z0 , 2, F ) ist ein Wort
k Z .
Turingmaschine: Semantik
Definition
Eine Konfiguration einer TM M = (, , Z , , z0 , 2, F ) ist ein Wort
k Z .
Turingmaschine: Semantik
Formal: Fur alle = a1 a2 am und = b1 b2 bn in (m 0,
n 1) und fur alle z Z sei
0
a1 a2 am z cb2 bn
falls (z, b1 ) (z 0 , c, N), m 0, n 1
z `M a1 a2 am cz 0 b2 bn falls (z, b1 ) (z 0 , c, R), m 0, n 2
a1 a2 am1 z 0 am cb2 bn falls (z, b1 ) (z 0 , c, L), m 1, n 1.
Turingmaschine: Semantik
Formal: Fur alle = a1 a2 am und = b1 b2 bn in (m 0,
n 1) und fur alle z Z sei
0
a1 a2 am z cb2 bn
falls (z, b1 ) (z 0 , c, N), m 0, n 1
z `M a1 a2 am cz 0 b2 bn falls (z, b1 ) (z 0 , c, R), m 0, n 2
a1 a2 am1 z 0 am cb2 bn falls (z, b1 ) (z 0 , c, L), m 1, n 1.
Sonderfalle:
1 n = 1 und (z, b1 ) (z 0 , c, R) (d.h., M lauft nach rechts, trifft auf 2):
a1 a2 am zb1 `M a1 a2 am cz 0 2.
Turingmaschine: Semantik
Formal: Fur alle = a1 a2 am und = b1 b2 bn in (m 0,
n 1) und fur alle z Z sei
0
a1 a2 am z cb2 bn
falls (z, b1 ) (z 0 , c, N), m 0, n 1
z `M a1 a2 am cz 0 b2 bn falls (z, b1 ) (z 0 , c, R), m 0, n 2
a1 a2 am1 z 0 am cb2 bn falls (z, b1 ) (z 0 , c, L), m 1, n 1.
Sonderfalle:
1 n = 1 und (z, b1 ) (z 0 , c, R) (d.h., M lauft nach rechts, trifft auf 2):
a1 a2 am zb1 `M a1 a2 am cz 0 2.
Turingmaschine: Semantik
Turingmaschine: Semantik
Turingmaschine: Semantik
Turingmaschine: Semantik
Turingmaschine
Bemerkung:
Da im Falle einer nichtdeterministischen TM jede Konfiguration
mehrere Folgekonfigurationen haben kann, ergibt sich ein
Berechnungsbaum,
dessen Wurzel die Startkonfiguration und
dessen Blatter die Endkonfigurationen sind.
Turingmaschine
Bemerkung:
Da im Falle einer nichtdeterministischen TM jede Konfiguration
mehrere Folgekonfigurationen haben kann, ergibt sich ein
Berechnungsbaum,
dessen Wurzel die Startkonfiguration und
dessen Blatter die Endkonfigurationen sind.
Turingmaschine
Bemerkung:
Da im Falle einer nichtdeterministischen TM jede Konfiguration
mehrere Folgekonfigurationen haben kann, ergibt sich ein
Berechnungsbaum,
dessen Wurzel die Startkonfiguration und
dessen Blatter die Endkonfigurationen sind.
k `M k 0 .
J. Rothe (HHU Dusseldorf) Informatik IV 12 / 39
Kontextsensitive und L0 -Sprachen Turingmaschinen
Turingmaschine
k0 `M k1 `M `M kt `M
Turingmaschine
k0 `M k1 `M `M kt `M
Turingmaschine
k0 `M k1 `M `M kt `M
aabcab z2 b
aab z1 cabb
Turingmaschine: Beispiel
Beispiel: Betrachte die Sprache L = {an bn c n n 1}.
Eine Turingmaschine, die L akzeptiert, ist definiert durch
M = ({a, b, c}, {a, b, c, $, 2}, {z0 , z1 , . . . , z6 }, , z0 , 2, {z6 })
Turingmaschine: Beispiel
Die folgende Tabelle gibt die Bedeutung der einzelnen Zustande von
M sowie die mit den einzelnen Zustanden verbundene Absicht an:
Z Bedeutung Absicht
Turingmaschine: Beispiel
Dazu ist es zweckmaig, den rechten Rand der Eingabe wie folgt
zu markieren (auf dem linken Rand steht der Kopf zu Beginn der
Berechnung sowieso und kann diesen im ersten Takt markieren):
Dazu ist es zweckmaig, den rechten Rand der Eingabe wie folgt
zu markieren (auf dem linken Rand steht der Kopf zu Beginn der
Berechnung sowieso und kann diesen im ersten Takt markieren):
1 b = {a
Verdoppele das Eingabe-Alphabet zu b a }.
Dazu ist es zweckmaig, den rechten Rand der Eingabe wie folgt
zu markieren (auf dem linken Rand steht der Kopf zu Beginn der
Berechnung sowieso und kann diesen im ersten Takt markieren):
1 b = {a
Verdoppele das Eingabe-Alphabet zu b a }.
a1 a2 an1 a
bn
uber .
b
J. Rothe (HHU Dusseldorf) Informatik IV 20 / 39
Kontextsensitive und L0 -Sprachen Linear beschrankte Automaten
Definition
Eine nichtdeterministische TM M heit linear beschrankter
Automat (kurz LBA), falls fur alle Konfigurationen z und
fur alle Worter x = a1 a2 an1 an + mit
bn `M z
z0 a1 a2 an1 a
gilt: || = n, und
fur x = mit z0 2 `M z gilt: = 2.
Definition
Eine nichtdeterministische TM M heit linear beschrankter
Automat (kurz LBA), falls fur alle Konfigurationen z und
fur alle Worter x = a1 a2 an1 an + mit
bn `M z
z0 a1 a2 an1 a
gilt: || = n, und
fur x = mit z0 2 `M z gilt: = 2.
Die vom LBA M akzeptierte Sprache ist definiert durch
z a a a a ` z
0 1 2 n1 n M
b
L(M) = a1 a2 an1 an .
mit z F und ,
Theorem
Theorem
G = (, N, S, P)
Theorem
G = (, N, S, P)
1 Eingabe x = a1 a2 an .
1 Eingabe x = a1 a2 an .
1 Eingabe x = a1 a2 an .
1 Eingabe x = a1 a2 an .
Es gilt:
Es gilt:
Es gilt:
z0 x `M k,
|k| |x|.
z0 x `M k,
|k| |x|.
a b c d
Zustand
z
(z, a) (z 0 , b, L)
c(z, a) (z 0 , c)b
(z, a) (z 0 , b, L)
c(z, a) (z 0 , c)b
(z, a) (z 0 , b, L)
c(z, a) (z 0 , c)b
Definiere G = (, N, S, P) so
N = {S, A} ( );
P = {S A(a, a) a } (1)
{A A(a, a) a } (2)
{A ((z0 , a), a) a } (3)
1 2 1 2 P 0
(1 , a)(2 , b) (1 , a)(2 , b) (4)
fur a, b
{((z, a), b) b z F , a , b } (5)
{(a, b) b a , b }. (6)
Definiere G = (, N, S, P) so
N = {S, A} ( );
P = {S A(a, a) a } (1)
{A A(a, a) a } (2)
{A ((z0 , a), a) a } (3)
1 2 1 2 P 0
(1 , a)(2 , b) (1 , a)(2 , b) (4)
fur a, b
{((z, a), b) b z F , a , b } (5)
{(a, b) b a , b }. (6)
Regeln der Form (5) und (6) loschen schlielich die ersten
Komponenten der Paare weg. Ubrig bleiben die zweiten
Komponenten, also das akzeptierte Eingabewort x.
Regeln der Form (5) und (6) loschen schlielich die ersten
Komponenten der Paare weg. Ubrig bleiben die zweiten
Komponenten, also das akzeptierte Eingabewort x.
x L(M)
S `G ((z0 , a1 ), a1 )(a2 , a2 ) (an1 , an1 )(an , an )
mit (1), (2) und (3)
`G (1 , a1 ) . . . (k1 , ak 1 )((z, k ), ak )(k +1 , ak +1 ) (n , an )
mit (4), wobei z F , i , ai
`G a1 a2 an = x
mit (5) und (6)
x L(M)
S `G ((z0 , a1 ), a1 )(a2 , a2 ) (an1 , an1 )(an , an )
mit (1), (2) und (3)
`G (1 , a1 ) . . . (k1 , ak 1 )((z, k ), ak )(k +1 , ak +1 ) (n , an )
mit (4), wobei z F , i , ai
`G a1 a2 an = x
mit (5) und (6)
x L(G),
TM versus Typ-0-Grammatik
Theorem
TM versus Typ-0-Grammatik
Theorem
Beweis: ()
Wie im ersten Teil des Beweises des Satzes oben.
TM versus Typ-0-Grammatik
Theorem
Beweis: ()
Wie im ersten Teil des Beweises des Satzes oben.
TM versus Typ-0-Grammatik
()
Man kann die gleiche Konstruktion wie im zweiten Teil des
Beweises des Satzes oben verwenden.
TM versus Typ-0-Grammatik
()
Man kann die gleiche Konstruktion wie im zweiten Teil des
Beweises des Satzes oben verwenden.
TM versus Typ-0-Grammatik
()
Man kann die gleiche Konstruktion wie im zweiten Teil des
Beweises des Satzes oben verwenden.
TM versus Typ-0-Grammatik
()
Man kann die gleiche Konstruktion wie im zweiten Teil des
Beweises des Satzes oben verwenden.
TM versus Typ-0-Grammatik
Bemerkung:
Im Satz oben ist es dabei gleichgultig, ob die TM M
deterministisch oder nichtdeterministisch ist.
TM versus Typ-0-Grammatik
Bemerkung:
Im Satz oben ist es dabei gleichgultig, ob die TM M
deterministisch oder nichtdeterministisch ist.
TM versus Typ-0-Grammatik
Bemerkung:
Im Satz oben ist es dabei gleichgultig, ob die TM M
deterministisch oder nichtdeterministisch ist.
regulare Grammatik
Typ 3 deterministischer endlicher Automat (DFA)
nichtdeterministischer endlicher Automat (NFA)
regularer Ausdruck
deterministisch LR(1)-Grammatik
kontextfrei deterministischer Kellerautomat (DPDA)
Typ 2 kontextfreie Grammatik
Kellerautomat (PDA)
Typ 1 kontextsensitive Grammatik
linear beschrankter Automat (LBA)
Typ 0 Typ-0-Grammatik
Turingmaschine (NTM bzw. DTM)
J. Rothe (HHU Dusseldorf) Informatik IV 36 / 39
Kontextsensitive und L0 -Sprachen Zusammenfassung
DFA NFA ja
DPDA PDA nein
DLBA LBA ?
DTM NTM ja
Abschlusseigenschaften
Definition (Wortproblem)
Fur i {0, 1, 2, 3} definieren wir das Wortproblem fur
Typ-i-Grammatiken wie folgt:
Worti = {(G, x) G ist Typ-i-Grammatik und x L(G)}
Definition (Wortproblem)
Fur i {0, 1, 2, 3} definieren wir das Wortproblem fur
Typ-i-Grammatiken wie folgt:
Worti = {(G, x) G ist Typ-i-Grammatik und x L(G)}