Schaltelemente BoolescheAlgebra Aussagenlogik Ubersetzungen¨ · PDF file 2020. 6....
date post
18-Jan-2021Category
Documents
view
0download
0
Embed Size (px)
Transcript of Schaltelemente BoolescheAlgebra Aussagenlogik Ubersetzungen¨ · PDF file 2020. 6....
Schaltelemente
Boolesche Algebra
KV-Diagramm
Aussagenlogik
Logelei
Aussagenlogik Übersetzungen
Logelei Python
Programm in PureBasic
Logelei
↑ Schaltelemente
Und Konjunktion a und b
& a b a ∧ b
0 0 0
0 1 0
1 0 0
1 1 1
Oder Disjunktion a oder b
≥ 1 a b a ∨ b
0 0 0
0 1 1
1 0 1
1 1 1
Negation nicht a
1 bc
a a
0 1
1 0
Mit diesen elementaren Bauteilen lassen sich alle Computerschaltungen realisieren.
↑ c© Roolfs
1
↑ Gesetze der Booleschen Algebra
Kommutativgesetze: a ∨ b = b ∨ a a ∧ b = b ∧ a
Assoziativgesetze: (a ∨ b) ∨ c = a ∨ (b ∨ c) (a ∧ b) ∧ c = a ∧ (b ∧ c)
Absorptionsgesetze: a ∨ (a ∧ b) = a a ∧ (a ∨ b) = a
Distributivgesetze: a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c) a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
Idempotenzgesetze: a ∨ a = 1 a ∧ a = 0
a ∨ a = a a ∧ a = a
de Morgan-Gesetze: a ∨ b = a ∧ b a ∧ b = a ∨ b
neutrale Elemente: a ∨ 0 = a a ∧ 1 = a
doppelte Negation: a = a
1. Zeige mit den Gesetzen der Booleschen Algebra die Gleichheit der Terme.
a) (a ∧ b) ∨ (a ∧ b ∧ c) = a ∧ b b) (a ∨ b) ∧ (a ∨ b) ∧ (a ∨ b) ∧ (a ∨ b) = 0
c) (a ∧ b ∨ c) ∧ (a ∨ b ∨ c) = a ∨ c d) a ∧ b ∨ c ∨ (a ∧ c) = a ∧ (b ∨ c)
2. Gib für die booleschen Funktionen möglichst einfache Terme an.
a) b) c) d) e) f)
a b c t u v x y z
0 0 0 1 0 1 1 ? 0
0 0 1 0 0 1 1 0 ?
0 1 0 1 1 0 0 1 ?
0 1 1 0 1 0 ? 0 0
1 0 0 0 0 1 0 1 0
1 0 1 1 1 1 ? 0 0
1 1 0 1 0 1 0 0 1
1 1 1 1 1 0 1 ? 1
↑ c© Roolfs
2
↑ Boolesche Algebra
Gib für die booleschen Funktionen möglichst einfache Terme an.
a) b) c) d) e) f)
a b c t u v x y z
0 0 0 1 0 1 1 1 0
0 0 1 0 0 1 1 0 0
0 1 0 1 1 0 0 1 0
0 1 1 0 1 0 0 0 0
1 0 0 0 0 1 0 1 0
1 0 1 1 1 1 1 0 0
1 1 0 1 0 1 0 0 1
1 1 1 1 1 0 1 0 1
a) (a ∧ c) ∨ (a ∧ c) ∨ (b ∧ c)
b) (a ∧ b) ∨ (a ∧ c)
c) b ∨ (a ∧ c)
d) (a ∧ b) ∨ (a ∧ c)
e) (a ∧ c) ∨ (b ∧ c) = (a ∨ b) ∧ c
f) a ∧ b
↑ c© Roolfs
3
↑ Boolesche Algebra
a) PureBasic
OpenConsole()
For a= #False To #True
For b= #False To #True
For c= #False To #True
PrintN(Str(a)+Str(b)+Str(c)+ “ “ +Str( ((Not c) Or a) And ( (Not a) Or b Or c) ) )
Next c
Next b
Next a
Input()
b) Python
for A in [False,True]:
for B in [False,True]:
for C in [False,True]:
D1 = . . .
D2 = . . .
D3 = . . .
print(int(A), int(B), int(C), “ “, int(D1 and D2 and D3))
4
↑ Boolesche Algebra
Sei B = {0, 1} die Boolesche Menge, auf der folgende Verknüpfungen erklärt sind (x, y Boolesche Variablen):
Addition x+ y = x ∨ y (= Max(x, y)) Beachte den Unterschied 1 + 1 = 1 zur Addition von Dualzahlen.
Multiplikation x · y = x ∧ y (= Min(x, y))
Das vereinfacht die Schreibweise Boolescher Terme, statt (a ∧ b) ∨ (a ∧ b ∧ c) ist ab+ abc möglich.
Gib für die Booleschen Funktionen X, Y und Z einen Term an.
a b c X Y Z
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 1 1 1
0 1 1 0 0 0
1 0 0 0 0 0
1 0 1 0 1 1
1 1 0 0 0 1
1 1 1 0 0 0
X = abc
Y = abc + abc
Z = abc + abc + abc disjunktive Normalform
Es sollte nun klar sein, dass zu jeder Booleschen Funktion ein zugehöriger Boolescher Term in disjunktiver Normalform ermittelt werden kann. Wir wollen der Frage nachgehen, wie dieser Term vereinfacht werden kann.
↑ c© Roolfs
5
↑ Karnaugh-Veitch-Diagramm 1952
Betrachten wir die Boolesche Funktion:
a b X
0 0 1
0 1 0
1 0 0
1 1 1
Die Funktion X = ab+ ab kann mit einem Diagramm veranschaulicht werden.
00 10
01 11
aa
b
b
a wird für {(1, 0), (1, 1)} 1,
b wird für {(0, 1), (1, 1)} 1,
ab wird nur auf dem gemeinsamen Element (1, 1) 1.
Die Randbeschriftungen markieren also die Bereiche, für die die elementaren Terme jeweils 1 werden.
Wie lautet der Boolesche Term?
a) aa
b
b
b) aa
b
b
c) Wie sieht das KV-Diagramm für den Term a+ b aus?
↑ c© Roolfs
6
↑ KV-Diagramm
Betrachten wir die Boolesche Funktion:
a b c X
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
Das Karnaugh-Veitch-Diagramm muss aus 8 Feldern bestehen.
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b 000 001
010 011
101 100
111 110
Die Unterteilung ist so angelegt, dass sich benachbarte Felder lediglich um eine Stelle unterscheiden.
Wie lautet der Boolesche Term?
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
a)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
b)
↑ c© Roolfs
7
↑ Idee des KV-Diagramms
a b c X
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
b c bc abc bc + abc
1 0 0 0 0
1 1 1 0 1
0 0 0 0 0
0 1 0 0 0
1 0 0 0 0
1 1 1 0 1
0 0 0 1 1
0 1 0 0 0
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b 000 001
010 011
101 100
111 110 X = bc + abc
Jede Boolesche Funktion (mit 3 Variablen) und damit jeder Term legt eine Teilmenge der Menge
A = {(0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1)} fest, hier ist es
B = {(0, 0, 1), (1, 0, 1), (1, 1, 0)}
Auf dieser Teilmenge ist die Funktion (der Term) 1, sonst 0.
Der Term b wird auf C = {(0, 0, 0), (0, 0, 1), (1, 0, 1), (1, 0, 0)} 1,
der Term c auf D = {(0, 0, 1), (0, 1, 1), (1, 0, 1), (1, 1, 1)}.
bc wird auf der Schnittmenge C ∩D = {(0, 0, 1), (1, 0, 1)} 1.
abc wird auf der E = {(1, 1, 0)} 1, das ist die Schnittmenge der zu a, b und c gehörenden Teilmengen.
Die Funktion X nimmt damit auf der Menge (C ∩D) ∪ E den Wert 1 an,
der Funktionsterm lautet: bc + abc
+ bedeutet im KV-Diagramm die Vereinigung von Feldern,
· die Bildung der Schnittmenge.
↑ c© Roolfs
8
↑ Mengenoperationen
A ∪B Vereinigung
A
B
A ∩B Schnitt
A
B
↑ c© Roolfs
9
↑ KV-Diagramm
Wie lautet der Boolesche Term?
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
a)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
b)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
c)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
d)
e) Wie sieht das KV-Diagramm für den Term (a+ c)b+ cb aus?
↑ c© Roolfs
10
↑ KV-Diagramm Vorlagen
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
a)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
b)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
c)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
d)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
e)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
f)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
g)
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
h)
↑ c© Roolfs
11
↑ KV-Diagramm
Das Karnaugh-Veitch-Diagramm für 4 Variablen muss aus 16 Feldern bestehen.
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a
c c
b
b
d
d
d
Wie sieht das KV-Diagramm für den Term (a+ b)(c+ d) aus?
↑ c© Roolfs
12
↑ KV-Diagramm
︸ ︷︷ ︸
c
︷ ︸︸ ︷ a
︷ ︸︸ ︷ a