1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung,...

84
Theoretische Grundlagen der Informatik 1. ¨ Ubungstermin · 25. Oktober 2018 Jonas Sauer KIT – Die Forschungsuniversit¨ at in der Helmholtz-Gemeinschaft I NSTITUT F ¨ UR T HEORETISCHE I NFORMATIK · L EHRSTUHL ALGORITHMIK www.kit.edu ¨ Ubung

Transcript of 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung,...

Page 1: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Theoretische Grundlagen der Informatik

1. Ubungstermin · 25. Oktober 2018Jonas Sauer

KIT – Die Forschungsuniversitat in der Helmholtz-Gemeinschaft

INSTITUT FUR THEORETISCHE INFORMATIK · LEHRSTUHL ALGORITHMIK

www.kit.edu

Ubung

Page 2: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Ubungsleiter

Guido [email protected]

Jonas [email protected]

Raum 317

Sprechzeiten: Termin nach Vereinbarung

Raum 317

ab ca. Mitte November:

1

Page 3: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Hinweis

Tutorium 6 von Liran Dattner (Dienstag 14:00-15:30 Uhr)wurde von SR -118 in SR -107 verlegt!

2

Page 4: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Gliederung

Organisatorisches

Ubungsblatter

InhaltFormale Sprachen und regulare AusdruckeNichtdeterministische endliche AutomatenEigenschaften von endlichen AutomatenPotenzmengenkonstruktionEntfernen von ε-UbergangenKontextfreie Grammatiken

3

Page 5: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Ubungsblatt (UB)

Aus- und Abgabe: jeden zweiten Dienstag

Tag der Abgabe fur aktuelles UB=

Tag der Ausgabe fur nachstes UB

- ab 50% gibt es 2 Bonuspunkte- ab 75% gibt es 3 Bonuspunkte

Ab 25% der erreichbarenPunkte gibt es 1 Bonuspunktauf die bestandene Klausur.

Abgabe um 11:00 Uhr im Kasten im UG von Gebaude 50.34

4

Page 6: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Ubungsblattabgabe

Titelblatt:

WebInScribe Deckblattgenerator benutzen!

5

Page 7: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Ubungsblattabgabe

Titelblatt:

Handschriftliche Abgabe!

WebInScribe Deckblattgenerator benutzen!

5

Page 8: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Ubungsblattabgabe

Titelblatt:

Ubungsblatt heften!Handschriftliche Abgabe!

WebInScribe Deckblattgenerator benutzen!

5

Page 9: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Ubungsblattabgabe

Doppelabgabe ist erlaubt.

Titelblatt:

Ubungsblatt heften!Handschriftliche Abgabe!

Beide mussen im selben Tutorium angemeldet sein.

WebInScribe Deckblattgenerator benutzen!

5

Page 10: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Gliederung

Organisatorisches

Ubungsblatter

InhaltFormale Sprachen und regulare AusdruckeNichtdeterministische endliche AutomatenEigenschaften von endlichen AutomatenPotenzmengenkonstruktionEntfernen von ε-UbergangenKontextfreie Grammatiken

6

Page 11: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Formale Sprachen

Leere Wort: ε

Alle Worte: Σ?

Beispiel: Σ = 0, 1, Σ? = ε, 0, 1, 00, 01, 10, 11, 000, . . .

Wort: Ein Wort w uber dem Alphabet Σ ist eine (endliche) Folgevon Zeichen aus Σ.

Beispiel: Σ = 0, 1, w=0101, w=ε

Sprache: (beliebige) Menge an Worten uber einem Alphabet Σ

Beispiel: Σ = 0, 1L1 = 00, 01, 10, 11L2 = w ∈ Σ? | w endet mit 0

Alphabet: Endliche Menge Σ an Zeichen/Symbolen.

Beispiel: Σ = 0, 1

7

Page 12: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Formale Sprachen

Seien L, L1, L2 ⊆ Σ? Sprachen.

Produktsprache L1 · L2 := w1 · w2 | w1 ∈ L1, w2 ∈ L2

k -faches Produkt Lk := w1 · w2 · . . . · wk | wi ∈ L fur 1 ≤ i ≤ kL0 := ε

Kleene’scher Abschluss L? :=⋃

i≥0 Li

Positiver Abschluss L+ :=⋃

i≥1 Li

Quotientensprache L1/L2 := w ∈ Σ? | ∃z ∈ L2 mit w · z ∈ L1

Komplementsprache Lc := Σ? \ L

Beispiel: ProduktspracheL1 = 01, 10, 11L2 = 1, 00, 101

L1 · L2 = 011, 0100, 01101, 101, 1000, 10101, 111,

1100, 11101

8

Page 13: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Formale Sprachen

