Teil I: Formale Grundlagen der Informatik I Endliche Automaten und

Werbung
Inhalt
0 Einführung
Teil I: Formale Grundlagen der Informatik I
– Transitionssysteme – Wörter über endlichen Alphabeten –
– informelle Beispiele
Endliche Automaten und formale Sprachen
1 Mengen, Relationen, Funktionen, . . .
Teil II: Formale Grundlagen der Informatik II
– mathematische Grundbegriffe – elementare Mengen-Operationen
– algebraische Strukturen und Homomorphismen –
Logik in der Informatik
Martin Ziegler
– elementare Beweismethoden – Beweise mittels Induktion –
– Beispiele
Sommer 2011
Professor für Angewandte Logik
TU Darmstadt, Fachbereich Mathematik
(Folien wesentlich basierend auf Prof. M Otto)
FGdI I
Sommer 2011
M.Otto und M.Ziegler
Inhalt: FGdI I
Literatur
2 Endliche Automaten – Reguläre Sprachen
J. Hopcroft, R. Motwani, and J. Ullman:
Introduction to Automata Theory, Languages, and Computation,
Addison-Wesley, 2nd ed., 2001.
(inzwischen auch in deutscher Ausgabe)
–
–
–
–
Automaten, Wörter, Sprachen – reguläre Sprachen –
endliche Automaten als rudimentäres Berechnungsmodell –
deterministische und nicht-deterministische Automaten
Automatentheorie – Satz von Kleene – Satz von Myhill-Nerode
U. Schöning:
Theoretische Informatik – kurzgefasst,
Spektrum, 4. Aufl., 2001.
3 Grammatiken und die Chomsky-Hierarchie
– Grammatiken und Normalformen
– Stufen der Chomsky-Hierarchie
– kontextfreie/kontextsensitive Sprachen
I. Wegener:
Theoretische Informatik – eine algorithmenorientierte Einführung,
Teubner, 1999.
4 Berechnungsmodelle
H.R. Lewis and C.H. Papadimitriou:
Elements of the Theory of Computation,
Prentice Hall, 2nd ed., 1998.
– endliche Automaten, Kellerautomaten, Turingmaschinen –
– Turingmaschinen als universelles Berechnungsmodell –
– Aufzählbarkeit, Entscheidbarkeit, Grenzen der Berechenbarkeit
FGdI I
Sommer 2011
M.Otto und M.Ziegler
2/138
3/138
FGdI I
Sommer 2011
M.Otto und M.Ziegler
4/138
Kap. 0: Einführung
Transitionssysteme: Beispiel
Beispiel 0.0.1
Weckzeit-Kontrolle eines Weckers

 h ∈ H = {0, . . . , 23}
m ∈ M = {0, . . . , 59}
Zustände: (h, m, q)

