Kapitel 3: Boolesche Algebra



Ähnliche Dokumente
Eine Logikschaltung zur Addition zweier Zahlen

Einführung in. Logische Schaltungen

Grundlagen der Informationverarbeitung

8 Boolesche Algebra. 8.1 Grundlegende Operationen und Gesetze

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

03 Boolesche Algebra. Technische Grundlagen der Informatik

1 Mathematische Grundlagen

N Bit binäre Zahlen (signed)

Verwendet man zur Darstellung nur binäre Elemente ( bis lat.: zweimal) so spricht man von binärer Digitaltechnik.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Lineare Gleichungssysteme

Teil 1: Digitale Logik

Daten verarbeiten. Binärzahlen

, WS2012 Übungsgruppen: Mo.,

Informationsblatt Induktionsbeweis

9 Multiplexer und Code-Umsetzer

Lineare Gleichungssysteme

Primzahlen und RSA-Verschlüsselung

Zeichen bei Zahlen entschlüsseln

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

Zusammenfassung. Satz. 1 Seien F, G Boolesche Ausdrücke (in den Variablen x 1,..., x n ) 2 Seien f : B n B, g : B n B ihre Booleschen Funktionen

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Data Mining: Einige Grundlagen aus der Stochastik

1 Aussagenlogik und Mengenlehre

A.1 Schaltfunktionen und Schaltnetze

2. Negative Dualzahlen darstellen

Professionelle Seminare im Bereich MS-Office

4. AUSSAGENLOGIK: SYNTAX. Der Unterschied zwischen Objektsprache und Metasprache lässt sich folgendermaßen charakterisieren:

4 Binäres Zahlensystem

Protokoll zum Praktikum des Moduls Technische Informatik an der JLU Gießen

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Einführung in die Algebra

Technische Informatik Basispraktikum Sommersemester 2001

10. Elektrische Logiksysteme mit

der einzelnen Aussagen den Wahrheitswert der zusammengesetzten Aussage falsch falsch falsch falsch wahr falsch wahr falsch falsch wahr wahr wahr

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

EM-Wellen. david vajda 3. Februar Zu den Physikalischen Größen innerhalb der Elektrodynamik gehören:

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Grundlagen der Informatik

Berechnungen in Access Teil I

Logik. A.3 Logik und Mengenlehre A.32 A.32. Logik und Mengenlehre. Logik Prof. Dr. Rainer Manthey Informatik I 21

Theoretische Informatik SS 04 Übung 1

Kapitel 15. Lösung linearer Gleichungssysteme

7 Rechnen mit Polynomen

Programmiersprachen und Übersetzer

Grundlagen der Theoretischen Informatik, SoSe 2008

Oliver Liebold. NAND (negierte Undverknüpfung) L L H L H H H L H H H L

Daten, Informationen, Kodierung. Binärkodierung

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Boole'sche Algebra. Inhaltsübersicht. Binäre Funktionen, Boole'sche Algebren, Schaltalgebra. Verknüpfungen der mathematischen Logik

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Fax einrichten auf Windows XP-PC

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 3 1. Semester ARBEITSBLATT 3 RECHNEN MIT GANZEN ZAHLEN

(für Grund- und Leistungskurse Mathematik) 26W55DLQHU0DUWLQ(KUHQE UJ*\PQDVLXP)RUFKKHLP

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

Informatik I WS 07/08 Tutorium 24

Fachschaft Mathematik und Informatik (FIM) LA I VORKURS. Herbstsemester gehalten von Harald Baum

Jede Zahl muss dabei einzeln umgerechnet werden. Beginnen wir also ganz am Anfang mit der Zahl,192.

Anwendungsbeispiele Buchhaltung

1. Speicherbausteine JK-RS-Master-Slave-Flip-Flop

Simulation LIF5000. Abbildung 1

Bevor lineare Gleichungen gelöst werden, ein paar wichtige Begriffe, die im Zusammenhang von linearen Gleichungen oft auftauchen.

4. Jeder Knoten hat höchstens zwei Kinder, ein linkes und ein rechtes.

- Strukturentwurf elementarer Rechenwerke - Grund-Flipflop (RS-Flipflop) - Register, Schieberegister, Zähler

Anwendungshinweise zur Anwendung der Soziometrie

4. Übungsblatt zu Mathematik für Informatiker I, WS 2003/04

A.3. A.3 Spezielle Schaltnetze Prof. Dr. Rainer Manthey Informatik II 1

Rationale Zahlen. Weniger als Nichts? Ist Null nichts?

3. LINEARE GLEICHUNGSSYSTEME

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Repetitionsaufgaben Wurzelgleichungen

Weiterbildung und Zusatzausbildung der PHZ Luzern Interessantes und Spannendes aus der Welt der Mathematik September 2006, Dieter Ortner

Zahlensysteme Seite -1- Zahlensysteme

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Einführung in die Programmierung

5.1 Drei wichtige Beweistechniken Erklärungen zu den Beweistechniken... 56

Semantik von Formeln und Sequenzen

Signalverarbeitung 1

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Informatik A ( Frank Hoffmann)

Mediator 9 - Lernprogramm

Rekursionen. Georg Anegg 25. November Methoden und Techniken an Beispielen erklärt

Gratis Excel SVERWEIS Funktions-Anleitung, Tutorial, ebook, PDF-E-Book

Musterlösungen zur Linearen Algebra II Blatt 5

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Übung -- d002_ampelsteuerung

Vorbereitung zum Versuch

Guide DynDNS und Portforwarding

Ein polyadisches Zahlensystem mit der Basis B ist ein Zahlensystem, in dem eine Zahl x nach Potenzen von B zerlegt wird.

Access [basics] Rechnen in Berichten. Beispieldatenbank. Datensatzweise berechnen. Berechnung im Textfeld. Reporting in Berichten Rechnen in Berichten

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

11.3 Komplexe Potenzreihen und weitere komplexe Funktionen