Seien L, L1, L2 ⊆ Σ? Sprachen.

Produktsprache L1 · L2 := w1 · w2 | w1 ∈ L1, w2 ∈ L2

k -faches Produkt Lk := w1 · w2 · . . . · wk | wi ∈ L fur 1 ≤ i ≤ kL0 := ε

Kleene’scher Abschluss L? :=⋃

i≥0 Li

Positiver Abschluss L+ :=⋃

i≥1 Li

Quotientensprache L1/L2 := w ∈ Σ? | ∃z ∈ L2 mit w · z ∈ L1

Komplementsprache Lc := Σ? \ L

Beispiel: ProduktspracheL1 = 01, 10, 11L2 = 1, 00, 101

L1 · L2 = 011, 0100, 01101, 101, 1000, 10101, 111,

1100, 11101

8

Page 14: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Formale Sprachen

Seien L, L1, L2 ⊆ Σ? Sprachen.

Produktsprache L1 · L2 := w1 · w2 | w1 ∈ L1, w2 ∈ L2

k -faches Produkt Lk := w1 · w2 · . . . · wk | wi ∈ L fur 1 ≤ i ≤ kL0 := ε

Kleene’scher Abschluss L? :=⋃

i≥0 Li

Positiver Abschluss L+ :=⋃

i≥1 Li

Quotientensprache L1/L2 := w ∈ Σ? | ∃z ∈ L2 mit w · z ∈ L1

Komplementsprache Lc := Σ? \ L

Beispiel: ProduktspracheL1 = 01, 10, 11L2 = 1, 00, 101

L1 · L2 = 011, 0100, 01101, 101, 1000, 10101, 111,

1100, 11101

8

Page 15: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Formale Sprachen

Seien L, L1, L2 ⊆ Σ? Sprachen.

Produktsprache L1 · L2 := w1 · w2 | w1 ∈ L1, w2 ∈ L2

k -faches Produkt Lk := w1 · w2 · . . . · wk | wi ∈ L fur 1 ≤ i ≤ kL0 := ε

Kleene’scher Abschluss L? :=⋃

i≥0 Li

Positiver Abschluss L+ :=⋃

i≥1 Li

Quotientensprache L1/L2 := w ∈ Σ? | ∃z ∈ L2 mit w · z ∈ L1

Komplementsprache Lc := Σ? \ L

Beispiel: ProduktspracheL1 = 01, 10, 11L2 = 1, 00, 101

L1 · L2 = 011, 0100, 01101, 101, 1000, 10101, 111,

1100, 11101

8

Page 16: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Regulare Sprachen

Eine Sprache L ⊆ Σ? heißt regular, wenn fur sie einer der folgenden Punkte gilt: (induktiveDefinition)

1. Verankerung:

(a) L = a mit a ∈ Σ ∪ ε oder(b) L = ∅

2. Induktion: Seien L1, L2 regulare Sprachen

(a) L = L1 · L2 oder(b) L = L1 ∪ L2 oder(c) L = L?

1

9

Page 17: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Regulare Sprachen

Eine Sprache L ⊆ Σ? heißt regular, wenn fur sie einer der folgenden Punkte gilt: (induktiveDefinition)

1. Verankerung:

(a) L = a mit a ∈ Σ ∪ ε oder(b) L = ∅

2. Induktion: Seien L1, L2 regulare Sprachen

(a) L = L1 · L2 oder(b) L = L1 ∪ L2 oder(c) L = L?

1

Regulare Ausdrucke:a ∈ Σ ∪ ε fur L = a(α) ∪ (β) fur L(α) ∪ L(β)(α) · (β) fur L(α) · L(β)(α)+ fur L(α)+

(α)? fur L(α)?

9

Page 18: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Regulare Sprachen

Eine Sprache L ⊆ Σ? heißt regular, wenn fur sie einer der folgenden Punkte gilt: (induktiveDefinition)

1. Verankerung:

(a) L = a mit a ∈ Σ ∪ ε oder(b) L = ∅

2. Induktion: Seien L1, L2 regulare Sprachen

(a) L = L1 · L2 oder(b) L = L1 ∪ L2 oder(c) L = L?

1

Regulare Ausdrucke:a ∈ Σ ∪ ε fur L = a(α) ∪ (β) fur L(α) ∪ L(β)(α) · (β) fur L(α) · L(β)(α)+ fur L(α)+

(α)? fur L(α)?

Klammern werden haufig weggelassen.

9

Page 19: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

(a) (A?)? ?= A?

(b) (A ∪ B)? ?= (A?B?)?

(c) A? ∪ B? ?= (A ∪ B)?

Seien A, B regulare Ausdrucke. Welche regularen Ausdrucke beschreibendie gleiche Sprache?

10

