Martin-Luther-Universität Halle-Wittenberg Fachbereich Mathematik und Informatik Lehrstuhl für Technische Informatik Prof. P. Molitor Technische Informatik - Eine Einführung Boolesche Funktionen - Grundlagen Aufgabe 1 (0 Punkte) Gegeben sei die durch die ON-Menge ON(f) ={ 000,001,011,100 }. definierte Boolesche Funktion f ∈ {0, 1}3 . Geben Sie eine Realisierung von f an, die ausschliesslich mit NAND-Gattern auskommt. Aufgabe 2 (0 Punkte) Seien n und m zwei beliebige natürliche Zahlen. Beantworten Sie die folgenden drei Fragen und beweisen Sie Ihre Aussagen. a) Wieviele verschiedene Boolesche Funktionen f : {0, 1}n → {0, 1} gibt es? b) Wieviele verschiedene Boolesche Funktionen g : {0, 1}n → {0, 1}m gibt es? c) Wieviele verschiedene total symmetrische Boolesche Funktionen f : {0, 1}n → {0, 1} gibt es? Eine Boolesche Funktion f : {0, 1}n → {0, 1} heisst hierbei total symmetrisch, wenn für jedes Argument (α1 , α2 , . . . , αn ) ∈ {0, 1}n und jede Permutation π : {1, 2, . . . , n} → {1, 2, . . . , n} die Gleichung f (α1 , α2 , . . . , αn ) = f (απ(1) , απ(2) , . . . , απ(n) ) gilt. Aufgabe 3 (0 Punkte) Gegeben sei eine Boolesche Funktion f : {0, 1}2 → {0, 1}2 in zwei Eingängen und zwei Ausgängen mit f (x1 , x2 ) = (f1 (x1 , x2 ), f2 (x1 , x2 )). Weiter gelten f1 (x1 , x2 ) = 1 ⇐⇒ (x1 < x2 ) f2 (x1 , x2 ) = 1 ⇐⇒ (x1 == x2 ). Konstruieren Sie unter ausschließlicher Verwendung der Grundgatter logisches Oder“ und ” logisches Nicht“ einen Schaltkreis, der genau f beschreibt. Das logische Und“ darf nicht ” ” benutzt werden! Dokumentieren Sie Ihre Umformungen von f . Verwenden Sie die Symbole ≥1 und 1 1 für die Darstellung der Grundgatter. Aufgabe 4 (0 Punkte) Sei M eine Menge, auf der zwei binäre Operationen ∨ und ∧ und eine unäre Operation ∼ definiert ist. Gelten für alle x, y, z ∈ M die Gleichungen a) b) c) d) e) x∨y =y∨x (x ∨ y) ∨ z = x ∨ (y ∨ z) (x ∨ y) ∧ x = x x ∨ (y ∧ z) = (x ∨ y) ∧ (x ∨ z) x ∨ (y∧ ∼ y) = x x∧y =y∧x (x ∧ y) ∧ z = x ∧ (y ∧ z) (x ∧ y) ∨ x = x x ∧ (y ∨ z) = (x ∧ y) ∨ (x ∧ z) x ∧ (y∨ ∼ y) = x so heißt (M, ∨, ∧, ∼) Boolesche Algebra. Zeigen Sie, dass die Menge B = {0, 1} mit den Operationen Konjunktion ∧ mit ∀a, b ∈ B : a ∧ b = a · b, Disjunktion ∨ mit ∀a, b ∈ B : a ∨ b = a + b − a · b und Negation ∼ mit ∀a ∈ B : ∼ a = 1 − a eine Boolesche Algebra ist. Die Operatoren +, − und · bezeichnen die Addition, die Subtraktion und die Multiplikation ganzer Zahlen Aufgabe 5 (0 Punkte) Gegeben sei die Menge {0, 1}n der binären Folgen der Länge n und die darauf definierte partielle Ordnung ≤ mit ∀(x1 , . . . , xn ), (y1 , . . . , yn ) ∈ {0, 1}n (x1 , . . . , xi , . . . , xn ) ≤ (y1 , . . . , yi , . . . , yn ) wenn ∀i ∈ {1, . . . , n} : xi ≤ yi . Sei weiter die unäre Operation ∼: {0, 1}n {0, 1}n gegeben, die durch ∼ (x1 , . . . , xi , . . . , xn ) := (1 − x1 , . . . , 1 − xi , . . . , 1 − xn ) definiert ist. Zudem seien die zwei folgenden binären Operationen sup, inf : {0, 1}n × {0, 1}n → {0, 1}n gegeben: · Für gegebene x, y ∈ {0, 1}n berechnet sich die binäre Operation sup(x, y) als das kleinste Element der Menge, welches größer gleich als x und y ist. · Analog ergibt sich inf (x, y) als das größte Element, welches kleiner gleich als x und y ist. Überlegen Sie sich, ob die Menge ({0, 1}n , sup, inf, ∼) eine Boolesche Algebra ist und begründen Sie Ihre Aussage? Aufgabe 6 (0 Punkte) Gegeben sei eine Menge P von n paarweise verschiedenen Primzahlen p1 , p2 , . . . , pn . Betrachten Sie die Zahl d = p1 · p2 · . . . · pn und die Menge T eiler(d) aller Teiler der Zahl d. 2 a) Zeigen Sie, dass (T eiler(d), kgv, ggt, ∼) eine Boolesche Algebra ist, wobei für je zwei Elemente x, y ∈ T eiler(d) kgv(x, y) das kleinste gemeinsame Vielfache, ggt(x, y) den größten gemeinsamen Teiler und ∼ x das inverse Element d/x bezüglich d darstellt. b) Sei nun q = p1 · d. Zeigen Sie, dass (T eiler(q), kgv, ggt, ∼) keine Boolesche Algebra ist. Aufgabe 7 (0 Punkte) Sei (M, +, ·, ∼) eine Boolesche Algebra. Beweisen Sie, dass die Consensus-Regel gilt, d. h. dass für alle x, y, z ∈ M die Gleichungen (x · y) + ((∼ x) · z) = (x · y) + ((∼ x) · z) + (y · z) (x + y) · ((∼ x) + z) = (x + y) · ((∼ x) + z) · (y + z) gelten. Aufgabe 8 (0 Punkte) Sei (M, +, ·, ∼) eine Boolesche Algebra. Beweisen Sie, dass die de Morganschen Regeln gilt, d. h. dass für alle x, y ∈ M die Gleichungen ∼ (x + y) = (∼ x) · (∼ y) ∼ (x · y) = (∼ x) + (∼ y) gelten. Aufgabe 9 (0 Punkte) Sei (M, +, ·, ∼) eine Boolesche Algebra. Zeigen Sie, dass es genau ein Null-Element n ∈ M mit ∀x ∈ M : x · n = n und x + n = x und genau ein Eins-Element e ∈ M mit ∀x ∈ M : x · e = x und x + e = e. Aufgabe 10 (0 Punkte) Sei (M, +, ·, ∼) eine Boolesche Algebra. Zeigen Sie die Eindeutigkeit des Komplements, d. h. zeigen Sie, dass die Aussage ∀x, y, z ∈ M : (x · y = x · z = 0 und x + y = x + z = 1) =⇒ y = z. gilt. Aufgabe 11 (0 Punkte) Betrachten Sie die Funktion f : {0, 1}6 → {0, 1} mit (∀x = (x2 , x1 , x0 ) ∈ {0, 1}3 ) (∀y = (y2 , y1 , y0 ) ∈ {0, 1}3 ) f (x, y) = P2 1 falls 0 sonst i i=0 xi 2 3 + P2 i=0 yi 2 i >7 Bestimmen Sie ein Polynom von f . Aufgabe 12 (0 Punkte) Zeigen oder widerlegen Sie die folgende Behauptung: Jede Boolsche Funktion aus Bn kann durch ausschließliche Verwendung der ” Exor-Funktion ⊕ ∈ B2 und der konstanten Funktion 1 beschrieben werden.“ Aufgabe 13 (0 Punkte) Ein Farmer befindet sich zusammen mit einem Wolf, einer Ziege und einem Kohlkopf auf einer Flussseite. Er besitzt ein Boot, welches ihn selbst sowie einen weiteren Gegenstand beziehungsweise ein weiteres Tier trägt. Er möchte nun mit Kohlkopf, Ziege und Wolf auf die andere Seite des Flusses gelangen. Unglücklicherweise frisst der Wolf die Ziege beziehungsweise die Ziege den Kohlkopf, wenn er diese unbeaufsichtigt lässt. Damit nun der Bauer nicht versehentlich Wolf und Ziege beziehungsweise Ziege und Kohl alleine lässt, soll ein Warnsystem aufgebaut weden, welches in diesen Fällen Alarm auslöst. a) Die Variablen f , w, z und k bezeichnen Farmer, Wolf, Ziege und Kohlkopf. Ist der Wert einer solchen Variablen 0 (bzw. 1), dann befindet sich der/das Gegenstand/Lebewesen auf der linken (bzw. rechten) Flussseite. Geben Sie die Funktionstabelle der Alarmfunktion a an. b) Geben Sie für die Funktion a einen Booleschen Ausdruck e in disjunktiver Normalform mit Variablen aus V = {f, w, z, k} an. c) Bestimmen Sie auch die Darstellung von a in kanonischer disjunktiver Normalform. Aufgabe 14 (0 Punkte) Realisieren Sie die beiden folgenden Schaltfunktionen mit Hilfe der Konjunktion, Disjunktion und Negation. a) Schaltfunktion fS5,≥4 eines Schwellwertschalters mit fünf Eingängen x1 , . . . , x5 , einem Ausgangund Schwelle gleich 3, also ( fS5,≥4 b) (n) Paritätsfunktion fP = 0 : x1 + x2 + x3 + x4 + x5 ≤ 3 1 : sonst mit n Eingängen und einem Ausgang, also ( (n) fP = 0 : 1 : (x1 + x2 + . . . + xn ) mod 2 = 0 sonst Aufgabe 15 (0 Punkte) Für eine Boolesche Funktion f kann es unterschiedliche Boolesche Ausdrücke geben, die f beschreiben. Zeigen Sie ohne Wahrheitstabellen zu benutzen, dass die folgenden Identitäten für Boolesche Algebren gelten. 4 a) (a · b) + (c · d) = ((a · b) + c)((a · b) + d) b) (a · b) + (a0 · c) = (a · b) + (c · (a0 + b)) + (b · c) c) b0 · c0 · (a + b) · (a0 + c) = 0 d) (a + c) · (b + c) = (a · b) + (a0 · b0 · c) + c Hierbei steht + für die Disjunktion ∨, · für die Konjunktion ∧ und 0 für die Komplementbildung ∼. Aufgabe 16 (0 Punkte) Vorbemerkungen (R, +, ·) ist der Körper der natürlichen Zahlen. Der Grad eines Polynoms ist definiert als die Summe der, in einem mit · verknüpften Term, vorkommenden Variablenexponenten. Ein Polynom fünften Grades über diesen Körper in den Variablen a, b und c ist beispielsweise a · b + 4 · a2 · b · c + 3 · b3 · c2 + c4 . Satz: ({0, 1}, ⊕, ∧) bildet den Körper Z2 . Unter der Ring-Summen-Expansion (RSE) einer Booleschen Funktion f : {0, 1}n → {0, 1} versteht man nun ein Z2 -Polynom über den Variablen x1 , . . . , xn , das f beschreibt. (Bemerkung: Der Boolesche Ausdruck 1 ⊕ (x1 ∧ x2 ∧ x4 ) ⊕ (x2 ∧ x5 ) ist beispielsweise eine Ring-Summen-Expansion der entsprechenden Booleschen Funktion.) Zeigen Sie im Folgenden, dass die Darstellung durch Ring-Summen-Expansion eine kanonische Darstellung Boolescher Funktionen ist, indem Sie die folgenden Fragen beantworten. a) Welchen Grad kann ein beliebiges Z2 -Polynom in den Variablen x1 , . . . , xn maximal besitzen? b) Wieviele verschiedene Z2 -Polynome in den Variablen x1 , . . . , xn gibt es? c) Sei f : {0, 1}n → {0, 1} eine Boolesche Funktion, a ∈ {0, 1}n und mint(a, x) der zu a gehörige Minterm. Dann gilt: f (x) = _ mint(a, x) = a∈f −1 (1) M mint(a, x). a∈f −1 (1) Betrachten Sie die Funktion f : {0, 1}3 → {0, 1} mit ON(f) ={ 000,010,011,101,110,111 }. Wandeln Sie f in ein Z2 -Polynom um. Welchen Grad hat dieses Polynom? d) Zeigen Sie, dass jede Boolesche Funktion f eine eindeutige Darstellung als Z2 -Polynom hat. 5