1 topologisches Sortieren

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Die integrierte Zeiterfassung. Das innovative Softwarekonzept

Informationsverarbeitung auf Bitebene

Grundlagen der Informatik I Informationsdarstellung

Transkript:

Inhalt: 3.1 Grundlegende Operationen und Gesetze 3.2 Boolesche Funktionen u. u. ihre Normalformen 3.3 Vereinfachen von booleschen Ausdrücken 3.4 Logische Schaltungen

3.1 Grundlegende Operationen und Gesetze Die Die Boolesche Algebra stellt stellt die die Grundlage für für den den Entwurf von von elektronischen Schaltungen bis bis hin hin zu zu Computern dar. dar. Sie Sie ist ist nach George Boole (1815 1864) benannt, der der als als erster eine eine Algebra der der Logik entwickelt hat. hat. Diese kennt nur nur die die beiden Zustände wahr und und falsch, die die in in einem Schaltkreis den den grundlegenden Zuständen Strom fließt und und Strom fließt nicht entsprechen. Diese beiden Zustände werden im im Folgenden durch die die Zahlen 1 und und 0 modelliert. Seite 2

Konjunktion Die Die Boolesche Algebra geht geht von von der der Menge {0, {0, 1} 1} aus. aus. Auf Auf dieser Menge sind sind folgende drei drei Operationen definiert. 1. 1. Die Die Konjunktion (Und-Verknüpfung) ist ist eine eine binäre Verknüpfung, hängt also also von von zwei zwei Argumenten ab. ab. Sie Sie ist ist genau dann 1, 1, wenn das das erste und unddas das zweite Argument 1 ist, ist, und und in in jedem anderen Fall Fall 0. 0. Der Der Ausdruck a b wird wird a a und und b b gelesen. 0 1 0 0 0 1 0 1 Seite 3

Disjunktion 2. 2. Auch die diedisjunktion (Oder-Verknüpfung) ist ist eine eine binäre Verknüpfung. Sie Sie ist ist genau dann 1, 1, wenn das das erste oder oderdas das zweite Argument 1 ist, ist, und und sonst 0. 0. Der Der Ausdruck a b wird wird a a oder oder b b gelesen. Oder ist ist dabei als als einschließendes Oder zu zu verstehen, das das heißt nicht im im Sinne von von entweder oder. 0 1 0 0 1 1 1 1 Seite 4

Negation 3. 3. Die Die Negation verlangt nur nur ein ein Argument. Sie Sie ist ist 0, 0, wenn das das Argument 1 ist, ist, und und 1, 1, wenn das das Argument 0 ist. ist. Die Die Negation heißt auch Nicht-Operator, und und man man liest liest a a als als nicht a. a. x x x 0 1 1 0 Seite 5

Reihenfolge der Auswertung Um Um komplexere boolesche Ausdrücke zu zu erhalten, können diese drei drei Operationen mehrfach hintereinander ausgeführt werden. Dabei ist ist zu zu beachten, dass die die Operationen unterschiedliche Priorität haben: kommt vor vor,, und und kommt vor vor.. Möchte man man andere Prioritäten setzen, so so muss man man die die entsprechenden Teilausdrücke in in Klammern setzen. Beispiel: Es Es gilt gilt 0 0 1 0 = ( 0) ( 0) (1 (1 0) 0) = 1 0 = 1. 1. Seite 6

Rechengesetze Für Für die die Operationen,, und und gelten eine eine Reihe Rechengesetze. Sie Sie sind sind uns uns vom vom Umgang mit mit den den rationalen und und reellen Zahlen her her vertraut, wenn wir wir an an Addition und und Multiplikation denken. 3.1.1 Satz. Für Für alle alle x, x, y, y, z {0, {0, 1} 1} gelten die die folgenden Gesetze: (a) (a) Kommutativgesetze: x y = y x und und x y = y x. x. (b) (b) Assoziativgesetze: x (y (y z) z) = (x (x y) y) z, z, x (y (y z) z) = (x (x y) y) z. z. (c) (c) Distributivgesetze: x (y (y z) z) = (x (x y) y) (x (x z) z) und und x (y (y z) z) = (x (x y) y) (x (x z). z). (d) (d) Existenz neutraler Elemente: 1 x = x und und 0 x = x. x. (e) (e) Existenz des des Komplements: x x x = 0 und und x x x = 1. 1. Seite 7

Beweis Exemplarisch beweisen wir wir das das erste Distributivgesetz. Dazu zeigen wir wir mit mit einer Wertetabelle, dass sich sich für für alle alle möglichen Werte von von x, x, y und und z auf auf der der linken Seite stets das das Gleiche ergibt wie wie auf auf der der rechten: x y z y z x (y (y z) z) x y x z (x (x y) y) (x (x z) z) 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 Seite 8

Axiomatische Definition Bemerkung. Oft Oft wird wird der der Begriff Boolesche Algebra weiter gefasst, als als wir wir es es hier hier tun. tun. Man Man kann die die Gesetze aus aus Satz Satz 3.1.1 auch als als Axiome fordern und und sagen: Eine Menge mit mit den den Operationen,, und und heißt Boolesche Algebra, wenn die die folgenden Gesetze gelten........ Dann folgt folgt nach Satz Satz 3.1.1, dass die die Menge {0, {0, 1} 1} zusammen mit mit der der Und-, Oder- und und Nicht-Operation eine eine Boolesche Algebra ist. ist. Allerdings ist ist sie sie dann nicht mehr die die einzige. Zum Zum Beispiel bildet dann auch die die Menge aller aller Teilmengen einer Menge eine eine Boolesche Algebra, wenn man man als als Operationen die die Mengenoperationen Durchschnitt, Vereinigung und und Komplement nimmt. bra, Seite 9

