B - Hochschule Ravensburg

Werbung
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
Inhaltsverzeichnis
4
Boolesche Algebra...................................................................................................... 4-2
4.1
Algebra der Logik, algebraische Logik................................................................ 4-2
4.1.1
Schaltalgebra und logische Schaltungen ...................................................... 4-3
4.1.1.1 Zustand eines digitalen Systems .............................................................. 4-5
4.1.1.2 Schaltfunktion ......................................................................................... 4-5
4.1.1.3 Schaltalgebra........................................................................................... 4-5
4.1.1.4 Die logischen Grundfunktionen ............................................................... 4-6
4.1.1.5 Grundgesetze der Aussagenlogik ............................................................. 4-7
4.1.1.6 Rechenregeln der Schaltalgebra............................................................... 4-8
4.1.1.6.1 Grundregeln für das Rechnen mit zweiwertigen Variablen................. 4-8
4.1.1.6.2 Regeln für die booleschen Konstanten ............................................... 4-9
4.1.1.7 Herleitung des Theorems von De Morgan...............................................4-10
4.1.1.8 Theorem von De Morgan für eine beliebige Zahl von Variablen.............4-11
4.1.1.9 Zusammenfassung der logischen Grundfunktionen für zwei Variablen ...4-13
4.1.1.9.1 Verknüpfungsarten (Operatoren in C) ...............................................4-13
4.1.1.9.2 Verknüpfungsarten (Weitere Schreibweisen) ....................................4-14
4.1.2
Benennungen, Schaltsymbole und Schaltfunktion.......................................4-15
4.1.2.1 Negation (Komplementbildung) .............................................................4-15
4.1.2.2 Konjunktion ...........................................................................................4-16
4.1.2.3 Disjunktion.............................................................................................4-18
4.1.2.4 Schaltsymbole in alter und neuer Norm ..................................................4-20
4.1.2.5 Schaltsymbole nach DIN 40900 Teil 12..................................................4-21
4.2
Normalformen ...................................................................................................4-22
4.2.1
Kanonische Normalformen.........................................................................4-22
4.2.2
Kanonische disjunktive Normalform (KDNF) ............................................4-23
4.2.3
Kanonische konjunktive Normalform (KKNF) ...........................................4-24
4.3
Wahrheitstafel bzw. Schaltbelegungstabelle (SBT) ............................................4-25
4.3.1
Darstellung aller Eingangsvariablen einer Schaltbelegungstabelle ..............4-25
4.3.2
Darstellung einer vollständigen Schaltbelegungstabelle..............................4-26
4.3.3
Ansteuerung einer LED Anzeige für BCD-Codes.......................................4-27
4.3.4
Vollständige und unvollständige Funktionen. .............................................4-28
DV1_Kapitel_4.doc
Seite 4-1 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4 Boolesche Algebra
4.1 Algebra der Logik, algebraische Logik
Das ist die seit der Mitte des 19. Jh. entwickelte Form des Klassen- und
Relationenkalküls, die es erlaubt, die Gesetze der traditionellen (Klassen- oder
syllogistischen1) Logik sowie logische Schlüsse in algebraischer Form zu behandeln. Sie
basiert auf der von George Boole in seinem Werk „Mathematical analysis of logic“ (1847)
entworfenen Booleschen Algebra und ist ein wichtiger Spezialfall der mehrwertigen Logik.
Hauptwerk: „An investigation of the laws of thought (1854)“.
George Boole
George Boole, britischer Mathematiker und Logiker,
*Lincoln 2.11.1815,
‡Ballintemple (bei Cork, Irland) 8.12.1864.
Boole erwarb seine Kenntnisse der Mathematik
auf autodidaktischem Weg
und wurde 1849 Professor für Mathematik in Cork.
Er erkannte, dass der mathematische Formalismus
extensional ist und wandte diese Erkenntnis
auf die im mathematischen Denken
verwendeten logischen Gesetze selbst an.
Er entwickelte als erster einen brauchbaren Logikkalkül
und wurde so zum Begründer der mathematischen Logik.
In diesem ersten System der Algebra der Logik
wird jeder wahren Aussage und Aussagenverknüpfung
der Wert 1, jeder falschen der Wert 0 zugeordnet.
Boole erkannte außerdem,
dass sich die auf die Zahlen 1 und 0
beschränkte Arithmetik
als Klassenlogik deuten lässt
und entwickelte so die Boolesche Algebra.
(r.siol) 15.02.2006
FH_RV-Weingarten DV2 WS_0506
2
1
Den Syllogismus betreffend; die Lehre von den gültigen Schlüssen (Syllogismen, Schlussregeln) und deren
Formen bildet das Kernstück der klassischen Logik. Die Syllogistik ist eine von Aristoteles entwickelte Lehre.
Aus der Verbindung von zwei Vordersätzen (Prämissen) geht dabei der Schlusssatz (Konklusion) als logische
Folgerung hervor.
DV1_Kapitel_4.doc
Seite 4-2 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
4.1.1
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
Schaltalgebra und logische Schaltungen2
In digitalen nachrichtenverarbeitenden Systemen werden Nachrichten verschiedener
Herkunft zu neuen Nachrichten verknüpft. Obwohl hierzu sehr einfach aufgebaute
Grundschaltungen verwendet werden, ergeben sich bei größeren Systemen umfangreiche und
unübersichtliche Schaltungen, die einer anschaulichen Betrachtungsweise kaum mehr
zugänglich sind.
Man verwendet deshalb eine symbolische Beschreibung, welche nur die Funktion
einer Schaltung, nicht aber deren technische Ausführung kennzeichnet.
Die zur abstrakten Beschreibung wichtigen Hilfsmittel wurden zuerst von SHANNON
entwickelt [1], der die von BOOLE aus der formalen Logik abgeleitete symbolische Logik
durch Analogieschlüsse auf die Behandlung von Schaltkreisen übertrug und damit die
sogenannte Schaltalgebra begründete. Schaltungen, deren Verhalten durch die Schaltalgebra
beschrieben werden kann, nennt man logische Schaltungen und die Planung der
Zusammenhänge zwischen solchen logischen Schaltungen logischen Entwurf.
Claude Elwood Shannon
Claude Elwood Shannon,
amerikanischer Ingenieur und Mathematiker,
*Gaylord (Michigan) 30.4.1916; ab 1941 Mitarbeiter der Bell
Telephone Laboratories, ab 1956 Professor am MIT.
Neben Beiträgen zur Kryptographie (Verschlüsselungssysteme)
und zur Schaltungstheorie der frühen elektronischen Rechner
begründete Shannon 1949 mit seine Publikation
>A mathematical theory of communication<,
in der erstmals das Bit als Einheit einer Informationsmenge
definiert wird, die Informationstheorie.
Shannon lieferte damit die formale Grundlage für die
Beschreibung von Daten-, Sprachen-, Ton- und
Fernsehübertragungssystemen.
Daneben beeinflusst die Informationstheorie in ihrer
weiterentwickelten Form heute weite Bereiche der Natur- und
Geisteswissenschaften.
(r.siol) 18.10.2007
2
Hochschule Ravensburg-Weingarten
Technik | Wirtschaft | Sozialwesen
25
Steinbuch/Rupprecht; Nachrichtentechnik – Eine einführende Darstellung; Springer Verlag; 1966
DV1_Kapitel_4.doc
Seite 4-3 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
Die Schaltalgebra dient
1. als Kurzschrift zur Beschreibung schaltungsmäßiger Verkopplungen
digitaler Vorgänge und
2. als ein Rechenverfahren zum Finden von Schaltungen kleinsten Aufwandes
(Minimisierung).
Logische Schaltungen lassen sich technisch am besten für binäre Signale
verwirklichen, d. h. für solche Signale, die nur zweier Wertstufen fähig sind (z. B. Impuls
vorhanden oder Impuls nicht vorhanden). Darum hat man der Schaltalgebra eine spezielle
BOOLEsche Algebra, nämlich die zweiwertige Logik zugrunde gelegt, die nur die binären
Aussagen
ja
oder nein
wahr oder nicht wahr
richtig oder falsch
hell oder dunkel
groß oder klein
links oder rechts
kennt. Den beiden Zuständen ordnet man in der Schaltalgebra die Zeichen 0 und 1 (oder
umgekehrt) zu. Gelegentlich wird statt 1 auch L geschrieben. Im folgenden sei 1 der Aussage
ja zugeordnet und 0 der Aussage nein.
Ein Bit ist die Informationsmenge in einer Antwort auf eine Frage, die zwei
Möglichkeiten zulässt. Zu einer solchen Frage lässt sich immer eine Codierung der Antwort
festlegen. Da es zwei mögliche Antworten gibt, reicht ein Code mit zwei Zeichen, ein so
genannter binärer Code. Man benutzt dazu die Zeichen 0 und 1.
DV1_Kapitel_4.doc
Seite 4-4 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.1.1 Zustand eines digitalen Systems
Den Zustand eines Systems, das den Regeln der Schaltalgebra gehorcht, beschreibt man durch binäre Variablen.
Es gilt dabei für jede binäre Variable x:
Ist x ≠ 0, so ist x = 1 und ist x ≠ 1, so ist x = 0.
In der gewöhnlichen Algebra kann man im Gegensatz zur Schaltalgebra aus der
Aussage x ≠ 0 im allgemeinen nicht schließen, welchen Wert x hat. Dies verdeutlicht die
starken Einschränkungen, die in der Schaltalgebra gegeben sind.
Es sei y eine abhängige binäre Variable (Ausgangsvariable), welche eine Funktion der
unabhängigen binären Variablen (Eingangsvariablen) x1, x2, … , xn ist
y = F ( x1, x 2 ,…, x i ,…, x n )
Da jede der unabhängigen Variablen x1 bis xn nur den Wert 0 oder 1 annehmen kann,
gibt es bei einer endlichen Anzahl n von Variablen xi auch nur endlich viele Kombinationen
€
von Einsen
und Nullen. Damit können also nur endlich viele verschiedene Funktionen
gebildet werden. Diese können dargestellt werden durch eine Funktionstabelle, in der
festgestellt wird, welchen Wert (0 oder 1) die abhängige Variable y haben soll, wenn die
unabhängigen Variablen xi sämtliche möglichen Kombinationen von 0 und 1 nacheinander
annehmen. Die Funktionen können aber auch durch einen analytischen Formelausdruck
dargestellt werden, in der die einzelnen Variablen durch bestimmte noch näher zu erläuternde
Verknüpfungsoperatoren miteinander verbunden sind.
4.1.1.2 Schaltfunktion
Eine Schaltfunktion ist eine Gleichung der Booleschen Algebra, die die
Abhängigkeit einer Ausgangsvariablen eines logischen Systems von den Eingangsvariablen
beschreibt. Sie ähnelt in ihrer Struktur den Gatterstrukturen. Deshalb läßt sich die zugehörige
Schaltungsstruktur in einfachen Fällen "auf einen Blick" finden. Es muß jedoch darauf
hingewiesen werden, daß jede Schaltfunktion (Schaltungsgleichung) nur eine
Ausgangsvariable in Abhängigkeit von den Eingangsvariablen funktionell darstellt.
Zur Beschreibung der in der Praxis meist interessierenden Systeme mit mehreren
Ausgängen (Ausgangsvariablen) sind daher mehrere Schaltfunktionen notwendig.
4.1.1.3 Schaltalgebra.
Bei dieser Algebra nehmen die Variablen nur 2 Werte an (0 bzw 1, L bzw. H). Es
werden die 3 logischen Operationen NICHT (Negation, Komplementbildung), ODER
(Disjunktion) und UND (Konjunktion) verwendet.
Für die Rangfolge dieser 3 Grundoperationen gilt in der Schaltalgebra - ähnlich dem
Satz "Punktrechnung geht vor Strichrechnung" in der allgemeinen Algebra - die Reihenfolge
1. Negation, 2. Konjunktion, 3. Disjunktion.
Die 3 Grundoperationen NICHT, ODER, UND reichen aus, um jede beliebig
komplexe Verknüpfung zwischen beliebig vielen binären Variablen mathematisch zu
beschreiben.
DV1_Kapitel_4.doc
Seite 4-5 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.1.4 Die logischen Grundfunktionen
Fasst man A und B als Variable auf, die nur die Werte F und W annehmen können
(Aussagenvariable), so beschreiben die folgenden Wahrheitstafeln die den Junktoren
entsprechenden Wahrheitsfunktionen.
Negation
A
¬A
F
W
W
F
bzw
A
(Entspricht der Schreibweise !A in den Programmiersprachen C und C++)
€
€
Konjunktion
Logisches AND bzw. UND
A
B
A∧B
F
F
W
W
F
W
F
W
F
F
F
W
€
bzw. AB (Entspricht der Schreibweise A && B in den Programmiersprachen C und C++)
Disjunktion
Logisches OR bzw. ODER (vel)
A
B
A∨B
F
F
W
W
F
W
F
W
F
W
W
W
€
bzw. A+B (Entspricht der Schreibweise A || B in den Programmiersprachen C und C++)
Antivalenz
Logisches OR bzw. ODER (aut)
A
B
A≠B
F
F
W
W
F
W
F
W
F
W
W
F€
€
bzw.
A ⊕ B (Entspricht der Schreibweise A != B in den Programmiersprachen C
Äquivalenz
Logisches gleich
A
B
A=B
F
F
W
W
F
W
F
W
W
F
F
W
€
DV1_Kapitel_4.doc
und C++)
(Entspricht der Schreibweise A = = B in den Programmiersprachen C und C++)
Seite 4-6 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.1.5 Grundgesetze der Aussagenlogik
1.
2.
€
3.
€
4.
€
Assoziativgesetze
( A ∧ B) ∧ C = A ∧ ( B ∧ C )
( A ∨ B) ∨ C = A ∨ ( B ∨ C )
Kommutativgesetze
A∧B = B∧ A
A∨B = B∨ A
€
Distributivgesetze
( A ∨ B) ∧ C = A ∧ C ∨ B ∧ C
€
Absorptionsgesetze
A ∧ ( A ∨ B) = A
€
A ∧ B ∨ C = ( A ∨ C ) ∧ (B ∨ C )
A∨ A∧B = A
5.
Idempotenzgesetze (Tautologie)
A∧ A = A
A∨ A = A
€
6.
Gesetz für die Negation
A∧ A = F
€
A∨ A =W
De Morgansche Regeln
A∧B = A∨B
€
A∨B = A∧B
€
€
7.
€
8.
€
€
9.
€
€
Gesetze für W (wahr bzw. true) und F (falsch bzw. false)
A ∧W = A
A∨F = A
€
A∧F = F
A ∨W = W
W =F
F =W
Doppelte Negation
€
€
€
A=A
€
DV1_Kapitel_4.doc
Seite 4-7 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.1.6 Rechenregeln der Schaltalgebra
4.1.1.6.1 Grundregeln für das Rechnen mit zweiwertigen Variablen3
Die bisherigen Betrachtungen wurden an Schaltungen durchgeführt. Das Ergebnis soll
nun, ohne Bezugnahme auf ein spezielles technisches System, in allgemeiner Gestalt
formuliert werden.
Gegeben sei eine Menge von Variablen A, B, C, ... , von denen jede nur zwei Werte
annehmen kann, die durch die Symbole 0 und 1 bezeichnet sind. Für diese Variablen gelten
die folgenden Regeln:
I.
Gleichheitsregel
Nimmt von zwei Variablen A, B die eine den Wert 0 genau dann an, wenn ihn die
andere annimmt, so seien sie als gleich bezeichnet.
II.
Additionsregel
Gegeben die Variablen A, B und C. Nimmt C genau dann den Wert 1 an, wenn A oder
B den Wert 1 aufweist, so heißt C die Summe von A und B, in Zeichen: C = A + B.
III.
Multiplikationsregel
Gegeben die Variablen A, B und C. Nimmt C genau dann den Wert 1 an, wenn A und
B den Wert 1 annehmen, so heißt C das Produkt von A und B, in Zeichen: C = AB.
IV.
Komplementierungsregel
Nimmt von zwei Variablen A und B die Variable B genau dann den Wert 1 an, wenn
A den Wert 0 aufweist, so heißt B das Komplement von A, in Zeichen B = A .
V.
Existenz des Nullelementes
€
Es gibt eine Variable, die ausschließlich den Wert 0 annimmt. Sie werde als
Nullelement bezeichnet und erhalte das Symbol 0.
VI.
Existenz des Einselementes
Es gibt eine Variable, die ausnahmslos den Wert 1 hat. Sie werde Einselement oder
Identität genannt und mit 1 bezeichnet.
3
Otto Föllinger, Wolfgang Weber; Methoden der Schaltalgebra; R. Oldenbourg Verlag München – Wien (1967)
DV1_Kapitel_4.doc
Seite 4-8 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.1.6.2 Regeln für die booleschen Konstanten
1a,b)
1∧1 = 1
0∨0 = 0
2a,b)
0∧0 = 0
1∨1 = 1
3a,b)
1∧ 0 = 0 ∧1 = 0
1∨ 0 = 0 ∨1 = 1
4a,b)
0 =1
1= 0
Regeln für eine Veränderliche
€
€
5a,b)
A ∨0 = A
A ∧1 = A
9)
A=A
€
6a,b)
A ∨1 = 1
A ∧0 = 0
€
Regeln für 2 und 3 Veränderliche
€
10a,b)
12a,b)
€
14a,b)
€
A∨B = B∨ A
A∧B = B∧ A
€
7a,b)
€
11a,b)
A ∧ B ∨ A ∧ C = A ∧ (B ∨ C )
( A ∨ B) ∧ ( A ∨ C ) = A ∨ B ∧ C
€
A ∧ (A ∨ B) = A ∧ B
€ A∨ A =1
8a,b)
A∧ A = 0
A∨ A = A
A∧ A = A
€
A ∨ B ∨ C = (A ∨ B) ∨ C = A ∨ (B ∨ C)
A ∧ B ∧ C = (A ∧ B) ∧ C = A ∧ (B ∧ C)
A∨ A∧B = A
13a,b)
15)
A∨ A∧B = A∨B
€
A ∧ ( A ∨ B) = A
( A ∨ B) ∧ (A ∨ C) = A ∧ C ∨ A ∧ B
Satz von de Morgan4:
€
16a,b)
€
A ∨ B ∨ C ∨ D ∨… = A ∧ B ∧ C ∧ D ∧…
A ∧ B ∧ C ∧ D ∧… = A ∨ B ∨ C ∨ D ∨…
Satz von Shannon:
17)
€
f ( A,B,C,D,…,Z,∨,∧) = f (A,B,C,D,…,Z,∧,∨)
Das Theorem kann allgemein wie folgt formuliert werden:
€ Die Negation eines Ausdrucks wird in einen unnegierten Ausdruck umgewandelt,
wenn alle Disjunktionen in Konjunktionen, alle Konjunktionen in Disjunktionen, alle
negierten Variablen in unnegierte und alle unnegierten in negierte Variable umgewandelt
werden.
4
De Morgan, Augustus; britischer Mathematiker und Logiker; *Madura (Indien) 27.6.1806, †London 18.3.1871;
war 1828 – 31 und 1836 – 1866 Professor am University College in London; arbeitete vor allem über Algebra,
Mathematische Logik und Geschichte der Wissenschaften; begründete durch seine Formulierung der
Junktorenlogik im Rahmen eines Klassenkalküls (1847) neben George Boole die Algebra der Logik.
DV1_Kapitel_4.doc
Seite 4-9 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.1.7 Herleitung des Theorems von De Morgan
Von den Beziehungen aus den Grundgesetzen der Aussagenlogik ist jetzt nur noch das
Theorem von De Morgan aus den Axiomen von Huntington zu folgern. Es werde etwa in der
Form
AB = A + B
hergeleitet.
€
Es gilt
(13) A + A = 1
(14) AA = 0
(15) B + B = 1
€ (16) BB = 0
€
Durch Multiplikation von (13) und (15) folgt:
€
€
AB + AB + AB + AB = 1
also wegen des Gesetzes A + A = A
€
AB + AB + AB + AB + AB = 1
AB + A(B + B) + B(A + A) = 1
Nach (13) und (15) ergibt sich hieraus bei Berücksichtigung von H 3:
€ (17)
AB + (A + B) = 1
Andererseits ist
€
AB(A + B) = (AB)A + (AB)B = B(AA) + A(BB) = B ∧ 0 + A ∧ 0 = 0
also
€ (18)
€
AB(A + B) = 0
Die Gleichungen (17) und (18) zusammen besagen aber, dass (A + B) das Komplement zu AB
ist, so dass also gilt:
AB = A + B
€
€
Bei diesem Beweis wurde das Assoziativgesetz sowohl für die Addition als auch für die
Multiplikation mehrfach benutzt.
DV1_Kapitel_4.doc
Seite 4-10 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.1.8 Theorem von De Morgan für eine beliebige Zahl von Variablen
Es wurde bewiesen, dass das Theorem von de Morgan für zwei logische Variablen
gilt. Zu beweisen ist aber noch, ob es für eine beliebige Zahl von Variablen gilt. Dazu wollen
wir zunächst annehmen, dass es für n Variable gilt. Das haben wir für n = 2 bereits bewiesen.
Wenn es nun gelingt zu beweisen, dass es mit einer weiteren Variablen auch noch gilt, dann
gilt es immer.
Es gelte als bewiesen:
(1)
A1 A2 … An = A1 ∨ A2 ∨…∨ An
Behauptung:
€ (2)
A1 A2 … An An +1 = A1 ∨ A2 ∨…∨ An ∨ An +1
Es gilt:
€ (3)
(4)
(5)
€ (6)
A1 A2 … An ∨ A1 A2 … An = 1
(A1 A2 … An ) ∧ (A1 A2 … An ) = 0
An +1 ∨ An +1 = 1
An +1 ∧ An +1 = 0
€
Nun multiplizieren wir (3) und (5); oder anders formuliert; wir wenden das Distributivgesetz
€
an und erhalten:
€
(
)
(A1 A2 … An ∨ A1 A2 … An ) ∧ An +1 ∨ An +1 = 1∧1
(7)
A1 A2 … An An +1 ∨ A1 A2 … An An +1 ∨ A1 A2 … An ∧ An +1 ∨ A1 A2 … An ∧ An +1 = 1
(
)
A1 A2 … An An +1 ∨ An +1 A1 A2 … An ∨ A1 A2 … An ∨ A1 A2 … An (An +1 ∨ An +1 ) = 1
Auf die Klammerausdrücke der letzten Zeile in (7) wenden wir nun das Gesetz der Negation
an und erhalten
€
(8)
A1 A2 … An An +1 ∨ An +1 ∧1∨ A1 A2 … An ∧1 = 1
A1 A2 … An An +1 ∨ (An +1 ∨ A1 A2 … An ) = 1
In (8) kann nun entweder der linke Term 1 sein, oder der in Klammern stehende rechts; es
muss also einer der beiden Terme 1 sein.
€
Wir betrachten nun den Ausdruck
DV1_Kapitel_4.doc
Seite 4-11 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
A1 A2 … An An +1 ∧ (A1 A2 … An ∨ An +1 ) =
(9)
(A1 A2 … An An +1 ) ∧ A1 A2 … An ∨ (A1 A2 … An An +1 ) ∧ An +1 =
An +1 ∧ (A1 A2 … An ∧ A1 A2 … An ) ∨ A1 A2 … An (An +1 ∧ An +1 )
Auf die letzte Zeile von (9) wenden wir wieder das Gesetz für die Negation in den
Klammerausdrücken an und erhalten
€
(10)
An +1 ∧ 0 ∨ A1 A2 … An ∧ 0 = 0
D.h. der Ausdruck (9) ergibt 0; es muss also einer der beiden Terme 0 sein. Aus (8) und (10)
folgt jeweils, dass die Terme zueinander komplemtentär sein müssen, da beide Gleichungen
€ berechnet wurden; daher muss gelten:
als gültig
(11)
A1 A2 … An An +1 = An +1 ∨ A1 A2 … An
Nun haben wir aber die Gleichung (1) A1 A2 … An = A1 ∨ A2 ∨…∨ An als gültig, bzw. bewiesen
betrachtet und können diese nun in (11) einsetzen. Damit erhalten wir
€
(12)
A1 A2 … An An +1 = An +1 ∨ A1 ∨ A2 ∨…∨ An
€
A1 A2 … An An +1 = A1 ∨ A2 ∨…∨ An ∨ An +1
und damit ist die Behauptung nach Gleichung (2) bewiesen.
€
DV1_Kapitel_4.doc
Seite 4-12 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.1.9 Zusammenfassung der logischen Grundfunktionen für zwei Variablen
4.1.1.9.1 Verknüpfungsarten (Operatoren in C)
x1 =
x2 =
0 1 0 1 Bezeichnung
0 0 1 1
y0 =
y1 =
y2 =
y3 =
y4 =
y5 =
y6 =
0
0
0
0
0
0
0
y7 =
0 1 1 1
y8 =
1 0 0 0
y9 =
1 0 0 1
y10 =
y11 =
y12 =
y13 =
y14 =
y15 =
1
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
0
1
Operatoren in C für
logische Verknüpfungen
Operatoren in C
für
Bitoperationen
Null
y0 = 0
y0 = 0
Konjunktion (UND)
y1 = x1 && x2
y1 = x1 & x2
Inhibition (x2 aber nicht x1) y2 = !x1 && x2
y2 = ~x1 & x2
Transfer
y3 = x2
y3 = x2
Inhibition (x1 aber nicht x2) y4 = x1 && !x2
y4 = x1 & ~x2
Transfer
y5 = x1
y5 = x1
Antivalenz,
y6 = x1 && !x2 || !x1 && y6 = x1 ^ x2
exclusiv – oder
x2
entweder … oder (aut)
Disjunktion,
y7 = x1 || x2
y7 = x1 | x2
inclusiv – oder (vel)
weder – noch
y8 = !x1 && !x2
y8 = ~x1 & ~x2
Peircescher Pfeil
Äquivalenz5
y9 = !x1 && !x2 || x1 && y9 = ~(x1 ^ x2)
x2
Komplement (Nicht x1)
y10 = !x1
y10 = ~x1
Implikation
y11 = !x1 || x2
y11 = ~x1 | x2
Komplement (Nicht x2)
y12 = !x2
y12 = ~x2
Implikation
y13 = x1 || !x2
y13 = x1 | ~x2
Shefferscher Strich
y14 = !x1 || !x2
y14 = ~x1 | ~x2
Identität
y15 = 1
y15 = 1
5
Man beachte, dass bei Bitoperationen die Antivalenz in der Programmiersprache C durch den Operator ^
dargestellt wird. Andererseits wird die Konjunktion in der Regel durch den sehr ähnlich aussehenden Operator
dargestellt; allerdings nicht in der Programmiersprache C.
DV1_Kapitel_4.doc
Seite 4-13 von 28
∧
Rüdiger Siol
12.09.2009 16:29
€
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.1.9.2 Verknüpfungsarten (Weitere Schreibweisen)
x1 =
x2 =
y0 =
y1 =
y2 =
y3 =
y4 =
y5 =
y6 =
y7 =
y8 =
y9 =
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
1
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
Bezeichnung
Weitere Schreibweisen
Null
Konjunktion (UND)
Inhibition (x2 aber nicht x1)
Transfer
Inhibition (x1 aber nicht x2)
€
Transfer
€
Antivalenz,
exclusiv – oder
€
entweder … oder (aut)
0 1 1 1 Disjunktion,
€
inclusiv – oder (vel)
1 0 0 0 weder – noch
Peircescher Pfeil
€
1 0 0 1 Äquivalenz
y10 = 1 0 1 0 Komplement (Nicht x1)
y11 = 1 0 1 1 Implikation
y12 =
y13 =
y14 =
y15 =
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
Komplement (Nicht x2)
Implikation
Shefferscher Strich
Identität
DV1_Kapitel_4.doc
€
€
€
€
€
€
y0 = 0
y1 = x1∧ x2
y2 = ¬x1∧ x2
y3 = x2
y4 = x1∧¬x2
€
y5 = x1
y6 = x1 ≠€x2
y0 = 0
y1 = x1• x2
y2 = x1'•x2
y3 = x2
y4 = x1• x2'
y5 = x1
y6 = x1 ⊕ x2
€
y7 = x1∨ x2
€
y7 = x1 + x2
y8 = x1↓ x2
y8 = x1'•x2'
y9 = x1 ≡ x2
y9 = (x1 ⊕ x2)'
y9 = x1↔
€ x2
y10 = ¬x1
y11 = x1€
→ x2
y10 = x1’
y11 = x1'+ x2
y11 = ¬x1∨ x2
y12 = ¬x2
y13 = x1←
€ x2
y14 = x1 / x2
y15 = 1
y12 = x2’
y13 = x1+ x2'
y14 = x1'+ x2'
y15 = 1
Seite 4-14 von 28
€
€
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
4.1.2
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
Benennungen, Schaltsymbole und Schaltfunktion
Die BOOLEsche Algebra geht üblicherweise von folgenden drei Grundoperationen
aus
1. Negation
2. Konjunktion
3. Disjunktion
4.1.2.1 Negation (Komplementbildung)
Die Negation ist eine Funktion einer einzigen Variablen. Hat die Variable den Wert
Eins, dann ist die negierte Variable Null und umgekehrt. Dieser Zusammenhang ist in der
Funktionstabelle dargestellt.
x
0
1
y
1
0
Formelmäßig wird die Negation durch einen Querstrich über die zu negierende
Variable ausgedrückt; häufig sind auch andere Schreibweisen üblich.
y = x = ¬x =~ x =!x
In Worten ausgesprochen: y gleich x nicht (y gleich „not x“).
€ Spezielle Fälle sind:
0 =1
1= 0
Eine mehrfache Anwendung der Negation ergibt:
€
€
x=x
€
x
DV1_Kapitel_4.doc
x=x
1
y
y = ~x
Seite 4-15 von 28
x
0
1
y = ~x
1
0
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.2.2 Konjunktion
Die Konjunktion sei zunächst für den Fall zweier binärer Variabler x1 und x2 anhand
einer Funktionstabelle beschrieben.
Die Tabelle für die Konjunktion sagt aus, dass nur dann y = 1 ist, wenn x1 und x2
gleich 1 sind. In allen anderen Fällen ist y = 0. Dieser Sachverhalt wird formelmäßig oft
durch das unhandliche Zeichen “&“ ausgedrückt. Hier wird aber der Einfachheit halber der
Punkt "." als Operationszeichen für die Konjunktion verwendet. Wenn ein Irrtum
ausgeschlossen ist, wird der Punkt auch weggelassen.
Die Konjunktion wird zunächst für den Fall zweier unabhängiger Variabler x1 und x2
anhand der folgenden Funktionstabelle erklärt.
x1
0
0
1
1
x2
0
1
0
1
y
0
0
0
1
Die zugehörige Formal lautet:
y = x1 & x 2 = x1 • x 2 = x1 x 2 = x1 ∧ x 2
Speziell gilt:
€
x •0 = 0
x •1 = x
x•x = x
x•x =0
Ferner gilt das kommutative Gesetz
€
x1 • x 2 = x 2 •€x1
€ x1
x2
&
y
y = x1 & x2
x1
0
0
1
1
x2
0
1
0
1
y = x1 & x2
0
0
0
1
Durch eine formal gleichartige Überlegung, wie sie bei der Disjunktion mehrerer
Variabler angestellt wurde, ergibt sich für die Konjunktion mehrerer (n) Variabler
y = x1 • x 2 • x 3 … x i … x n
= 1 falls alle xi = 1 sind
= 0 in allen übrigen Fällen.
€
Die Konjunktion aller Variabler bezeichnet man als Vollkonjunktion oder Minterm.
Die Bezeichnung Minterm hat ebenso wie die Bezeichnung Maxterm eine anschauliche
Bedeutung, die noch näher erläutert wird.
DV1_Kapitel_4.doc
Seite 4-16 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
Für die Konjunktion gilt das assoziative Gesetz:
x1 • (x 2 • x 3 ) = (x1 • x 2 ) • x 3
An dieser Stelle sei nochmals vermerkt, dass in der Literatur häufig andersartige
Symbole für die einzelnen Verknüpfungsoperatoren verwendet werden. Eine Liste der
€ verschiedenen Symbole mit anderen Verknüpfungsarten folgt noch.
x1
x2
&
x3
…
y
y = x1 ∧ x 2 ∧…∧ x n
xn
€
DV1_Kapitel_4.doc
Seite 4-17 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.2.3 Disjunktion
Die Disjunktion wird zunächst für den Fall zweier unabhängiger Variabler x1 und x2
anhand der folgenden Funktionstabelle erklärt.
x1
0
0
1
1
x2
0
1
0
1
y
0
1
1
1
Diese sagt aus, dass y = 1 ist, wenn x1 oder x2 gleich 1 ist, oder wenn beide x1 und x2
gleich 1 sind (sogenanntes inklusives oder, auch vel genannt). Nur wenn zugleich x1 und x2
gleich 0 sind, ist auch y = 0. Dieser Sachverhalt wird formelmäßig durch das
Operationszeichen ∨ ausgedrückt; wobei aber auch häufig |, || oder + verwendet wird.
y = x1 ∨ x 2 = x1 | x 2 = x1 || x 2 = x1 + x 2
€
Es gelten folgende Spezialfälle:
€
x ∨1 = 1
x ∨0 = x
x∨x = x
x ∨ x =1
Aus der Funktionstabelle ergibt sich die Gültigkeit des kommutativen Gesetzes:
€
€
x1 ∨ x€2 = x 2 ∨ x1
x1
x2
≥1
y = x1 ∨ x 2
x1
0
0
1
1
x2
0
1
0
1
y = x1 | x2
0
1
1
1
€ nicht zwei sondern drei Variable disjunktiv miteinander
Es wird nun der Fall betrachtet, dass
verknüpft werden.
y = x1 ∨ x 2 ∨ x 3
Hier substituiert man
€
z = x2 ∨ x3
Dadurch erhält man
€
y = x1 ∨ z
Hier wird y = 0 nur dann, wenn zugleich x1 und z gleich 0 sind. In allen Übrigen
Fällen ist y=1. Andererseits wird nur dann z = 0, wenn zugleich x1 und x2 gleich 0 sind.
€
DV1_Kapitel_4.doc
Seite 4-18 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
Verallgemeinerung:
Diese Überlegung lässt sich für beliebig viele Variable fortsetzen. Man erkennt hieraus
unmittelbar für die Disjunktion n unabhängiger Variabler
y = x1 ∨ x 2 ∨ x 3 ∨…∨ x n
= 0 falls alle xi = 0
= 1 in allen übrigen Fällen.
€
Kommen in einer Funktion n binäre Variable vor, dann bezeichnet man einen
Ausdruck, in dem alle Variable disjunktiv miteinander verknüpft sind, als Volldisjunktion
oder auch als Maxterm. Der Sinn dieser Bezeichnungsweise wird sich später ergeben.
Für die Disjunktion mehrerer Variabler gilt das assoziative Gesetz, wie man durch Einsetzen
verifizieren kann.
x1 ∨ (x 2 ∨ x 3 ) = (x1 ∨ x 2 ) ∨ x 3
(Klammern haben in der Schaltalgebra die gleiche Bedeutung wie in der gewöhnlichen
Algebra, d. h., die in Klammern stehenden Operationen müssen zuerst ausgeführt werden.)
€
x1
x2
≥1
x3
…
y
y = x1 ∨ x 2 ∨ x 3 ∨…∨ x n
xn
€
DV1_Kapitel_4.doc
Seite 4-19 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.2.4 Schaltsymbole in alter und neuer Norm
DV1_Kapitel_4.doc
Seite 4-20 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.1.2.5 Schaltsymbole nach DIN 40900 Teil 12
A
B
A
B
A
B
&
&
≥1
Q
€
Q
Q€
B
0
1
0
1
Q = A∧B
A
B
Q = A∧B
0
0
1
1
0
1
0
1
1
1
1
0
A
B
Q = A∨B
0
0
1
1
0
1
0
1
0
1
1
1
A
B
Q = A∨B
0
0
1
1
0
1
0
1
1
0
0
0
A
0
0
1
1
Q = A∧B
Q = A∧B
Q = A∨B
€
€
0
0
0
1
€
A
B
≥1
€
Q
Q = A∨B
A
B
=1
€
Q
Q= A⊕B
A
B
=1
€
Q
Q= A⊕B
A
1
€
Q
Q= A
€
A
0
0
1
1
B
0
1
0
€1
Q= A⊕B
A
0
0
1
1
B
0
1
0
€1
Q= A⊕B
0
1
1
0
1
0
0
1
A
Q= A
0
1
1
0
€
€
DV1_Kapitel_4.doc
Seite 4-21 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.2 Normalformen
Mit den Grundverknüpfungen Konjunktion, Disjunktion und Negation kann jede
widerspruchsfreie Funktion endlich vieler binärer Variabler beschrieben werden. Um das
einzusehen, sei eine Funktion mit n Variablen x1; x2; … ; xn betrachtet. Diese n Variablen
können je die Werte 0 und 1 annehmen, d. h., es können 2n Fälle auftreten. Für jeden dieser 2n
Fälle kann y entweder 0 oder 1 sein. Eine jede Funktion mit n binären Variablen muss sich
also in einer Funktionstabelle darstellen lassen.
Die einzelnen Terme dieser Normalformdarstellungen nennt man Fundamentalterme.
Ein Fundamentalterm ist eine Konjunktion bzw. Disjunktion von Variablen
(Fundamentalkonjunktion bzw. Fundamentaldiskonjunktion). Eine disjunktive
(konjunktive) Normalform ist eine Disjunktion (Konjunktion) von Fundamentalkonjunktionen
(Fundamentaldisjunktionen).
4.2.1
Kanonische Normalformen.
Das logische Verhalten einer Kombinationsschaltung läßt sich durch viele disjunktive
bzw. konjunktive Normalformen beschreiben. Besondere Bedeutung haben die bei den
kanonischen (vollständigen) Normalformdarstellungen :
die kanonische disjunktive und die kanonische konjunktive Normalform (KDNF bzw.
KKNF). Die KDNF besteht aus der disjunktiven Verknüpfung aller Elementarkonjunktionen,
für die die Ausgangsvariable den Funktionswert Y = 1 annimmt. Die KKNF besteht dagegen
aus der konjunktiven Verknüpfung aller Elementardisjunktionen, für die die Ausgangsvariable
den Funktionswert Y = 0 annimmt.
Eine Elementarkonjunktion (Elementardisjunktion) ist eine Fundamentalkonjunktion
(Fundamentaldisjunktion), die alle Variablen einer Schaltfunktion beinhaltet.
Von jeder Schaltfunktion existiert genau eine KDNF und eine KKNF. Beide sind äquivalent
und ineinander überführbar (Dualitätsprinzip ).
Die Elementarkonjunktionen werden auch Minterme (mi) genannt (manchmal auch
nur diejenigen Elementarkonjunktionen, aus denen sich die KDNF zusammensetzt). Die
Elementardisjunktionen werden auch Maxterme (Mi) genannt (manchmal auch nur diejenigen
Elementardisjunktionen, aus denen sich die KKNF zusammensetzt). Nach dieser Definition
gibt es für eine aus 3 Variablen bestehende Schaltfunktion insgesamt 23 = 8 Minterme mo ...
m7 und 23 = 8 Maxterme Mo ... M7.
Zugehörige Minterme und Maxterme sind komplementär: M i = mi
€
DV1_Kapitel_4.doc
Seite 4-22 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.2.2
€
Kanonische disjunktive Normalform (KDNF)
In jeder der 23 = 8 Zeilen tritt jede unabhängige Variable xk (mit einem speziellen
Wert 0 oder 1) auf. Der Inhalt jeder Zeile lässt sich also durch Minterme der Form
m j = x'1 ∧x'2 ∧x'3 darstellen, wobe x’k entweder xk oder x k bedeutet. Für jede Zeile soll der
betreffende Minterm mj den Wert (0 oder 1) annehmen, den die abhängige Variable y dort
annimmt. Ein Minterm lässt sich aber nur für solche Zeilen in eindeutiger Weise aufstellen,
für welche y = 1 ist. Man erreicht dies für diese€Zeilen mit y = 1 in der Weise, dass x’k = xk
gesetzt wird, wenn xk = 1 ist, und x’k = x k gesetzt wird, wenn xk = 0 ist.
Darstellung einer Funktion dreier binärer Eingangsvariablen durch eine Funktionstabelle
€
(Wertetabelle bzw. Schaltbelegungstabelle)
x1
0
0
0
0
1
1
1
1
x2
0
0
1
1
0
0
1
1
x3
0
1
0
1
0
1
0
1
y
0
0
1
1
1
0
0
0
m1
m2
m3
m4
m5
m6
m7
m8
M1
M2
M3
M4
M5
M6
M7
M8
m = Minterm; M = Maxterm
und es gilt: M = m
Für die Minterme gilt also:
m 3 = x1 ∧ x 2 ∧ x 3
€
m 4 = x1 ∧ x 2 ∧ x 3
m5 = x1 ∧ x 2 ∧ x 3
Für die Zeilen mit y = 0 gibt es verschiedene Möglichkeiten zur Aufstellung eines
Minterms. Zur Darstellung des gesamten Sachverhaltes kann man aber auf die Zeilen mit y = 0
€ verzichten. Es genügt, wenn nur die Zeilen mit y = 1 betrachtet werden, weil wegen des
binären Charakters in allen übrigen Fällen automatisch y = 0 sein muss. Die Aussage der
Tabelle wird also vollständig durch folgende Beziehung wiedergegeben
y = m3 ∨ m4 ∨ m5
y = (x1 ∧ x 2 ∧ x 3 ) ∨ (x1 ∧ x 2 ∧ x 3 ) ∨ (x1 ∧ x 2 ∧ x 3 )
€
Dieser Schematismus lässt sich ohne weiteres auch für Funktionen mit n Variablen x1;
x2; … ; xn anwenden. Man greift dazu wieder aus der Funktionstabelle die Zeilen heraus, für
die y = 1 ist. Für diese Zeilen wird der entsprechende Minterm gebildet. Die disjunktive
Verknüpfung dieser Minterme bilden die Funktion y = f(x1; x2; … ; xn).
DV1_Kapitel_4.doc
Seite 4-23 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
Die auf diese Weise gebildete Form der Funktion bezeichnet man als disjunktive
Normalform (Wird auch als Mintermform bzw. Kanonische6 disjunktive Normalform
(KDNF) bezeichnet).
Jede widerspruchsfreie Funktion endlich vieler binärer Variabler lässt sich damit als
disjunktive Normalform darstellen, welche nur die Grundverknüpfungen Konjunktion
Disjunktion und Negation enthält. Diese lässt sich direkt aus der Schaltbelegungstabelle
ablesen
4.2.3
Kanonische konjunktive Normalform (KKNF)
Eine andere wichtige Darstellungsart einer Funktion endlich vieler binärer Variabler
ist die konjunktive Normalform (Wird auch als Maxtermform bzw. Kanonische konjunktive
Normalform (KKNF) bezeichnet).
Hierzu geht man von den Maxtermen aus. In der Funktionstabelle soll in jeder Zeile
der betreffende Maxterm Mk wieder den Wert (0 oder 1) haben, den die unabhängige Variable
y dort hat. Nun lässt sich ein Maxterm nur für solche Zeilen in eindeutiger Weise aufstellen,
für welche y = 0 ist.
Das erreicht man, indem man x’k = xk setzt, wenn xk = 0 ist und x’k = x k setzt, wenn
xk = 1 ist. Für die Maxterme M1; M2; M6; M7 und M8 gilt also
M1 = x1 ∨ x 2 ∨ x 3
€
M 2 = x1 ∨ x 2 ∨ x 3
M 6 = x1 ∨ x 2 ∨ x 3
M 7 = x1 ∨ x 2 ∨ x 3
M 8 = x1 ∨ x 2 ∨ x 3
Der gesamte Sachverhalt wird vollständig erfasst, wenn nur die Zeilen mit y = 0 betrachtet
werden. Das sind also in diesem Fall die Maxterme. Diese Maxterme, konjunktiv verknüpft,
€ die Funktion y.
ergeben
y = M1 ∧ M 2 ∧ M 6 ∧ M 7 ∧ M 8
y = (x1 ∨ x 2 ∨ x 3 ) ∧ (x1 ∨ x 2 ∨ x 3 ) ∧ (x1 ∨ x 2 ∨ x 3 ) ∧ (x1 ∨ x 2 ∨ x 3 ) ∧ (x1 ∨ x 2 ∨ x 3 )
In dieser Gleichung wird y = 0, wenn wenigstens ein Maxterm Mi = 0 ist. Es kann nur
dann y = 1 sein, wenn keiner der Maxterme zu Null wird. Ein beliebiger Maxterm Mi wird
€ aber nur dann zu Null, wenn alle xk = 0 (bzw. x k = 1) sind. Das trifft aber nur für die
ausgewählten Zeilen mit y = 0 zu.
y wird 1, wenn wenigstens ein Minterm m = 1 ist. Es kann nur dann y = 0 sein, wenn
keiner der Minterme zu Eins wird. Ein beliebiger Minterm m wird aber nur dann zu Eins,
€
wenn alle xk = 1 (bzw. x k = 0 ) sind. Das trifft aber nur für die ausgewählten Zeilen mit y = 1
zu.
€
6
1) Bildungssprachlich für: als Richtschnur, klassisches Muster dienend
2) Physik und Mathematik: Für die Beschreibung eines physikal. mathemat. Vorgangs am besten geeignet,
angepasst.
DV1_Kapitel_4.doc
Seite 4-24 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.3 Wahrheitstafel bzw. Schaltbelegungstabelle (SBT)
Die Begriffe „Wahrheitstafel“ bzw. „Wahrheitstabelle“ wurden in der Aussagenlogik
eingeführt. Eine Aussagenvariable kann den Wert „wahr“ (w) oder „falsch“ (f) haben. Sind
mehrere Aussagenvariablen miteinander zu verknüpfen so gilt es, alle möglichen
Kombinationen zu erfassen. Diese Kombinationen werden in einer Wahrheitstafel dargestellt
die dann vollständig ist, wenn sie alle möglichen Kombinationen erfaßt. Aus den
Wahrheitstafeln kann man Formeln der Aussagenalgebra ablesen.
Der Begriff „Schaltbelegungstabelle“ wurde beim Entwurf digitaler Systeme im
Zusammenhang mit der Schaltalgebra eingeführt. Bei dieser Algebra nehmen die Variablen
nur 2 Werte an, nämlich 0 oder 1. Aus den Schaltbelegungstabellen kann man Formeln der
Schaltalgebra ablesen.
Die Analogie der Grundgesetze (Rechenregeln) der Mengenlehre, der Aussagenlogik
und der Schaltalgebra führt zu dem Begriff der Booleschen Algebra.
4.3.1
Darstellung aller Eingangsvariablen einer Schaltbelegungstabelle
Soll für n Eingangsvariablen eine SBT erstellt werden, so sind n Spalten und 2 n Zeilen
erforderlich. Die Kombination je Zeile kann als n-stellige Dualzahl interpretiert werden. Um
alle Kombinationen zu erhalten zählt man im Dualsystem von 0,1,…,(2 n −1) und schreibt die
binären Werte in jede Zeile.
€
Beispiel: Gegeben seien die Variablen a,b,c,d; also benötigt man 16 Zeilen und 4
Spalten.
€
Eingangsvariable
a b
c d
0 0
0 0
0 0
0 1
0 0
1 0
0 0
1 1
0 1
0 0
0 1
0 1
0 1
1 0
0 1
1 1
1 0
0 0
1 0
0 1
1 0
1 0
1 0
1 1
1 1
0 0
1 1
0 1
1 1
1 0
1 1
1 1
DV1_Kapitel_4.doc
Seite 4-25 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.3.2
Darstellung einer vollständigen Schaltbelegungstabelle
Den Kombinationen der Eingangsvariablen je Zeile können Ausgangsvariable
zugeordnet werden. Jede Spalte für eine Ausgangsvariable definiert eine Ausgangsfunktion
(Schaltfunktion bzw. auch eine Formel oder einen Ausdruck der Aussagenalgebra).
(2n )
Bei n Spalten und 2 n Zeilen kann man also 2 Ausgangsfunktionen definieren. Das
haben wir schon in der Zusammenfassung der logischen Grundfunktionen für zwei Variablen
gezeigt für alle 16 Funktionen.
€
Beispiel:
Eingangsvariable
a b
c d
0 0
0 0
0 0
0 1
0 0
1 0
0 0
1 1
0 1
0 0
0 1
0 1
0 1
1 0
0 1
1 1
1 0
0 0
1 0
0 1
1 0
1 0
1 0
1 1
1 1
0 0
1 1
0 1
1 1
1 0
1 1
1 1
€
Ausgangsfunktionen
f1
f2
f3
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
In dieser SBT sind drei Ausgangsfunktionen definiert, wobei:
f1 = 1 sofern 3 Eingangsvariable den Wert 1 haben.
f2 = 1 sofern die Dualzahl je Zeile durch 7 teilbar ist.
f3 = 1 sofern a = b und c = d ist.
Je Funktion ermittelt man nun die Minterme und schreibt dann die Kanonische
Disjunktive Normalform (KDNF) für diese Funktion.
f 1 = abcd ∧ abcd ∧ abcd ∧ abcd
Es ist also:
f 2 = abcd ∧ abcd
f 3 = abcd ∧ abcd ∧ abcd ∧ abcd
€
DV1_Kapitel_4.doc
Seite 4-26 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
4.3.3
Ansteuerung einer LED Anzeige für BCD-Codes
Die nachfolgend dargestellte Anzeige verfügt über die 7 Segmente a,b,c,d,e,f,g die
selektiv dunkel getastet werden können. Für die Ziffern von 0 bis 9 benötigen wir 4 bit. Nun
schaut man sich die Anzeige an und wählt die jeweils richtige Kombination.
BCD --> 7-Segment Code
(r.siol) 22.04.2007
Hochschule Ravensburg-Weingarten
Technik | Wirtschaft | Sozialwesen
26
Daraus ergibt sich folgende Schaltbelegungstabelle:
Eingangsvariable
D C B A
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
0
1
1
1
1
0
0
0
1
0
0
1
Ausgangsvariable
a b c d e f g
0 0 0 0 0 0 1
1 0 0 1 1 1 1
0 0 1 0 0 1 0
0 0 0 0 1 1 0
1 0 0 1 1 0 0
1 0 1 1 0 1 1
1 1 0 0 0 0 0
0 0 0 1 1 1 1
0 0 0 0 0 0 0
0 0 0 1 1 0 0
Dezimalziffer
0
1
2
3
4
5
6
7
8
9
Damit ist festgelegt, wie das IC für Siebensegmentcode (Der Code Umsetzer)
hergestellt werden mußte.
DV1_Kapitel_4.doc
Seite 4-27 von 28
Rüdiger Siol
12.09.2009 16:29
Hochschule
Ravensburg-Weingarten
4.3.4
Fakultät Technologie und Management Informationsverarbeitung
Vorlesung zur Datenverarbeitung 1
Boolesche Algebra
Vollständige und unvollständige Funktionen.
Vollständige Funktionen sind Funktionen, bei denen die Ausgangsvariablen für jede
aller möglichen Eingangskombinationen einen definierten Wert (0 oder 1) annehmen.
Es gibt jedoch auch Fälle, bei denen Kombinationen von Eingangsvariablen auftreten, für die
keine eindeutige Zuordnung der Ausgangsvariablen existiert (die Ausgangsvariable darf mit
einem beliebigen Wert 0 oder 1 belegt werden). Solche Funktionen heißen unvollständig.
Die zu diesen Eingangskombinationen gehörige Zeile der SBT wird entweder ganz
weggelassen, oder es wird ein X in die entsprechende Ausgangsvariablenspalte eingetragen.
Beim Aufstellen der Schaltfunktion in kanonischer disjunktiver Normalform können die
genannten Eingangskombinationen unberücksichtigt bleiben oder als zusätzliche
Elementarkonjunktionen Berücksichtigung finden. Der letztgenannte Fall bietet u. U. Vorteile
bei der Vereinfachung der Schaltfunktion.
DV1_Kapitel_4.doc
Seite 4-28 von 28
Rüdiger Siol
12.09.2009 16:29
Herunterladen