Page 20: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

(a) (A?)? ?= A?

(b) (A ∪ B)? ?= (A?B?)?

(c) A? ∪ B? ?= (A ∪ B)?

Seien A, B regulare Ausdrucke. Welche regularen Ausdrucke beschreibendie gleiche Sprache?

3 min Zeit

10

Page 21: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

(a) (A?)? ?= A?

(b) (A ∪ B)? ?= (A?B?)?

(c) A? ∪ B? ?= (A ∪ B)?

Seien A, B regulare Ausdrucke. Welche regularen Ausdrucke beschreibendie gleiche Sprache?

X

10

Page 22: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

(a) (A?)? ?= A?

(b) (A ∪ B)? ?= (A?B?)?

(c) A? ∪ B? ?= (A ∪ B)?

Seien A, B regulare Ausdrucke. Welche regularen Ausdrucke beschreibendie gleiche Sprache?

X

X

10

Page 23: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

(a) (A?)? ?= A?

(b) (A ∪ B)? ?= (A?B?)?

(c) A? ∪ B? ?= (A ∪ B)?

Seien A, B regulare Ausdrucke. Welche regularen Ausdrucke beschreibendie gleiche Sprache?

X

X

10

Page 24: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Endliche Automaten

Definiert uber einem Alphabet Σ

Bestehend aus:

11

Page 25: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Endliche Automaten

s q1 q4

q2 q3f

Definiert uber einem Alphabet Σ

Bestehend aus:Q : endliche Menge von Zustanden

11

Page 26: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Endliche Automaten

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Definiert uber einem Alphabet Σ

Bestehend aus:Q : endliche Menge von Zustanden

Ubergange eindeutigmehrdeutig

δ : Q × Σ→ Q

δ : Q × (Σ ∪ ε)→ 2Q

deterministisch

nicht-deterministisch

s2

s3

s4

a

a

11

Page 27: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Endliche Automaten

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Definiert uber einem Alphabet Σ

Bestehend aus:Q : endliche Menge von Zustanden

Ubergange eindeutigmehrdeutig

δ : Q × Σ→ Q

δ : Q × (Σ ∪ ε)→ 2Q

deterministisch

nicht-deterministisch

s ∈ Q: Startzustand

11

Page 28: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Endliche Automaten

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Definiert uber einem Alphabet Σ

Bestehend aus:Q : endliche Menge von Zustanden

Ubergange eindeutigmehrdeutig

δ : Q × Σ→ Q

δ : Q × (Σ ∪ ε)→ 2Q

deterministisch

nicht-deterministisch

s ∈ Q: Startzustand

F ⊆ Q, Menge von Endzustanden

11

Page 29: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Endliche Automaten

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Definiert uber einem Alphabet Σ

Bestehend aus:Q : endliche Menge von Zustanden

Ubergange eindeutigmehrdeutig

δ : Q × Σ→ Q

δ : Q × (Σ ∪ ε)→ 2Q

deterministisch

nicht-deterministisch

s ∈ Q: Startzustand

F ⊆ Q, Menge von EndzustandenAkzeptanz des Wortes w:DEA: Abarbeitung von w endet inEndzustand

NEA: Es gibt Abarbeitung von w ,die in Endzustand endet

11

Page 30: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Endliche Automaten

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Definiert uber einem Alphabet Σ

Bestehend aus:Q : endliche Menge von Zustanden

Ubergange eindeutigmehrdeutig

δ : Q × Σ→ Q

δ : Q × (Σ ∪ ε)→ 2Q

deterministisch

nicht-deterministisch

s ∈ Q: Startzustand

F ⊆ Q, Menge von EndzustandenWelche Sprache erkennt der Automat?

Akzeptanz des Wortes w:DEA: Abarbeitung von w endet inEndzustand

NEA: Es gibt Abarbeitung von w ,die in Endzustand endet

11

Page 31: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Endliche Automaten

b

s q1 q4

q2 q3

a ab

a

b

fa

b

a,b

a,b

Definiert uber einem Alphabet Σ

Bestehend aus:Q : endliche Menge von Zustanden

Ubergange eindeutigmehrdeutig

δ : Q × Σ→ Q

δ : Q × (Σ ∪ ε)→ 2Q

deterministisch

nicht-deterministisch

s ∈ Q: Startzustand

F ⊆ Q, Menge von EndzustandenWelche Sprache erkennt der Automat?

Akzeptanz des Wortes w:DEA: Abarbeitung von w endet inEndzustand

NEA: Es gibt Abarbeitung von w ,die in Endzustand endet

L = a(bab)?a

11

Page 32: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

Konstruieren Sie einen nicht-deterministischen endlichen Automaten, derfolgende Sprache erkennt:

L = (a ∪ (ab(b)?ba))?

