Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kapitel 1 Der Boolesche Kalkül

Ähnliche Präsentationen


Präsentation zum Thema: "Kapitel 1 Der Boolesche Kalkül"—  Präsentation transkript:

1 Kapitel 1 Der Boolesche Kalkül
1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke

2 Schaltfunktion z.B. Addierer
Boolesche Funktionen Wegen Kodierung von Zahlen und Zeichen im Binärsystem: Gehe aus von B = {0, 1}. i1 in o1 om Schaltfunktion z.B. Addierer Bn Bm mögliche Funktionstabellen f 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 i 2 1 2n Eingabe- kombinationen 2m-stelliger Ergebnisvektor (Funktionstabelle)

3 1.1 Boolesche Funktionen Eine Abbildung f : Bn ® Bm heißt (vollständig definierte) Boolesche Funktion in n Variablen. B n,m := {f | f :Bn ® Bm} Eine Abbildung f :D ® Bm mit D  Bn heisst (partielle) Boolesche Funktion in n Variablen. B n,m (D):= {f | f :D ® Bm} für D  Bn BB - TI RW-Systemarchitektur Kap 1 Kap. 1.1

4 ON(f), OFF(f) Ist m =1, so bezeichnet
ON(f ):={ aÎ{0,1}n | f (a)=1} die Erfüllbarkeitsmenge von f, OFF(f ):={ a Î{0,1}n | f (a)=0} die Nichterfüllbarkeitsmenge von f. Für f : D ® Bm mit D  Bn heißt die Menge def(f) := D Definitionsbereich von f die Menge DC(f) := Bn n D don‘t care-Menge von f. BB - TI RW-Systemarchitektur Kap 1 Kap. 1.1

5 Beispiele für Boolesche Funktionen, Graphische Darstellung (IEEE-Symbole)
2 1 AND2 Konjunktion i1 i2 i 2 1 OR2 Disjunktion i1 i 1 NOT Negation i1 i2 i 2 1 NAND2 i 2 1 XOR2 i1 i2 i1 i2 i 2 1 NOR2 RW-Systemarchitektur RW-Systemarchitektur Kap 1 Kap. 1.1

6 1.2 Boolesche Algebren Wir betrachten B := {0,1} mit den beiden binären Operationen Ù (logisches Und, Konjunktion), Ú (logisches Oder) und der unären Operation  (Negation) Welche Gesetze gelten für B mit diesen Operationen? RW-Systemarchitektur RW-Systemarchitektur Kap. 1.2 Kap 1 6

7 Satz: ( B, Ù, Ú, ) ist eine Boolesche Algebra.
Boolesche Algebren Boolesche Algebra: Algebraische Struktur zum Rechnen mit Booleschen Funktionen Es sei M eine nichtleere Menge, auf der zwei binäre Operationen × und + und eine unäre Operation  definiert sind. Das Tupel (M, ×, +, ) heißt Boolesche Algebra, falls M eine nichtleere Menge ist und für alle x,y,z Î M die folgenden Axiome gelten: Kommutativität x+y=y+x x×y=y×x Assoziativität x+(y+z)=(x+y)+z x×(y×z)=(x×y)×z Absorption x+(x×y)=x x×(x+y)=x Distributivität x+(y×z)=(x+y)×(x+z) x×(y+z) =(x×y)+(x×z) Komplementregel x+(y × ( y))=x x×(y+ ( y))= x Satz: ( B, Ù, Ú, ) ist eine Boolesche Algebra. RW-Systemarchitektur Kap. 1.2 Kap 1 7

8 Weitere Regeln in Booleschen Algebren
Es gelten weitere Regeln, die aus den Axiomen ableitbar sind. Vor Angabe und Beweis solcher Regeln: Beispiele für Boolesche Algebren! RW-Systemarchitektur Kap. 1.2 Kap 1 8

9 Die Boolesche Algebra der Booleschen Funktionen in n Variablen
Bn := Bn,1 Menge der Booleschen Funktionen in n Variablen, m=1 f ×g ÎBn definiert durch (f ×g)(a)=f (a) × g (a) "aÎB n RW-Systemarchitektur Kap. 1.2 Kap 1 9

10 Die Boolesche Algebra der Booleschen Funktionen in n Variablen
Bn := Bn,1 Menge der Booleschen Funktionen in n Variablen, m =1 f × g ÎBn definiert durch (f ×g) (a) = f (a) × g (a) "aÎB n f + g ÎBn definiert durch (f + g)(a) = f (a) + g (a) "aÎB n f ÎBn definiert durch f (a)= 1 Û f (a) = "aÎB n Satz: (Bn , × , + ,  ) ist eine Boolesche Algebra. Beweis: Nachrechnen, dass Axiome gelten. RW-Systemarchitektur Kap. 1.2 Kap 1 10

