Einführung in die Theoretische Informatik

Werbung
Einführung in die Theoretische Informatik
Christina Kohl
Alexander Maringele
Georg Moser
Michael Schaper
Institut für Informatik @ UIBK
Wintersemester 2016
Zusammenfassung
Zusammenfassung der letzten LVA
Lemma
Jede binäre Operation hat maximal ein neutrales Element und wenn
A = hA; ◦, 1i ein Monoid ist, dann ist das Inverse eindeutig
Definition (Boolesche Algebra)
Eine Algebra B = hB; +, ·, ∼, 0, 1i heißt Boolesche Algebra wenn gilt:
1
hB; +, 0i und hB; ·, 1i sind kommutative Monoide
2
Die Operationen + und · distribuieren übereinander. Es gilt also für
alle a, b, c ∈ B:
a · (b + c) = (a · b) + (a · c)
3
Für alle a ∈ B gilt
a + ∼(a) = 1
a + (b · c) = (a + b) · (a + c)
a · ∼(a) = 0
Das Element ∼(a) heißt das Komplement oder die Negation von a
GM (IFI)
Einführung in die Theoretische Informatik
65/1
Übersicht
Inhalte der Lehrveranstaltung
Einführung in die Logik
Syntax & Semantik der Aussagenlogik, Formales Beweisen, Konjunktive
und Disjunktive Normalformen
Einführung in die Algebra
Boolesche Algebra, Logische Schaltkreise, Universelle Algebra
Einführung in die Theorie der Formalen Sprachen
Grammatiken und Formale Sprachen, Reguläre Sprachen, Kontextfreie
Sprachen
Einführung in die Berechenbarkeitstheorie
Algorithmisch unlösbare Probleme, Turing Maschinen, Registermaschinen
Einführung in die Programmverifikation
Prinzipien der Analyse von Programmen, Verifikation nach Hoare
GM (IFI)
Einführung in die Theoretische Informatik
66/1
Übersicht
Inhalte der Lehrveranstaltung
Einführung in die Logik
Syntax & Semantik der Aussagenlogik, Formales Beweisen, Konjunktive
und Disjunktive Normalformen
Einführung in die Algebra
Boolesche Algebra, Logische Schaltkreise, Universelle Algebra
Einführung in die Theorie der Formalen Sprachen
Grammatiken und Formale Sprachen, Reguläre Sprachen, Kontextfreie
Sprachen
Einführung in die Berechenbarkeitstheorie
Algorithmisch unlösbare Probleme, Turing Maschinen, Registermaschinen
Einführung in die Programmverifikation
Prinzipien der Analyse von Programmen, Verifikation nach Hoare
GM (IFI)
Einführung in die Theoretische Informatik
66/1
Beispiele Boolescher Algebren
Beispiele Boolescher Algebren
Definition
Sei B := {0, 1} und sei Bn das n-fache kartesische Produkt von B:
Bn = {(a1 , . . . , an ) | ai ∈ B}; wir betrachten
hBn ; +, ·, ∼, (0, . . . , 0), (1, . . . , 1)i
1
(a1 , . . . , an ) + (b1 , . . . , bn ) = (a1 + b1 , . . . , an + bn )
2
(a1 , . . . , an ) · (b1 , . . . , bn ) = (a1 · b1 , . . . , an · bn )
3
∼((a1 , . . . , an )) = (∼(a1 ), . . . , ∼(an ))
GM (IFI)
Einführung in die Theoretische Informatik
67/1
Beispiele Boolescher Algebren
Beispiele Boolescher Algebren
Definition
Sei B := {0, 1} und sei Bn das n-fache kartesische Produkt von B:
Bn = {(a1 , . . . , an ) | ai ∈ B}; wir betrachten
hBn ; +, ·, ∼, (0, . . . , 0), (1, . . . , 1)i
1
(a1 , . . . , an ) + (b1 , . . . , bn ) = (a1 + b1 , . . . , an + bn )
2
(a1 , . . . , an ) · (b1 , . . . , bn ) = (a1 · b1 , . . . , an · bn )
3
∼((a1 , . . . , an )) = (∼(a1 ), . . . , ∼(an ))
Lemma
Die oben definierte Algebra ist eine Boolesche Algebra
GM (IFI)
Einführung in die Theoretische Informatik
67/1
Beispiele Boolescher Algebren
Algebra der Booleschen Funktionen
Definition
Sei Abb die Menge der Abbildungen von Bn nach Bm wir betrachten
hAbb; +, ·, ∼, (0, . . . , 0), (1, . . . , 1)i
1
(0, . . . , 0) : (a1 , . . . , an ) 7→ (0, . . . , 0)
2
(1, . . . , 1) : (a1 , . . . , an ) 7→ (1, . . . , 1)
3
(f + g )(a1 , . . . , an ) = f (a1 , . . . , an ) + g (a1 , . . . , an )
4
(f · g )(a1 , . . . , an ) = f (a1 , . . . , an ) · g (a1 , . . . , an )
5
∼(f )(a1 , . . . , an ) = ∼(f (a1 , . . . , an ))
Diese Algebra nennt man Algebra der n-stelligen Booleschen Funktionen
GM (IFI)
Einführung in die Theoretische Informatik
68/1
Beispiele Boolescher Algebren
Algebra der Booleschen Funktionen
Definition
Sei Abb die Menge der Abbildungen von Bn nach Bm wir betrachten
hAbb; +, ·, ∼, (0, . . . , 0), (1, . . . , 1)i
1
(0, . . . , 0) : (a1 , . . . , an ) 7→ (0, . . . , 0)
2
(1, . . . , 1) : (a1 , . . . , an ) 7→ (1, . . . , 1)
3
(f + g )(a1 , . . . , an ) = f (a1 , . . . , an ) + g (a1 , . . . , an )
4
(f · g )(a1 , . . . , an ) = f (a1 , . . . , an ) · g (a1 , . . . , an )
5
∼(f )(a1 , . . . , an ) = ∼(f (a1 , . . . , an ))
Diese Algebra nennt man Algebra der n-stelligen Booleschen Funktionen
Lemma
Die Algebra der Booleschen Funktionen ist eine Boolesche Algebra
GM (IFI)
Einführung in die Theoretische Informatik
68/1
Beispiele Boolescher Algebren
Gesetze Boolescher Algebren
Lemma (Dualitätsprinzip)
1
Sei B = hB; +.·, ∼, 0, 1i eine Boolesche Algebra
2
Gelte die Gleichheit E für B
Dann gilt eine entsprechende Gleichheit E 0 bei der alle Vorkommnisse
von + durch · (und umgekehrt) ersetzt werden sowie 0 und 1 vertauscht
GM (IFI)
Einführung in die Theoretische Informatik
69/1
Beispiele Boolescher Algebren
Gesetze Boolescher Algebren
Lemma (Dualitätsprinzip)
1
Sei B = hB; +.·, ∼, 0, 1i eine Boolesche Algebra
2
Gelte die Gleichheit E für B
Dann gilt eine entsprechende Gleichheit E 0 bei der alle Vorkommnisse
von + durch · (und umgekehrt) ersetzt werden sowie 0 und 1 vertauscht
In der Folge sei B = hB; +.·, ∼, 0, 1i eine Boolsche Algebra
GM (IFI)
Einführung in die Theoretische Informatik
69/1
Beispiele Boolescher Algebren
Gesetze Boolescher Algebren
Lemma (Dualitätsprinzip)
1
Sei B = hB; +.·, ∼, 0, 1i eine Boolesche Algebra
2
Gelte die Gleichheit E für B
Dann gilt eine entsprechende Gleichheit E 0 bei der alle Vorkommnisse
von + durch · (und umgekehrt) ersetzt werden sowie 0 und 1 vertauscht
In der Folge sei B = hB; +.·, ∼, 0, 1i eine Boolsche Algebra
Lemma
Für alle a ∈ B gelten die Idempotenzgesetze:
a·a=a
a+a=a
und die folgenden Gesetze für 0 und 1:
0·a=0
GM (IFI)
1+a=1
Einführung in die Theoretische Informatik
69/1
Beispiele Boolescher Algebren
Lemma
Für alle a, b ∈ B gelten die Absorptionsgesetze:
a + ab = a
a + ∼(a) · b = a + b
GM (IFI)
a(a + b) = a
a(∼(a) + b) = ab
Einführung in die Theoretische Informatik
70/1
Beispiele Boolescher Algebren
Lemma
Für alle a, b ∈ B gelten die Absorptionsgesetze:
a + ab = a
a + ∼(a) · b = a + b
a(a + b) = a
a(∼(a) + b) = ab
Lemma À
Für alle a, b ∈ B gilt die Eindeutigkeit des Komplements:
Wenn a + b = 1 und ab = 0, dann b = ∼(a)
GM (IFI)
Einführung in die Theoretische Informatik
70/1
Beispiele Boolescher Algebren
Lemma
Für alle a, b ∈ B gelten die Absorptionsgesetze:
a + ab = a
a + ∼(a) · b = a + b
a(a + b) = a
a(∼(a) + b) = ab
Lemma À
Für alle a, b ∈ B gilt die Eindeutigkeit des Komplements:
Wenn a + b = 1 und ab = 0, dann b = ∼(a)
Beweis.
Gelte a + b = 1 und ab = 0
b = b1 = b(a + ∼(a)) = ba + b · ∼(a) = 0 + b · ∼(a) da ab = 0
= a · ∼(a) + b · ∼(a) = (a + b) · ∼(a) = 1 · ∼(a)
da a + b = 1
= ∼(a)
GM (IFI)
Einführung in die Theoretische Informatik
70/1
Beispiele Boolescher Algebren
Lemma
Für alle a ∈ B gilt das Involutionsgesetz:
∼(∼(a)) = a
GM (IFI)
Einführung in die Theoretische Informatik
71/1
Beispiele Boolescher Algebren
Lemma
Für alle a ∈ B gilt das Involutionsgesetz:
∼(∼(a)) = a
Beweis.
Nach Definition einer Booleschen Algebra und Kommutativität von +
beziehungsweise · gilt:
1
∼(a) + a = 1
2
∼(a) · a = 0
Mit Lemma À folgt, dass a das Komplement von ∼(a) ist
GM (IFI)
Einführung in die Theoretische Informatik
71/1
Beispiele Boolescher Algebren
Lemma
Für alle a ∈ B gilt das Involutionsgesetz:
∼(∼(a)) = a
Beweis.
Nach Definition einer Booleschen Algebra und Kommutativität von +
beziehungsweise · gilt:
1
∼(a) + a = 1
2
∼(a) · a = 0
Mit Lemma À folgt, dass a das Komplement von ∼(a) ist
Lemma
Für alle a, b ∈ B gelten die Gesetze von de Morgan:
∼(a + b) = ∼(a) · ∼(b)
GM (IFI)
∼(a · b) = ∼(a) + ∼(b)
Einführung in die Theoretische Informatik
71/1
Beispiele Boolescher Algebren
Erstes Gesetz von de Morgan.
• Wir zeigen (a + b) + ∼(a) · ∼(b) = 1:
(a + b) + ∼(a) · ∼(b) = (a + b + ∼(a))(a + b + ∼(b))
= (a + ∼(a) + b)(a + b + ∼(b))
= (1 + b)(a + 1)
=1·1=1
GM (IFI)
Einführung in die Theoretische Informatik
72/1
Beispiele Boolescher Algebren
Erstes Gesetz von de Morgan.
• Wir zeigen (a + b) + ∼(a) · ∼(b) = 1:
(a + b) + ∼(a) · ∼(b) = (a + b + ∼(a))(a + b + ∼(b))
= (a + ∼(a) + b)(a + b + ∼(b))
= (1 + b)(a + 1)
=1·1=1
• Wir zeigen (a + b) · ∼(a) · ∼(b) = 0:
(a + b) · ∼(a) · ∼(b) = a · ∼(a) · ∼(b) + b · ∼(a) · ∼(b)
= a · ∼(a) · ∼(b) + ∼(a) · b · ∼(b)
= 0 · ∼(b) + ∼(a) · 0
=0+0=0
GM (IFI)
Einführung in die Theoretische Informatik
72/1
Beispiele Boolescher Algebren
Erstes Gesetz von de Morgan.
• Wir zeigen (a + b) + ∼(a) · ∼(b) = 1:
(a + b) + ∼(a) · ∼(b) = (a + b + ∼(a))(a + b + ∼(b))
= (a + ∼(a) + b)(a + b + ∼(b))
= (1 + b)(a + 1)
=1·1=1
• Wir zeigen (a + b) · ∼(a) · ∼(b) = 0:
(a + b) · ∼(a) · ∼(b) = a · ∼(a) · ∼(b) + b · ∼(a) · ∼(b)
= a · ∼(a) · ∼(b) + ∼(a) · b · ∼(b)
= 0 · ∼(b) + ∼(a) · 0
=0+0=0
• Die Voraussetzungen von Lemma À sind gezeigt
GM (IFI)
Einführung in die Theoretische Informatik
72/1
Beispiele Boolescher Algebren
Erstes Gesetz von de Morgan.
• Wir zeigen (a + b) + ∼(a) · ∼(b) = 1:
(a + b) + ∼(a) · ∼(b) = (a + b + ∼(a))(a + b + ∼(b))
= (a + ∼(a) + b)(a + b + ∼(b))
= (1 + b)(a + 1)
=1·1=1
• Wir zeigen (a + b) · ∼(a) · ∼(b) = 0:
(a + b) · ∼(a) · ∼(b) = a · ∼(a) · ∼(b) + b · ∼(a) · ∼(b)
= a · ∼(a) · ∼(b) + ∼(a) · b · ∼(b)
= 0 · ∼(b) + ∼(a) · 0
=0+0=0
• Die Voraussetzungen von Lemma À sind gezeigt
• Somit ist ∼(a) · ∼(b) das Komplement von a + b
GM (IFI)
Einführung in die Theoretische Informatik
72/1
Beispiele Boolescher Algebren
Sei B = {0, 1} und sei Bn das n-fache kartesische Produkt von B
GM (IFI)
Einführung in die Theoretische Informatik
73/1
Beispiele Boolescher Algebren
Sei B = {0, 1} und sei Bn das n-fache kartesische Produkt von B
Definition (Boolesche Funktion)
1
Sei F ein Boolescher Ausdruck in den Variablen x1 , . . . , xn
2
F (s1 , . . . , sn ) die Instanz von F
3
Wir definieren die Funktion f : Bn → B wie folgt:
f (s1 , . . . , sn ) := F (s1 , . . . , sn ) .
Dann heißt f die Boolesche Funktion zum Ausdruck F
GM (IFI)
Einführung in die Theoretische Informatik
73/1
Beispiele Boolescher Algebren
Sei B = {0, 1} und sei Bn das n-fache kartesische Produkt von B
Definition (Boolesche Funktion)
1
Sei F ein Boolescher Ausdruck in den Variablen x1 , . . . , xn
2
F (s1 , . . . , sn ) die Instanz von F
3
Wir definieren die Funktion f : Bn → B wie folgt:
f (s1 , . . . , sn ) := F (s1 , . . . , sn ) .
Dann heißt f die Boolesche Funktion zum Ausdruck F
Beispiel (Boolsche Algebra Frm = hFrm; ∨, ∧, ¬, False, Truei)
Sei F = x1 ∧ ¬(x2 ∨ x1 ), dann ist
f : B2 → Bin die Boolsche Funktion
zu F
Sei G = x1 ∧x2 ∧¬x2 , dann ist g : B2 →
Bin die Boolsche Funktion zu G
GM (IFI)
s1 s2 f (s1 , s2 ) g (s1 , s2 )
0 0
0
0
0 1
0
0
1 0
0
0
1 1
0
0
Einführung in die Theoretische Informatik
73/1
Beispiele Boolescher Algebren
Definition
1
Sei f : Bn → B eine Boolesche Funktion
2
Sei F ein Boolescher Ausdruck, dessen Boolesche Funktion gleich f
Dann nennen wir F den Booleschen Ausdruck von f
GM (IFI)
Einführung in die Theoretische Informatik
74/1
Beispiele Boolescher Algebren
Definition
1
Sei f : Bn → B eine Boolesche Funktion
2
Sei F ein Boolescher Ausdruck, dessen Boolesche Funktion gleich f
Dann nennen wir F den Booleschen Ausdruck von f
Satz (Darstellungssatz von Stone)
Jede Boolesche Algebra ist isomorph zu einer Mengenalgebra
GM (IFI)
Einführung in die Theoretische Informatik
74/1
Beispiele Boolescher Algebren
Definition
1
Sei f : Bn → B eine Boolesche Funktion
2
Sei F ein Boolescher Ausdruck, dessen Boolesche Funktion gleich f
Dann nennen wir F den Booleschen Ausdruck von f
Satz (Darstellungssatz von Stone)
Jede Boolesche Algebra ist isomorph zu einer Mengenalgebra
Satz
1
Seien A, B Boolesche Ausdrücke
2
Seien f , g ihre Booleschen Funktionen
Dann gilt A ≈ B gdw. f = g in der Algebra der Booleschen Funktionen
GM (IFI)
Einführung in die Theoretische Informatik
74/1
Herunterladen