1 Boolesche Algebra und Schaltalgebra Folie 1
Grundlagen der Technischen Informatik 1 Version: WS07/08
1. Boolesche Algebra und Schaltalgebra 1.1 Was ist Informatik?
Definition des Begriffs Informatik
Die Informatik ist die Wissenschaft, die sich mit der systematischen Analyse, Beschreibung und Gestaltungvon informationsverarbeitenden Prozessen beschäftigt. Unter Prozessen werden hier Vorgänge zur Umformung und Übertragung von Informationen verstanden.
1 Boolesche Algebra und Schaltalgebra Folie 2
Grundlagen der Technischen Informatik 1 Version: WS07/08
Informatik
Theoretische Informatik
- Automatentheorie - Theorie der Formalen
Sprache - Theorie der
Berechenbarkeit - Komplexitätstheorie - Algorithmenanalyse - Theorie der
Programmierung - Automatische
Programmsynthese - Formale Semantik - Künstliche Intelligenz
(Methoden)
Technische Informatik
- Hardware: o Prozessoren, o Schaltkreise, o Baugruppen o usw.
- Firmware, Mikroprogrammierung
- Rechnerorganisation, Rechnerarchitektur
- Schnittstellen - Kommunikation,
Rechnernetze - Kommunikationssy-
steme: LAN, MAP, Telekommunikation: ISDN
Praktische Informatik
- Algorithmen, Datenstrukturen, Programmiermethoden
- Programmiersprachen, Compiler
- Betriebssysteme - Software-Engineering - Mensch-Maschine-
Kommunikation
Angewandte Informatik
- Prozeßdatenverarbei-tungsysteme, Automatisierungs-systeme
- Cxx-Verfahren, z. B. CAE, CAD, CIM
- Simulation und Modellierung
- Computergraphik - Künstliche Intelligenz
(Anwendungen) - Spezifische
Anwendungen in: o Ingenieurwesen, o Wirtschaft, o Verwaltung, o Naturwissenschaften, o Medizin, o Sozialwissenschaften, o Geisteswissenschaften o Kunst
usw.
1 Boolesche Algebra und Schaltalgebra Folie 3
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.2 Einführung
„Eine Aussage ist ein sprachliches Gebilde, von dem es sinnvoll ist, zu sagen, es sei wahr oder falsch.“ (Aristoteles)
Definition 1-1: Aussage
Eine Aussage bezeichnet ein sprachliches Gebilde, dem in sinnvoller Weise genau eine der beiden Eigenschaften wahr oder falsch zugeordnet werden kann.
Definition 1-2: Aussageform
Eine logische Aussage kann auf verschiedene Art und Weise dargestellt werden. Sie kann sprachlich formuliert werden oder durch Verwendung bestimmter Formalismen beschrieben werden (Boolesche Algebra). Aber auch innerhalb einer festgelegten Beschreibungsform gibt es meist mehrere Darstellungsmöglichkeiten, die alle zueinander äquivalent sind. Eine Aussage kann also durch mehrere zueinander äquivalente Aussageformen beschrieben werden.
1 Boolesche Algebra und Schaltalgebra Folie 4
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.3 Definition der Booleschen Algebra
A1: Kommutativgesetz
ABBAABBA
ψψφφ
==
A2: Distributivgesetz
( ) ( ) ( )CABACBA)CA()BA()CB(A
ψφψφψφψφψφ
==
A3: Neutrale Elemente Es gibt zwei neutrale Elemente e (Einselement = 1), n (Nullelement = 0) ∈ M, so dass für alle A ∈ M gilt:
AeA =φ
bzw. AnA =ψ
A4: Komplement eAA =ψ
bzw. nAA =φ
Definition 1-3: Boolesche Algebra
Gegeben sei eine Menge M mit den Elementen A, B, C,... . Zwischen den Elementen der Menge seien zweistellige Operationen φ und ψ und eine einstellige Operation (der Negationsoperator) derart definiert, dass durch Anwendung der Operationen wiederum eindeutig Elemente von M entstehen.
1 Boolesche Algebra und Schaltalgebra Folie 5
Grundlagen der Technischen Informatik 1 Version: WS07/08
Aus diesen 4 Axiomen lassen sich weitere Theoreme ableiten, z.B.:
T1: Assoziativgesetz ( ) ( )( ) ( )CBACBA
CBACBAψψψψφφφφ
==
T2: Idempotenzgesetz
AAAAAA
==
ψφ
T3: Absorptionsgesetz ( )( ) ABAA
ABAA==
ψφφψ
T4: De Morgan’sche Regel
BABABABA
ψφ
φψ
=
=
1 Boolesche Algebra und Schaltalgebra Folie 6
Grundlagen der Technischen Informatik 1 Version: WS07/08
Beispiele boolescher Algebra:
a) Die Potenzmenge
M = P(S) einer Menge S wird mit Durchschnitt und Vereinigung zu einer Booleschen Algebra:
S = { 1 , 2 , 3 }
P(S) = { { } , { 1 } , { 2 } , { 3 } , { 1 , 2 } , { 1, 3 } , { 2 , 3 } ,
{ 1 , 2 , 3 } }
n = { }
e ={ 1 , 2 , 3 }
{ 2 , 3} φ e = { 2 , 3}
{ 2 , 3} ψ n = { 2 , 3}
{⎯1 } = { 2, 3 } ={ 1 , 2 , 3 } – { 1 }
b) Zwei-elementige Boolesche Algebra
M = { A , B }
( )( )
A1AB,AmaxBA
B,AminBA
−=
==
ψφ
1 Boolesche Algebra und Schaltalgebra Folie 7
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.4 Schaltalgebra 1.4.1 Technische Grundlagen
Definition 1-4: Schaltalgebra
Die Aussagenalgebra, im technischen Kontext Schaltalgebra genannt, ist eine spezielle Boolesche Algebra, die die zweielementige Menge M = {0,1} benutzt. Die Operation ψwird dabei als ODER-Verknüpfung bzw. Disjunktion (+,∨) und die Operation Φ als UND-Verknüpfung bzw. Konjunktion (⋅,∧) erklärt. Die beiden Elemente e = 1 und n = 0 werden als Wahrheitswerte „wahr“ bzw. „falsch“ beliebiger Aussagen interpretiert. Die Komplementbildung bezeichnet man in der Schaltalgebra auch als Negation (⎯A, ¬A).
1 Boolesche Algebra und Schaltalgebra Folie 8
Grundlagen der Technischen Informatik 1 Version: WS07/08
Y = 0 mit Y = f(A)
Y = I
U
Umax
0
Bereich von logisch 1
undefinierter Bereich
Bereich von logisch 0
positive Logikt
1 Boolesche Algebra und Schaltalgebra Folie 9
Grundlagen der Technischen Informatik 1 Version: WS07/08
positive LogikUmax
Umin
logisch 0 logisch 1
U
t
U
logisch 0 logisch 1
negative Logik
t
Umax
Umin
1 Boolesche Algebra und Schaltalgebra Folie 10
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.4.2 Logische Grundfunktionen
1.4.2.1 Logische Grundfunktionen für eine Variable
Identität
Wahrheitstabelle
A Y
0 0
I I
Karnaugh-Veitch-Diagramm
A A
Venn-Diagramm
A A
1 Boolesche Algebra und Schaltalgebra Folie 11
Grundlagen der Technischen Informatik 1 Version: WS07/08
Negation
Wahrheitstabelle
A Y
0 I
I 0
Karnaugh-Veitch-Diagramm
A A
Venn-Diagramm
Symbol nach DIN/IEC
A 1
Y
Symbol nach ANSI/IEEE
A Y
A A
1 Boolesche Algebra und Schaltalgebra Folie 12
Grundlagen der Technischen Informatik 1 Version: WS07/08
Impulsdiagramm
1 Boolesche Algebra und Schaltalgebra Folie 13
Grundlagen der Technischen Informatik 1 Version: WS07/08
Logische Konjunktion (UND-Verknüpfung)
BAY ⋅=
Wahrheitstabelle
A B BA ⋅
0 0 0
0 1 0
1 0 0
1 1 1
Karnaugh-Veitch-Diagramm
B B
A
A
Venn-Diagramm
(Durchschnitt)
BA ⋅
A B
1 Boolesche Algebra und Schaltalgebra Folie 14
Grundlagen der Technischen Informatik 1 Version: WS07/08
Symbol nach DIN/IEC
A
B
&
Y
Symbol nach ANSI/IEEE
A
B Y
Impulsdiagramm
1 Boolesche Algebra und Schaltalgebra Folie 15
Grundlagen der Technischen Informatik 1 Version: WS07/08
Logische Disjunktion (ODER-Verknüpfung)
BAY +=
Wahrheitstabelle
A B BA +
0 0 0
0 I l
I 0 l
I I I
Karnaugh-Veitch-Diagramm
B B
A
A
Venn-Diagramm
(Durchschnitt)
BA +
A B
1 Boolesche Algebra und Schaltalgebra Folie 16
Grundlagen der Technischen Informatik 1 Version: WS07/08
Symbol nach DIN/IEC
A
B
>1
Y
Symbol nach ANSI/IEEE
A
B Y
Impulsdiagramm
1 Boolesche Algebra und Schaltalgebra Folie 17
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.4.3 Gesetze der Schaltalgebra
1.4.3.1 Axiome für die logischen Werte
Grundlegender Zusammenhang zwischen den Elementen:
A1: A = 0 g.d.w A ≠ 1 nur zweiwertige Variablen zugelassen,
A = 1 g.d.w A ≠ 0 Dualität (s.u.) erkennbar.
Aus Axiom A1 und der Regeln der Negation gilt entsprechend:
A2: I0 = 0I =
Aus der Definition der UND- und ODER-Verknüpfung resultieren die folgenden Axiome:
A3: 000 =⋅ UND III =+ ODER
A4: III =⋅ UND 000 =+ ODER
A5: 0I00I =⋅=⋅ UND I0II0 =+=+ ODER
1 Boolesche Algebra und Schaltalgebra Folie 18
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.4.3.2 Theoreme für eine Variable
T1: Formulierung des Axioms A1 der Schaltalgebra für eine Variable ( ) AA =
AA = T2: Definition der neutralen Elemente
A0A =+ AIA =⋅
T3: Folgerung aus der Definition von UND und ODER IIA =+ 00A =⋅
T4: Idempotenzgesetz AAA =+
AAA =⋅ T5: Komplement
IAA =+ 0AA =⋅
1 Boolesche Algebra und Schaltalgebra Folie 19
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.4.3.3 Theoreme für zwei Variablen
T6: Kommutatives Gesetz ABBA +=+
ABBA ⋅=⋅ T7: Expansionsformel
( ) ( )BABAA ⋅+⋅=
( ) ( )BABAA +⋅+=
T8: Reduktionsformeln 1 (Absorptionsgesetz)
( ) ABAA =+⋅
( ) ABAA =⋅+
T9: Reduktionsformeln 2 ( ) BABAA ⋅=+⋅
( ) BABAA +=⋅+
1.4.3.4 Theoreme für drei Variablen
T10: Distributives Gesetz ( ) ( ) ( )CABACBA ⋅+⋅=+⋅
( ) ( ) ( )CABACBA +⋅+=⋅+
T11: Assoziatives Gesetz ( ) ( ) ( )CABCBACBACBA ++=++=++=++
( ) ( ) ( )CABCBACBACBA ⋅⋅=⋅⋅=⋅⋅=⋅⋅
1 Boolesche Algebra und Schaltalgebra Folie 20
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.4.3.5 Theoreme für n∈N Variablen
T12: De Morgansche Regel ( ) ...DCBA...DCBA ++++=⋅⋅⋅⋅
( ) ...DCBA...DCBA ⋅⋅⋅⋅=++++
T13: Verallgemeinerung des Gesetzes von de Morgan (Satz von Shannon)
( ) ( ) ( )+⋅=⋅+=⋅+ ,,...,C,B,A,...,C,B,Af,,...,C,B,A,...,C,B,Af,,...,C,B,A,...,C,B,Af
1 Boolesche Algebra und Schaltalgebra Folie 21
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.4.4 Funktionen der Schaltalgebra
Variable
Funktionen
A B f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15
0 0 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 I 0 0 I I 0 0 I I 0 0 I I 0 0 I I I 0 0 0 0 0 I I I I 0 0 0 0 I I I I I I 0 0 0 0 0 0 0 0 I I I I I I I I
1 Boolesche Algebra und Schaltalgebra Folie 22
Grundlagen der Technischen Informatik 1 Version: WS07/08
0)B,A(f0 = Nullfunktion, Kontradiktion
BABABA)B,A(f1
↓=
+=⋅=
NICHT-ODER, NOR, Pierce-Funktion
ABBA)B,A(f2→/=⋅=
Inhibition, Nicht-Implikation, Ausschluss,Wenn B dann A
A)B,A(f3 = Negation, Inversion, Invertierung, Komplement, NICHT, NOT (nur für A def.)
BABA)B,A(f4→/=⋅=
Inhibition, Nicht-Implikation, Ausschluss, Wenn A dann B
B)B,A(f5 = Negation, Inversion, Invertierung, Komplement, NICHT, NOT (nur für B def.)
BABABABA)B,A(f6≡/=⊕=
⋅+⋅=
Antivalenz, Exklusiv-ODER, XOR, EXOR, modulo 2 Addition
( )B|A
BABAB,Af7=
⋅=+= NICHT-UND, NAND, Sheffer-Funktion
BABA)B,A(f8∧=
⋅=
UND, AND, Konjunktion
BABABABA)B,A(f9↔=≡=
⋅+⋅= Äquivalenz, Inklusiv-Oder
B)B,A(f10 = Identität, Tautologie (nur für B definiert)
A B
A B
A B
A B
A B
A B
A B
A B
A B
A B
A B
1 Boolesche Algebra und Schaltalgebra Folie 23
Grundlagen der Technischen Informatik 1 Version: WS07/08
BABA)B,A(f11
→=+=
Implikation, Wenn A dann B
A)B,A(f12 = Identität, Tautologie (nur für A definiert)
ABBA)B,A(f13
→=
+= Implikation, Wenn B dann A
BABA)B,A(f14
∨=
+=
ODER, OR, Disjunktion
I)B,A(f15 = Einsfunktion, Tautologie (immer)
A B
A B
A B
A B
A B
1 Boolesche Algebra und Schaltalgebra Folie 24
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.5 Systeme vollständiger Verknüpfung
Variable
Funktionen
A B f1(A,B)
NOR(A,B)
f3(A,B)
NOT (A)
f7(A,B)
NAND(A,B)
f8(A,B)
AND(A,B)
f14(A,B)
OR(A,B)
0 0 I I I 0 0 0 I 0 I I 0 I I 0 0 0 I 0 I I I 0 0 0 I I
1.5.1 NEGATION
Realisierung einer NEGATION mit Hilfe von NAND- oder NOR-Verknüpfungen.
AIAAAAAAAA =↓=+=⋅=
& AA
>1 A
A
1 Boolesche Algebra und Schaltalgebra Folie 25
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.5.2 UND
&AB
A B&
>1
>1
>1A
B
A B
1 Boolesche Algebra und Schaltalgebra Folie 26
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.5.3 ODER
&&
&A
B
A + B
AB
A + B>1>1
1 Boolesche Algebra und Schaltalgebra Folie 27
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.5.4 Zusammenfassung
NAND bzw. NOR können jeweils unter alleiniger Verwendung dieses Operators alle Funktionen der Schaltalgebra darstellen.
Aber: Weder für den NOR- noch für den NAND-Operator gilt das Assoziativgesetz!
(A ↓ B) ↓ C ≠ A ↓ (B ↓ C) (A | B) | C ≠ A | (B | C)
Folge: In einer Booleschen Funktion dürfen die Pierce- und Sheffer-Operator immer nur auf genau zwei Operanden angewandt werden. Dieser Nachteil kann nur behoben werden, wenn bei der schaltungstechnischen Realisierung Gatter mit entsprechend großer Eingangsanzahl (> 2) voraus-gesetzt werden können ("allgemeine NAND- und NOR-Funktionen").
1 Boolesche Algebra und Schaltalgebra Folie 28
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.6 Darstellungsformen 1.6.1 Kurzzeichen
Beispiele für die Darstellung der Grundoperationen in den verschiedenen Logikformen:
Verknüpfung Mengen-algebra
Aussagen-algebra
Schalt-algebra
Darstellung nach DIN
66000 Konjunktion
Diskonjunktion Negation Neutrale Elemente
Die Konjunktion dreier Variablen A, B und C wird wie folgt geschrieben:
Bei der Konjunktion ist es möglich für eine verkürzte Schreibweise das Konjunktionssymbol wegzulassen:
Analog sieht die Disjunktion der Variablen wie folgt aus:
Für die Negation wird ein horizontaler Strich über die Variable geschrieben:
Definition 1-12: Schaltfunktion
Die Darstellungsweise der logischen Funktionsweise einer Schaltung mittels einer Booleschen Funktion wird als Schaltfunktion bezeichnet. Hierbei werden die in der Spalte "Schaltalgebra" angegebenen Kurzzeichen verwendet.
1 Boolesche Algebra und Schaltalgebra Folie 29
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.6.2 Wahrheitstabelle
Beispiele:
Konjunktion (AND)
Disjunktion (OR) Negation (NOT)
BAX ⋅= BAX += AX = A B X A B X A X 0 0 0 0 0 0 I 0 I I I 0 I 0 I I I I
Definition 1-13: Wahrheitstabelle
In einer Wahrheitstabelle werden alle Kombinationen der Eingangsvariablen für die zulässigen Werte logisch 0 und logisch I eingetragen. Jede Eingangsvariable sowie die Ausgangsvariable erhalten dabei eine eigene Spalte. Die Ausgangsvariable erhält entsprechend der Verknüpfung einen eindeutigen Wert.
1 Boolesche Algebra und Schaltalgebra Folie 30
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.6.3 Mengendiagramm
Für die anschauliche Darstellung logischer Funktionen mit wenigen Eingangsvariablen (≤4) eignen sich Mengen-diagramme. Diese Darstellungsweise wurde aus der mathematischen Mengenlehre abgeleitet. Die gefüllte Fläche stellt den Funktionswert dar, für die die Funktion X den Wert I annimmt.
Beispiele:
Konjunktion (AND) Disjunktion (OR) Negation (NOT) BAX ⋅= BAX += AX =
B
A
A
B
A
A
1 Boolesche Algebra und Schaltalgebra Folie 31
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.6.4 Schaltzeichen
DIN / IEC ANSI / IEEE Funktion
AND &
BAX ⋅= f8
OR >1
BAX += f14
NOT 1
AX = f3
NAND &
BAX ⋅= f7
NOR >1
BAX += f1
Antivalenz
XOR
=1
BABAX ⋅+⋅= f6
Äquivalenz =
BABAX ⋅+⋅= f9
Bei diesen Schaltzeichen ist es möglich einen invertierten Eingang durch einen Kreis zu kennzeichnen.
Beispiel:
<=>
1 Boolesche Algebra und Schaltalgebra Folie 32
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.6.5 Impulsdiagramm
Beispiele:
Konjunktion (AND) Disjunktion (OR) Negation (NOT) BAX ⋅= BAX += AX =
1 Boolesche Algebra und Schaltalgebra Folie 33
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.7 Normalformen
Definition 1-14: Normalform
Eine Normalform ist eine Aussageform, die als Repräsentant einer Menge von Aussageformen dient, die sich zwar in ihrer Darstellung unterscheiden, aber nicht in ihrer Funktionalität. Letzteres bedeutet, dass alle Aussage-formen aus dieser Menge von Aussageformen für eine beliebige Eingangskombinationen die selbe Ergebnisgröße liefern.
1 Boolesche Algebra und Schaltalgebra Folie 34
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.7.1 Wahrheitstabelle mit Min- und Maxtermen
Werden alle Eingangsvariablen oder deren Negation konjunktiv (UND) miteinander verknüpft, so ergibt sich eine Voll-konjunktion, welche als Minterm bezeichnet wird.
Definition 1-15: Minterm
Eine konjunktive Verknüpfung aller Eingangsvariablen (in negierter oder nicht negierter Form) heißt Minterm (oder Vollkonjunktion).
n321i bn
b3
b2
b1
n
1i
bik AAAAAm ⋅⋅⋅⋅== ∏
=L
mit ⎩⎨⎧
==
=0bfürAIbfürA
Aiiiib
ii
Desweitern gilt:
1 Boolesche Algebra und Schaltalgebra Folie 35
Grundlagen der Technischen Informatik 1 Version: WS07/08
Werden hingegen alle Eingangsvariablen oder deren Negation disjunktiv miteinander verknüpft, so ergibt sich eine Voll-disjunktion, welche als Maxterm bezeichnet wird.
Definition 1-16: Maxterm
Eine disjunktive Verknüpfung aller Eingangsvariablen (in negierter oder nicht negierter Form) heißt Maxterm (oder Volldisjunktion).
n321i bn
b3
b2
b1
n
1i
bik AAAAAM ++++== ∑
=L
mit ⎩⎨⎧
==
=0bfürAIbfürAA
ii
iibi
i
1 Boolesche Algebra und Schaltalgebra Folie 36
Grundlagen der Technischen Informatik 1 Version: WS07/08
Beispiel:
A B C Minterme, mk Maxterme, Mk
0 0 0
0 0 I
0 I 0
0 I I I 0 0 I 0 I I I 0 I I I
1 Boolesche Algebra und Schaltalgebra Folie 37
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.7.2 Disjunktive Normalformen
Beispiel: Gegeben sei Funktion f durch die folgende erweiterte Wahrheitstabelle.
A B C f Minterme, mk
0 0 0 I
0 0 I 0
0 I 0 0
0 I I 0
I 0 0 I
I 0 I I
I I 0 I
I I I I
Damit lautet die DNF der gegebenen Funktion:
Definition 1-17: Disjunktive Normalform (DNF) Jede Boolesche Funktion f(A1, A2, ... An) lässt sich durch disjunktive Verknüpftung bestimmter Minterme darstellen:
∑=k
ckn21 km)A,...A,A(f
⎩⎨⎧
==
=0cfür0
Icfürmmmit
k
kkck k
und ck = Funktionswert f in der k-ten Zeile der Wahrheits-tabelle von f.
1 Boolesche Algebra und Schaltalgebra Folie 38
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.7.3 Konjunktive Normalformen
Beispiel: Für selbige Funktion f lautet die KNF:
A B C f Maxterme, Mk
0 0 0 I
0 0 I 0
0 I 0 0
0 I I 0
I 0 0 I
I 0 I I
I I 0 I
I I I I
Damit lautet die KNF der gegebenen Funktion:
Definition 1-18: Konjunktive Normalform (KNF) Jede Boolesche Funktion f(A1, A2, ... An) lässt sich durch konjunktive Verknüpfung bestimmter Maxterme darstellen:
kck
kn21 M)A,...A,A(f Π=
⎩⎨⎧
==
=IcfürI0cfürM
Mmitk
kkck k
1 Boolesche Algebra und Schaltalgebra Folie 39
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.7.4 Unvollständig definierte Boolesche Funktionen
Beispiel: Die folgende Wahrheitstabelle sei die ausreichende Definition der Funktion f(A,B,C).
A B C f
0 0 I I
0 I 0 0
I 0 0 I
Für alle in dieser Wahrheitstabelle nicht aufgeführten Eingangsbelegungen ist der Funktionswert f beliebig. Ein solch beliebiger Funktionswert wird bei der Schaltungssynthese als "don't care" bezeichnet und durch ein "X" symbolisiert.
A B C f f1 f2 f3
0 0 0 X →
0 0 I I
0 I 0 0
0 I I X →
I 0 0 I
I 0 I X →
I I 0 X →
I I I X →
Dabei kann für das "X" sowohl I als auch 0 angesetzt werden. Die Funktionen f1 bis f3 zeigen mögliche Vervollständigungen der unvollständig definierten Funktion f.
1 Boolesche Algebra und Schaltalgebra Folie 40
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.8 Vereinfachung von Funktionen Warum wird eine Boolesche Funktion vereinfacht?
DCBADCBADCBACDBADABCABCDX +++++=
CBAACX +=
Die folgende Abbildung stellt die schaltungstechnische Realisierung der beiden im obigen Beispiel aufgeführten Ausdrücke für die Funktion X dar.
Es existieren drei Gruppen von systematischen Minimierungs-verfahren:
- algebraische Minimierungsverfahren - grafische Minimierungsverfahren - tabellarische Minimierungsverfahren
1 Boolesche Algebra und Schaltalgebra Folie 41
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.8.1 Karnaugh-Veitch Diagramm
1.8.1.1 Allgemeines Aufbauprinzip
Der Grundaufbau eines KV-Diagramms mit einer Variablen ist in der folgenden Abbildung gegeben:
A = 0A
A
1 Variable: 2 FelderA = 1
Um ein besseres Verständnis des KV-Diagramms zu gewährleisten, sei der Aufbau kurz an einem einfachen Beispiel des Euler-Venn-Diagramms erläutert.
A A
kombiniert mit
BB
ergibt BB A ABA
BA
A A
A A
kombiniert mit
B
B
B
B
ergibt BA
A A
B
B
B
B
A AB
A
1 Boolesche Algebra und Schaltalgebra Folie 42
Grundlagen der Technischen Informatik 1 Version: WS07/08
Ein KV-Diagramm für (n+1) Variablen entsteht, indem das KV-Diagramm für (n) Variablen an der unteren Kante gespiegelt wird, falls (n) ungerade ist, bzw. an der rechten seitlichen Kante gespiegelt wird, falls (n) gerade ist.
A
A
B
A
B
C
A
C
B
D
1 Boolesche Algebra und Schaltalgebra Folie 43
Grundlagen der Technischen Informatik 1 Version: WS07/08
A
B
C
D
Jedes Feld des KV-Diagramms entspricht genau einem Minterm.
A
B
C
0000
D
0I00 II00 I000
0000 0I00 II00 I000
00I0 0II0 III0 I0I0
00II 0III IIII I0II
000I 0I0I II0I I00I
000I 0I0I II0I I00I
0000
00I0
00II
000I
I000
I0I0
I0II
I00I
Definition 1-19: „benachbart“
Zwei Felder gelten als benachbart, wenn sie sich in genau einer Variablen unterscheiden, die beim einen Feld in negierter und beim anderen in nicht negierter Form auftritt.
1 Boolesche Algebra und Schaltalgebra Folie 44
Grundlagen der Technischen Informatik 1 Version: WS07/08
Achtung: Bei KV-Diagrammen mit mehr als vier Variablen ergeben sich ab der fünften Variablen nicht mehr für alle Variablen zusammenhängende Bereiche!
AE
C
Bp2D
A
BD
A C.
A C.
p2
p1 p1 p1 p1
p2 p2p3 p3
Beispiele:
EDCB3pDBC 2pDBA1p
⋅⋅⋅=
⋅⋅=
⋅⋅=
1 Boolesche Algebra und Schaltalgebra Folie 45
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.8.1.2 Minimierung
Beispiel:
( ) BACCBACBACBAf ⋅=+⋅⋅=⋅⋅+⋅⋅=
Dieser Vorgang wird im KV-Diagramm grafisch realisiert, indem benachbarte Felder, die beide mit einer I gekennzeichnet sind, zusammengefasst werden. Diese Zusammenfassung wird durch einen Kringel um dies Felder kenntlich gemacht.
Achtung: Ein "don’t care"-Funktionswert kann hierbei als I betrachtet werden, falls es für die Minimierung förderlich ist.
Beispiel:
CBACBAf ⋅⋅+⋅⋅=
BAf ⋅=⇒
1 Boolesche Algebra und Schaltalgebra Folie 46
Grundlagen der Technischen Informatik 1 Version: WS07/08
Beispiel 1:
DNF: f1 = CBA + CBA + CBA + CBA + CBA + A B C + CBA
CBA
CBA
CBA
CBA
CBACBA
A B C CBA
1 Boolesche Algebra und Schaltalgebra Folie 47
Grundlagen der Technischen Informatik 1 Version: WS07/08
Beispiel 2:
DNF: f2 = DCBA + DCBA + DCBA + DCBA + DCBA + DCBA + DCBA + DCBA + DCBA + DCBA + DCBA
A
I I I I
B I I 0 I I I 0 I D 0 0 0 I
C => Disjunktive Minimalform:
Beispiel 3:
DNF: f3 = DCBA + DCBA + DCBA + DCBA + DCBA + DCBA + DCBA + DCBA
A I I I I
I I I I B 0 0 0 0
0 0 0 0D
C
=> Disjunktive Minimalform:
1 Boolesche Algebra und Schaltalgebra Folie 48
Grundlagen der Technischen Informatik 1 Version: WS07/08
Beispiel 4:
DNF: f4 = DCBA + DCBA + DCBA + DCBA + DCBA + DCBA
A 0 I 0 0
B I 0 0 I I 0 0 I D 0 I 0 0
C => Disjunktive Minimalform:
Beispiel 5:
DNF: f5 = DCBA + DCBA + DCBA + DCBA
A
I 0 0 I B 0 0 0 0 0 0 0 0 D I 0 0 I
C => Disjunktive Minimalform:
1 Boolesche Algebra und Schaltalgebra Folie 49
Grundlagen der Technischen Informatik 1 Version: WS07/08
1.8.2 Quine-McCluskey
Schritt 1: Ermittlung der Primterme
Gegeben: Die Funktion f in der DNF.
Schritt 1.1: Umwandeln der Minterme in die Binär-äquivalente
Die Darstellung der durch f gegebenen Minterme mittels des Binäräquivalents ist für das weitere Vorgehen wesentlich übersichtlicher. Dabei gelten die folgenden Konventionen:
enthaltenTermimAnochAWeder
IA0A
ii
i
i
⇔−
⇔⇔
Schritt 1.2: Sortieren und Gruppieren der Binär-äquivalente
Für alle Binäräquivalente der Minterme der gegebenen DNF wird die Anzahl der enthaltenen "I"-en, der sogenannte Index, ermittelt. Anschließend werden sie nach aufsteigendem Index geordnet in die erste Spalte der im Folgenden dargestellten Tabelle eingetragen. Dabei bilden Binäräquivalente gleichen Index eine Gruppe. Die einzelnen Gruppen werden in der Tabelle durch einen Querstrich getrennt.
Beispiel:
DCBADCBADCBADCBADCBADCBADCBADCBADCBADCBADCBADCBAf
++++
+++++++=
1 Boolesche Algebra und Schaltalgebra Folie 50
Grundlagen der Technischen Informatik 1 Version: WS07/08
Spalte 1 Spalte 2 Spalte 3 Nr Index Term entstan-
den ausIndex Term entstanden
aus Term
0 0 0000 2 1 00I0 4 1 0I00 8 1 I000 5 2 0I0I 9 2 I00I 10 2 I0I0 12 2 II00 7 3 0III 11 3 I0II 13 3 II0I
1 Boolesche Algebra und Schaltalgebra Folie 51
Grundlagen der Technischen Informatik 1 Version: WS07/08
Schritt 1.3: Zusammenfassen der Terme
Jeder Term einer Gruppe (Index = i) wird mit jedem Term der folgenden Gruppe (Index = i+1) verglichen. Unterscheiden sich zwei Terme in genau einer Stelle, so werden sie mit einem Häkchen ("√") markiert und der zusammengefasste Term wird in der nächsten Spalte einschließlich der Nummern der Terme, aus denen er entstanden ist, notiert (s.Tab.). Die Stelle bzw. Variable, in der sich die beiden zusammengefassten Terme unterscheiden, wird als “−“ notiert. Dieses Verfahren wird für alle Gruppenpaare der Spalte 1 durchgeführt.
Nun wird mit Spalte 2 genauso verfahren wie mit Spalte 1 und so entsteht Spalte 3. Diese Vorgehensweise wird solange fortgesetzt, bis eine Spalte entsteht, in der keine Zusammenfassung mehr möglich ist.
Schritt 1.4: Sammeln der Primterme
Kann ein Term nicht mehr mit einem anderen aus seiner benachbarten Gruppe zusammengefasst werden, so handelt es sich hierbei um einen Primterm. Die Primterme werden mit P1, P2, u.s.w. bezeichnet. Diese Bezeichnung wird an Stelle des Häkchen in der Tabelle eingetragen (vgl.Tab.: P1 in Spalte 2).
1 Boolesche Algebra und Schaltalgebra Folie 52
Grundlagen der Technischen Informatik 1 Version: WS07/08
Schritt 2: Bestimmung einer minimalen DNF
Schritt 2.1: Aufstellung der Primterm-Minterm-Tabelle
Zunächst stellt man eine Tabelle bzw. Matrix auf, in der jedem Minterm eine Spalte und jedem Primterm eine Zeile zugeordnet ist, Dh in der ersten Zeile der Primterm-Minterm-Tabelle werden die Ordnungsnummern der gegebenen Minterme in numerischer Reihenfolge aufgeführt. Die erste Spalte enthält die gefundenen Primterme P1 bis Pn. In der so entstandenen Primterm-Minterm-Tabelle werden alle Felder [i, k] mit einem Kreuz markiert, an denen ein Primterm Pi einen Minterm mk überdeckt, d.h. der Primterm Pi muss die selbe logische Funktion beschreiben wie die Disjunktion der von ihm über-deckten Minterm mk (Pi ↔ Σmk). Die Nummern der von einem Primterm überdeckten Minterme können direkt aus der Tabelle aus Schritt 1 aus der Spalte "entstanden aus" abgelesen werden.
Für das obige Beispiel ergibt sich die folgende Primterm-Minterm-Tabelle:
0 2 4 5 7 8 9 10 11 12 13 P1 P2 P3 P4 P5 P6
1 Boolesche Algebra und Schaltalgebra Folie 53
Grundlagen der Technischen Informatik 1 Version: WS07/08
Schritt 2.2: Ermittlen der Kernprimimplikanten
Wird ein Minterme nur durch einen Primterm abgedeckt, so muss dieser Primterm auf jeden Fall in der minimalen DNF zur Beschreibung von f verwendet werden. Solche Primterme werden als Kernprimimplikanten bezeichnet. Im KV-Diagramm ist ein Kernprimimplikant anschaulich ein Block, der eine (I) enthält, die in keinen anderen Primterm enthalten ist.Ihr exklusiv abgedeckter Minterm wird in der Tabelle doppelt unterstrichen dargestellt. Für die weiteren Minimierungs-überlegungen müssen alle Minterme, die zusätzlich durch diesen Primterm abgedeckt werden, nicht mehr betrachtet werden. Dies wird kenntlich gemacht, indem sowohl die Zeile des entsprechenden Kernprimimplikanten, als auch die Spalte aller von ihm abgedeckter Minterme gestrichen werden. Nach Weglassen aller gestrichenen Zeilen und Spalten verbleibt die folgende Restmatrix:
Schritt 2.3: Streichen von dominierten Zeilen
Im letzten Teilschritt soll für die noch verbliebenen Minterme ein möglichst kurzer Ausdruck mittels der verbliebenen Primterme ermittelt werden. In diesem Beispiel dominiert der Primterm P4 über die Primterme P3 und P6, da er alle Minterme abdeckt, die vom jeweiligen dominierten Primterm (P3 bzw. P6) abgedeckt werden. Die dominierten Primterm werden durch Streichen der entsprechenden Zeile eliminiert.