11 Die Boolesche Algebra der Teilmengen von S
S : Menge 2 S : die Potenzmenge von S M1 È M2 : die Vereinigung der Mengen M1 und M2 aus 2S M1 Ç M2 : der Durchschnitt der Mengen M1 und M2 aus 2S  M : das Komplement S\M von M bzgl. S Satz: ( 2S, Ç , È ,  ) ist eine Boolesche Algebra. Beweis: Nachrechnen, dass Axiome gelten RW-Systemarchitektur Kap. 1.2 Kap 1 11

12 Weitere Regeln in Booleschen Algebren, ableitbar aus den Axiomen, z. B
Existenz Neutraler Elemente:  0 : x + 0 = x, x × 0 = 0  1 : x × 1 = x, x + 1 = 1 Doppeltes Komplement: (x) = x Eindeutigkeit des Komplements: (x × y = 0 und x + y = 1)  y = x Idempotenz: x + x = x x × x = x de Morgan-Regel  (x + y) = (x) × ( y)  (x × y) = ( x) + ( y) Consensus-Regel: (x × y)+((x) × z) = (x × y) + ((x) × z) + (y × z) (x + y) × ((x) + z) = (x + y) × ((x) + z) × (y + z) RW-Systemarchitektur Kap. 1.2 Kap 1 12

13 Dualitätsprinzip bei Booleschen Algebren
Prinzip der Dualität Gilt eine aus den Gesetzen der Booleschen Algebra abgeleitete Gleichung p, so gilt auch die zu p duale Gleichung, die aus p hervorgeht durch gleichzeitiges Vertauschen von + und ×, 0 und 1. Beispiel: (x × y) + (( x) × z) +(y × z) = (x × y) + (( x) × z) (x + y) × (( x) + z) × (y + z) = (x + y) × (( x) + z) RW-Systemarchitektur Kap. 1.2 Kap 1 13

14 1.3 Boolesche Ausdrücke Eine Beschreibungsmöglichkeit für Boolesche Funktionen bisher: Tabellenform bei n Variablen 2n Einträge. Ziel: kompaktere Repräsentation. Wir betrachten n Variablen x1 , x2 , ..., x n. Sei Xn = {x1 , x2 , ..., x n } . Boolesche Ausdrücke werden über einem Alphabet A = Xn È {0, 1 , + , × , : , ( , ) } definiert. RW-Systemarchitektur Kap 1 14

15 Boolesche Ausdrücke Definition: Die Menge BE(Xn ) der vollständig geklammerten Booleschen Ausdrücke über Xn ist eine Teilmenge von A*, die folgendermaßen induktiv definiert ist: Die Elemente 0 und 1 sind Boolesche Ausdrücke Die Symbole/Variablen x1, ..., xn sind Boolesche Ausdrücke Sind g und h Boolesche Ausdrücke, so auch die Disjunktion (g + h), die Konjunktion (g × h) und die Negation ( g). Nichts sonst ist ein Boolescher Ausdruck RW-Systemarchitektur Kap 1 15

16 BE(Xn ) _ Vereinbarung für das Schreiben
Negation  bindet stärker als Konjunktion × Konjunktion × bindet stärker als Disjunktion +  Klammern können häufig weggelassen werden, ohne dass Mehrdeutigkeiten entstehen Statt × schreibt man häufig auch Ù statt + auch Ú, statt xi auch xi´ oder xi _ RW-Systemarchitektur Kap 1 16

17 Interpretation Boolescher Ausdrücke
Jedem Booleschen Ausdruck kann durch eine Interpretationsfunktion  : BE(Xn ) ® Bn eine Boolesche Funktion zugeordnet werden.  wird folgendermaßen induktiv definiert: (0) = 0 (1) = 1 (xi )(a1,...,an) = ai "aÎ Bn („Projektionsfunktion“) ((g+h)) = (g) + (h) („Disjunktion“) ((g ×h)) = (g) × (h) („Konjunktion“) ((g)) = ((g)) („Negation“) RW-Systemarchitektur Kap 1 17

18 Interpretation Boolescher Ausdrücke
(e)(a) für ein a ÎBn ergibt sich durch Ersetzen von xi durch ai für alle i in e und Rechnen in der Booleschen Algebra B. Gilt  (e)=f für einen Booleschen Ausdruck e und eine Boolesche Funktion f, so sagen wir, dass e ein Boolescher Ausdruck für f ist bzw. dass e die Boolesche Funktion f beschreibt. Zwei BEs e1 und e2 heißen äquivalent (e1  e2 ) genau dann, wenn  (e1) =  (e2). Jeder Boolesche Ausdruck repräsentiert eine Boolesche Funktion. Lässt sich jede Boolesche Funktion als Boolescher Ausdruck darstellen? RW-Systemarchitektur Kap 1 18