Dualität Beobachtung: Die Die Gesetze aus aus Satz Satz 3.1.1 bestehen jeweils aus aus zwei zwei Teilen, die die auseinander hervorgehen, wenn man man und und,, sowie 1 und und 0 vertauscht. Aus Aus dieser Symmetrie folgt, dass dass wir wir auch in in jeder Folgerung aus aus diesen Gesetzen diese Vertauschungen durchführen können. Diese Eigenschaft der der Booleschen Algebra heißt Dualität. Ein Ein Satz, der der durch Vertauschen von von und und und und von von 1 und und 0 aus aus einem anderen Satz Satz hervorgeht, heißt zu zu diesem dual. 3.1.2 Korollar (Dualität). Jede Aussage, die die aus aus Satz Satz 3.1.1 folgt, bleibt gültig, wenn die die Operationen und und sowie die die Elemente 1 und und 0 überall gleichzeitig vertauscht werden. Seite 10

Weitere Gesetze Eine Eine erste Anwendung findet die die Dualität beim Beweis des des folgenden Satzes, der der weitere Gesetze der der Booleschen Algebra beschreibt. 3.1.3 Satz. Für Für alle alle x, x, y {0, {0, 1} 1} gelten die die folgenden Gesetze: (a) (a) Absorptionsgesetze: x (x (x y) y) = x und und x (x (x y) y) = x. x. (b) (b) Idempotenzgesetze: x x = x und und x x = x. x. (c) (c) Involutionsgesetz: ( x) = x. x. (d) (d) Gesetze von von de de Morgan (Augustus de de Morgan, 1806 1871): (x (x y) y) = x x y y und und (x (x y) y) = x x y. y. Seite 11

Beweis (I) (I) Eine Eine Möglichkeit, diese Gesetze zu zu beweisen, ist ist sicherlich, wieder alle alle möglichen Werte für für x und und y einzusetzen und und zu zu überprüfen, ob ob die die linke linke und und rechte Seite übereinstimmen. Diese Möglichkeit bietet sich sich für für den den Nachweis von von (c) (c) und und (d) (d) an. an. Eine Eine andere Möglichkeit ist, ist, die die bereits bewiesenen Gesetze aus aus 3.1.1 anzuwenden. Dies Dies wollen wir wir am am Beispiel von von (a) (a) und und (b) (b) verdeutlichen. Es Es gilt gilt x (x (x y) y) = (x (x 0) 0) (x (x y) y) = x (0 (0 y) y) = x 0 = x. x. Dies Dies ist ist das das erste Absorptionsgesetz. Seite 12

Beweis (II) (II) Auf Auf Grund der der Dualität können wir wir in in jedem dieser Schritte, also also auch im im Endergebnis, und und sowie 1 und und 0 vertauschen und und erhalten daraus das das zweite Absorptionsgesetz: x (x (x y) y) = x. x. Ferner gilt gilt x x = (x (x x) x) 1 = (x (x x) x) (x (x x) x) = x (x (x x) x) = x 0 = x; x; damit haben wir wir das das erste Idempotenzgesetz gezeigt. Das Das zweite Idempotenzgesetz folgt folgt wiederum aus aus der der Dualität. Ganz ähnlich kann man man die die restlichen Gesetze nachweisen. Seite 13

3.2 Boolesche Funktionen und ihre Normalformen Eine Eine boolesche Funktion ist ist eine eine Abbildung, die die jeweils n Bits Bits auf auf ein ein einziges Bit Bitabbildet. Formal können wir wir das das wie wie folgt folgt ausdrücken: Eine Eine n-stellige boolesche Funktion ist ist eine eine Abbildung f f ::{0, {0, 1} 1} n n {0, {0, 1}. 1}. Das Das bedeutet, dass jedem n-tupel (x (x 1, 1, x 2, 2,..., x n ) n ) mit mit x i i {0, {0, 1} 1} eindeutig eine eine Zahl Zahl f(x f(x 1, 1, x 2, 2,..., x n ) n ) {0, {0, 1} 1} zugeordnet wird. In In der der Schaltungstechnik können wir wir uns uns eine eine boolesche Funktion als als Schaltung vorstellen, die die aus aus mehreren Eingabebits ein ein einziges Ausgabebit (zum Beispiel die die Summe der der Eingabebits mod mod2) 2) berechnet. Aus- Seite 14

Wie viele boolesche Funktionen gibt es? 2 ( 2 n ) 3.2.1 Satz. Es Es gibt gibt verschiedene n-stellige boolesche Funktionen. Beweis. Die Die Menge {0, {0, 1} 1} n n besteht aus aus 2 n n Elementen. Um Um eine eine boolesche Funktion festzulegen, muss man man für für jedes dieser 2 n n Elemente das das Bild Bild festlegen. Für Für jedes Element gibt gibt es es dabei genau zwei zwei Ele- Möglichkeiten: 0 oder oder 1. 1. Insgesamt gibt gibt es es also also 21 4243 2 K 2 2 n Faktoren Möglichkeiten, die die boolesche Funktion festzulegen. Beispiel: Die Die vier vier 1-stelligen booleschen Funktionen sind sind die die Nullfunktion f(x) f(x) := := 0, 0, die die Identität f(x) f(x) := := x, x, die die Negation f(x) f(x) := := x x und und die die tion Einsfunktion f(x) f(x) := := 1. 1. = 2 ( 2 n ) Seite 15

Alle 2-stelligen booleschen Funktionen Wir Wir wollen im im Folgenden die die 2-stelligen booleschen Funktionen genauer untersuchen. All All diese Funktionen sind sind in in folgender Wertetabelle aufgelistet. x y f 1 f 1 f 2 f 2 f 3 f 3 f 4 f 4 f 5 f 5 f 6 f 6 f 7 f 7 f 8 f 8 f 9 f f 9 10 f f 10 11 f f 11 12 f f 12 13 f f 13 14 f f 14 15 f f 15 16 f 16 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Seite 16

