M.Ed. Dennis Peuter 17. Mai 2018 Übung zur Vorlesung
Grundlagen der theoretischen Informatik
Aufgabenblatt 5 Lösungen
Aufgabe 5.1
Entscheiden Sie durch Ankreuzen, ob die folgenden Aussagen richtig oder falsch sind.
Hinweis: In den Übungsblättern gibt es keine Punkte. In der Klausur würde nun so etwas stehen:
Für die Aufgabe gibt es insgesamt 6 Punkte. Für jedes falsche Kreuz werden 2 Punkte abge- zogen. Dabei werden jedoch nie weniger als 0 Punkte für diese Aufgabe vergeben.
wahr falsch Die Grammatik, deren Regelmenge als einzige RegelS →εenthält, erzeugt
dieselbe Sprache wie die Grammatik mit leerer Regelmenge.
Um zu beweisen, dass eine Sprache L nicht regulär ist, genügt es, eine
kontextfreie Grammatik fürL anzugeben.
Um zu beweisen, dass eine SpracheLnicht regulär ist, genügt es, zu zeigen,
dass das L3-Pumping-Lemma fürL nicht gilt.
Aufgabe 5.2
Zeigen oder widerlegen Sie:
a) Zu jedem determinierten endlichen Automaten A gibt es einen determinierten endlichen Automaten A0, mitL(A) =L(A0) undA0 hat nur einen nalen Zustand.
Lösung:
Wir widerlegen die Aussage mithilfe eines Gegenbeispiels: Sei A = ({s0, s1, s2},{a}, δ, s0,{s0, s1}) mit δ(s0, a) = s1, δ(s1, a) = s2, δ(s2, a) = s2. Dann istL(A) ={ε, a}.
Wir nehmen an, es gäbe einen DEAA0 = (K0,{a}, δ0, s00, F0)mitL(A) =L(A0)und genau einem nalen Zustand. Wegenε∈L(A0) muss geltens00 ∈F0, also giltF0={s00}. Wegen a ∈ L(A0) und F0 = {s00} muss gelten: δ0(s0, a) = s0. Nun gilt aber schon, dass auch
aa∈L(A0). Widerspruch.
b) Zu jedem indeterminierten endlichen AutomatenAgibt es einen indeterminierten endlichen Automaten 0, mit 0 und 0 hat nur einen nalen Zustand.
Lösung:
Sei A = (K,Σ,∆, I, F). Wir nehmen o.B.d.A an, dass f 6∈ K. Wir konstruieren A0 = (K0,Σ,∆0, I0, F0) wie folgt:
K0 =K∪ {f}
∆0 = ∆∪∆f
∆f ={(q, a)∈K×Σ| ∃q0 ∈F : (q, a) ∆q0} × {f}
I0 =I∪ {f ∈K0|I ∩F 6=∅}
F0 ={f}
Nun zeigen wir, dassL(A) =L(A0). Also∀w∈Σ∗ :w∈L(A)⇐⇒w∈L(A0). 1. Fall: w=ε
ε∈L(A)⇐⇒I∩F 6=∅ ⇐⇒f ∈I0⇐⇒ε∈L(A0) 2. Fall: w=w0amitw0 ∈Σ∗ unda∈Σ
w0a∈L(A)
⇐⇒∃s0∈I :∃q∈F : (s0, w0a) ∆∗q (Def. L(A))
⇐⇒∃s0∈I :∃q∈F :∃q0 ∈K : (s0, w0) ∆∗q0∧(q0, a) ∆q (Def. ∆∗)
⇐⇒∃s0∈I :∃q0∈K : (s0, w0) ∆∗q0∧(q0, a) ∆f f (Def. ∆f)
⇐⇒∃s0∈I :∃q0∈K : (s0, w0) ∆0∗q0∧(q0, a) ∆0f (Def. ∆0)
⇐⇒∃s0∈I : (s0, w0a) ∆0∗f (Def. ∆∗)
⇐⇒∃s0∈I0 :∃q∈F0: (s0, w0a) ∆0∗q (Def. I0 und F0)
⇐⇒w0a∈L(A0) (Def. L(A0))
Aufgabe 5.3
Gegeben sei die Grammatik G= ({S, A},{a, b}, R, S) mit R ={S →ε|aS|bA,
A→aS}
a) Geben Sie einen indeterminierten endlichen Automaten mit ε-Kanten an, der L(G) akzep- tiert. Verwenden Sie dafür die im Beweis für den Satz von Kleene vorgestellte Konstruktion.
Lösung:
Endlicher Automat mitε-Kanten A= (K,Σ,∆, I, F). K={S, A, qstop}
I ={S}
Σ ={a, b}
F ={qstop}
∆((S, ε), qstop)
∆((S, a), S)
∆((S, b), A)
∆((A, a), S)
S A
qstop
a
b
ε
a
b) Wandeln Sie den indeterminierten endlichen Automaten mit ε-Kanten aus Aufgabenteil a) in einen indeterminierten endlichen Automaten ohneε-Kanten um.
Lösung:
Eliminierung derε-Kanten. Für jeden Übergang(q1, ε) ∆∗q2 und(q0, a) ∆q1 fügen wir eine Kante (q0, a) ∆q2 ein. Dann werden dieε-Kanten gelöscht.
q1 q2 (q0, a) neue Kanten (q0, a) ∆q2 S qstop (S, a),(A, a) (S, a) ∆qstop,(A, a) ∆qstop
A (S, b)
qstop
S A
qstop a
b
a a
a
c) Wandeln Sie den indeterminierten endlichen Automaten aus Aufgabenteil b) in einen deter- minierten endlichen Automaten um.
Lösung:
Tabelle für ∆
a b
S {S, qstop} {A}
A {S, qstop} ∅
qstop ∅ ∅
∅ ∅ ∅
Hilfstabelle
a b
{S, qstop} {S, qstop} {A}
{A} {S, qstop} ∅
∅ ∅ ∅
S, qstop A
∅ a
a, b
b
b a
Ergebnis:
A00= (K00,{a, b}, δ,{S, qstop},{{S, qstop}})mit
K00={{S, qstop},{A},{∅}}
undδ gegeben durch die folgende Tabelle:
a b
{S, qstop} {S, qstop} {A}
{A} {S, qstop} ∅
∅ ∅ ∅
Aufgabe 5.4
Zeigen oder widerlegen Sie: Die folgenden Sprachen über dem AlphabetΣ ={a, b, c, d, e}sind regulär.
Hinweis: Falls die Sprache regulär ist, geben sie eine rechtslineare Grammatik, einen regulären Ausdruck oder einen endlichen Automaten an. Ein Beweis, dass dieser der gegebenen Sprache entspricht, ist nicht erforderlich. Falls die Sprache nicht regulär ist, zeigen Sie dies mithilfe des Pumping-Lemmas fürL3 (Variante Ihrer Wahl).
a) L1 ={wuwR|w∈ {a, b, c}+∧u∈ {a, b, c}∗} Lösung:
L1 ist regulär. Idee: nur der erste und der letzte Buchstabe müssen übereinstimmen.
Beweis (1): Wir geben eine rechtslineare Grammatik an, die L1 erzeugt: G = ({S, A, B, C},{a, b, c}, R, S) mit
R={S→aA|bB|cC, A→aA|bA|cA|a, B →aB|bB|cB|b, C→aC|bC|cC|c}
Beweis (2): Wir geben einen regulären Ausdruck an, derL1 enspricht:
r =a(a+b+c)∗a + b(a+b+c)∗b + c(a+b+c)∗c Beweis (3): Wir geben einen NDEA an, derL1 akzeptiert:
s0 sb
sa
sc
sf
a
b
c
a, b, c
a, b, c
a, b, c
a
b
c
b) L2 ={wuwR|w∈ {a, b}+∧u∈ {c, d, e}∗} Lösung:
L ist nicht regulär.
Beweis durch Widerspruch: Angenommen L2 sei regulär, dann müsste L2 ∩ {a, b}∗ regulär sein. Aber L2 ∩ {a, b}∗ = {wwR | w ∈ {a, b}+}, also müsste auch die Sprache {wwR|w∈ {a, b}+} ∪ {ε}={wwR|w∈ {a, b}∗}regulär sein.
Die Sprache{wwR|w∈ {a, b}∗}ist aber nicht regulär (Folien "endliche-automaten5.pdf"
vom 17.05.2017, Seite 14). Widerspruch. Daher kann L2 nicht regulär sein.
c) L3 ={ambn|m≥n≥0} Lösung:
L3 ist nicht regulär.
Beweis durch Widerspruch: Angenommen L3 sei regulär, dann müsste L3 die Bedin- gungen des PL erfüllen.
Sei n die Konstante aus dem Pumping-Lemma und x =anbn ∈ L3. Es gilt |x|> n, also muss sich x zerlegen lassen in uvw, mit 1 ≤ |v| < n. Dafür kommen für v drei Fälle in Frage:
Fall 1: vliegt vollständig inan. Also: u=ai,v=aj,w=an−i−jbn(mitn≥i+j, j >0).
Dann gilt aber: uv0w=aian−i−jbn=an−jbn enthält weniger a's als b0sliegt daher nicht inL3.
Fall 2: v enthält sowohl a's als auch b's. Also: u = an−j, v = ajbk, w = bn−k (mit 1 ≤ j ≤ n,1 ≤ k ≤ n) Dann gilt aber für uv2w = an−jajbkajbkbn−k = anbkajbn enthält ein Teilwortbaund liegt daher nicht inL3.
Fall 3: vliegt vollständig inbn. Alsou=anbi,v=bj,w=bn−i−j (mitn≥i+j,j >0).
Dann gilt aber: uv2w =anbibjbjbn−i−j =anbn+j enthält mehr b0s als a0sund liegt daher nicht inL3.
Wir haben gezeigt, dass es keine gültige Zerlegung fürx gibt. Daher kannL3 nicht regulär
sein.
d) L4 = n
an2|n∈N0
o
Lösung:
L4 ist nicht regulär.
Beweis durch Widerspruch: AngenommenL4 sei regulär, dann müssten fürL4 die Be- dingungen des PL gelten.
Sei n die Konstante aus dem Pumping-Lemma und x = an2 ∈ L4. Es gilt |x| > n, also muss sichx zerlegen lassen in uvwmit1≤ |v|< n.
Wir betrachten alle möglichen Zerlegungen gemeinsam: Sei u =ai, v =aj,w =an2−i−j (mit1≤j < n,n2 ≥i+j). Nun gilt : uv2w=aiajajan2−i−j =an2+j.
n2+jkann keine Quadratzahl sein, denn n2 < n2+j < n2+n < n2+ 2n+ 1 = (n+ 1)2. Also giltuv2w6∈L4. Wir haben gezeigt, dass es keine gültige Zerlegung gibt, also kannL4
nicht regulär sein.
Aufgabe 5.5
Gegeben sei der folgende determinierte endliche Automat A= ({S, A, F},{0,1}, δ, S,{F}):
S A F
1
0
1 0
0
1
Geben Sie einen determinierten endlichen Automaten A¬ an, mitL(A¬) =L(A). Lösung:
A¬= ({S, A, F},{0,1}, δ, S,{S, A})
S A F
1
0
1 0
0
1
Aufgabe 5.6
Geben Sie einenε-NDEA an, der die von dem regulären Ausdrucka+c(ba)? erzeugte Sprache akzeptiert. Gehen Sie dabei wie im Beweis des Hauptsatzes von Kleene vor.
Lösung:
1. ε-NDEA für den regulären Ausdrucka:
A1 A2
a
ε-NDEA für den regulären Ausdruckb:
B1 B2
b
ε-NDEA für den regulären Ausdruckc:
C1 c C2
2. ε-NDEA für den regulären Ausdruckba:
B1 b B2 ε A1 a A2
3. ε-NDEA für den regulären Ausdruck(ba)?:
B1
ε
B2 ε A1 a A2
ε
b
4. ε-NDEA für den regulären Ausdruckc(ba)?:
C1 C2 B1
ε
B2 A1 A2
c ε
ε
a ε
ε b
5. ε-NDEA für den regulären Ausdrucka+c(ba)?:
A01 a A02
C1 C2 B1
ε
B2 A1 A2
c ε
ε
a ε
ε b