Verwenden Sie hierzu maximal 3 Zustande + 1 Fehlerzustand.

12

Page 33: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

Konstruieren Sie einen nicht-deterministischen endlichen Automaten, derfolgende Sprache erkennt:

L = (a ∪ (ab(b)?ba))?

Verwenden Sie hierzu maximal 3 Zustande + 1 Fehlerzustand.

3 min Zeit

12

Page 34: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

Konstruieren Sie einen nicht-deterministischen endlichen Automaten, derfolgende Sprache erkennt:

L = (a ∪ (ab(b)?ba))?

Verwenden Sie hierzu maximal 3 Zustande + 1 Fehlerzustand.

s

a

12

Page 35: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

Konstruieren Sie einen nicht-deterministischen endlichen Automaten, derfolgende Sprache erkennt:

L = (a ∪ (ab(b)?ba))?

Verwenden Sie hierzu maximal 3 Zustande + 1 Fehlerzustand.

s q1a

a

q2b

12

Page 36: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

Konstruieren Sie einen nicht-deterministischen endlichen Automaten, derfolgende Sprache erkennt:

L = (a ∪ (ab(b)?ba))?

Verwenden Sie hierzu maximal 3 Zustande + 1 Fehlerzustand.

s q1a

ab

q2b

12

Page 37: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

Konstruieren Sie einen nicht-deterministischen endlichen Automaten, derfolgende Sprache erkennt:

L = (a ∪ (ab(b)?ba))?

Verwenden Sie hierzu maximal 3 Zustande + 1 Fehlerzustand.

s q1a

abba

q2b

12

Page 38: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Aufgabe

Konstruieren Sie einen nicht-deterministischen endlichen Automaten, derfolgende Sprache erkennt:

L = (a ∪ (ab(b)?ba))?

Verwenden Sie hierzu maximal 3 Zustande + 1 Fehlerzustand.

s q1a

f

b

ab

a

a,b

ba

q2b

12

Page 39: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Große von DEAs vs. NEAs

Betrachte: Ln = w ∈ 0, 1? | das n-letzte Zeichen von w ist eine 1.Wie sieht der NEA aus?

13

Page 40: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Große von DEAs vs. NEAs

Betrachte: Ln = w ∈ 0, 1? | das n-letzte Zeichen von w ist eine 1.Wie sieht der NEA aus?

q0 q1

0,11 q2 q3 qn

0,1 0,1 0,1 f0,1

0,1

0,1

O(n) viele Zustande

13

Page 41: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Große von DEAs vs. NEAs

Betrachte: Ln = w ∈ 0, 1? | das n-letzte Zeichen von w ist eine 1.Wie sieht der NEA aus?

q0 q1

0,11 q2 q3 qn

0,1 0,1 0,1 f0,1

0,1

0,1

Zeige: Jeder DEA von Ln hat mindestens 2n Zustande.

O(n) viele Zustande

13

Page 42: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Große von DEAs vs. NEAs

Betrachte: Ln = w ∈ 0, 1? | das n-letzte Zeichen von w ist eine 1.Wie sieht der NEA aus?

q0 q1

0,11 q2 q3 qn

0,1 0,1 0,1 f0,1

0,1

0,1

Zeige: Jeder DEA von Ln hat mindestens 2n Zustande.

O(n) viele Zustande

Annahme: Sei Dn = (Σ, Q, δ, q0, F ) DEA, der Ln akzeptiert, mit |Q| < 2n

13

Page 43: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Große von DEAs vs. NEAs

Betrachte: Ln = w ∈ 0, 1? | das n-letzte Zeichen von w ist eine 1.Wie sieht der NEA aus?

q0 q1

0,11 q2 q3 qn

0,1 0,1 0,1 f0,1

0,1

0,1

Zeige: Jeder DEA von Ln hat mindestens 2n Zustande.

O(n) viele Zustande

Annahme: Sei Dn = (Σ, Q, δ, q0, F ) DEA, der Ln akzeptiert, mit |Q| < 2n

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodassδ(q0, x 1 u) = δ(q0, y 0 v ) Noch zu zeigen.

13

Page 44: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Große von DEAs vs. NEAs

Betrachte: Ln = w ∈ 0, 1? | das n-letzte Zeichen von w ist eine 1.Wie sieht der NEA aus?

q0 q1

0,11 q2 q3 qn

0,1 0,1 0,1 f0,1

0,1

0,1

Zeige: Jeder DEA von Ln hat mindestens 2n Zustande.

O(n) viele Zustande

Annahme: Sei Dn = (Σ, Q, δ, q0, F ) DEA, der Ln akzeptiert, mit |Q| < 2n

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodass

Dann gilt: Seien x , y ∈ Σ? und u, v ∈ Σn−1 wie im Lemma gewahlt.

x 1 u ∈ Ln und y 0 v 6∈ Ln

δ(q0, x 1 u) = δ(q0, y 0 v ) Noch zu zeigen.

13

Page 45: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Große von DEAs vs. NEAs

Betrachte: Ln = w ∈ 0, 1? | das n-letzte Zeichen von w ist eine 1.Wie sieht der NEA aus?

q0 q1

0,11 q2 q3 qn

0,1 0,1 0,1 f0,1

0,1

0,1

Zeige: Jeder DEA von Ln hat mindestens 2n Zustande.

O(n) viele Zustande

Annahme: Sei Dn = (Σ, Q, δ, q0, F ) DEA, der Ln akzeptiert, mit |Q| < 2n

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodass

Dann gilt: Seien x , y ∈ Σ? und u, v ∈ Σn−1 wie im Lemma gewahlt.

x 1 u ∈ Ln und y 0 v 6∈ Ln

δ(q0, x 1 u) ∈ F und δ(q0, y 0 v ) 6∈ F Lemma

δ(q0, x 1 u) = δ(q0, y 0 v ) Noch zu zeigen.

13

Page 46: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Große von DEAs vs. NEAs

Betrachte: Ln = w ∈ 0, 1? | das n-letzte Zeichen von w ist eine 1.Wie sieht der NEA aus?

q0 q1

0,11 q2 q3 qn

0,1 0,1 0,1 f0,1

0,1

0,1

Zeige: Jeder DEA von Ln hat mindestens 2n Zustande.

O(n) viele Zustande

Annahme: Sei Dn = (Σ, Q, δ, q0, F ) DEA, der Ln akzeptiert, mit |Q| < 2n

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodass

Dann gilt: Seien x , y ∈ Σ? und u, v ∈ Σn−1 wie im Lemma gewahlt.

x 1 u ∈ Ln und y 0 v 6∈ Ln

δ(q0, x 1 u) ∈ F und δ(q0, y 0 v ) 6∈ F Lemma

Ω(2n) viele Zustande

δ(q0, x 1 u) = δ(q0, y 0 v ) Noch zu zeigen.

13

Page 47: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Beweis zu Lemma

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodassδ(q0, x 1 u) = δ(q0, y 0 v )

14

Page 48: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Beweis zu Lemma

Beweis: Sei h : Σn → Q sodass h(z) = δ(q0, z)

h ist nicht injektiv, da |Q| < 2n

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodassδ(q0, x 1 u) = δ(q0, y 0 v )

h

Σn Q

14

Page 49: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Beweis zu Lemma

Beweis: Sei h : Σn → Q sodass h(z) = δ(q0, z)

h ist nicht injektiv, da |Q| < 2n

∃ Sequenzen σ1 = a1 . . . an und σ2 = b1 . . . bn mit σ1 6= σ2 und h(σ1) = h(σ2)

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodassδ(q0, x 1 u) = δ(q0, y 0 v )

h

Σn Q

14

Page 50: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Beweis zu Lemma

Beweis: Sei h : Σn → Q sodass h(z) = δ(q0, z)

h ist nicht injektiv, da |Q| < 2n

∃ Sequenzen σ1 = a1 . . . an und σ2 = b1 . . . bn mit σ1 6= σ2 und h(σ1) = h(σ2)

Annahme: ai = 1 und bi = 0x=a1 . . . ai−1Sei y = b1 . . . bi−1u = ai+1 . . . an0i−1 v = bi+1 . . . bn0i−1

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodassδ(q0, x 1 u) = δ(q0, y 0 v )

h

Σn Q

14

Page 51: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Beweis zu Lemma

Beweis: Sei h : Σn → Q sodass h(z) = δ(q0, z)

h ist nicht injektiv, da |Q| < 2n

∃ Sequenzen σ1 = a1 . . . an und σ2 = b1 . . . bn mit σ1 6= σ2 und h(σ1) = h(σ2)

Annahme: ai = 1 und bi = 0x=a1 . . . ai−1Sei y = b1 . . . bi−1u = ai+1 . . . an0i−1 v = bi+1 . . . bn0i−1

δ(q0, x 1 u) = δ(q0, a1 . . . ai−1 1 ai+1 . . . an0i−1)

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodassδ(q0, x 1 u) = δ(q0, y 0 v )

h

Σn Q

14

Page 52: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Beweis zu Lemma

Beweis: Sei h : Σn → Q sodass h(z) = δ(q0, z)

h ist nicht injektiv, da |Q| < 2n

∃ Sequenzen σ1 = a1 . . . an und σ2 = b1 . . . bn mit σ1 6= σ2 und h(σ1) = h(σ2)

