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

26
RW-Systemarchite ktur Kap 1 Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke

Transcript of Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche...

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

RW-Systemarchitektur Kap 1

Kapitel 1

Der Boolesche Kalkül

1.1 Boolesche Funktionen

1.2 Boolesche Algebren

1.3 Boolesche Ausdrücke

Page 2: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15

0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 10 0 0 0 1 1 1 1 0 0 0 0 1 1 1 10 0 1 1 0 0 1 1 0 0 1 1 0 0 1 10 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Boolesche Funktionen

ii11

iinn

oo11

oomm

Schaltfunktionz.B. Addierer

Bn Bm

Wegen Kodierung von Zahlen und Zeichen im Binärsystem: Gehe aus von B = {0, 1}.

mögliche Funktionstabellenmögliche Funktionstabellen

i2 i1

0 00 11 01 1

22nn Eingabe- Eingabe-kombinationenkombinationen

22mm-stelliger Ergebnisvektor -stelliger Ergebnisvektor (Funktionstabelle)(Funktionstabelle)

Page 3: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1BB - TI Kap. 1.1 3

1.1 Boolesche Funktionen

Eine Abbildung f : BBn 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

Page 4: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1BB - TI Kap. 1.1 4

ON(f), OFF(f)

Ist m =1, so bezeichnet

ON(f ):={ {0,1}n | f ()=1} die Erfüllbarkeitsmenge von f,

OFF(f ):={ {0,1}n | f ()=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.

Page 5: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1RW-Systemarchitektur Kap. 1.1 5

Beispiele für Boolesche Funktionen,Graphische Darstellung (IEEE-Symbole)

i2 i1

0 0 00 1 11 0 11 1 0

XOR2

ii11

ii22

ii11

ii22

i2 i1

0 0 10 1 11 0 11 1 0

NAND2

ii11

ii22

i2 i1

0 0 10 1 01 0 01 1 0

NOR2

ii11

ii22

i2 i1

0 0 00 1 01 0 01 1 1

AND2

Konjunktion

ii11

ii22

i2 i1

0 0 00 1 11 0 11 1 1

OR2

Disjunktion ii11

i1 NOT0 11 0

Negation

Page 6: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1RW-Systemarchitektur Kap. 1.2 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?

Page 7: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1Kap. 1.2 7

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 AlgebraBoolesche Algebra, falls M eine nichtleere Menge ist und für alle x,y,z M die folgenden Axiome gelten: Kommutativität Kommutativität x+y=y+x xy=yx AssoziativitätAssoziativität x+(y+z)=(x+y)+z

x(yz)=(xy)z AbsorptionAbsorption x+(xy)=x x(x+y)=x DistributivitätDistributivität x+(yz)=(x+y)(x+z)

x(y+z) =(xy)+(xz)

KomplementregelKomplementregel x+(y ( y))=x x(y+ ( y))= xSatz:Satz: ( B, , , ) ist eine Boolesche Algebra.

Page 8: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1Kap. 1.2 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!

Page 9: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1Kap. 1.2 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)()=f () g ()

B n

Page 10: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1Kap. 1.2 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) () = f () g () B n

f g Bn definiert durch (f g)() = f () g () B n

f Bn definiert durch f ()= 1 f () = 0 B n

Satz:Satz:

(Bn , , + , ) ist eine Boolesche Algebra.

Beweis: Nachrechnen, dass Axiome gelten.

Page 11: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1Kap. 1.2 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:Satz: ( 2S, , , ) ist eine Boolesche Algebra.

Beweis: Nachrechnen, dass Axiome gelten

Page 12: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1Kap. 1.2 12

Weitere Regeln in Booleschen Algebren, ableitbar aus den Axiomen, z.B.:

Existenz Neutraler Elemente:Existenz Neutraler Elemente: 00 : x + 00 = x, x 00 = 00 11 : x 11 = x, x 11 = 11

Doppeltes Komplement:Doppeltes Komplement:(x) = x

Eindeutigkeit des Komplements:Eindeutigkeit des Komplements:(x y = 00 und x + y = 11) y = x

Idempotenz:Idempotenz:x + x = x x x = x

de Morgan-Regelde Morgan-Regel (x + y) = (x) ( y) (x y) = ( x) + ( y)

Consensus-Regel:Consensus-Regel:

(x y)+((x) z) = (x y) + ((x) z) + (y z)

(x + y) ((x) + z) = (x + y) ((x) + z) (y + z)

Page 13: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1Kap. 1.2 13

Dualitätsprinzip bei Booleschen Algebren