q ∈ {NIL, SETH, SETM}
Kapitel 0: Einführung und Beispiele
Aktionen/Operationen: set, +
Typische Transitionen z.B.:
(h, m, NIL)
(h, m, NIL)
(h, m, SETH)
(h, m, SETH)
(h, m, SETM)
(h, m, SETM)
FGdI I
Kap. 0: Einführung
+
−→
set
−→
+
−→
set
−→
+
−→
set
−→
(h, m, NIL)
(da nicht in Setzen Modus)
(h, m, SETH)
(in den H-Setzen Modus)
((h + 1)mod 24, m, SETH)
(H vorstellen)
(h, m, SETM)
(weiter in den M-Setzen Modus)
(h, (m + 1)mod 60, SETM)
(M vorstellen)
(h, m, NIL)
(Ende Setzen Modus)
Sommer 2011
M.Otto und M.Ziegler
6/138
Kap. 0: Einführung
Transitionssysteme: Beispiel
Beispiel 0.0.2
Mann/Wolf/Hase/Kohl
das vollständige
Transitionssystem auf
den erlaubten Zuständen
Mann/Wolf/Hase/Kohl
Zustände:
Verteilungen von {m, w , h, k} rechts/links
symbolisiert durch Objekte [m, w , h, kk ], . . . , [m, w kh, k], . . .
/ [w , hkm, k]
2
/ [w , h, kkm]
h
[w , kkm, h]
I
2
[m, w , kkh]
{
;
w
c
k
h
I
h
h
[m, h, kkw ] i
I
h
5 [m, w , hkk]
k
)
w
[hkm, w , k]
I
2
m transportiert k
#
[w km, h, k]
[kkm, w , h]
Transitionen: Änderung der Verteilung durch Bootsfahrten, z.B.
k
I
h
2
“erlaubte” Zustände:
rechte und linke Seiten 6= [w , h], [h, k], [w , h, k]
[m, w , h, kk ]
[m, w , h, kk ]
u
2
[m, hkw , k]
[m, w , h, kk ]
h
m fährt ohne Passagier
I
h
[ km, w , h, k]
FGdI I
Sommer 2011
M.Otto und M.Ziegler
7/138
FGdI I
Sommer 2011
M.Otto und M.Ziegler
8/138
Kap. 0: Einführung
[m, w, h, kk ][m, w, h, kk ]
START
I
h
Alphabete/Wörter/Sprachen
h
[w , kkm, h]
2
I
Alphabet: nicht-leere, endliche Menge Σ;
a ∈ Σ: Buchstabe/Zeichen/Symbol
2
[m, w , kkh]
f
8
w
x
k
I
&
Σ-Wort: endliche Sequenz von Buchstaben aus Σ,
w = a1 . . . an mit ai ∈ Σ
[w km, h, k]
[kkm, w , h]
h
I
h
h
[m, h, kkw ] k
h
Menge aller Σ-Wörter: Σ∗
3 [m, w , hkk]
k
+
[hkm, w , k]
2
I
s
w
leeres Σ-Wort: ε ∈ Σ∗
2
Σ-Sprache: Teilmenge L ⊆ Σ∗ , eine Menge von Σ-Wörtern
[m, hkw , k]
I
h
Definition 0.0.3
h
[ km, w, h, k][ km, w, h, k]
Ziel
Konkatenation von Wörtern und von Sprachen
FGdI I
Sommer 2011
M.Otto und M.Ziegler
10/138
Kap. 0: Einführung
Beispiel
Übung 0.0.4
Σ Alphabet, a ∈ Σ.
Aufgabe: finde ein möglichst einfaches System, das auf einen
(online fortlaufenden) Strom von Signalen aus Σ zu jedem
Zeitpunkt die Information bereithält, ob die Anzahl der bisher
eingetroffenen a durch 3 teilbar ist.
• L3 =
∗
Σ0∗ ◦ {a} ◦ Σ0∗ ◦ {a} ◦ Σ0∗ ◦ {a} ◦ Σ0∗ ,
Kapitel 1: Mathematische Grundbegriffe
Mengen, Relationen, Funktionen, Strukturen, . . .
elementare Beweistechniken
Σ0 := Σ \ {a}
• a-Zähler mit Teilbarkeitstest?
• Reichen endlich viele Zustände?
Wieviele mindestens?
• Wie verhält sich die Sprache L3 unter Konkatenation?
FGdI I
Sommer 2011
M.Otto und M.Ziegler
11/138
Kap 1: Grundbegriffe
Mengen
1.1.1
Kap 1: Grundbegriffe
Georg Cantor
(1845–1918)
Eine Menge ist eine Zusammenfassung von
bestimmten, wohlunterschiedenen Objekten
unserer Anschauung oder unseres Denkens,
welche Elemente der Menge genannt werden, zu einem Ganzen
Mengen
1.1.1
Mengenbegriff (Cantor)
• unstrukturierte Sammlung von Objekten (Elementen);
z.B. A = {a, b, c} = {b, a, a, c}
• die Gesamtheit ihrer Elemente legt die Menge fest
(Extensionalität)
• über naiv aufzählende Spezifikation und
die einfachsten Operationen hinausgehende Prinzipien
(v.a. für die Existenz unendlicher Mengen)
−→ axiomatische Mengenlehre
(Zermelo, Fraenkel, ZFC)
Beispiele/Standardmengen
∅={}
die leere Menge
B = {0, 1}
Menge der Booleschen (Wahrheits)werte
N = {0, 1, 2, . . .}
Menge der natürlichen Zahlen (mit 0)
Z/Q/R
Mengen der ganzen/rationalen/reellen Zahlen
FGdI I
Sommer 2011
Kap 1: Grundbegriffe
M.Otto und M.Ziegler
Mengen
13/138
1.1.1
Mengen/Mengenoperationen
Kap 1: Grundbegriffe
→ Abschnitt 1.1.1
Mengen A, B, . . .
Elementbeziehung: a ∈ A
M.Otto und M.Ziegler
Mengen
14/138
1.1.1
Boolesche Mengenoperationen
bzw. a 6∈ A für “nicht a ∈ A”
A, B disjunkt gdw A ∩ B = ∅
Vereinigung: A ∪ B = {c : c ∈ A oder c ∈ B}
Mengendifferenz: A \ B = {a ∈ A : a 6∈ B}
z.B. ∅ ⊆ {0, 1} ⊆ N ⊆ Z
Komplement:
für Teilmengen einer festen Menge M, d.h. in P(M):
Potenzmenge: P(A) = {B : B ⊆ A}
die Menge aller Teilmengen von A
B := M \ B
Mengengleichheit: A = B gdw (A ⊆ B und B ⊆ A)
[genau dieselben Elemente]
Extensionalität
M.Otto und M.Ziegler
[Komplement bzgl. M]
Kommutativgesetze A ∪ B = B ∪ A, A ∩ B = B ∩ A
Assoziativgesetze (A ∪ B) ∪ C = A ∪ (B ∪ C )
und (A ∩ B) ∩ C = A ∩ (B ∩ C )
Distributivgesetze (A ∪ B) ∩ C = (A ∩ C ) ∪ (B ∩ C )
und (A ∩ B) ∪ C = (A ∪ C ) ∩ (B ∪ C )
Definition von Teilmengen: B := {a ∈ A : p(a)}
für eine Eigenschaft p
Sommer 2011
Sommer 2011
Durchschnitt: A ∩ B = {c : c ∈ A und c ∈ B}
Teilmengenbeziehung (Inklusion): B ⊆ A
FGdI I
FGdI I
15/138
FGdI I
Sommer 2011
M.Otto und M.Ziegler
16/138
Kap 1: Grundbegriffe
Mengen
1.1.1
Kap 1: Grundbegriffe
Mengen
1.1.1
Boolesche Mengenoperationen, Bemerkungen
Tupel und Mengenprodukte
große Vereinigungen/Durchschnitte über beliebige
Familien von Mengen (Ai )i∈I :
geordnete Paare: (a, b) mit erster Komponente a,
zweiter Komponente b
•
S
•
T
n-Tupel: (a1 , . . . , an ) mit n Komponenten
A
=
a
:
a
∈
A
für
mindestens
ein
i
∈
I
i
i
i∈I
i∈I
Kreuzprodukt (kartesisches Produkt):
Ai = a : a ∈ Ai für alle i ∈ I
Beispiele:
Σ∗
=
Σ+
=
S
A × B = {(a, b) : a ∈ A, b ∈ B}
A1 × A2 × · · · × An = (a1 , . . . , an ) : ai ∈ Ai für 1 6 i 6 n
Σn
n∈N
Σ∗ \ {ε}
(n ∈ N, n > 2)
= {w ∈ Σ∗ : |w | > 1} =
S
n>1 Σ
n
An = A
| ×A×
{z· · · × A}
Menge aller n-Tupel über A.
n mal
Beispiel (reelle Intervalle):
FGdI I
Sommer 2011
Kap 1: Grundbegriffe
S
n∈N
T
m∈N [n
− 1/m, n + 1/m] = ?
Bemerkung:
wir identifizieren n-Tupel über Σ mit Σ-Wörtern der Länge n
und Wörter der Länge 1 mit Buchstaben, Σ1 = Σ.
M.Otto und M.Ziegler
Relationen
17/138
1.1.2
→ Abschnitt 1.1.2
R ⊆ An
Menge von n-Tupeln über A
Beispiele: Kantenrelation eines Graphen, Präfixrelation auf
Ordnungsrelationen, Äquivalenzrelationen, . . .
beschreibt E -Kante
u
E
Σ∗ ,
M.Otto und M.Ziegler
1.1.2
Äquivalenzrelationen
Reflexivität:
für alle a ∈ A gilt: aRa.
Symmetrie:
für alle a, b ∈ A gilt: aRb ⇔ bRa.
Transitivität:
für alle a, b, c ∈ A gilt: (aRb und bRc) ⇒ aRc.
/ v
Äquivalenzrelation R ⊆ A2 :
reflexiv, symmetrisch und transitiv
Beispiele: Gleichheit (über A), Längengleichheit über Σ∗ ,
gleicher Rest bei Division durch n über N oder Z, . . .
Idee: Äquivalenzrelationen als verallgemeinerte Gleichheiten
oft auch infixe Notation: aRb statt (a, b) ∈ R
Sommer 2011
Relationen
18/138
z.B. Präfixrelation: reflexiv und transitiv, nicht symmetrisch
Präfixrelation auf Σ∗ :
u 4 v gdw. u Anfangsabschnitt (Präfix) von v
4 = (u, uw ) : u, w ∈ Σ∗ ⊆ Σ∗ × Σ∗
FGdI I
M.Otto und M.Ziegler
wichtige potentielle Eigenschaften für 2-stelliges R ⊆ A2 :
Kantenrelationen in Graph/Transitionssystem:
(u, v ) ∈ E
Sommer 2011
Kap 1: Grundbegriffe
Relationen über einer Menge A
n-stellige Relation:
FGdI I
19/138
FGdI I
Sommer 2011
M.Otto und M.Ziegler
20/138
Kap 1: Grundbegriffe
Relationen
1.1.2
Kap 1: Grundbegriffe
Äquivalenzklassen:
[a]R := b ∈ A : aRb
Quotient A/R : die Menge aller Äquivalenzklassen von R,
A/R := [a]R : a ∈ A
die Äquivalenzklasse von a
die natürliche Projektion
wichtig: A wird durch die Äquivalenzklassen in
disjunkte Teilmengen zerlegt (Lemma 1.1.8), sodass
(( "
(( ""
(( ""
(( """
( "
◦ ◦ ◦,, b
◦
,, &&&
,, &
,, &&&
,,&&
• [a]
A/R
FGdI I
◦
c
◦
• [b]
Sommer 2011
Kap 1: Grundbegriffe
A
• [c]
A/R
M.Otto und M.Ziegler
Funktionen
21/138
1.1.3
Funktionen und Operationen
Funktion f von A nach B:
B
• YYYYYYYY~}|
~}|
xyz{
xyz{
Y
YYYY, f (a)
A
•
FGdI I
Kap 1: Grundbegriffe
→ Abschnitt 1.1.3
a◦ 0
(( ◦a
( "
(( ""
(( ""
(( ""
(( ""
(( ""
◦
◦ b ◦
,,, ◦&
,, &&
,, &&
,, && ,, && , & ◦
◦
•
[a]
Sommer 2011
•
[b]
c
◦
•
[c]
M.Otto und M.Ziegler
Funktionen
22/138
1.1.3
Funktionen, Operationen, Beispiele
n-stellige Funktion auf A: Funktion f : An → B.
f : A −→ B
a 7−→ f (a)
n-stellige Operation auf A: Funktion f : An → A.
a
f (a) ist das Bild von a unter f ;
a ein Urbild von b = f (a).
Beispiele: Addition, Multiplikation auf N, Z, . . .
Beispiel Konkatenation auf Σ∗ :
· : Σ∗ × Σ∗ −→ Σ∗
(u, v ) 7−→ u · v (= uv ).
wesentlich: eindeutig definierter Funktionswert f (a) ∈ B
für jedes a ∈ A
A: Definitionsbereich
B:
πR : A −→ A/R a 7−→ [a]R = b ∈ A : aRb
ordnet jedem Element seine Äquivalenzklasse zu
aRb gdw [a]R = [b]R
A
1.1.2
Äquivalenzrelationen: Quotient, natürliche Projektion
für Äquivalenzrelation R ⊆ A2 auf A, a ∈ A:
a
◦( a0 ◦
( ◦"
Relationen
Für u = a1 . . . an ; v = b1 . . . bm
ist uv := a1 . . . an b1 . . . bm
| {z } | {z }
u
v
Zielbereich
f (a) Bild von a unter f .
f [A] := {f (a) : a ∈ A} ⊆ B Bild(menge) von f .
FGdI I
Sommer 2011
M.Otto und M.Ziegler
23/138
FGdI I
Sommer 2011
M.Otto und M.Ziegler
24/138
Herunterladen