theoretische grundlagen der informatik · bestimmen sie nach der methode aus der vorlesung (satz...

56
0 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHE INFORMATIK INSTITUT FÜR THEORETISCHE INFORMATIK Theoretische Grundlagen der Informatik Übung am 3.11.2010 KIT – Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Upload: dolien

Post on 12-Aug-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 2: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

Ü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]

Page 3: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 4: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 5: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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)∗

Page 6: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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∗)

Page 7: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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∗

Page 8: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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∗)

Page 9: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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∗)∗

Page 10: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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)∗)

Page 11: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 12: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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)

Page 13: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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.

Page 14: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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.

Page 15: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 16: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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.

Page 17: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 18: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 19: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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.

Page 20: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 21: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 22: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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))∗

Page 23: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

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).

Page 24: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

Aufgabe 4 a)

16 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK

KIT

q3

s q2ε, a bq1

b

Geben Sie einen regulären Ausdruck für die von A1 akzeptierte Sprachean.

Page 25: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

Aufgabe 4 a)

16 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK

KIT

q3

s q2ε, a bq1

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∗

Page 26: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

Aufgabe 4 b)

17 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK

KIT

q3

s q2ε, a bq1

b

Geben Sie für jeden Zustand den ε-Abschluss an und konstruieren Sieeinen äquivalenten NEA ohne ε-Übergänge.

Page 27: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

Aufgabe 4 b)

17 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK

KIT

q3

s q2ε, a bq1

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

Page 28: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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.

Page 29: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 30: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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.

Page 31: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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= ∅}

Page 32: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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}

Page 33: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 34: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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.

Page 35: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 36: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 37: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 38: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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.

Page 39: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

Aufgabe 7 a)

28 07.11.2011 Andrea Schumm - Theoretische Grundlagen der Informatik INSTITUT FÜR THEORETISCHEINFORMATIK

KIT

L1 = {akclbk | k, l ≥ 0}

Page 40: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 41: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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}

Page 42: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 43: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 44: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 45: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 46: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 47: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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}

Page 48: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 49: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 50: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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:

Page 51: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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:

Page 52: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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:

Page 53: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

Ä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

Page 54: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 55: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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

Page 56: Theoretische Grundlagen der Informatik · Bestimmen Sie nach der Methode aus der Vorlesung (Satz 2.14 im Skript zur Vorlesung) einen regulären Ausdruck für die von folgendem Automaten

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