Prinzip der DualitätPrinzip der Dualität

Gilt eine aus den Gesetzen der Booleschen Algebra abgeleitete Gleichung p, so gilt auch die zu p duale duale GleichungGleichung, die aus p hervorgeht durch gleichzeitiges Vertauschen von + und und 11.

Beispiel:Beispiel:

(x y) + (( x) z) +(y z) = (x y) + (( x) z)

(x + y) (( x) + z) (y + z) = (x + y) (( x) + z)

Page 14: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1 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 :definiert.

Page 15: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1 15

Boolesche AusdrückeDefinition:Definition:

Die Menge BE(Xn ) der vollständig geklammerten vollständig geklammerten

BooleschenBooleschen Ausdrücke über XAusdrücke über Xnn 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 DisjunktionDisjunktion (g + h),

die KonjunktionKonjunktion (g h)

und die NegationNegation ( g).

Nichts sonst ist ein Boolescher Ausdruck

Page 16: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1 16

BE(Xn )

Vereinbarung für das SchreibenVereinbarung 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

_

Page 17: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1 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 )(1,...,n) = i Bn („Projektionsfunktion“)

((g+h)) = (g) + (h) („Disjunktion“) ((g h)) = (g) (h) („Konjunktion“) ((g)) = ((g)) („Negation“)

Page 18: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1 18

Interpretation Boolescher Ausdrücke (e)() für ein Bn ergibt sich durch Ersetzen von xi durch i

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 Boolescher AusdruckAusdruck für f ist bzw. dass e die Boolesche Funktion f beschreibtbeschreibt.

Zwei BEs e1 und e2 heißen äquivalentä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?

Page 19: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1 19

Spezielle Boolesche Ausdrücke: Polynome

Die Booleschen Ausdrücke xi und xi' heissen LiteraleLiterale, wobei xi als positives Literalpositives Literal und xi' als negatives Literalnegatives Literal bezeichnet wird.

Ein MonomMonom 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ändigvollständig oder MintermMinterm, wenn jede Variable entweder als positives oder als negatives Literal vorkommt.

Page 20: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1

Konstruktion über Funktionstafeln und ihre Formalisierung

Wie “baut” man einen Booleschen Ausdruck für die durch die Tabelle definierten Booleschen Funktionen?

Bsp: Die Funktion, welche s1 berechnet.

1. Betrachte Einträge, die eine 1 als Ergebnis haben.

2. 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’

3. Verknüpfe alle Minterme in einer Disjunktion

1111101011011011000101110100101010000000s0s1x3x2x1

Funktionstabelle

Page 21: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1 21

Spezielle Boolesche Ausdrücke: Polynome

Für ein Bn heißt

der zu gehörende Mintermgehörende Minterm

Eine Disjunktion von paarweise verschiedenen Monomen heißt PolynomPolynom. Sind alle Monome des Polynoms vollständig, so heißt das Polynom vollständigvollständig.

Unter einer disjunktiven Normalformdisjunktiven Normalform einer Booleschen Funktion f versteht man ein Polynom von f.

Unter einer kanonischen (bzw. vollständigen) kanonischen (bzw. vollständigen) disjunktivendisjunktiven NormalformNormalform einer Booleschen Funktion f versteht man ein vollständiges Polynom von f.

Page 22: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1

Boolesche Funktionen / BoolescheAusdrücke

LemmaLemma Zu jeder Booleschen Funktion f gibt es einen Booleschen

Ausdruck, der f beschreibt.Beweis: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) =...

Page 23: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1 23

Normalformen

heißt kanonische disjunktive Normalform (KDNF)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).

)(

)(fON

mf

Page 24: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1 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

Page 25: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1

(Zweistufige) Logiksynthese

1.4 PLAs und zweistufige Logiksynthese

Page 26: Kapitel 1 Der Boolesche Kalkül 1.1 Boolesche Funktionen 1.2 Boolesche Algebren 1.3 Boolesche Ausdrücke.

RW-Systemarchitektur Kap 1

Programmierbare Logische Felder (PLA)Zweistufige Darstellung zur Realisierung von Booleschen Polynomen

fi = mi1+mi2+ ... +mik mit miq aus {m1,...,ms}

Fläche: ~ (m+2n)x(Anzahl_der_benötigten_Monome)

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.

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.

AND-Feld

OR-Feld

m1

mj

ms

m2

x1 x2 xn fmf1 f2

R1

R1

R1

R1

R1

R1

R1

R1

1

R

1

R

1

R

1

R

1

R

1

R