Formale Grundlagen von Schaltnetzen L5
1
L 5: Boolesche Algebra: Einführung und Motivation
Boolesche Algebra hat viele Anwendungsbereiche in der Informatik
Einführung in mehreren Vorlesungen aber mit unterschiedlichen Darstellungsformen und Zielen
Hier: Darstellungsform: Terme
Ziel: Analyse und Synthese von Schaltnetzen
Formale Grundlagen von Schaltnetzen L5
2
L 5: Syntax und Semantik
Beispiel: Autofernlicht nur an, wenn Zündung und Lichtschalter an!
Zeichenkette nur Syntax:
Menge der zulässigen Namen: D
Lichtschalter, Zündung D
Lichtschalter Zündung
Menge der zulässigen Funktionszeichen
, ,
Menge der zulässigen Konstanten {true, false}
Formale Grundlagen von Schaltnetzen L5
3
L 5: Syntax und Semantik
Lichtschalter Zündung
Erlaubt im Prinzip unterschiedliche Interpretationen
Zunächst Boolesche Algebra der Wahrheitswerte: Einer Schalterstellung
kann ein Wert aus B O, L zugewiesen werden
Belegung : D B
Lichtschalter O
Licht aus
Lichtschalter L
Licht an
Formale Grundlagen von Schaltnetzen L5
4
L 5: Syntax und Semantik
Problem: Die Darstellung wird leicht unübersichtlich!
Lösung: Wir geben Namen einen anderen Namen
Beispiel:
Zündung def Z
Fernlichtschalter def FS
mit Z, FS B
Formale Grundlagen von Schaltnetzen L5
5
L 5-1: Termdarstellung
Hoffnung:
Kompaktere und verständlichere Darstellung Boolescher Funktionen als
durch Wertetabelle
Formale Grundlagen von Schaltnetzen L5
6
L 5-2: Implementierung (=Interpretation) von Termelementen
Menge der Termelemente: D ttrue, false, , ,
Elemente der Booleschen Algebra der Wahrheitswerte O, L, AND, OR, NOT
I: D ttrue, false, , , O, L, AND, OR, NOT
Termelement: Konstante
Interpretation I
true
I true L
false
I false O
Formale Grundlagen von Schaltnetzen L5
7
L 5-3: Implementierung (=Interpretation) von Termelementen
Menge der Termelemente: D ttrue, false, , ,
Elemente der Booleschen Algebra der Wahrheitswerte O, L, AND, OR, NOT
I: D ttrue, false, , , O, L, AND, OR, NOT
Termelement: Operation
Interpretation I
I OR
I NOT
I AND
Formale Grundlagen von Schaltnetzen L5
8
L 5-3: Implementierung (=Interpretation) von Termelementen
Beispiel:
true false AND(L, O) = O
Termelement: Operation
Interpretation I
I OR
I NOT
I AND
Formale Grundlagen von Schaltnetzen L5
9
L 5-4: Implementierung (=Interpretation) von Termelementen
D Zündung, Fernlichtschalter
Beispiel für Namensmenge:
Mit der Abbildung:
Zündung def Z
Fernlichtschalter def FS
mit Z, FS B
Interpretation I mit der Abbildung führt zu:
I Zündung Fernlichtschalter AND Zündung , Fernlichtschalter
AND Z,FS
Formale Grundlagen von Schaltnetzen L5
10
L 5-5: Was sind gültige Boolesche Terme?
Definition: Boolescher Term
Sei
D = {xn, xn-1, ……, x1} endliche Menge von freien Namen
Die Menge der Booleschen Terme definiert sich induktiv als die kleinste
Menge, die folgende Eigenschaften erfüllt:
(1) true und false sind Boolesche Terme
Wir definieren auch einfacher O und L sind Boolesche Terme
Formale Grundlagen von Schaltnetzen L5
11
L 5-5: Was sind gültige Boolesche Terme?
Definition: Boolescher Term
Sei
D = {xn, xn-1, ……, x1} endliche Menge von freien Namen
Die Menge der Booleschen Terme definiert sich induktiv als die kleinste
Menge, die folgende Eigenschaften erfüllt:
(1) true und false sind Boolesche Terme
(2) alle Namen aus D sind Boolesche Terme
Formale Grundlagen von Schaltnetzen L5
12
L 5-5: Was sind gültige Boolesche Terme?
Definition: Boolescher Term
Sei
D = {xn, xn-1, ……, x1} endliche Menge von freien Namen
Die Menge der Booleschen Terme definiert sich induktiv als die kleinste
Menge, die folgende Eigenschaften erfüllt:
(1) true und false sind Boolesche Terme
(2) alle Namen aus D sind Boolesche Terme
(3) ist term ein Boolescher Term, dann ist auch (term) ein Boolescher
Term
Formale Grundlagen von Schaltnetzen L5
13
L 5-5: Was sind gültige Boolesche Terme?
Definition: Boolescher Term
Sei
D = {xn, xn-1, ……, x1} endliche Menge von freien Namen
Die Menge der Booleschen Terme definiert sich induktiv als die kleinste
Menge, die folgende Eigenschaften erfüllt:
(1) true und false sind Boolesche Terme
(2) alle Namen aus D sind Boolesche Terme
(3) ist term ein Boolescher Term, dann ist auch (term) ein Boolescher
Term
(4) sind term1 und term2 Boolesche Terme, dann sind (term1 term2)
sowie (term1 term2) ebenfalls Boolesche Terme.
Formale Grundlagen von Schaltnetzen L5
14
L 5-6: Darstellung der Regelanwendungen in einem
"Ausdrucksbaum"
Baum: spezieller Graph aus Knoten und Kanten
oben liegender Wurzelknoten
Verzweigung durch Kanten und Knotenabschluss
Ende: Blattknoten
Beispiel:
D= x, y, z, w
Ist term x y x z ein Boolescher Term?
Formale Grundlagen von Schaltnetzen L5
15
L 5-7: Ausdrucksbaum
term x y x z
term1
Wurzelknoten
term2
term1 x y
term2 x z
term
21
Verzweigung
term ist Boolescher Term, falls term1 und term2 Boolesche Terme sind:
"Sind term1 und term2 Boolesche Terme, dann sind (term1 term2) sowie
(term1 term2) ebenfalls Boolesche Terme"
Formale Grundlagen von Schaltnetzen L5
L 5-7
16
term x y x z
term1
term2
term1 x y
term2 x z
term
21
term21 x
z D
term2 ist Boolescher Term, falls term21 und z Boolesche Terme sind:
"Sind term1 und term2 Boolesche Terme, dann sind (term1 term2) sowie
(term1 term2) ebenfalls Boolesche Terme"
Formale Grundlagen von Schaltnetzen L5
17
term x y x z
L 5-7
term1
term2
Ist term ein
Boolescher
Term, dann ist
auch (term) ein
Boolescher Term
term1 x y
x D
xy
y D
term2 x z
term
21
term21 x
x D
z D
Alle Namen aus D sind
Boolesche Terme
Formale Grundlagen von Schaltnetzen L5
L 5-7: Ergebnis der Termuntersuchung
term x y x z ist ein Boolescher Term
18
Formale Grundlagen von Schaltnetzen L5
L 5-8: Regeln für eine übersichtlichere Termrepräsentation
Vollständige Klammerung ist nicht lesbar, daher: Vorrangregeln
(a)
""bindet stärker als "" und ""
(x1 x2)) x1) x3) x4) x2)
x1 x2) x1 x3) x4) x2)
(b)
""bindet stärker als ""
x1 x2) x1 x3) x4) x2
19
Formale Grundlagen von Schaltnetzen L5
20
L 5-8: Regeln für eine übersichtlichere Termrepräsentation
x1 x2) x1 x3) x4) x2
(c) ungeklammerte Teilterme von Booleschen Termen, die jeweils durch
Operatoren gleicher Bindungsstärke getrennt sind, werden von links nach
rechts geklammert.
x1 x2) x1 x3 x4) x2
Formale Grundlagen von Schaltnetzen L5
21
L 5-9: Regeln für eine übersichtlichere Termrepräsentation
x1 x2) x1 x3 x4) x2
(d) Technische Informatik: Weglassen des - Operators
x1x2) x1 x3 x4)x2
Überstreichen für Negation:
x1x 2 x1 x3 x4)x2
Formale Grundlagen von Schaltnetzen L5
22
L 5-10: Alternative Darstellung Boolescher Funktionen
1. Wertetabellen
2. Boolesche Terme
Frage: Lässt sich jeder Boolesche Term in eine Wertetabelle und
jede Wertetabelle in einen Booleschen Term wandeln?
Formale Grundlagen von Schaltnetzen L5
23
L 5-11: Konstruktion von Wertetabellen für Boolesche Terme
z.B.: term x 2 ,x1 x 2 x1
Gegeben:
Boolescher Term term mit den Namen xn ,xn1, ,x1 vom Typ bool.
term definiert eine Abbildung:
f : Bn B
z.B.: f b2 ,b1
Anstelle
der Namen xn ,xn1, ,x1
Boolesche Werte bn ,bn1, ,b1 mit bi B für alle i mit 1 i n
einsetzen.
Formale Grundlagen von Schaltnetzen L5
24
Wir spielen mit Substitutionen
Beispiel:
x 2 x1 b1 für x1
x 2 b1
Wie bei einem Editor, was immer das Ergebnis bedeutet
Formale Grundlagen von Schaltnetzen L5
25
L 5-11: Einsetzen eines Booleschen Wertes bi anstelle eines
Namens xi [bi für xi]
term mit den Namen
xn ,xn1, ,x1
Dann gilt:
f bn ,...,b1 term bn für xn , ..., b1 für x1
bnbn1
b1 heißt Belegung der Namen xn ,xn1, ,x1
mit xi bi für alle i mit 1 i n
Formale Grundlagen von Schaltnetzen L5
26
Erzeugen einer Wertetabelle aus einem Booleschen Term
Setze alle 2n möglichen Belegungen in
term bn für x n , ..., b1 für x1 ein und bestimme f bn ,...,b1
z.B. term = x 2 x1
term O für x 2 , O für x1 = O O
OR(O, O) = O
term O für x 2 , L für x1 = O L
OR(O, L) = L
term L für x 2 , O für x1 = L O
OR(L, O) = L
term L für x 2 , L für x1 = L L
OR(L, L) = L
Formale Grundlagen von Schaltnetzen L5
27
Bemerkenswert
Wertetabelle einer Funktion ist bis auf Umordnung eindeutig
Aber:
Syntaktisch unterschiedliche Terme können auf dieselbe Wertetabelle
führen.
b2 b1 x 2 x1 x 2 x1
O O
L
L
O L
O
O
L O
O
O
L L
O
O
Formale Grundlagen von Schaltnetzen L5
28
L 5-12: Funktionenraum
Für gegebene Stelligkeit n ist die Anzahl der Funktionen des
2
Funktionsraumes endlich ( 2 Boolesche Funktionen)
n
Beispiel: n = 2
2n = 4 Belegungen der freien Namen: 4 Zeilen der Tabelle
Formale Grundlagen von Schaltnetzen L5
29
L 5-12: Wie viele Boolesche Funktionen mit unterschiedlichen
Wertetabellen kann man bilden?
x1 x2 f
O O ?
O L ?
L O ?
L L ?
2 unterschiedliche Boolesche Funktionen mit Stelligkeit n
Es gibt 2
n
Formale Grundlagen von Schaltnetzen L5
30
L 5-12: Funktionenraum für n=2
2
Beispiel: Für n = 2 gibt es 2 24 16 verschiedene Funktionen
2
b2
O
O
L
L
b1
O
L
O
L
f16
O
O
O
O
f15
O
O
O
L
f14
O
O
L
O
f13
O
O
L
L
f12
O
L
O
O
f11
O
L
O
L
f10
O
L
L
O
f9
O
L
L
L
f8
L
O
O
O
f7
L
O
O
L
f6
L
O
L
O
f5
L
O
L
L
f4
L
L
O
O
f3
L
L
O
L
f2
L
L
L
O
f1
L
L
L
L
Formale Grundlagen von Schaltnetzen L5
31
L 5-13: Boolesche Terme über Funktionen
Die Menge der n-stelligen Funktionen über einer Booleschen Algebra bildet
selbst wieder eine Boolesche Algebra.
Aha!
Diesmal setzen wir anstelle von Namen aus D Boolesche Funktionen und
nicht Boolesche Werte ein.
Formale Grundlagen von Schaltnetzen L5
32
L 5-13: Boolesche Terme über Funktionen
Gegeben sei:
Boolescher Term term mit den Namen xm ,xm1, ,x1 vom Typ bool
Setze anstelle der Namen xm ,xm1, ,x1 n-stellige Boolesche Funktionen ein
fi bn ,bn1, ,b1 mit b j L,O für 1 i m
1 j n:
f bn,...,b1 term xm,xm1,...,x1 fm bn ,...,b1 für xm, ..., f1 bn,...,b1 für x1
term: Boolescher Term mit den Namen xm, xm-1, ... x1
Formale Grundlagen von Schaltnetzen L5
33
L 5-14: Beispiel
Was bedeutet:
y1 = x 2 x1
y2 = x 2 x1
y1 y 2
Hängt von der Interpretation ab!
Formale Grundlagen von Schaltnetzen L5
34
L 5-14: Beispiel: Boolesche Algebra auf Booleschen Werten
Seien:
f15(b2, b1)
= x 2 x1 [b2 für x2, b1 für x1],
Wertetabelle:
Seien: b2 = L und b1 = O
f15(L,O)
= x 2 x1 [L für x2, O für x1] = L O = O
Formale Grundlagen von Schaltnetzen L5
35
L 5-14: Beispiel: Boolesche Algebra auf Booleschen Werten
Seien:
f14(b2, b1) = x 2 x1 [b2 für x2, b1 für x1],
Wertetabelle:
Seien: b2 = L und b1 = O
f14(L,O)
= x 2 x1 [L für x2, O für x1] = L L = L
Formale Grundlagen von Schaltnetzen L5
36
L 5-14: Beispiel: Boolesche Algebra auf Booleschen Funktionen
Seien:
f15(b2, b1)
= x 2 x1 [b2 für x2, b1 für x1],
f14(b2, b1)
= x 2 x1 [b2 für x2, b1 für x1],
f13(b2, b1)
= y1 y 2 [ f15(b2, b1) für y2, f14(b2, b1) für y1]
Wertetabelle:
Seien: b2 = L und b1 = O
f15(L,O) = x 2 x1
[L für x2, O für x1]
= LO
= O
f14(L,O)
= x 2 x1 [L für x2, O für x1]
= LL
= L
f13(L,O)
= y1 y 2
[ f15(L,O) für y2, f14(L,O) für y1]
Formale Grundlagen von Schaltnetzen L5
37
L 5-14: Beispiel: Vollständige Wertetabelle
b2
O
O
L
L
b1
O
L
O
L
f15 f14
O O
O O
O L
L O
f13= f15 f14
O
O
L
L
bedeutet:
punktweise
Verknüpfung
Formale Grundlagen von Schaltnetzen L5
38
L5-15: Ergebnis
Verknüpfungen auf Funktionen ergeben sich durch punktweise Verknüpfung
der Funktionswerte:
f2 f1 bn ,bn1,
b1
,b1 f2 bn ,bn1, ,b1 f1 bn ,bn1, ,b1
&
f1(b 2,b 1)
&
b1
&
f2(b 2,b 1)
f2f1(b 2,b 1)
Formale Grundlagen von Schaltnetzen L5
39
Verknüpfung Boolescher Funktionen
Entsprechend gilt auch:
f2 f1 bn ,bn1,
,b1 f2 bn ,bn1, ,b1 f1 bn ,bn1, ,b1
f bn ,bn1,
,b1 f bn ,bn1, ,b1
Formale Grundlagen von Schaltnetzen L5
40
L 5-17: Partielle Ordnung auf der Menge der n-stelligen
Funktionen
Die charakteristischen Verknüpfungen induzieren
eine partielle Ordnung auf der Menge der n-stelligen Funktionen
partielle Ordnung: nicht für jedes Paar von n-stelligen Funktionen fi und fk
kann man sagen:
fi fk oder fk fi
falls doch: totale Ordnung (Beispiel natürliche Zahlen, Alphabete)
Formale Grundlagen von Schaltnetzen L5
41
L 5-17: Partielle Ordnung auf der Menge der n-stelligen
Funktionen
Definition: f g,
f f g
sprich:
Beispiel: f11 f3: f11 f3 f11
b2
O
O
L
L
falls
(f,g) ist Element der Relation
b1
O
L
O
L
f11
O
L
O
L
f3
L
L
O
L
f11 f3 f11
OL=O
LL=L
OO=O
LL=L
Formale Grundlagen von Schaltnetzen L5
42
L 5-17: Anschaulich
Sei f bn ,bn1, ,b1 L , dann muss unter der Annahme f g auch
g bn ,bn1, ,b1 L sein.
f11 f3:
b2
O
O
L
L
b1
O
L
O
L
f11
O
L
O
L
f3
L
L
O
L
Formale Grundlagen von Schaltnetzen L5
43
L 5-18: Ordnungsrelation und Menge der einschlägigen Indizes
Menge einschlägiger Indizes:
Seien
I g , I f die Mengen der einschlägigen Indizes der Booleschen Funktionen g
bzw. f
If Ig
dann ist f g.
Formale Grundlagen von Schaltnetzen L5
44
L 5-18: Ordnungsrelation und Menge der einschlägigen Indizes
Beispiel:
0
1
2
3
I f11 1,3 ,
I f3 0,1,3
b2
O
O
L
L
b1
O
L
O
L
f11
O
L
O
L
f3
L
L
O
L
I ff11 I ff3 daraus folgt:
f11 f3
Formale Grundlagen von Schaltnetzen L5
45
L 5-18: Folgerungen
Mit f f g gilt auch g f g
b2
O
O
L
L
b1
O
L
O
L
f11
O
L
O
L
f3
L
L
O
L
f11 f3 f11
f11 f3 f3
OL=O
LL=L
OO=O
LL=L
OL=L
LL=L
OO=O
LL=L
Formale Grundlagen von Schaltnetzen L5
46
L 5-20: Folgerungen
Satz: Die beschriebene Relation ist:
reflexiv:
ff
transitiv:
gilt f1 f2
antisymmetrisch:
aus f g und g f folgt g f
und f2 f3 , dann gilt auch f1 f3
Beispiel transitiv: f12 f11 f3
b2
O
O
L
L
b1
O
L
O
L
f12
O
L
O
O
f11
O
L
O
L
f3
L
L
O
L
Formale Grundlagen von Schaltnetzen L5
Zum Nachweis benötigt man Gesetze der Booleschen Algebra
47