Annahme: ai = 1 und bi = 0x=a1 . . . ai−1Sei y = b1 . . . bi−1u = ai+1 . . . an0i−1 v = bi+1 . . . bn0i−1

δ(q0, x 1 u) = δ(q0, a1 . . . ai−1 1 ai+1 . . . an0i−1)

= δ(δ(q0, a1 . . . ai−1 1 ai+1 . . . an), 0i−1)

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodassδ(q0, x 1 u) = δ(q0, y 0 v )

h

Σn Q

14

Page 53: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Beweis zu Lemma

Beweis: Sei h : Σn → Q sodass h(z) = δ(q0, z)

h ist nicht injektiv, da |Q| < 2n

∃ Sequenzen σ1 = a1 . . . an und σ2 = b1 . . . bn mit σ1 6= σ2 und h(σ1) = h(σ2)

Annahme: ai = 1 und bi = 0x=a1 . . . ai−1Sei y = b1 . . . bi−1u = ai+1 . . . an0i−1 v = bi+1 . . . bn0i−1

δ(q0, x 1 u) = δ(q0, a1 . . . ai−1 1 ai+1 . . . an0i−1)

= δ(δ(q0, a1 . . . ai−1 1 ai+1 . . . an), 0i−1)

= δ(δ(q0, b1 . . . bi−1 0 bi+1 . . . bn), 0i−1)

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodassδ(q0, x 1 u) = δ(q0, y 0 v )

h

Σn Q

14

Page 54: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Beweis zu Lemma

Beweis: Sei h : Σn → Q sodass h(z) = δ(q0, z)

h ist nicht injektiv, da |Q| < 2n

∃ Sequenzen σ1 = a1 . . . an und σ2 = b1 . . . bn mit σ1 6= σ2 und h(σ1) = h(σ2)

Annahme: ai = 1 und bi = 0x=a1 . . . ai−1Sei y = b1 . . . bi−1u = ai+1 . . . an0i−1 v = bi+1 . . . bn0i−1

δ(q0, x 1 u) = δ(q0, a1 . . . ai−1 1 ai+1 . . . an0i−1)

= δ(δ(q0, a1 . . . ai−1 1 ai+1 . . . an), 0i−1)

= δ(δ(q0, b1 . . . bi−1 0 bi+1 . . . bn), 0i−1)

= δ(q0, b1 . . . bi−1 0 bi+1 . . . bn0i−1) = δ(q0, y 0 v )

Lemma: Wenn Q < 2n, dann gibt es x , y ∈ Σ? und u, v ∈ Σn−1, sodassδ(q0, x 1 u) = δ(q0, y 0 v )

h

Σn Q

14

Page 55: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

a b

b

aa bb

a

a,b

L = (a ∪ (ab(b)?ba))?

q1 q2

f

s

15

Page 56: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

s

a b

b

aa bb

a

a,b

L = (a ∪ (ab(b)?ba))?

q1 q2

f

ss

15

Page 57: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

s s, q1 f

a b

b

aa bb

a

a,b

s, q1f

L = (a ∪ (ab(b)?ba))?

a

a

b

q1 q2

f

ss

15

Page 58: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

s s, q1 f

a b

b

aa bb

a

a,b

s, q1 s, q1 f , q2

f , q2f

L = (a ∪ (ab(b)?ba))?

a

a

b

abq1 q2

f

ss q1

15

Page 59: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

s s, q1 f

a b

b

aa bb

a

a,b

s, q1 s, q1 f , q2

f , q2f f f

L = (a ∪ (ab(b)?ba))?

a,b

q1 q2

f

s

f

15

Page 60: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

s s, q1 f

a b

b

aa bb

a

a,b

s, q1 s, q1 f , q2

f , q2 f f , q1, q2f , q1, q2

f f f

L = (a ∪ (ab(b)?ba))?

bb

a

a,b

q1 q2

f

s q2

f

15

Page 61: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

s s, q1 f

a b

b

aa bb

a

a,b

s, q1 s, q1 f , q2

f , q2 f f , q1, q2f , q1, q2 f , s f , q1, q2f , s

f f f

L = (a ∪ (ab(b)?ba))?

a,b

a

a

bbb

q1 q2

f

s q1 q2

f

15

Page 62: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

s s, q1 f

a b

b

aa bb

a

a,b

s, q1 s, q1 f , q2

f , q2 f f , q1, q2f , q1, q2 f , s f , q1, q2f , s f , s, q1 ff , s, q1

f f f

L = (a ∪ (ab(b)?ba))?

a,b

a

a

b

q1 q2

f

ss

f

15

Page 63: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

s s, q1 f

a b

b

aa bb

a

a,b

s, q1 s, q1 f , q2

