theoretische grundlagen der informatik · bestimmen sie nach der methode aus der vorlesung (satz...
TRANSCRIPT
0 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
INSTITUT FÜR THEORETISCHE INFORMATIK
Theoretische Grundlagen der Informatik
Übung am 3.11.2010
KIT – Universität des Landes Baden-Württemberg undnationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Übungsleiter
1 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Tanja HartmannGebäude 50.34, Raum 306Sprechstunde: Freitags 09:00 bis 10:[email protected]
Andrea SchummGebäude 50.34, Raum 307Sprechstunde: Dienstags 10:00 bis 11:[email protected]
Organisatorisches
2 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Jetzt ist die letzte Möglichkeit, noch Übungsblätter abzugeben!2. Übungsblatt wird im Laufe des Tages auf die Homepage gestelltAchtung: Diesmal Abgabe schon nach einer Woche (also, amDonnerstag, den 10. November)!Die Lösungen werden am darauf folgenden Dienstag in der Übungvorgestellt
Aufgabe 1
3 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprachebeschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen fürdie regulären Ausdrücke A, B, C.
A∗ ∪ B∗ = (A∪ B)∗
(A∗)∗ = A∗
(A∪ B)∗ = (A∗B∗)∗
(A∪ B)C = AC ∪ BC
Aufgabe 1 a)
4 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprachebeschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen fürdie regulären Ausdrücke A, B, C.
A∗ ∪ B∗ = (A∪ B)∗
Aufgabe 1 a)
4 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprachebeschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen fürdie regulären Ausdrücke A, B, C.
A∗ ∪ B∗ = (A∪ B)∗
Lösung:Die Gleichung ist falsch!Beweis durch GegenbeispielA = a, B = b, dann ist ab ∈ L((A∪ B)∗), aber ab /∈ L(A∗ ∪ B∗)
Aufgabe 1 b)
5 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprachebeschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen fürdie regulären Ausdrücke A, B, C.
(A∗)∗ = A∗
Aufgabe 1 b)
5 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprachebeschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen fürdie regulären Ausdrücke A, B, C.
(A∗)∗ = A∗
Lösung:Die Gleichung ist richtig!L(A∗) ⊆ L
((A∗)∗
): Klar, da A∗ = (A∗)1.
L((A∗)∗
)⊆ L(A∗):
Sei w in L((A∗)∗
)⇒ w = v1 · · · vr mit vi ∈ L(A)∗
Jedes vi lässt sich schreiben als vi = ui1 · · · uiti mit uij ∈ L(A)Also ist w endliche Konkatenation von Worten aus L(A)⇒ w in L(A)∗ = L(A∗)
Aufgabe 1 c)
6 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprachebeschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen fürdie regulären Ausdrücke A, B, C.
(A∪ B)∗ = (A∗B∗)∗
Aufgabe 1 c)
6 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprachebeschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen fürdie regulären Ausdrücke A, B, C.
(A∪ B)∗ = (A∗B∗)∗
Lösung:Die Gleichung ist richtig!L((A∪ B)∗) = (L(A) ∪ L(B))∗ = (L(A1B0) ∪ L(A0B1))∗ ⊆L(A∗B∗)∗ = L((A∗B∗)∗)L((A∗B∗)∗) ⊆ L((A∪ B)∗):
Sei w ∈ L((A∗B∗)∗)⇒ w ist endliche Konkatenation von Worten, die jeweils in L(A) oder L(B)liegen⇒ w ∈ L((A∪ B)∗)
Aufgabe 1 d)
7 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprachebeschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen fürdie regulären Ausdrücke A, B, C.
(A∪ B)C = AC ∪ BC
Aufgabe 1 d)
7 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zwei reguläre Ausdrücke sind gleich, wenn sie die gleiche Sprachebeschreiben. Zeigen oder widerlegen Sie die folgenden Gleichungen fürdie regulären Ausdrücke A, B, C.
(A∪ B)C = AC ∪ BC
Lösung:Die Gleichung ist richtig!L((A∪ B)C
)=(L(A) ∪ L(B)
)· L(C), daraus folgt:
w ∈ L((A∪ B)C
)⇔w = ac ∨w = bc mit a ∈ L(A),b ∈ L(B), c ∈ L(C)
⇔w ∈(L(A) · L(C)
)∪(L(B) · L(C)
)⇔w ∈ L(AC ∪ BC)
Aufgabe 2
8 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zeigen oder widerlegen Sie:Teilmengen regulärer Sprachen sind regulär.Die Schnittmenge zweier regulärer Sprachen ist regulär.
Aufgabe 2 a)
9 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zeigen oder widerlegen Sie:Teilmengen regulärer Sprachen sind regulär.
Aufgabe 2 a)
9 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zeigen oder widerlegen Sie:Teilmengen regulärer Sprachen sind regulär.
Lösung:Die Aussage ist falsch!Beweis durch Gegenbeispiel:Σ := {0,1}, L1 := Σ∗ undL2 := {w ∈ Σ∗ | w ist von der Form 0i1i , i ≥ 0}L1 ist offensichtlich regulär, L2 nicht (s. Vorlesung) und es gilt L2 ⊆ L1
Aufgabe 2 b)
10 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zeigen oder widerlegen Sie:Die Schnittmenge zweier regulärer Sprachen ist regulär.
Aufgabe 2 b)
10 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zeigen oder widerlegen Sie:Die Schnittmenge zweier regulärer Sprachen ist regulär.
Lösung:Die Aussage ist wahr!Seien L1 und L2 reguläre Sprachen über Σ undA1 = {Q1,Σ, δ1, s1,F1}, bzw. A2 = {Q2,Σ, δ2, s2,F2} DEAs, die L1bzw. L2 akzeptierenDefiniere A := {Q,Σ, δ, s,F} mit
Q := Q1 ×Q2Für a ∈ Σ , (q1,q2) ∈ Q sei δ((q1,q2),a) := (δ1(q1,a), δ2(q2,a))s := (s1, s2)F := {(q1,q2) ∈ Q | q1 ∈ F1,q2 ∈ F2}
A akzeptiert genau L1 ∩ L2
⇒ L1 ∩ L2 regulär
Aufgabe 2 b)
10 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zeigen oder widerlegen Sie:Die Schnittmenge zweier regulärer Sprachen ist regulär.
Lösung:Alternativer Lösungsweg:Zeige zunächst, dass das Komplement regulärer Sprachen regulär istBenutze dann L1 ∩ L2 = (Lc
1 ∪ Lc2)
c
Aufgabe 3
11 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skriptzur Vorlesung) einen regulären Ausdruck für die von folgendemAutomaten erkannte Sprache. Geben Sie dabei alle benötigtenZwischenergebnisse an und lesen Sie nur Sprachen der Form Lr ,0,tdirekt ab.
q2q1 q3a, b
b
a a, b
Hinweis: Wenn Sie frühzeitig Lq3,2,q2 berechnen, können Sie sich einigeRechenschritte sparen.
Wiederholung: Die Methode aus der Vorlesung
12 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Gegeben: DEA A = (Q,Σ, δ, s,F )
Gesucht Sprache L, die A akzeptiertL = {w ∈ Σ∗ |A endet nach Abarbeitung von w in einem Zustand aus F}Lf := {w ∈ Σ∗ | A endet nach Abarbeitung von w in f}L =
⋃f∈F Lf
Numeriere Zustände von 1 bis n durchLqr ,i,qt := {w ∈ Σ∗ |Abarbeitung von w aus qr nach qt hat nur Zwischenzustände {q1, . . . ,qi}}Damit gilt Lf = Ls,n,f
Es gilt allgemein:
Lqr ,i+1,qt = Lqr ,i,qt ∪(
Lqr ,i,qi+1
(Lqi+1,i,qi+1
)∗Lqi+1,i,qt
)Damit kann man induktiv Lf berechnen
Lösung Aufgabe 3
13 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
q2q1 q3a, b
b
a a, b
Die von A1 akzeptierte Sprache ist Lq1,3,q2
Lq1,3,q2 = Lq1,2,q2 ∪ Lq1,2,q3(Lq3,2,q3)∗Lq3,2,q2
Lq1,2,q2 = Lq1,1,q2 ∪ Lq1,1,q2(Lq2,1,q2)∗Lq2,1,q2
Lq1,1,q2 = Lq1,0,q2︸ ︷︷ ︸a∪b
∪ Lq1,0,q1︸ ︷︷ ︸ε
(Lq1,0,q1︸ ︷︷ ︸ε
)∗ Lq1,0,q2︸ ︷︷ ︸a∪b
= a ∪ b
Lq2,1,q2 = Lq2,0,q2︸ ︷︷ ︸ε
∪ Lq2,0,q1︸ ︷︷ ︸b
(Lq1,0,q1︸ ︷︷ ︸ε
)∗ Lq1,0,q2︸ ︷︷ ︸a∪b
= ε ∪ b(a ∪ b)
Lq1,2,q2 = (a ∪ b) ∪ (a ∪ b)(ε ∪ b(a ∪ b))∗(ε ∪ b(a ∪ b))= (a ∪ b)(b(a ∪ b))∗
⇒ Lq1,3,q2 = (a ∪ b)(b(a ∪ b))∗ ∪ Lq1,2,q3(Lq3,2,q3)∗Lq3,2,q2
Lösung Aufgabe 3
14 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
q2q1 q3a, b
b
a a, b
Lq1,3,q2 = (a ∪ b)(b(a ∪ b))∗ ∪ Lq1,2,q3(Lq3,2,q3)∗Lq3,2,q2
Lq3,2,q2 = Lq3,1,q2 ∪ Lq3,1,q2(Lq2,1,q2)∗Lq2,1,q2
Lq3,1,q2 = Lq3,0,q2︸ ︷︷ ︸∅
∪ Lq3,0,q1︸ ︷︷ ︸∅
(Lq1,0,q1︸ ︷︷ ︸ε
)∗ Lq1,0,q2︸ ︷︷ ︸a∪b
= ∅
Lq3,2,q2 = ∅ ∪∅(Lq2,1,q2)∗Lq2,1,q2 = ∅
Also ist insgesamt
Lq1,3,q2 = (a ∪ b)(b(a ∪ b))∗ ∪ Lq1,2,q3(Lq3,2,q3)∗∅ = (a ∪ b)(b(a ∪ b))∗
Aufgabe 4
15 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Sei A1 der nichtdeterministische endliche Automat, der durch folgendenZustandsgraphen gegeben ist:
q3
s q2ε, a bq1
aε
b
Geben Sie einen regulären Ausdruck für die von A1 akzeptierteSprache an.Geben Sie für jeden Zustand den ε-Abschluss an und konstruieren Sieeinen äquivalenten NEA ohne ε-Übergänge (vgl. Skript, Beweis zuSatz 2.13).
Aufgabe 4 a)
16 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
q3
s q2ε, a bq1
aε
b
Geben Sie einen regulären Ausdruck für die von A1 akzeptierte Sprachean.
Aufgabe 4 a)
16 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
q3
s q2ε, a bq1
aε
b
Geben Sie einen regulären Ausdruck für die von A1 akzeptierte Sprachean.
Lösung:Worte, die ohne Benutzung von q2 nach q3 führen: a, ε
Worte, die unter Benutzung von q2 nach q3 führen: ba,abaInsgesamt: (ε ∪ a)(ε ∪ ba)b∗
Aufgabe 4 b)
17 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
q3
s q2ε, a bq1
aε
b
Geben Sie für jeden Zustand den ε-Abschluss an und konstruieren Sieeinen äquivalenten NEA ohne ε-Übergänge.
Aufgabe 4 b)
17 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
q3
s q2ε, a bq1
aε
b
Geben Sie für jeden Zustand den ε-Abschluss an und konstruieren Sieeinen äquivalenten NEA ohne ε-Übergänge.
Lösung:
E(s) = {s,q1,q3}E(q1) = {q1,q3}E(q2) = {q2}E(q3) = {q3}
Äquivalenter Automat ohne ε-Übergänge:
q3
s q2a bq1
a
b
b
bb
Aufgabe 5
18 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Gegeben sei der nichtdeterministische endliche Automat A mitZustandsmenge Q = {s,q1,q2, f1, f2}, Alphabet Σ = {0,1}, Startzustands und Endzuständen f1 und f2. Die Übergangsfunktion δ ist tabellarischgegeben wie folgt:
0 1
s {s,q1} {s}q1 {q2, f1} {f2}q2 {s,q2} {f2}f1 ∅ ∅f2 ∅ ∅
Zeichnen Sie den Zustandsgraphen zu A.Konstruieren Sie einen zu A äquivalenten deterministischen endlichenAutomaten A′ mittels Potenzmengenkonstruktion.
Lösung Aufgabe 5 a)
19 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zeichnen Sie den Zustandsgraphen zu A.
Q = {s,q1,q2, f1, f2}Σ = {0,1}Startzustand sEndzustände f1 und f2
0 1
s {s,q1} {s}q1 {q2, f1} {f2}q2 {s,q2} {f2}f1 ∅ ∅f2 ∅ ∅
Zustandsgraph:
f1
s q2
q1
f2
0, 1 0
0
00
0 1
1
Aufgabe 5 b)
20 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Konstruieren Sie einen zu A äquivalenten deterministischen endlichenAutomaten A′ mittels Potenzmengenkonstruktion. Geben Sie dazu dieÜbergangsfunktion von A′ tabellarisch an und zeichnen Sie denZustandsgraphen. Beschriften Sie die neuen Zustände jeweils mit denzugehörigen Teilmengen von Q.
Wiederholung Potenzmengenkonstruktion
21 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Gegeben: NEA A = (Q,Σ, δ, s,F )
Gesucht: Äquivalenter DEA AA := (Q,Σ, δ, s, F ) kann wie folgt definiert werden:
Q := 2Q
δ : Q × Σ→ Q mit δ(q,a) = δ(q,a) für a ∈ Σs := E(s)F := {q ∈ Q | q ∩ F 6= ∅}
Lösung Aufgabe 5 b)
22 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
f1
s q2
q1
f2
0, 1 0
0
00
0 1
1
0 1
{s} {s,q1} {s}{s,q1} {s,q1,q2, f1} {s, f2}{s,q1,q2, f1} {s,q1,q2, f1} {s, f2}{s, f2} {s,q1} {s}
Lösung Aufgabe 5 b)
22 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
f1
s q2
q1
f2
0, 1 0
0
00
0 1
1
0 1
{s} {s,q1} {s}{s,q1} {s,q1,q2, f1} {s, f2}{s,q1,q2, f1} {s,q1,q2, f1} {s, f2}{s, f2} {s,q1} {s}
{s} {s, q1}
{s, f2} {s, q1, q2, f1}
0
00
0
1
1
1
11
Aufgabe 6
23 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Geben Sie jeweils einen nichtdeterministischen endlichen Automaten miteiner möglichst kleinen Anzahl an Zuständen an, der genau diefolgenden Sprachen akzeptiert:
L2 := {w ∈ {a,b, c,d}∗ |Der letzte Buchstabe von w kommt mehrmals in w vor. }L3 := {w ∈ {0,1}∗ |w enthält ein Teilwort der Form 0u0 und |u| ist durch 4 teilbar.}
Hinweis: Es genügen jeweils 6 Zustände. Für korrekte Lösungen mitmehr Zuständen wird jeweils 1 Punkt vergeben.
Aufgabe 6 a)
24 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
L2 :={w ∈ {a,b, c,d}∗ |Der letzte Buchstabe von w kommt mehrmals in w vor. }
NEA:
s f
q1
q2
q3
q4
a,b,c,d
a,b,c,d
a,b,c,d
a,b,c,d
a,b,c,d
a a
b b
cc
d d
Aufgabe 6 b)
25 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
L3 := {w ∈ {0,1}∗ | w enthält ein Teilwort der Form
0u0 und |u| ist durch 4 teilbar.}
NEA:s f
0,10,1
q1
q2
q3
q4
0 0
0,1
0,10,1
0,1
0
Aufgabe 7
26 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zeigen Sie mit Hilfe des Pumping-Lemmas die Nicht-Regularitätfolgender Sprachen:
L1 = {akclbk | k, l ≥ 0}L2 = {w ∈ {0,1}∗ | w enthält mehr 1en als 0en}L3 sei die Menge der Wörter über {0,1}, die die Form ww haben,wobei w aus w gebildet wird, indem alle Nullen durch Einsen und alleEinsen durch Nullen ersetzt werden; so ist etwa 011 = 100 und011100 ein Beispiel für ein Wort dieser Sprache
Pumping-Lemma für reguläre Sprachen
27 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Satz:Sei L eine reguläre Sprache. Dann existiert eine Zahl n ∈ N, so dassfür jedes Wort w ∈ L mit |w | > n eine Darstellung
w = uvx mit |uv | ≤ n , v 6= ε,
existiert, bei der auch uv ix ∈ L ist für alle i ∈N0.
Aufgabe 7 a)
28 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
L1 = {akclbk | k, l ≥ 0}
Aufgabe 7 a)
28 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
L1 = {akclbk | k, l ≥ 0}Lösung:
Annahme: L1 ist regulär.Sei dann n wie im Pumping-Lemma gefordert, d.h., so dass für jedesWort w ∈ L1 mit |w | > n eine Darstellung w = uvx mit |uv | ≤ n, v 6= εexistiert, bei der auch uv ix ∈ L1 ist für alle i ∈N0.Betrachte w = anbn ∈ L1.Für jede Zerlegung w = uvx mit |uv | ≤ n, v 6= ε istuv2x = an+lbn /∈ L1 weil l > 0.Dies widerspricht Pumping-Lemma
Aufgabe 7 b)
29 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
L2 = {w ∈ {0,1}∗ | w enthält mehr 1en als 0en}
Aufgabe 7 b)
29 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
L2 = {w ∈ {0,1}∗ | w enthält mehr 1en als 0en}Lösung:
Annahme: L2 ist regulär.Sei dann n wie im Pumping-Lemma gefordert, d.h., so dass für jedesWort w ∈ L2 mit |w | > n eine Darstellung w = uvx mit |uv | ≤ n, v 6= εexistiert, bei der auch uv ix ∈ L2 ist für alle i ∈N0.Betrachte w = 0n1n+1 ∈ L2.Für jede Zerlegung w = uvx mit |uv | ≤ n, v 6= ε istuv2x = 0n+l1n+1 /∈ L2 weil l > 0.Dies widerspricht Pumping-Lemma
Aufgabe 7 c)
30 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
L3 sei die Menge der Wörter über {0,1}, die die Form ww haben, wobeiw aus w gebildet wird, indem alle Nullen durch Einsen und alle Einsendurch Nullen ersetzt werden; so ist etwa 011 = 100 und 011100 einBeispiel für ein Wort dieser Sprache
Aufgabe 7 c)
30 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
L3 sei die Menge der Wörter über {0,1}, die die Form ww haben, wobeiw aus w gebildet wird, indem alle Nullen durch Einsen und alle Einsendurch Nullen ersetzt werden; so ist etwa 011 = 100 und 011100 einBeispiel für ein Wort dieser Sprache
Lösung:
Annahme: L3 ist regulär.Sei dann n wie im Pumping-Lemma gefordert, d.h., so dass für jedesWort w ∈ L3 mit |w | > n eine Darstellung w = uvx mit |uv | ≤ n, v 6= εexistiert, bei der auch uv ix ∈ L3 ist für alle i ∈N0.Betrachte w = 0n1n ∈ L3
Für jede Zerlegung w = uvx mit |uv | ≤ n, v 6= ε istuv2x = 0n+l1n /∈ L3 weil l > 0Dies widerspricht Pumping-Lemma
Zusatzaufgabe
31 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Bestimmen Sie den Äquivalenzklassenautomaten zu folgendemdeterministischen endlichen Automaten:
A B C D
E F G H
01
010
1
0
0
1
1
1 1 0
0
0
1
Wiederholung: Methode aus der Vorlesung
32 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Zustände p und q heißen äquivalent (p ≡ q), wenn für alle Wörterw ∈ Σ∗ gilt:
δ(p,w) ∈ F ⇔ δ(q,w) ∈ F
≡ ist eine ÄquivalenzrelationWie kann man die Äquivalenzklassen berechnen?w mit δ(p,w) ∈ F und δ(q,w) /∈ F oder umgekehrt heißt Zeuge fürdie Nichtäquivalenz von p und qp ≡ q gdw es keinen Zeugen für die Nichtäquivalenz von p und q gibtVerfahren aus der Vorlesung:
Betrachte zunächst alle Zustandspaare als nicht getrenntZähle alle Worte auf Σ∗ mit wachsender Länge auf und prüfe jeweils, obdiese bisher nicht getrennte Zustände trennenSobald für eine Wortlänge keine Zustände mehr getrennt werden, gib dieKlassen von nicht getrennten Zuständen aus
Bestimmung der Äquivalenzklassen
33 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
A B C D
E F G H
01
010
1
0
0
1
1
1 1 0
0
0
1
ε trennt {C} von {A,B,D,E,F ,G,H}0 trennt {D,F} von {A,B,E,G,H}1 trennt {B,H} von {A,E,G}00 trennt nichts01 trennt {G} von {A,E}10, 11, 000, 001, 010, 011, 100, 101, 110, 111 trennen nichts⇒ Äquivalenzklassen: {A,E}, {B,H}, {D,F}, {C}, {G}
Alternatives Vorgehen
34 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
Table-Filling Algorithmus
Zu Anfang sind alle Zustände nicht getrenntTrenne Endzustände und Nicht-Endzustände (Runde 0)Wiederhole, bis in einer Runde keine Zustände mehr getrenntwurden (Runde 1 - Runde k):
Für alle a ∈ Σ und alle nicht getrennten Zustandspaare (p,q): Trenne(p,q), falls (δ(p,a), δ(q,a)) getrennt sind
Gib die Klassen von nicht-getrennten Zuständen aus
BehauptungZwei Zustände p und q sind nach Runde i des Table-Filling Algorith-mus getrennt gdw es ein Wort der Länge i gibt, das p und q trennt.
Daraus folgt direkt, dass der Table-Filling Algorithmus korrekt ist
Beispiel Table-Filling Algorithmus
35 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
A B C D
E F G H
01
010
1
0
0
1
1
1 1 0
0
0
1
Beispiel Table-Filling Algorithmus
35 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
A B C D
E F G H
01
010
1
0
0
1
1
1 1 0
0
0
1
{A,B,D,E, F,G,H} {C}Runde 0:
Beispiel Table-Filling Algorithmus
35 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
A B C D
E F G H
01
010
1
0
0
1
1
1 1 0
0
0
1
{A,B,D,E, F,G,H} {C}
{A,B,D,E, F,G,H} {C}0:
{A,B,E,G,H} {C}1: {D,F}
Runde 0:
Runde 1:
Beispiel Table-Filling Algorithmus
35 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
A B C D
E F G H
01
010
1
0
0
1
1
1 1 0
0
0
1
{A,B,D,E, F,G,H} {C}
{A,B,D,E, F,G,H} {C}0:
{A,B,E,G,H} {C}1: {D,F}
{A,E, } {C}0: {D,F}{B,H}{B,H} {G}nichts getrennt
{A,E, } {C}1: {D,F}{B,H}{B,H} {G}
Runde 0:
Runde 1:
Runde 2:
Äquivalenzklassenautomat
36 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
A B C D
E F G H
01
010
1
0
0
1
1
1 1 0
0
0
1
Äquivalenzklassen: {A,E}, {B,H}, {D,F}, {C}, {G}
[A] [B]
[D] [G]
[C]
[G]
0
0
0
0
00
1
1
1
1
1
37 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
BehauptungZwei Zustände p und q sind nach Runde i des Table-Filling Algorith-mus getrennt gdw es ein Wort der Länge höchstens i gibt, das p undq trennt.
Beweis:
Induktion über Anzahl k der RundenInduktionsanfang: k = 0: p und q sind nach Runde 0 getrennt, wenneiner davon ein Endzustand ist und der andere nicht, dies istäquivalent zu ε trennt p und qInduktionsannahme: p und q sind nach Runde k getrennt gdw ∃w mit|w | ≤ k, das p und q trennt
37 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
BehauptungZwei Zustände p und q sind nach Runde i des Table-Filling Algorith-mus getrennt gdw es ein Wort der Länge höchstens i gibt, das p undq trennt.
Beweis:
⇒Seien p und q nach Runde k + 1 getrenntFall 1: p und q sind schon nach Runde k getrennt, dann gibt es aber w mit|w | ≤ k und w trennt p und qFall 2: p und q werden in Runde k + 1 getrennt⇒ ∃a ∈ Σ, so dass δ(p,a) und δ(q,a) nach Runde k getrennt sind⇒ ∃w mit |w | ≤ k, das δ(p,a) und δ(q,a) trennt⇒ aw trennt p und q und |aw | ≤ k + 1
37 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK
KIT
BehauptungZwei Zustände p und q sind nach Runde i des Table-Filling Algorith-mus getrennt gdw es ein Wort der Länge höchstens i gibt, das p undq trennt.
Beweis:
⇐∃w = av mit |w | ≤ k + 1 und w trennt p und q⇒ v trennt δ(p,a) und δ(q,a) und |v | ≤ k⇒ p und q sind nach Runde k + 1 getrennt