Konjunktion und Disjunktion Einige dieser 2-stelligen booleschen Funktionen sind sind uns uns schon bekannt. So So erkennen wir wir etwa in in f 2 f die 2 die Konjunktion (Und-Verknüpfung) wieder, denn an an der der Wertetabelle können wir wir ablesen f 2 f(x, 2 y) y) = x y. y. Die Die Funktion f 8 f 8 ist ist die diedisjunktion (Oder-Verknüpfung): f 8 f(x, 8 y) y) = x y. y. Aber auch andere 2-stellige boolesche Funktionen sind sind von von besonderer Bedeutung. Ihre Ihre Bedeutung wird wird klarer, wenn wir wir sie sie als als boolesche Ausdrücke schreiben, also also als als Verknüpfungen von von,, und und.. Seite 17

NOR und NAND Die Die Funktion f 9 f 9 lässt lässt sich sich als als f 9 f(x, 9 y) y) = (x (x y) y) schreiben. Es Es handelt sich sich dabei also also um um eine eine negierte Oder-Verknüpfung. Daher wird wird sie sie auch als als NOR-Verknüpfung (vom englischen not not or ) or ) bezeichnet. Genauso gibt gibt es es auch eine eine NAND-Verknüpfung (von (von not notand ). In In der der Tabelle finden wir wir sie sie als als f 15 f (x, 15 (x, y) y) = (x (x y). y). Seite 18

XOR Die Die Funktion f 7 f ergibt 7 genau dann 1, 1, wenn ihre ihre beiden Argumente unterschiedlich sind, das das heißt, wenn entweder x oder oder y gleich 1 ist. ist. Daher können wir wir sie sie als als f 7 f(x, 7 y) y) = (x (x y) y) (x (x y) y) schreiben. Vom Vom englischen exclusive or or für für ausschließendes Oder leitet sich sich ihr ihr Name ab: ab: XOR-Verknüpfung. Seite 19

Äquivalenzfunktion und Implikation Durch Negation der der XOR-Verknüpfung erhalten wir wir die die Funktion f 10 f (x, 10 (x, y) y) = (x (x y) y) (x (x y) y) Sie Sie ist ist genau dann gleich 1, 1, wenn ihre ihre beiden Argumente gleich ( äquivalent ) sind. Daher heißt sie sie Äquivalenzfunktion. Die Die Funktion f 14 f ergibt 14 stets stets 1, 1, außer wenn x = 1 und und y = 0 ist. ist. Sie Sie heißt Implikation und und lässt lässt sich sich wie wie folgt folgt als als boolescher Ausdruck schreiben: f 14 f (x, 14 (x, y) y) = x x y. y. Seite 20

Von der Wertetabelle zum booleschen Ausdruck? Bei Bei einigen der der bisher betrachteten booleschen Funktionen war war es es ganz einfach, von von der der Wertetabelle auf auf einen booleschen Ausdruck zu zu kommen. Bei Bei anderen haben wir wir eine eine ganze Menge Intuition gebraucht. Frage: Wie Wie kann man man systematisch von von der der Wertetabelle einer Funktion auf auf einen booleschen Ausdruck schließen? Klar: Klar: Ein Ein solcher boolescher Ausdruck kann nicht eindeutig sein, denn boolesche Ausdrücke können mittels der der Gesetze aus aus 3.1 3.1 umgeformt werden. So So beschreiben beispielsweise die die beiden Ausdrücke x (y (y z) z) und und (x (x y) y) (x (x z) z) die die gleiche Funktion, da da sie sie auf auf Grund des des Distributivgesetzes ineinander umgeformt werden können. Seite 21

Ziel: Ablesen des Ausdrucks aus der Tabelle! Ziel: Ziel: Gesucht ist ist ein ein möglichst einfacher Ausdruck, den den man man möglichst einfach aus aus der der Wertetabelle erhalten kann. Dieses Ziel Ziel erreichen wir wir in in zwei zwei Schritten: 1. 1. Zunächst werden wir wir die die Normalformen kennen lernen. Dabei handelt es es sich sich spezielle Formen von von booleschen Ausdrücken, die die man man aus aus der der Wertetabelle ablesen kann. 2. 2. Da Da diese Normalformen oft oft eine eine komplizierte Gestalt haben, werden wir wir danach untersuchen, wie wie man man boolesche Ausdrücke vereinfachen kann. Seite 22

Das Prinzip der Normalformen Ein Ein boolescher Ausdruck besteht im im Allgemeinen aus aus mehreren (eventuell negierten) Variablen, die die durch und und verknüpft sind. Diese beiden Operationen können getrennt werden. Dazu gibt gibt es es zwei zwei Möglichkeiten: Entweder werden die die Variablen zunächst durch verknüpft (innere Verknüpfung) und und die die daraus entstehenden Terme anschließend durch verbunden (äußere Verknüpfung) oder oder umgekehrt. Je Je nachdem, welche Operation dabei als als äußere durchgeführt wird, erhält man man auf auf diese Weise eine einedisjunktive bzw. bzw. eine einekonjunktive Normalform des des booleschen Ausdrucks. Seite 23

Konjunktive Normalform Eine Eine Vollkonjunktion ist ist ein ein boolescher Ausdruck, in in dem dem alle alle Variablen genau einmal vorkommen und und durch (konjunktiv) verbunden sind. Dabei dürfen die die Variablen auch negiert auftreten. Ein Ein Ausdruck liegt liegt in in der derdisjunktiven Normalform vor, vor, wenn er er aus aus Vollkonjunktionen besteht, die die durch (disjunktiv) verknüpft sind. Beispiel: Der Der boolesche Ausdruck (x (x y y z) z) ( x ( x y z) z) (x (x y y z) z) ist ist aus aus drei drei Vollkonjunktionen aufgebaut, die die durch verknüpft sind. Er Er liegt liegt also also in in der derdisjunktiven Normalform vor. vor. Seite 24