f , q2 f f , q1, q2f , q1, q2 f , s f , q1, q2f , s f , s, q1 ff , s, q1 f , s, q1 f , q2

f f f

L = (a ∪ (ab(b)?ba))?

a,b

a

aa

b

b

q1q1 q2

f

sss q1

f

15

Page 64: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Endzustande:

Jeder NEA kann in einen DEA uberfuhrt werden.

Potenzmengenkonstruktion: systematisches Verfahren fur Transformation

Zustand Uberganga b

s s, q1 f

a b

b

aa bb

a

a,b

s, q1 s, q1 f , q2

f , q2 f f , q1, q2f , q1, q2 f , s f , q1, q2f , s f , s, q1 ff , s, q1 f , s, q1 f , q2

f f f

L = (a ∪ (ab(b)?ba))?

q1 q2

f

s

Alle Zustande, die End-zustand aus NEA enthalten.

15

Page 65: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Zustand Uberganga b

s s, q1 fs, q1 s, q1 f , q2

f , q2 f f , q1, q2f , q1, q2 f , s f , q1, q2f , s f , s, q1 ff , s, q1 f , s, q1 f , q2

f f f

L = (a ∪ (ab(b)?ba))?

16

Page 66: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Zustand Uberganga b

s s, q1 fs, q1 s, q1 f , q2

f , q2 f f , q1, q2f , q1, q2 f , s f , q1, q2f , s f , s, q1 ff , s, q1 f , s, q1 f , q2

f f f

f , q1, q2

f , s, q1

f , q2

f , s

f

s, q1s

L = (a ∪ (ab(b)?ba))?

16

Page 67: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Potenzmengenkonstruktion

Zustand Uberganga b

s s, q1 fs, q1 s, q1 f , q2

f , q2 f f , q1, q2f , q1, q2 f , s f , q1, q2f , s f , s, q1 ff , s, q1 f , s, q1 f , q2

f f f

f , q1, q2

f , s, q1

f , q2

f , s

f

s, q1s a

a

b

ab

a,b

b

a

ab

b

b

L = (a ∪ (ab(b)?ba))?

a

16

Page 68: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

Jeder NEA kann in einen aquivalenten NEA ohne ε-Ubergange uberfuhrtwerden, ohne die Anzahl Zustande zu erhohen.

s q1

q2q3

b

b

a

ε

a

sq1

q2

q3

a b

Fehlende Ubergange fuhren in Fehlerzustand.

b

Idee: Finde via ”ε?xε?”erreichbare Zustande

17

Page 69: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

Jeder NEA kann in einen aquivalenten NEA ohne ε-Ubergange uberfuhrtwerden, ohne die Anzahl Zustande zu erhohen.

s q1

q2q3

b

b

a

ε

a

sq1

q2

q3

a b

Fehlende Ubergange fuhren in Fehlerzustand.

q1

b

Idee: Finde via ”ε?xε?”erreichbare Zustande

17

Page 70: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

Jeder NEA kann in einen aquivalenten NEA ohne ε-Ubergange uberfuhrtwerden, ohne die Anzahl Zustande zu erhohen.

s q1

q2q3

b

b

a

ε

a

sq1

q2

q3

a b

Fehlende Ubergange fuhren in Fehlerzustand.

q1 s , q1 , q3

b

Idee: Finde via ”ε?xε?”erreichbare Zustande

, q2

17

Page 71: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

Jeder NEA kann in einen aquivalenten NEA ohne ε-Ubergange uberfuhrtwerden, ohne die Anzahl Zustande zu erhohen.

s q1

q2q3

b

b

a

ε

a

sq1

q2

q3

a b

Fehlende Ubergange fuhren in Fehlerzustand.

, q3

q1 s , q1 , q3

b

q2

Idee: Finde via ”ε?xε?”erreichbare Zustande

, q2

17

Page 72: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

Jeder NEA kann in einen aquivalenten NEA ohne ε-Ubergange uberfuhrtwerden, ohne die Anzahl Zustande zu erhohen.

s q1

q2q3

b

b

a

ε

a

sq1

q2

q3

a b

Fehlende Ubergange fuhren in Fehlerzustand.

, q3

q1 s , q1 , q3

, q3

b

q2

Idee: Finde via ”ε?xε?”erreichbare Zustande

, q2

17

Page 73: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

Jeder NEA kann in einen aquivalenten NEA ohne ε-Ubergange uberfuhrtwerden, ohne die Anzahl Zustande zu erhohen.

s q1

q2q3

b

b

a

ε

a

sq1

q2

q3

a b

Fehlende Ubergange fuhren in Fehlerzustand.

, q3

q1

q1 s , q1 , q3

, q3

b

q2

Idee: Finde via ”ε?xε?”erreichbare Zustande

