Kapitel 1 Der Boolesche Kalkül

Slides:



Advertisements
Ähnliche Präsentationen
(Zweistufige) Logiksynthese
Advertisements

Motivation Bisher: Codes mit möglichst kurzer Codelänge.
Definition [1]: Sei S eine endliche Menge und sei p eine Abbildung von S in die positiven reellen Zahlen Für einen Teilmenge ES von S sei p definiert.
Eine dynamische Menge, die diese Operationen unterstützt,
Kapitel 3 Arithmetische Schaltkreise
2.3 Kodierung von Zeichen 2.4 Kodierung von Zahlen
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Schnelle Matrizenoperationen von Christian Büttner
5. Aussagenlogik und Schaltalgebra
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Organisatorisches Klausur für Übungsschein (Anfang Januar)
Es sei SPEC = (, E) eine Spezifikation mit einer
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 4 / 1 Termalgebren Definition "Freie Algebra" Die -Algebra A = [A, F ] heißt.
Syntax der Aussagenlogik
Ein Modellansatz zur Beschreibung von Vagheiten
Einige entscheidbare bzw. rekursiv aufzählbare Sprachen
Verifizieren versus Berechnen
Algorithmen und Komplexität
Christian Schindelhauer
Christian Schindelhauer
Prolog und Prädikatenlogik I
Welches sind die beiden Kirchhoffschen Gesetze, die mit der hier dargestellten Schaltung verifiziert werden können und wie lauten diese?   Kirchhofsche.
1 Computergestützte Verifikation Symbolisches Model Checking 4.1 CTL Model Checking mit Binary Decision Diagrams (1. Systeme 2. Spezifikationen.
Algorithmentheorie 04 –Hashing
Kapitel 5 Stetigkeit.
Kapitel 1 Die natürlichen und die ganze Zahlen. Kapitel 1: Die natürlichen und die ganzen Zahlen © Beutelspacher/Zschiegner April 2005 Seite 2 Inhalt.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 4.1.
Christian Schindelhauer
Christian Schindelhauer
§14 Basis und Dimension  (14.1) Definition: V sei wieder ein K-Vektorraum. Eine Menge B von Vektoren aus V heißt Basis von V, wenn B ist Erzeugendensystem.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Maschinelles Lernen und automatische Textklassifikation
Verknüpfen von Grundschaltungen zu komplexen Schaltungen
§24 Affine Koordinatensysteme
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
§3 Allgemeine lineare Gleichungssysteme
Polynome und schnelle Fourier-Transformation
Fuzzymengen – Was ist das?
3.1 Gates und boolesche Algebra
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Formale Sprachen Mathematische Grundlagen Rudolf FREUND, Marian KOGLER.
Agenda für heute, 19. Januar 2007 Informationssysteme: ETH-BibliothekInformationssysteme: ETH-Bibliothek Logische Verknüpfungen als Grundlage für die Informationsgewinnung.
1, 2, 3, ... Natürliche Zahlen PaedDr. Ján Gunčaga, PhD. Lehrstuhl für Mathematik und Physik Pädagogische Fakultät Katholische Universität.
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
Schaltnetze und Schaltwerke Marcel Waldvogel
Noam CHOMSKY, Sheila GREIBACH
Noam CHOMSKY, Sheila GREIBACH
Agenda für heute, 13. Januar 2006
Agenda für heute, 20. November 2009
ENDLICHE KÖRPER RSA – VERFAHREN.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Fachschaft Mathematik und Informatik
Von der Schaltfunktion zur Schaltung
Informatik III Christian Schindelhauer Wintersemester 2006/07
Christian Schindelhauer Wintersemester 2006/07 3. Vorlesung
Arne Vater Wintersemester 2006/ Vorlesung
Christian Schindelhauer Wintersemester 2006/07 2. Vorlesung
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
1 Albert-Ludwigs-Universität Freiburg Rechnernetze und Telematik Prof. Dr. Christian Schindelhauer Informatik III Christian Schindelhauer Wintersemester.
Aussagenlogik G. Laner 03/04
Boolesche Algebra Einführung in die Boolesche Algebra George Boole
2. Mengen Unter einer Menge verstehen wir jede Zusammenfassung von bestimmten wohlunterschiedenen Objekten unserer Anschauung oder unseres Denkens zu.
7. Formale Sprachen und Grammatiken
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Technische Informatik I Vorlesung 4: Vereinfachung von Schaltfunktionen Mirco Hilbert Universität Bielefeld Technische Fakultät.
Syntax, Semantik, Spezifikation - Grundlagen der Informatik R. Hartwig Kapitel 3 / 1 Algebraische Hülle und Homomorphie A = [A, F ] sei  -Algebra. Eine.
Kapitel 3: Boolesche Algebra Inhalt: 3
 Sortigkeit oder Arität
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
 Präsentation transkript:

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

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)

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

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

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

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

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

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

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

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) = 0 "aÎB n Satz: (Bn , × , + ,  ) ist eine Boolesche Algebra. Beweis: Nachrechnen, dass Axiome gelten. RW-Systemarchitektur Kap. 1.2 Kap 1 10

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Programmierbare Logische Felder (PLA) Zweistufige Darstellung zur Realisierung von Booleschen Polynomen fi = mi1+mi2+ ... +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