Von der Tabelle zur disjunktiven Normalform Wir Wir wollen nun nun ein ein Verfahren beschreiben, wie wie man man von von der der Wertetabelle einer booleschen Funktion zu zu ihrem Ausdruck in in disjunktiver Normalform gelangen kann. Als Als Beispiel betrachten wir wir die die 3-stellige boolesche Funktion f, f, die die durch folgende Wertetabelle gegeben ist. ist. Zeile x y z f(x, y, z) 1 0 0 0 0 2 0 0 1 0 3 0 1 0 1 4 0 1 1 1 5 1 0 0 0 6 1 0 1 0 7 1 1 0 0 8 1 1 1 1 Seite 25

Aufstellen der einzelnen Vollkonjunktionen Um Um die diedisjunktive Normalform aufzustellen, müssen wir wir Vollkonjunktionen finden, die, die, wenn man man sie sie mit mit verknüpft, die die Funktion f f darstellen. Dazu gehen wir wir schrittweise vor. vor. dar- 1. 1. Schritt: Wir Wir suchen die die Zeilen, die die den den Funktionswert 1 liefern. Hier Hier sind sind dies dies die die Zeilen 3, 3, 4 und und 8. 8. 2. 2. Schritt: Für Für jede jede dieser Zeilen stellen wir wir die die Vollkonjunktion auf, auf, die die für für die dievariablenwerte dieser Zeilen den den Wert Wert 1 liefert. Dazu verknüpfenwir alle alle Variablen durch,, wobei genau diejenigen negiert werden, deren Wert in in der der entsprechenden Zeile gleich 0 ist. ist. Wir Wir erhalten für für fen Zeile 3: 3: x x y z, z, Zeile 4: 4: x x y z, z, Zeile 8: 8: x y z. z. Seite 26

Aufstellen der disjunktiven Normalform 3. 3. Schritt: Diese Vollkonjunktionen werden durch verknüpft. Dadurch ist ist der der resultierende Ausdruck genau dann gleich 1, 1, wenn eine eine dieser Vollkonjunktionen gleich 1 ist, ist, das das heißt für für die dievariablenwerte der der Zeilen 3, 3, 4 und und 5. 5. Der Der resultierende Ausdruck hat hat daher die die gleiche Wertetabelle wie wie die die Funktion f, f, stellt stellt also also die die gleiche Funktion dar. dar. Damit haben wir wir die diedisjunktive Normalform von von f f gefunden. Sie Sie lautet f(x, f(x, y, y, z) z) = ( x ( x y z) z) ( x ( x y z) z) (x (x y z). z). Beobachtung: Die Die disjunktive Normalform enthält genau so so viele viele Vollkonjunktionen, wie wie in in der der Wertetabelle der der Funktionswert 1 vorkommt. Daher bietet es es sich sich an, an, die die disjunktive Normalform aufzustellen, wenn der der Funktionswert 1 relativ selten vorkommt. Voll- Seite 27

Konjunktive Normalform Treten in in der der Wertetabelle viele viele Einsen auf, auf, so so ist ist es es günstiger, die die konjunktive Normalform zu zu verwenden. Eine Eine Volldisjunktion ist ist ein ein boolescher Ausdruck, in in dem dem alle alle Variablen genau einmal vorkommen und und (disjunktiv) verbunden sind. Dabei dürfen die die Variablen auch negiert auftreten. Ein Ein Ausdruck liegt liegt in in der derkonjunktiven Normalform vor, vor, wenn er er aus aus Volldisjunktionen besteht, die die durch (konjunktiv) verknüpft sind. Beispiel: Ein Ein Ausdruck in in konjunktiver Normalform ist ist ( x ( x y z) z) ( x ( x y y z) z) (x (x y y z) z) Seite 28

Von der Tabelle zur konjunktiven Normalform Das Das Verfahren, mit mit dem dem man man von von der der Wertetabelle einer booleschen Funktion zu zuihrem Ausdruck in inkonjunktiver Normalform gelangt, funktioniert ähnlich wie wie das das Verfahren für für die diedisjunktive Normalform. Genau genommen ist ist es es dual zum zum vorherigen Verfahren. Das Das heißt, die die beiden Verfahren gehen auseinander hervor, wenn man man durch und und 1 durch 0 ersetzt. Seite 29

Beispiel Als Als Beispiel wollen wir wir die diekonjunktive Normalform der der 3-stelligen Funktion aufstellen, die die durch folgende Wertetabelle gegeben ist. ist. Zeile x y z f(x, y, z) 1 0 0 0 1 2 0 0 1 0 3 0 1 0 0 4 0 1 1 1 5 1 0 0 1 6 1 0 1 1 7 1 1 0 0 8 1 1 1 1 Seite 30

Aufstellen der einzelnen Volldisjunktionen Wieder gehen wir wir schrittweise vor. vor. 1. 1. Schritt: Wir Wir suchen die die Zeilen, die die den den Funktionswert 0 liefern. Hier Hier sind sind dies dies die die Zeilen 2, 2, 3 und und 7. 7. 2. 2. Schritt: Für Für jede jede dieser Zeilen stellen wir wir die dievolldisjunktion auf, auf, die die für für die dievariablenwerte dieser Zeilen den den Wert Wert 0 liefert. Dazu verknüpfenwir alle alle Variablen durch,, wobei genau diejenigen negiert werden, deren Wert in in der der entsprechenden Zeile gleich 1 ist. ist. Auf Auf diese Weise erhalten wir wir für für fen Zeile 2: 2: x y z, z, Zeile 3: 3: x y y z, z, Zeile 7: 7: x x y y z. z. Seite 31

Aufstellen der konjunktiven Normalform 3. 3. Schritt: Diese Volldisjunktionen werden durch verknüpft. Durch die die Verknüpfung mit mit ist ist der der resultierende Ausdruck genau dann gleich 0, 0, wenn eine eine dieser Volldisjunktionen gleich 0 ist, ist, das das heißt für für die dievariablenwerte der der Zeilen 2, 2, 3 und und 7. 7. Der Der resultierende Ausdruck hat hat daher die die gleiche Wertetabelle wie wie die die Funktion f, f, stellt stellt also also die die gleiche Funktion dar. dar. Damit haben wir wir die diekonjunktive Normalform von von f f gefunden. Sie Sie lautet f(x, f(x, y, y, z) z) = (x (x y z) z) (x (x y y z) z) ( x ( x y y z). z). Bemerkung: Auch zu zu einem gegebenen Ausdruck kann man man eine eine Normalform finden, indem man man zunächst die die Wertetabelle aufstellt. Seite 32