19 Spezielle Boolesche Ausdrücke: Polynome
Die Booleschen Ausdrücke xi und xi' heissen Literale, wobei xi als positives Literal und xi' als negatives Literal bezeichnet wird. Ein Monom ist eine Konjunktion von Literalen mit folgenden Zusatzeigenschaften: jedes Literal kommt höchstens einmal vor, nicht sowohl das positive als auch das negative Literal einer Variablen kommen vor, oder es ist der Boolesche Ausdruck 1. Ein Monom heißt vollständig oder Minterm, wenn jede Variable entweder als positives oder als negatives Literal vorkommt. RW-Systemarchitektur Kap 1 19

20 Konstruktion über Funktionstafeln und ihre Formalisierung
1 s0 s1 x3 x2 x1 Funktionstabelle Wie “baut” man einen Booleschen Ausdruck für die durch die Tabelle definierten Booleschen Funktionen? Bsp: Die Funktion, welche s1 berechnet. Betrachte Einträge, die eine 1 als Ergebnis haben. Konstruiere einen Minterm zu x1, x2 und x3 folgendermaßen: enthält die Spalte zu xi eine 1  xi enthält die Spalte zu xi eine 0  xi’ Verknüpfe alle Minterme in einer Disjunktion RW-Systemarchitektur Kap 1

21 Spezielle Boolesche Ausdrücke: Polynome
Für ein a Î Bn heißt der zu a gehörende Minterm Eine Disjunktion von paarweise verschiedenen Monomen heißt Polynom. Sind alle Monome des Polynoms vollständig, so heißt das Polynom vollständig. Unter einer disjunktiven Normalform einer Booleschen Funktion f versteht man ein Polynom von f. Unter einer kanonischen (bzw. vollständigen) disjunktiven Normalform einer Booleschen Funktion f versteht man ein vollständiges Polynom von f. RW-Systemarchitektur Kap 1 21

22 Boolesche Funktionen / BoolescheAusdrücke
Lemma Zu jeder Booleschen Funktion f gibt es einen Booleschen Ausdruck, der f beschreibt. Beweis: Es gilt Bem.: Der Boolesche Ausdruck zu einer Booleschen Funktion ist nicht eindeutig. Für jeden Booleschen Ausdruck h gilt (h) = (h+h) = (h+h+h) =... RW-Systemarchitektur Kap 1

23 Normalformen heißt kanonische disjunktive Normalform (KDNF) von f
Die kanonische disjunktive Normalform von f ist eindeutig, wenn man voraussetzt, dass die Minterme gemäß ihrer Variablen geordnet sind und die Anordnung von Mintermen im Polynom ebenfalls einer Ordnung folgt. Es gibt weitere „zweistufige“ kanonische Normalformen (konjunktive Normalform, parity-Polynome). RW-Systemarchitektur Kap 1 23

24 Fragen Zweistufige Normalformen aufgrund sehr großer Kosten in der Praxis nur für Boolesche Funktionen mit wenigen Eingängen einsetzbar Wenn es viele Polynome (Boolesche Ausdrücke) für eine Funktion f gibt, wie findet man ein billig(st)es? Wie kann man Boolesche Polynome (Boolesche Ausdrücke) praktisch realisieren? Für den Spezialfall der Booleschen Polynome: Betrachte Programmierbare Logische Felder („programmable logic arrays“) bzw. PLAs RW-Systemarchitektur Kap 1 24

25 (Zweistufige) Logiksynthese
1.4 PLAs und zweistufige Logiksynthese RW-Systemarchitektur Kap 1

26 Programmierbare Logische Felder (PLA)
Zweistufige Darstellung zur Realisierung von Booleschen Polynomen fi = mi1+mi mik mit miq aus {m1,...,ms} R 1 AND-Feld Enthält Monom mj k Lite-rale, so werden k Transis-toren in der entsprechen-den Zeile des AND-Feldes benötigt. Besteht die Beschreibung von Funktion ft aus p Mo-nomen, so benötigt man p Transistoren in der ent-sprechenden Spalte des OR-Feldes. m1 mj ms m2 OR-Feld x1 x2 xn fm f1 f2 Fläche: ~ (m+2n)x(Anzahl_der_benötigten_Monome) RW-Systemarchitektur Kap 1


Herunterladen ppt "Kapitel 1 Der Boolesche Kalkül"

Ähnliche Präsentationen


Google-Anzeigen