, q2

17

Page 74: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

Jeder NEA kann in einen aquivalenten NEA ohne ε-Ubergange uberfuhrtwerden, ohne die Anzahl Zustande zu erhohen.

s q1

q2q3

b

b

a

ε

a

sq1

q2

q3

a b

Fehlende Ubergange fuhren in Fehlerzustand.

, q3

q1

q1 s , q1 , q3

, q3

s , q2, q3

b

q2

Idee: Finde via ”ε?xε?”erreichbare Zustande

, q2

17

Page 75: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

Jeder NEA kann in einen aquivalenten NEA ohne ε-Ubergange uberfuhrtwerden, ohne die Anzahl Zustande zu erhohen.

s q1

q2q3

b

b

a

ε

a

sq1

q2

q3

a b

Fehlende Ubergange fuhren in Fehlerzustand.

, q3

q1

q1

q1 s , q1 , q3

, q3

s , q2, q3

b

q2

Idee: Finde via ”ε?xε?”erreichbare Zustande

, q2

17

Page 76: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

Jeder NEA kann in einen aquivalenten NEA ohne ε-Ubergange uberfuhrtwerden, ohne die Anzahl Zustande zu erhohen.

s q1

q2q3

b

b

a

ε

a

sq1

q2

q3

a b

Fehlende Ubergange fuhren in Fehlerzustand.

, q3

q1

q1

q1 s , q1 , q3

, q3

s , q2, q3

s , q2, q3 b

q2

Idee: Finde via ”ε?xε?”erreichbare Zustande

, q2

17

Page 77: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

sq1

q2

q3

a b

, q3

q1

q1

q1 s , q1 , q3

q3

s , q2, q3

s , q2, q3

q2

s q1

q2q3

b

b

a

ε

ab

, q2

ε-Ubergang fuhrt von s zu Finalzustand→ s wird zu Finalzustand

18

Page 78: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Entfernen von ε-Ubergangen

sq1

q2

q3

a b

, q3

q1

q1

q1 s , q1 , q3

q3

s , q2, q3

s , q2, q3

q2

s q1

q2q3

a, b

b

a

b

b a, ba, b

bb

b

ab

b

s q1

q2q3

b

b

a

ε

ab

b, q2

ε-Ubergang fuhrt von s zu Finalzustand→ s wird zu Finalzustand

18

Page 79: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreie Grammatiken

Kontextfreie Grammatik: G = (Σ, V , S, R)

Alphabet: Σ (Terminalalphabet), endlich

Variablen: V (Nichtterminale), V ∩ Σ = ∅, endlich

Startsymbol: S ∈ V

Ableitungsregeln: R ⊂ V × (Σ ∪ V )?

Σ = a, b

V = A, S

S → aSb | A, A→ aA | a

19

Page 80: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreie Grammatiken

G= S → aSb | abR

L(G) = aibi | i ∈ N

= (Σ = a, b, V = S, S, R)

20

Page 81: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreie Grammatiken

G= S → aSb | abR

L(G) = aibi | i ∈ N

Ist L(G) regular?

= (Σ = a, b, V = S, S, R)

20

Page 82: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreie Grammatiken

G= S → aSb | abR

L(G) = aibi | i ∈ N

Ist L(G) regular?

= (Σ = a, b, V = S, S, R)

Nein!

20

Page 83: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreie Grammatiken

G= S → aSb | abR

L(G) = aibi | i ∈ N

Ist L(G) regular?

Problem (informell): EA konnen nicht zahlen (endliches Gedachtnis)

= (Σ = a, b, V = S, S, R)

Nein!

20

Page 84: 1. Übung, Theoretische Grundlagen der Informatik · 2019. 1. 25. · Jonas Sauer 1. Ubung, Theoretische Grundlagen der Informatik¨ Institut f ur Theoretische Informatik¨ Lehrstuhl

Jonas Sauer – 1. Ubung, Theoretische Grundlagen der Informatik Institut fur Theoretische InformatikLehrstuhl Algorithmik

Kontextfreie Grammatiken

G= S → aSb | abR

L(G) = aibi | i ∈ N

Ist L(G) regular?

Problem (informell): EA konnen nicht zahlen (endliches Gedachtnis)

Formales Hilfsmittel:

= (Σ = a, b, V = S, S, R)

Nein!

Satz (Pumping-Lemma).

u x ∈ L u v x ∈ L u v v x ∈ L u v v v x ∈ L · · ·

Zu jeder regularen Sprache L existiert eine Zahl n ∈ N, so dass jedesWort w ∈ L mit |w | > n zerlegt werden kann in w = u v xmit |u v | ≤ n, v 6= ε, so dass auch u v i x ∈ L fur alle i = 0, 1, . . ..

20