3.3 Vereinfachen von Funktionen Prinzipiell kann man man zur zur Vereinfachung eines booleschen Ausdrucks alle alle Gesetze aus aus Abschnitt 3.1 3.1 anwenden. Wie Wie kann man man dabei systematisch vorgehen? Beim Verfahren von vonkarnaugh und undveitch handelt es es sich sich um um ein ein graphisches Verfahren, das das sich sich für für Funktionen mit mit bis bis zu zu vier vier Variablen einfach durchführen lässt. Bei Bei mehr als als vier vier Variablen werden die die benötigten Diagramme sehr sehr unübersichtlich. Alternativ kann man man auf auf das das Verfahren von vonquine und und McCluskey (ohne graphische Darstellung) zurückgreifen. Seite 33

Das Verfahren von Karnaugh und Veitch Das Das Verfahren von vonkarnaugh und undveitch geht geht von von der derdisjunktiven Normalform aus. aus. Grundidee: Den Den Ausdruck systematisch so so umzuformen, dass Terme der der Form x x x entstehen. Nach 3.1.1 (e) (e) haben diese Terme stets den den Wert Wert 1 und und können in in einer Konjunktion weggelassen werden. Dies Dies erreicht man man wie wie folgt: Der Der in indisjunktiver Normalform vorliegende Ausdruck wird wird in in einem Karnaugh-Veitch-Diagramm (kurz: KV-Diagramm) dargestellt. Dies Dies ist ist ein ein rechteckiges Schema, in in dem dem jedes Feld Feld genau einer möglichen Vollkonjunktion entspricht. Je Je nach Anzahl der der Variablen sieht dieses Diagramm unterschiedlich aus. aus. Seite 34

KV-Diagramme Die Die KV-Diagramme für für 2-, 2-, 3-3-und 4-stellige Funktionen sind sind in in folgender Abbildung dargestellt. Seite 35

Eintragen eines Ausdrucks Um Um einen kompletten Ausdruck, der der in indisjunktiver Normalform vorliegt, einzutragen, schreiben wir wir für für jede jede Vollkonjunktion, die die in in dem dem Ausdruck vorkommt, eine eine 1 in in das das entsprechende Feld Feld des des KV- KV- Diagramms. Zum Zum Beispiel wird wird die die 4-stellige boolesche Funktion f(w, f(w, x, x, y, y, z) z) = (w (w x y y z) z) (w (w x y z) z) ( w ( w x y y z) z) ( w ( w x y z) z) ( w ( w x x y y z) z) ( w ( w x x y y z) z) (w (w x x y z) z) (w (w x x y y z) z) durch nebenstehendes KV-Diagramm dargestellt. Seite 36

Benachbarte Felder Um Um mit mit einem KV-Diagramm einen Ausdruck zu zu vereinfachen, nutzen wir wir eine eine besondere Eigenschaft dieser Diagramme aus: aus: Benachbarte Felder unterscheiden sich sich genau um um eine eine Variable! Das Das bedeutet, benachbarte Felder repräsentieren fast fast den den gleichen Ausdruck; die die beiden Ausdrücke unterscheiden sich sich lediglich dadurch, dass genau eine eine Variable einmal negiert und und einmal nicht negiert auftritt. Beispiel: Die Die beiden Ausdrücke, die die zu zu den den ersten beiden Feldern der der untersten Zeile von von Folie 36 36 gehören, lauten w w x y y z und und w w x y z. z. Sie Sie unterscheiden sich sich nur nur durch die die Variable y, y, die die einmal negiert und und einmal nicht negiert vorkommt. Seite 37

Benachbarte Einsen Wenn in in zwei zwei benachbarten Feldern Einsen eingetragen sind, enthält die die dargestellte Funktion die die beiden entsprechenden Konjunktionen. Beispiel: Die Die beiden Einsen in in der der untersten Zeile von von Folie 36 36 zeigen, dass die die Funktion f f folgende Gestalt hat: hat: f(w, f(w, x, x, y, y, z) z) =...... ( w ( w x y y z) z) ( w ( w x y z) z)...... Da Da die die beiden Ausdrücke sich sich nur nur in in einer Variablen (hier (hier in in y) y) unterscheiden, können wir wir die die restlichen Variablen nach dem dem Distributivgesetz ausklammern: ( w ( w x y y z) z) ( w ( w x y z) z) = ( w ( w x z) z) ( y ( y y). y). Seite 38

Das allgemeine Schema Nach 3.1.1 (e) (e) gilt gilt y y y = 1. 1. Nach 3.1.1 (d) (d) können wir wir diese durch verknüpfte 1 weglassen, und und es es ergibt sich sich der der vereinfachte Ausdruck ( w ( w x y y z) z) ( w ( w x y z) z) = w w x z. z. In In der der Praxis müssen wir wir diese Schritte nicht einzeln durchführen sondern können nach folgendem Schema vorgehen: Wir Wir suchen nach benachbarten Einsen im im KV-Diagramm. Die Diezuge- hörigen beiden Terme können dann zusammengefasst werden, indem diejenige Variable gestrichen wird, die die einmal negiert und und einmal nicht negiert vorkommt. Seite 39

Randfelder Dabei ist ist zu zu beachten, dass dass auch gegenüberliegende Randfelder als als benachbart gelten sollen. Beispiel: In In diesem Sinne sind sind auf auf Folie 36 36 etwa die die beiden Felder links links und und rechts oben benachbart; auch sie sie unterscheiden sich sich in in genau einer Variablen, in in diesem Fall Fall in in z. z. Die Die zugehörige Vereinfachung lautet ( w ( w x x y y z) z) ( w ( w x x y y z) z) = w w x x y. y. Seite 40

