L 5-1 - Warum E

Werbung
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

xy

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
x1x2) 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 ,xn1, ,x1 vom Typ bool.
term definiert eine Abbildung:
f : Bn  B
z.B.: f b2 ,b1 
Anstelle
 der Namen xn ,xn1, ,x1
 Boolesche Werte bn ,bn1, ,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 ,xn1, ,x1
Dann gilt:
f  bn ,...,b1   term bn für xn , ..., b1 für x1 
  bnbn1
b1 heißt Belegung der Namen xn ,xn1, ,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 ,xm1, ,x1 vom Typ bool
Setze anstelle der Namen xm ,xm1, ,x1 n-stellige Boolesche Funktionen ein
fi bn ,bn1, ,b1  mit b j  L,O für 1  i  m
1  j  n:
f bn,...,b1   term  xm,xm1,...,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]
= LO
= O
f14(L,O)
= x 2  x1 [L für x2, O für x1]
= LL
= 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 ,bn1,
b1
,b1   f2 bn ,bn1, ,b1   f1 bn ,bn1, ,b1 
&
f1(b 2,b 1)
&
b1
&
f2(b 2,b 1)
f2f1(b 2,b 1)
Formale Grundlagen von Schaltnetzen L5
39
Verknüpfung Boolescher Funktionen
Entsprechend gilt auch:
 f2  f1 bn ,bn1,
,b1   f2 bn ,bn1, ,b1   f1 bn ,bn1, ,b1 
 f bn ,bn1,
,b1   f bn ,bn1, ,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
OL=O
LL=L
OO=O
LL=L
Formale Grundlagen von Schaltnetzen L5
42
L 5-17: Anschaulich
Sei f  bn ,bn1, ,b1   L , dann muss unter der Annahme f  g auch
g  bn ,bn1, ,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
OL=O
LL=L
OO=O
LL=L
OL=L
LL=L
OO=O
LL=L
Formale Grundlagen von Schaltnetzen L5
46
L 5-20: Folgerungen
Satz: Die beschriebene Relation  ist:
reflexiv:
ff
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
Herunterladen