2 Schaltalgebra bzw. Boole`sche Algebra *

Werbung
9
2
Schaltalgebra bzw. Boole’sche
Algebra *
Die zweiwertige Logik nimmt eine besondere Bedeutung in
der Rechnerentwicklung ein, da Daten mit physikalischen
Größen besonders gut durch zwei Werte dargestellt und weiterverarbeitet werden können. Beispiele dazu sind elektrische Spannungen und Ströme, die jeweils durch ihr Vorhandensein (=1) oder Nichtvorhandensein (=0) modelliert
werden können. Ein mathematisches Hilfsmittel, das die Beschreibung von digitalen Systemen auf Basis einer zweiwertigen Logik ermöglicht, ist unerlässlich. Die Boole’sche Algebra – auch Schaltalgebra genannt – stellt ein derartiges Hilfsmittel dar und wird in diesen Unterkapiteln näher erläutert.
Logische Aussagen und deren Verknüpfungen dienen als
Grundlage von Boole’schen Ausdrücken:
»Aussagen«, S. 10
Algebraische Darstellungsformen und das Vorgehen bei der
Auswertung von Boole’schen Ausdrücken werden vorgestellt:
»Boole’sche Ausdrücke«, S. 14
Es gibt neben der algebraischen Darstellung weitere Darstellungsformen für Boole’sche Funktionen, einer besonderen
Form Boole’scher Ausdrücke:
»Boole’sche Funktionen«, S. 22
Um die algebraische Darstellung einer Boole’schen Funktion
so weit wie möglich zu vereinfachen, gibt es verschiedene
Minimierungsverfahren:
»Minimierung Boole’scher Funktionen «, S. 28
Wichtige Regeln der Boole’schen Algebra, die besonders häufig im Rahmen verschiedener Umformungen und Vereinfachungen notwendig sind, werden vorgestellt:
»Zusammenfassung der Umformungsregeln«, S. 40
10
2 Schaltalgebra bzw. Boole’sche Algebra *
2.1 Aussagen *
Aussagen sind Sätze, die wahr oder falsch sein können. Solche Sätze können auf verschiedene Arten miteinander verknüpft werden, so dass auch die entstehende Gesamtaussage einen Wahrheitswert abhängig von den einzelnen Teilen
besitzt.
Zur Untersuchung von physikalischen Phänomenen wird gewöhnlich eine Abstraktion vorgenommen, um im Laufe der
Untersuchung Trugschlüsse aus falschen Vorstellungen heraus zu vermeiden. In der Physik werden beispielsweise häufig algebraische Formeln zur Beschreibung physikalischer
Zusammenhänge verwendet. Ganz analog ist es in der sogenannten Aussagenlogik. Hier sind die Objekte der Untersuchung einfach Sätze. Ein Satz (genauer: das, was ein Satz
ausdrückt) kann richtig oder falsch sein. Man sagt:
Die Aussage (des Satzes) kann richtig oder falsch sein.
Betrachtet werden die in Tab. 2.1-1 aufgeführten Sätze.
A1: Zwei Ziffern sind gleich.
Die Richtigkeit des Satzes hängt von den Werten
der beiden Ziffern ab.
A2: Zwei Zahlen sind gleich.
Die Richtigkeit des Satzes hängt vom Wert der
Zahlen ab.
A3: 0 und 1 sind gleich.
Die Aussage ist mit den angenommenen
Definitionen für 0 und 1 falsch.
A4: Zwei Zahlen sind gleich,
wenn sämtliche Ziffern gleicher
Wertigkeit gleich sind.
Die Aussage ist immer richtig.
Tab. 2.1-1: Beispielsätze für die Aussagenlogik.
Beziehungen innerhalb eines Satzes, etwa zwischen Subjekt und Prädikat, sollen unberücksichtigt bleiben. Nimmt
man z. B. den Gegenstand »zwei Ziffern« und die Eigenschaft
»gleich sein«, so entsteht erst durch die Vereinigung von Gegenstand und Eigenschaft eine Aussage: »Zwei Ziffern sind
gleich«.
11
2.1 Aussagen *
Boole’sche Variablen
Aus der genannten Überlegung erhält man in der
Boole’schen Algebra Variablen (Boole’sche Variablen), die
jeweils zwei Werte annehmen, und dem Wahrheitswert einer
Aussage entsprechen. Für die beiden möglichen Wahrheitswerte sind in der Literatur zum Beispiel die folgenden Symbole gebräuchlich: (F für falsch, W für wahr), (F für false, T
für true), (L für Low, H für High) oder (0, 1). Im Weiteren
werden die Bezeichnungen (0, 1) verwendet.
Grundverknüpfungen
Aussagen können miteinander (sprachlich mit Bindewörtern) verknüpft werden. Weiterhin können die Aussagen manipuliert werden, zum Beispiel um das Gegenteil einer Aussage auszudrücken.
Es sollen mit den folgenden Aussagen über zwei n-stellige
Zahlen X und Y und ihren Ziffern xi und yi mit (i=0, ..., n-1)
Verknüpfungen gebildet werden. Zur Abkürzung wird geschrieben
X = Y für die Aussage »Zwei Zahlen X und Y sind
gleich«
xi = yi für die Aussage »Zwei Ziffern xi und yi sind
gleich«
und bilden damit neue Sätze:
V1: Wenn (xi = yi) für alle i = 0,...,n-1, dann X = Y.
V2: Wenn X = Y, dann (xi = yi) für alle i = 0, ..., n-1.
V3: X = Y genau dann, wenn x0 = y0 und x1 = y1 und x2
= y2 ... und xn-1= yn-1.
V4: Weder x0 = y0 noch x1 = y1.
V5: x0 ist nicht gleich y0 und x1 ist nicht gleich y1.
V6: X = Y ist nicht richtig.
Die beiden Sätze V1 und V2 zusammen genommen sind
offensichtlich in ihrer Aussage zu V3 äquivalent. Weiterhin sagen die Sätze V4 und V5 dasselbe aus. Der Satz »xi
ist nicht gleich yi« kann natürlich auch als neue Aussage
»xi ungleich yi« aufgefasst und abgekürzt werden: xi=yi.
In V6 wird behauptet: X = Y sei falsch. Das heißt: »X ist
nicht gleich Y« oder »X ist ungleich Y«, abgekürzt X=Y.
Beispiel
12
2 Schaltalgebra bzw. Boole’sche Algebra *
Zur Abkürzung eines Wahrheitswertes bzw. eines Wertes soll
für richtig 1 und für falsch 0 geschrieben werden. Damit lassen sich Dualziffern wie Aussagen behandeln und arithmetische Operationen mit Dualzahlen mit den Möglichkeiten des
Aussagenkalküls formulieren. Das ist von eminenter Bedeutung, da diese Art der Beschreibung leicht technisch nachgebildet werden kann.
Aussagenvariable
Aussagenvariable bzw. Variable werden durch lateinische
Buchstaben, gelegentlich auch Buchstabengruppen oder
Buchstabenfolgen dargestellt und dienen der Abkürzung
von Aussagen. Variablen können indiziert sein. Im letzten
Beispiel ist bereits von der Möglichkeit, Aussagen durch Abkürzungen zu kennzeichnen, Gebrauch gemacht worden.
Die Verknüpfungen zwischen Aussagenvariablen können
als Operationen verstanden werden. Entsprechend werden
Symbole definiert, die eine Abkürzung der entsprechenden
Operation darstellen. Diese Symbole werden im Folgenden
Boole’sche Operatoren genannt und werden durch Sonderzeichen, die zum Teil anderen Algebren entlehnt sind,
dargestellt. Einige wichtige Operatoren und ihre sprachliche Bedeutung werden in Tab. 2.1-2 vorgestellt [BDM05],
[WuHe03].
¬
NICHT, NOT
∧ (·)
UND; sowohl – als auch, AND
∨ (+)
ODER; OR
↔(≡)
genau dann – wenn; dann und nur dann – wenn;
äquivalent, EQU
⊕
entweder – oder; alternativ, Exklusiv-Oder, EXOR
↓
weder – noch; Piercefunktion; NOR (Not OR)
|
Shefferstrich; NAND (Not AND)
→
wenn – dann, Implikation
Tab. 2.1-2: Die wichtigsten Boole’schen Operatoren und deren Bedeutung.
Die 3 Operatoren »¬«, »∨« und »∧« stellen Grundverknüpfungen der Boole’schen Algebra dar [WuHe03]. Statt des Operators »¬« zur Negation eines Ausdrucks wird häufig auch
13
2.1 Aussagen *
ein Strich über dem gesamten zu negierenden Ausdruck verwendet. ¬A ist also gleichbedeutend mit A.
Die Variablen a und b seien beliebige Aussagen. Aus der Vielzahl der möglichen Operationen sind in der Abb. 2.1-1 die
wichtigsten definiert und mit Namen versehen.
Boole’sche
Operatoren
Abb. 2.1-1: Übersicht über die wichtigsten Boole’schen Operationen.
Anhand eines einfachen Beispiels wird gezeigt, wie
Boole’sche Operatoren eingesetzt werden können. Dazu
werden zwei n-stellige Zahlen
e X = x ...x x
n-1
1 0
e Y = y ...y y
n-1
1 0
auf die Aussage »X = Y« verglichen. Setzt man zur Abkürzung
e gl für die Aussage »X = Y« und
Beispiel
14
2 Schaltalgebra bzw. Boole’sche Algebra *
e g für die Aussage »x = y «,
i
i
i
so kann der Satz »X = Y dann und nur dann, wenn
(x0=y0) und (x1=y1) und ... (xn-1=yn-1)« kompakter formuliert werden:
n−1
gl ↔ gn−1 ∧ gn−2 ∧ gn−3 ∧ ... ∧ g1 ∧ g0 ↔
gi
i=0
2.2 Boole’sche Ausdrücke *
Boole’sche Ausdrücke entstehen durch endlich wiederholte Anwendung von Operatoren auf Boole’sche Konstanten, Variablen und Ausdrücke selbst. Zur Abbildung von
Ausdrücken werden algebraische Darstellungen verwendet,
von denen es mehrere für einen äquivalenten Ausdruck
geben kann. Um eine leichte Vergleichbarkeit von algebraischen Darstellungen zu ermöglichen, werden Normalformen definiert. Umformungsregeln dienen der Erstellung
von äquivalenten Ausdrücken.
Durch die Anwendung von Operatoren auf Konstanten und
Variablen entstehen einfache Ausdrücke, die durch endlich
wiederholte Anwendung von Operatoren komplexer werden
können. Die Reihenfolge für die Wirkung der Operatoren
wird durch Klammern oder durch Vorrangregeln festgelegt
[BDM05].
Definition
Werden zur Bildung eines Ausdrucks nur die Boole’schen
Operatoren »¬«, »∨«, »∧« sowie Boole’sche Variablen benutzt, so entsteht ein Boole’scher Ausdruck.
Es wird festgelegt, dass, solange nicht Klammern die Reihenfolge der Operationen regeln, »∧« vor »∨« ausgeführt wird.
Dies ist an die elementare Algebra angelehnt, in der die Multiplikation vor der Addition durchgeführt wird. Solange keine Verwechslungen mit Variablennamen möglich sind, darf
»∧« weggelassen werden. Besteht ein Variablenname in einem Ausdruck aus mehr als zwei Buchstaben, so sollte der
Multiplikationsoperator in jedem Fall geschrieben werden.
In der Literatur werden statt des Operators »∨« häufig auch
ein »+« und statt »∧« ein Multiplikationspunkt verwendet.
15
2.2 Boole’sche Ausdrücke *
Wenn x, y und u Variable sind, dann ist (x = y) = u ein Ausdruck und x y ∨ (x ∨ y) ∧ u ein Boole’scher Ausdruck. Dadurch, dass ∧ über ∨ Vorrang hat, lautet dieser Ausdruck
ausführlich geschrieben: (x ∧ y) ∨ ((x ∨ y) ∧ u). In den Ausdrücken treten Aussagenvariablen nur in endlicher Zahl
auf.
Auswertung von Ausdrücken
Die Ermittlung des Wahrheitswertes eines Ausdrucks erfolgt,
indem für alle Variablen des Ausdrucks alle Wertekombinationen (0 und 1 für jede Variable) betrachtet werden. Für jede Kombination wird der Wahrheitswert entsprechend der
Klammerstruktur und der Vorrangregeln in der Weise ermittelt, dass aus den Definitionen der einzelnen Operationen der Wahrheitswert der Teilausdrücke und schließlich
des Ausdrucks selbst schrittweise der Reihe nach berechnet
wird.
Gesetze der Boole’schen Algebra
Zur Definition einer Algebra, die auf Boole’schen Ausdrücken angewendet werden kann, ist die Formulierung einiger Gesetze wichtig, die in dieser Algebra gelten und die
in einer ähnlichen Form bereits aus der Schulmathematik
bekannt sind.
Im Einzelnen sind dies:
A1: Kommutativgesetze oder Vertauschungsregeln
A1a : a ∧ b = b ∧ a
A1b : a ∨ b = b ∨ a
A2: Assoziativgesetze oder Anreihungsregeln
A2a : (a ∧ b) ∧ c = a ∧ (b ∧ c) = a ∧ b ∧ c
A2b : (a ∨ b) ∨ c = a ∨ (b ∨ c) = a ∨ b ∨ c
A3: Distributivgesetze oder Mischungsregeln
A3a : a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
A3b : a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)
Konjunktion und Disjunktion sind symmetrisch (A1). Mehrgliedrige Konjunktionen und Disjunktionen können ohne
Klammern geschrieben werden (A2), da die Reihenfolge der
Auswertung belanglos ist. Gemischte Klammerausdrücke
Beispiel
16
2 Schaltalgebra bzw. Boole’sche Algebra *
können »ausmultipliziert« (A3a) und »ausaddiert« (A3b)
werden.
Die Äquivalenzen A1 bis A3 sind Teil der Definition einer
besonderen Algebra, die zur Unterscheidung von der elementaren Algebra, die aus der Schulmathematik bekannt ist,
»Boole’sche Algebra« genannt wird. Die Boole’sche Algebra
hat für die mathematische Logik wie auch für die Digitaltechnik eine grundlegende Bedeutung. Sie zeichnet sich vor
allem durch eine übersichtliche Darstellung logischer Zusammenhänge aus. Es sei noch darauf hingewiesen, dass es
in der Boole’schen Algebra keine sogenannten Umkehroperationen für »∧« und »∨« gibt, also weder Division noch Subtraktion.
Außer den bislang genannten Gesetzen existieren weitere
Regeln der Boole’schen Algebra, die zum Teil voneinander
ableitbar sind:
S1: Idempotenzgesetze
S1a : a ∨ a = a
S1b : a ∧ a = a
S2: Absorptionsgesetze
S2a : a ∨ a ∧ b = a
S2b : a ∧ (a ∨ b) = a
S3: Involution oder Doppelnegationsgesetz
S3 : a = a
S4: DeMorgan’sche Gesetze
S4a : a ∨ b = a ∧ b
S4b : a ∧ b = a ∨ b
S5: Extremalgesetze
S5a : a ∨ 1 = 1
S5b : a ∧ 0 = 0
S6: Neutralitätsgesetze
S6a : a ∧ 1 = a
S6b : a ∨ 0 = a
S7: Komplementärgesetze
S7a : a ∧ a = 0
S7b : a ∨ a = 1
S8: Dualitätsgesetze
S8a : 1 = 0
S8b : 0 = 1
17
2.3 Normalformen *
Das folgende Beispiel zeigt, wie die verschiedenen Gesetze der Boole’schen Algebra eingesetzt werden können. Es
wird mit Hilfe von Umformungsregeln bewiesen, dass die
negierte Äquivalenz der Antivalenz entspricht.
a↔b = a∧b∨a∧b
=
(a ∧ b) ∧ (a ∧ b)
=
(a ∨ b) ∧ (a ∨ b)
=
(a ∧ a) ∨(a ∧ b) ∨ (a ∧ b) ∨ (b ∧ b)
=
a∧b∨a∧b
0
Beispiel
0
Optimierung von Boole’schen Ausdrücken
Die angegebenen Regeln werden außerdem verwendet, um
komplexe Boole’sche Ausdrücke umzuwandeln und (wenn
gewünscht) durch einfachere Äquivalenzen zu ersetzen, wie
das folgende Beispiel zeigt.
(x0 ∨ x1 ) ∨ x0 x1 x2
=
(x0 ∨ x1 ) ∨ ((x0 ∨ x1 ) ∧ x2 )
=
((x0 ∨ x1 ) ∨ (x0 ∨ x1 ))∧
=
1 ∧ (x0 ∨ x1 ∨ x2 )
=
x0 ∨ x1 ∨ x2
((x0 ∨ x1 ) ∨ x2 )
2.3
Normalformen *
Aufgrund der zahlreichen Darstellungsmöglichkeiten für
Ausdrücke ist die algebraische Form eines Ausdrucks niemals eindeutig. Um eine Eindeutigkeit zu ermöglichen und
einen leichten Vergleich zweier Ausdrücke anhand der algebraischen Darstellung durchführen zu können, werden
Normalformen definiert.
Ausdrücke können zur besseren Vergleichbarkeit als Normalformen dargestellt werden. Diese Normalformen haben einen spezifisch festgelegten Aufbau. Man unterscheidet zwischen disjunktiver und konjunktiver Normalform
[WuHe03].
Beispiel
18
Definition
2 Schaltalgebra bzw. Boole’sche Algebra *
Eine disjunktive Normalform (abgekürzt DNF) eines
Boole’schen Ausdrucks ist eine algebraische Darstellung
mit der Struktur
n−1
k0 ∨ k1 ∨ k2 ... ∨ kn−1 =
ki ,
i=0
wobei alle ki Terme sind, die nur aus mit Konjunktionen
verbundenen einfachen oder negierten Variablen bestehen. Eine disjunktive Normalform ist also eine Disjunktion von Konjunktionstermen.
Beispiel 1a
Gezeigt wird beispielhaft die DNF einer Funktion:
si = ui xi yi ∨ ui xi yi ∨ ui xi y i ∨ ui xi yi
Definition
Eine konjunktive Normalform (abgekürzt KNF) eines
Boole’schen Ausdrucks ist eine algebraische Struktur der
Form
n−1
d0 ∧ d1 ∧ d2 ... ∧ dn−1 =
di ,
i=0
wobei alle di Disjunktionsterme darstellen, also mit
ODER-Verknüpfungen verbundene einfache oder negierte
Variablen.
Beispiel 1b
Eine konjunktive Normalform der gerade gezeigten beispielhaften Funktion kann aus der DNF mittels Ausaddierens ermittelt werden. Bei der folgenden Umformung
wird zweimal ausaddiert, wobei vom zweiten zum dritten
Schritt die doppelt entstehenden Terme, sowie alle Terme,
die 1 sind, weggelassen werden:
si
=
=
ui xi yi ∨ ui xi yi ∨ ui xi y i ∨ ui xi yi
(ui ∨ ui )(ui ∨ xi )(ui ∨ y i )(xi ∨ ui ) (xi ∨ xi )
1
ui
(xi ∨ y i )(yi ∨ ui )(yi ∨ xi ) (yi ∨ y i )
1
∨ (ui ∨ ui )(ui ∨ xi )(ui ∨ yi )(xi ∨ ui ) (xi ∨ xi )
ui
1
(xi ∨ yi )(yi ∨ ui )(yi ∨ xi ) (y i ∨ yi )
1
=
(xi ∨ y i ∨ ui )(xi ∨ yi ∨ ui )(xi ∨ yi ∨ ui )(xi ∨ yi ∨ ui )
2.3 Normalformen *
19
Wie an dem Beispiel gezeigt, kann mittels Ausaddierens jede DNF in eine KNF umgewandelt werden. Umgekehrt kann
zu jeder KNF durch Ausmultiplizieren eine äquivalente DNF
berechnet werden.
Es gibt auch einfachere Möglichkeiten der Erstellung einer
disjunktiven und konjunktiven Normalform. So kann eine
DNF auch ermittelt werden, indem für jede mögliche Kombination von Eingangswerten, bei denen der Ausdruck das
Ergebnis 1 hat, ein Konjunktionsterm erstellt wird. Die Gesamtheit der disjunktiv verknüpften Konjunktionsterme ergibt eine disjunktive Normalform. Die drei dafür nötigen
Boole’schen Operatoren »∧«, »∨« und »¬« sind zur Darstellung beliebiger Boole’scher Ausdrücke ausreichend.
Mit diesem Wissen kann jeder beliebige Ausdruck des Aussagenkalküls mittels folgender Schritte in eine Normalform
umgerechnet werden:
1
2
3
Eliminieren von ↔, ⊕, ↓, |, → durch Umformungsregeln.
Wiederholte Anwendung der Regeln von de Morgan so
lange, bis Negationen nur über einzelnen Variablen auftreten.
Wiederholte Anwendung der Distributivgesetze (A3a
oder A3b) zur Erstellung einer DNF oder KNF.
Ausgezeichnete Normalform
Die beiden Normalformen sind keineswegs beispielhafte
Formen. Zu einer DNF gibt es beliebig viele äquivalente disjunktive Normalformen, ebenso wie es zu einer KNF beliebig viele äquivalente konjunktive Normalformen gibt. Trotzdem existiert zu jeder Normalform eine kanonische, die sogenannte ausgezeichnete Normalform oder auch Hauptnormalform.
Eine disjunktive Normalform heißt ausgezeichnete DNF
(abgekürzt ADNF), wenn in jedem Konjunktionsterm jede
Variable genau einmal (normal oder negiert) auftritt. Eine
solche Konjunktion wird Minterm genannt.
Eine konjunktive Normalform heißt ausgezeichnete
KNF (abgekürzt AKNF), wenn in jedem Disjunktionsterm
jede Variable genau einmal (normal oder negiert) auftritt.
Definitionen
20
2 Schaltalgebra bzw. Boole’sche Algebra *
Eine solche Disjunktion wird Maxterm genannt.
Minterme und Maxterme dürfen nicht mehrfach auftreten.
Unter der Benutzung der Begriffe »Minterm« und »Maxterm« lassen sich die ausgezeichneten Normalformen klar
beschreiben:
Eine ADNF ist eine Summe von Mintermen.
Eine AKNF ist ein Produkt von Maxtermen.
Beispiel 1c
Im Beispiel 1b wurden sowohl eine KNF als auch eine DNF
erstellt. Zurückblickend auf dieses Beispiel zeigt sich,
dass beide erstellten Normalformen auch ausgezeichnete
Normalformen waren, da in jedem Term alle vorhandenen
Variablen genau einmal negiert oder nicht negiert vorkamen. Für andere Beispiele muss dies nicht genauso gelten.
Konstruktion der ausgezeichneten
Normalformen
Zur Konstruktion der ausgezeichneten Normalform eines
Ausdrucks wird eine Tabelle erzeugt, in der für jede mögliche Wertekombination an den Eingängen eine Tabellenzeile erstellt wird. Jede Zeile der Tabelle, in der das Ergebnis
des Ausdrucks eins ist, kann algebraisch durch einen Term
beschrieben werden, in dem die unabhängigen Eingangsvariablen xi konjunktiv verknüpft eingehen. Dabei wird jedes
xi negiert, das in der Tabellenzeile den Wert null besitzt.
Da jede Tabellenzeile alle Eingangsvariablen enthält, besitzt
dieser Konjunktionsterm alle Eingangsvariablen in negierter
oder nicht negierter Form. Es handelt sich also um einen
Minterm, der eine Eingangskombination beschreibt, bei der
die Funktion den Wert eins erhalten soll. Wenn sämtliche
Minterme mit dieser Eigenschaft disjunktiv miteinander verknüpft werden, erhält man eine Summe von Mintermen, die
den Ausdruck vollständig beschreibt. Dabei handelt es sich
um die ausgezeichnete disjunktive Normalform.
Entsprechend kann man auch zur Erstellung der ausgezeichneten konjunktiven Normalform verfahren. Jede Zeile, deren Ergebnis des Ausdrucks null ist, kann durch einen
Maxterm dargestellt werden, in den alle Variablen oder-verknüpft eingehen. Damit das Ergebnis dieses Maxterms null
21
2.3 Normalformen *
wird, müssen die mit eins belegten Eingangsvariablen vor
der Disjunktion negiert werden. Die einzelnen Maxterme
werden dann konjunktiv miteinander verknüpft.
Wenn der Wert des Ausdrucks in jeder Zeile i der Tabelle mit
ci bezeichnet wird, lässt sich diese Konstruktionsvorschrift
formell erfassen:
ADNF:
y = f (x) =
ki (x0 , x1 , ..., xn ) ∧ ci
∀i
Die ADNF einer Funktion y = f (x0 , x1 , ..., xn ) ist die Summe
aller derjenigen Minterme, deren zugeordneter Ergebniswert ci = 1 ist (ci = 0 liefert keinen Beitrag zur Summe,
da ki (x0 , x1 , ..., xn ) ∧ 0 = 0!).
AKNF:
y = f (x) = (di (x0 , x1 , ..., xn ) ∨ ci )
∀i
Die AKNF einer Funktion y = f (x0 , x1 , ..., xn ) ist das
Produkt aller derjenigen Maxterme, deren zugeordneter
Funktionswert ci = 0 ist (ci = 1 liefert keinen Beitrag zum
Produkt, da di (x0 , x1 , ..., xn ) ∨ 1 = 1!).
Der Buchstabe c für den Funktionswert ci soll hierbei andeuten, dass es sich um eine Konstante handelt.
Das vorgestellte Verfahren zur Ermittlung der ADNF und
AKNF wird im Folgenden verdeutlicht. Als Beispiel dient
die Funktion:
c = x0 ⊕ x 1 ⊕ x 2
Abb. 2.3-1 zeigt die Funktion in tabellarischer Form.
Abb. 2.3-1: Erweiterung einer Funktionstabelle um alle möglichen Min- und
Maxterme.
Beispiel
22
2 Schaltalgebra bzw. Boole’sche Algebra *
Rechts neben der Wertetabelle sind auch die zugeordneten Minterme und Maxterme eingetragen. Daraus ergibt
sich für y= f(x):
y
=
f (x) =
7
ki (x2 , x1 , x0 ) ∧ ci
i=0
=
k0 ∧ 0 ∨ k1 ∧ 1 ∨ k2 ∧ 1 ∨ k3 ∧ 0 ∨ k4 ∧ 1∨
k 5 ∧ 0 ∨ k6 ∧ 0 ∨ k7 ∧ 1
y
=
k1 ∨ k2 ∨ k4 ∨ k7
=
x2 x1 x0 ∨ x2 x1 x0 ∨ x2 x1 x0 ∨ x2 x1 x0
=
f (x) =
7
(di (x2 , x1 , x0 ) ∨ ci )
i=0
=
(d0 ∨ 0)(d1 ∨ 1)(d2 ∨ 1)(d3 ∨ 0)(d4 ∨ 1)·
(d5 ∨ 0)(d6 ∨ 0)(d7 ∨ 1)
=
d0 ∧ d3 ∧ d5 ∧ d6
=
(x2 ∨ x1 ∨ x0 )(x2 ∨ x1 ∨ x0 )(x2 ∨ x1 ∨ x0 )(x2 ∨ x1 ∨ x0 )
Das Beispiel zeigt, wie zu einem Ausdruck eine ausgezeichnete konjunktive bzw. ausgezeichnete disjunktive Normalform als algebraisches Äquivalent konstruiert werden kann.
Die Bedeutung dieser Umformung liegt vor allem darin, dass
man diese algebraischen Formen prinzipiell ohne Probleme
in funktionsfähige Schaltungen übersetzen kann und damit
in der Lage ist, formal beschriebene Zusammenhänge, wie
etwa Additionstabellen, technisch zu verifizieren. Bei der
technischen Abbildung der Ausdrücke werden für die einzelnen Boole’schen Operatoren entsprechende logische Bauelemente verwendet. So kann eine direkte Abbildung der
Boole’schen Gleichung auf eine Schaltung erfolgen.
2.4 Boole’sche Funktionen *
Boole’sche Ausdrücke können mittels eines Gleichheitszeichens quasi wie bei der Verwendung in einer Funktion miteinander verknüpft werden. Auf diese Weise entsteht die
algebraische Darstellung einer Funktion. Neben dieser Darstellungsform können Funktionen auch in tabellarischer
Form oder als Funktionsdiagramme abgebildet werden.
Herunterladen