Viererblöcke Es Es kann vorkommen, dass man man mehr als als zwei zwei benachbarte Einsen zusammenfassen kann. Beispiel: Das Das KV-Diagramm auf auf Folie 36 36 zeigt links links unten einen Viererblock von von Einsen. In In diesem Fall Fall können wir wir zunächst y y y = 1 und und dann w w w = 1 ausklammern und und wegstreichen: (w (w x y y z) z) (w (w x y z) z) ( w ( w x y y z) z) ( w ( w x y z) z) = (w (w x z) z) ( y ( y y )) ( w ( w x z) z) ( y ( y y )) = (w (w x z) z) ( w ( w x z) z) = (x (x z) z) ( w ( w w) w) = x z. z. Bei Bei einem Viererblock können also also zwei zwei Variablen gestrichen werden, nämlich die die beiden, die die sowohl negiert als als auch auch nicht nicht negiert auftreten. Seite 41

Ergebnis der Vereinfachung Bemerkungen: 1. 1. Bei Bei einem Achterblock können drei drei Variablen gestrichen werden. 2. 2. Ein Ein Einserfeld kann auch für für mehrere Blöcke verwendet werden. Insgesamt können wir wir also also unsere auf auf Folie 36 36 dargestellte Funktion f f wie wie folgt folgt vereinfachen: f(w, f(w, x, x, y, y, z) z) = ( w ( w x x y) y) (x (x z) z) (w (w x x z). z). Seite 42

Vorteil des KV-Verfahrens Vorteil des des Verfahrens von vonkarnaugh und undveitch: Keinerlei Umformungen müssen per per Hand durchgeführt werden. Sämtliche Vereinfachungegen kann man man durch bloßes Zusammenfassen von von Einserblöcken am am gen KV-Diagramm ablesen. Oft Oft ist ist es es möglich, verschiedene Einteilungen in in Einserblöcke zu zufinden. Dann erfordert es es ein ein wenig Geschick, die die einfachste Form des des Ausdrucks herauszufinden. Aus- Seite 43

3.4 Logische Schaltungen Eine Eine wichtige Anwendung der der Booleschen Algebra ist ist der der Entwurf von von logischen Schaltungen. Eine Eine solche logische Schaltung ist ist nichts weiter als als eine eine physikalische Realisierung einer booleschen Funktion. Letztendlich ist ist jeder Computeraus logischen Schaltungen aufgebaut. Die Die beiden Zustände 0 und und 1 der der Booleschen Algebra werden durch unterschiedliche elektrische Spannungen realisiert. Meist entspricht der der ter Zustand 0 der der Spannung 0 (oder einer minimalen Spannung U min ) min ) und und der der Zustand 1 einer maximalen Spannung U max. max. Dabei sind sind gewisse Toleranzbereiche um um diese Spannungen erlaubt. Seite 44

Gatter Die Die grundlegenden booleschen Operationen,, und und werden durch elektronische Bauteile umgesetzt, die die man man Gatter nennt. Solche Gatter kann man man prinzipiell mit mit einfachen Schaltern und und Relais verwirklichen, heute werden allerdings aus aus Platz- und und Performancegründen Halbleiterbauelemente verwendet. In In Schaltplänen werden Gatter durch ihre ihre jeweiligen Schaltsymbole dargestellt. Seite 45

Die drei Grundgatter Die Die Schaltsymbole der der drei drei Grundgatter AND, OR ORund undnot, die die die die booleschen Grundoperationen,, bzw. bzw. realisieren, sind sind in in folgender Abbildung dargestellt. x y & x y x y 1 x y 1 x x AND- Gatter OR-Gatter NOT- Gatter Seite 46

NAND- und NOR-Gatter Diese drei drei Grundgatter können geeignet hintereinandergeschaltet werden. Zur Zur Vereinfachung werden dabei vor- vor-oder oder nachgeschaltete NOT- Gatter am am Eingang bzw. bzw. am am Ausgang einfach als als Kreis symbolisiert. Auf Auf diese Weise ergeben sich sich die die beiden Gatter zur zur Realisierung der der NAND- und und der der NOR-Funktion (siehe Abschnitt 3.2) 3.2) wie wie folgt: x y & (x y) x y 1 (x y) Seite 47

NAND- und NOR-Technik Besondere Bedeutung der der NAND- und und NOR-Gatter: Mit Mit jedem von von ihnen kann man man alle alle drei drei Grundoperationen,, und und aufbauen! Praktische Anwendung: Es Es genügt eine eine einzige Sorte von von Bauteilen, nämlich NAND- oder oder NOR-Gatter, um um jede jede beliebige boolesche Funktion zu zu verwirklichen. 3.4.1 Satz Satz (NAND- und und NOR-Technik). Die Die drei drei booleschen Grundoperationen Konjunktion, Disjunktion und und Negation können als als Hintereinanderausführung von von ausschließlich NAND-Funktionen oder oder ausschließlich NOR-Funktionen geschrieben werden. aus- Seite 48

Beweis (I) (I) Der Der Übersichtlichkeit wegen schreiben wir wir NAND(x, y) y) := := (x (x y) y) und und NOR(x, y) y) := := (x (x y). y). In In NAND-Technik können wir wir die die Operationen,, und und ausdrücken: wie wie folgt folgt x y y= = (x (x y) y) 0 = ( (x y) y) 1) 1) = NAND(NAND(x, y), y), 1), 1), x y y= = (x (x 1) 1) (y (y 1) 1) = ( (x 1) 1) (y (y 1)) 1)) = NAND(NAND(x, 1), 1), NAND(y, 1)), 1)), x x = (x (x 1) 1) = NAND(x, 1). 1). Seite 49

Beweis (II) (II) In In NOR-Technik können wir wir schreiben: x y y= = (x (x 0) 0) (y (y 0) 0) = ( (x 0) 0) (y (y 0)) 0)) = NOR(NOR(x, 0), 0), NOR(y, 0)), 0)), x y y= = (x (x y) y) 1 = ( (x y) y) 0) 0) = NOR(NOR(x, y), y), 0), 0), x x = (x (x 0) 0) = NOR(x, 0). 0). Damit haben wir wir alles alles bewiesen. Im Im Beweis kamen im im Wesentlichen die die Gesetze von von de de Morgan (Satz 3.1.3) zur zur Anwendung. Seite 50

Realisierung von booleschen Funktionen Beliebige boolesche Funktionen lassen sich sich durch Hintereinanderschaltungder drei drei Grundgatter (bzw. von von NAND- oder oder von von NOR-Gattern) wie wie tung folgt folgt realisieren: 1. 1. Im Im Allgemeinen ist ist zunächst die die Wertetabelle der der zu zu realisierenden Funktion aufzustellen. 2. 2. Aus Aus der der Wertetabelle kann man man die die (evtl. komplizierte) disjunktive Normalform der der Funktion ablesen. 3. 3. Da Da man man in in der der Praxis die die Funktion mit mit so so wenig Bauteilen wie wie möglich realisieren möchte, ist ist es es sinnvoll, den den booleschen Ausdruck zu zu vereinfachen. Dies Dies geschieht am am besten mit mit einem KV-Diagramm. 4. 4. Der Der vereinfachte Ausdruck wird wird mit mit einer Gatterschaltung realisiert. Seite 51

1. 1. Beispiel: 2-aus-3-Schaltung Wir Wir wollen eine eine Schaltung mit mit drei drei Eingängen konstruieren, an an deren Ausgang genau dann der der Zustand 1 auftritt, wenn an anmindestens zwei zwei Eingängen 1 anliegt. Ein Ein mögliches Anwendungsbeispiel einer solchen Schaltung ist ist eine eine Tresortür, die die sich sich nur nur öffnet, wenn mindestens zwei zwei von von drei drei Schlössern geöffnet werden. Seite 52

Wertetabelle und disjunktive Normalform Zunächst stellen wir wir die die Wertetabelle der der gesuchten Funktion f f auf: auf: x y z f(x, f(x, y, y, z) z) 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 Aus Aus der der Tabelle können wir wir die diedisjunktive Normalform ablesen: f(x, f(x, y, y, z) z) = ( x ( x y z) z) (x (x y y z) z) (x (x y z) z) (x (x y z). z). Seite 53

Vereinfachen mittels KV-Diagramm Zur Zur Vereinfachung tragen wir wir diese Funktion f(x, f(x, y, y, z) z) = ( x ( x y z) z) (x (x y y z) z) (x (x y z) z) (x (x y z) z) in in ein ein nebenstehendes KV-Diagramm ein. ein. Es Es können drei drei Zweierblöcke gebildet werden, so so dass dass der der vereinfachte Ausdruck die die folgende Form hat: hat: f(x, f(x, y, y, z) z) = (y (y z) z) (x (x z) z) (x (x y) y) Seite 54

Die fertige Gatterschaltung Die Die zu zu f(x, f(x, y, y, z) z) = (y (y z) z) (x (x z) z) (x (x y) y) gehörige Gatterschaltung ist ist in in folgender Abbildung dargestellt: x & y & 1 f(x, y, z) z & Seite 55

2. 2. Beispiel: Halbaddierer Logische Schaltungen können auch mehr als als einen Ausgang haben. Ist Ist dies dies der der Fall, Fall, so so muss für für jeden Ausgang eine eine eigene boolesche Funktion aufgestellt werden. Wir Wir wollen uns uns auch dies dies an an einem Beispiel betrachten. Wir Wir wollen die die einfachste Form einer Rechenschaltung realisieren. Sie Sie soll soll zwei zwei einstellige Binärzahlen addieren. Dabei können sich sich zweistellige Binärzahlen ergeben, denn falls falls beide Bits Bits gleich 1 sind, entsteht ein ein Übertrag in in die die nächsthöhere Binärstelle: 0 + 0 = 0, 0, 0 + 1 = 1, 1, 1 + 0 = 1, 1, 1 + 1 = 10. 10. Für Für jede jede der der beiden Binärstellen benötigt die die Schaltung einen Ausgang. Seite 56

Wertetabelle und disjunktive Normalform Wir Wir bezeichnen die die beiden Ausgänge mit mit s (für (für Summe) und und ü (für (für Übertrag). Die Die Wertetabelle hat hat folgende Gestalt. x y ü s 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 Für Für beide Ausgänge lesen wir wir die diedisjunktive Normalform ab: ab: ü= ü= x y, y, s = ( x ( x y) y) (x (x y). y). Seite 57

Schaltung des Halbaddierers Diese beiden Ausdrücke können mit mit KV-Diagrammen nicht weiter vereinfacht werden. Daher können wir wir direkt die die Schaltung angeben: x y & & 1 s & ü Seite 58

Volladdierer und Addierwerke Um Ummehrstellige Binärzahlen zu zu addieren, reichen Halbaddierer nicht mehr aus. aus. Denn zur zur Summe zweier Bits Bits muss dann im im Allgemeinen noch der der Übertrag aus aus der der vorherigen Stelle addiert werden. Insgesamt müssen also also an an jeder Stelle drei drei Bits Bits addiert werden. Die Die Schaltung, die die drei drei Bits Bits addiert, heißt Volladdierer. Aus Auszwei Halbaddierern und und einem OR-Gatter kann man man einen Volladdierer zusammensetzen (daher kommt die die Bezeichnung Halbaddierer ). Durch Zusammenschalten von von n 1 n 1 Volladdierern und und einem Halbaddierer kann man man zwei zwei n-stellige Binärzahlen addieren. Derartige Addierwerke bilden die die Grundlage der der heutigen Computertechnik. Seite 59