3. Übungsblatt Informatik II (Abgabe: 09.05.2005) 1. Aufgabe: AU Korrektheit Nach Definition wissen wir, dass: • Tn+1 = {−2n , ..., −2n − 1} • a ∈ {0, 1}n ⇒ [a] ∈ {−2n−1 , ..., 2n−1 − 1} • b ∈ {0, 1}n ⇒ [b] ∈ {−2n−1 , ..., 2n−1 − 1} a) Zu zeigen ist: sub = 0 ⇒ [a] + [b] ∈ Tn+1 Um die Aussage zu zeigen, betrachten wir die kleinste und die größte Summe von zwei 2’s Complement Zahlen [a] und [b]. Die kleinste Summe ergibt sich, wenn wir die zwei kleinsten Zahlen addieren, die man mit n Bits darstellen kann. Analog, die größte Summe ergibt sich, wenn wir die zwei größten Zahlen addieren, die man mit n Bits darstellen kann. ⇒ −2n−1 + (−2n−1 ) ≤ [a] + [b] ≤ 2n−1 − 1 + 2n−1 − 1 ⇒ −2n ≤ [a] + [b] ≤ 2n − 2 ⇒ [a] + [b] ∈ {−2n , ..., 2n − 2} ⇒ [a] + [b] ∈ Tn+1 . b) Zu zeigen ist: sub = 1 ⇒ [a] − [b] ∈ Tn+1 Um die Aussage zu zeigen, betrachten wir die kleinste und die größte Differenz von zwei 2’s Complement Zahlen [a] und [b]. Die kleinste Differenz ergibt sich, wenn wir von der kleinsten Zahl die größte Zahl subtrahieren. Analog, die größte Differenz ergibt sich, wenn wir von der größten Zahl die kleinste Zahl subtrahieren. ⇒ −2n−1 − (2n−1 − 1) ≤ [a] − [b] ≤ 2n−1 − 1 − (−2n−1 ) ⇒ −2n + 1 ≤ [a] − [b] ≤ 2n − 1 ⇒ [a] − [b] ∈ {−2n + 1, ..., 2n − 1} ⇒ [a] − [b] ∈ Tn+1 3. Übungsblatt Informatik II (Abgabe: 09.05.2005) 2. Aufgabe: a) 1̄-Bit Multiplexer: x0 y0 NOT s AND AND OR z0 Alternativ kann man die And- und Or-Gatter auch durch Nand-Gatter tauschen (Kosten 1), womit man Kosten von 4 erreichen kann. b) n-Bit Multiplexer: xn-1 yn-1 0 1-bit 1 x0 s ..... zn-1 y0 0 1-bit 1 s z0 c) Delay und Kosten: C(1 − bitM ux) = 2 ∗ C(And) + 1 ∗ C(Or) + 1 ∗ C(Inv) = 7 D(1 − bitM ux) = D(Inv) + D(And) + D(Or) = 3 Achtung: kritischer Pfad ist das SelectSignal! C(n − bitM ux) = n ∗ C(1 − bitM ux) = 7 ∗ n D(n − bitM ux) = D(1 − bitM ux) = 3 3. Übungsblatt Informatik II (Abgabe: 09.05.2005) 3. Aufgabe: 4. Aufgabe: Sei c ∈ N, a,b ∈ Z. Die Relation ≡modc ist wie folgt definiert: a ≡modc b ⇔ ∃k ∈ Z : a − b = k · c Zeige: ≡modc ist Äquivalenzrelation. Beweis: Wir müssen zeigen, dass die Relation ≡modc refexliv, symmetrisch und transitiv ist. Reflexivität: Sei x ∈ Z. Dann gilt x ≡modc x ⇔ ∃k ∈ Z : x − x = k · c. Offensichtlich gilt dies für k = 0. Symmetrie: Sei x,y ∈ Z. Es gelte x ≡modc y. Z.z: y ≡modc x. x ≡modc y ⇔ ⇒(V or) ⇒ ⇒ ⇔ ∃k1 ∈ Z : x − y = k1 · c x − y = k1 · c | ·(−1) y − x = (−k1 ) · c ∃k2 ∈ Z : y − x = k2 · c , mit k2 = (−k1 ) y ≡modc x Transitivität: Sei x,y,z ∈ Z. Es gelte x ≡modc y und y ≡modc z. Z.z: x ≡modc z. (x ≡modc y) ∧ (y ≡modc z)⇔ (∃k1 ∈ Z : x − y = k1 · c) ∧ (∃k2 ∈ Z : y − z = k2 · c) (V or) ⇒ x − y = k1 · c (1) y − z = k2 · c (2) ⇒((1)+(2))x − z = (k1 + k2 ) · c ⇒ ∃k3 ∈ Z : x − z = k3 · c , mit k3 = (k1 + k2 ) ⇔ x ≡modc z 5. Aufgabe: Eine Relation R heisst Äquivalenzrelation auf A falls R transitiv, symmetrisch und reflexiv ist, d.h. falls für alle x, y, z ∈ A folgendes gilt: (x, y) ∈ R und (y, z) ∈ R ⇒ (x, z) ∈ R (x, y) ∈ R ⇒ (y, x) ∈ R (x, x) ∈ R Eine Menge A auf der eine Äquivalenzrelation definiert ist, zerfällt von selbst in Teilmengen Ai , und zwar so, dass für je zwei Elemente x und y einer Teilmenge Ai stets (x, y) ∈ R gilt.Hierbei versteht man unter einer Zerlegung einer nichtleeren Menge A eine Menge A0 = 3. Übungsblatt Informatik II (Abgabe: 09.05.2005) A1 ∪ A2 ∪ ... = A Ai ∩ Ak = {} ⇔ Ai 6= Ak Die so definierten Teilmengen von A sind also paarweise disjunkt und jedes Element von A ist in genau einer dieser Teilmengen von A enthalten. Das bedeutet das jedes Element Ai ∈ A0 eindeutig bestimmt und repräsentiert ist durch irgendein x ∈ Ai . Der Beweis besteht nun aus zwei Richtungen. Wir zeigen zunächst das jede Zerlegung eine Äquivalenzrelation induziert: Sei A0 eine Zerlegung einer nichtleeren Menge A. Dann ist die Relation R ⊂ A × A definert durch: (x, y) ∈ R ⇔ x, y ∈ Ai für ein Ai ∈ A0 eine Äquivalenzrelation auf A. Beweis: Unter der Annahme dass A0 eine Zerlegung von A ist, ist zu zeigen, dass die so definerte Relation R transitiv, symmetrisch und reflexiv ist. (i) Seien x, y, z Elemente aus A. Dann folgt aus (x, y) ∈ R und (y, z) ∈ R, dass x, y ∈ Ap und y, z ∈ Aq mit Ap , Aq ∈ A0 . DAmit haben die Mengen Ap und Aq mindestens ein Element gemeinsam, nämlich y. Also können sie nicht disjunkt sein. Da A0 eine Zerlegung von A ist, folgt Ap = Aq und damit (x, z) ∈ R. (ii) (x, y) ∈ R ist nach Definition von R gleichbedeutend mit x, y ∈ Ai mit Ai ∈ A0 , d.h. es gilt auch (y, x) ∈ R. (iii) Da nach Definition zu jedem x ∈ A ein Ai ∈ A0 existiert mit x ∈ Ai , folgt (x, x) ∈ R sofort. Bleibt noch zu zeigen das jede Äquivalenzrelation eine Zerlegung induziert. Sei R eine Äquivalenzrelation auf einer nichtleeren Menge A. Dann ist A0 = {A(x) ⊂ A|x ∈ A}, definiert durch A(x) = {y ∈ A|(x, y) ∈ R} eine Zerlegung von A. Beweis: Unter der Annahme dass R eine Äquivalenzrelation auf A ist, ist zu zeigen, dass erstens die Vereinigungsmenge aller Mengen A(x) mit x ∈ A gleich A ist und zweitens, dass alle Mengen A(x) ∈ A0 paarweise disjunkt sind. (i) Weil R eine Äquvalenzrelation auf A ist, folgt für jedes x ∈ A sofort, dassS(x, x) ∈ R. Also gilt nach Definition der Mengen A(x) dass x ∈ A(x) und man hat A = x∈A {x} ⊆ S x∈A A(x) ⊆ A. (ii) Angenommen, es gibt unter den Elementen der oben definierten Menge A0 zwei nicht identische Mengen A(x) und A(y), die nicht disjunkt sind. Dann existiert mindestens ein z 0 ∈ A mit z 0 ∈ A(x) und z 0 ∈ A(y), mit anderen Worten: (x, z 0 ) ∈ R und (z 0 , y) ∈ R. Wegen der Transitivität von R folgt (x, y) ∈ R. Sei nun z irgendein Element aus A(x), dann gilt (x, z) ∈ R und mit (x, y) ∈ R auch (z, y) ∈ R, also ist z auch Element aus A(y). Ebenso gilt: wenn z irgendein Element aus A(y) ist, dann ist z auch Element von A(x). Also sind die Mengen A(x), A(y) identisch und dies steht im Widerspruch zur getroffenen Annahme. Zwei 3. Übungsblatt Informatik II (Abgabe: 09.05.2005) Aufgabe 6: neg = sn also benötigen wir sn das erhalten wir aus der Summe S 0 = [an−1 a[n − 1 : 0]] + [dn−1 d[d − 1 : 0]] + sub es gilt: neg = an−1 ⊕ dn−1 ⊕ un neg = an−1 ⊕ dn−1 ⊕ (((an−1 ⊕ dn−1 ) ∧ sn−1 ) ∨ (an−1 ∧ dn−1 ) da un = 1 ⇔ (an−1 ∧ dn−1 ∧ sn−1 ) ∨ (an−1 ∧ dn−1 ∧ sn−1 ) ∨ (an−1 ∧ dn−1 ∧ sn−1 ) ∨ (an−1 ∧ dn−1 ∧ sn−1 ) Also ergibt sich die folgende Schaltung: a [ n 1 ] d [ n 1 ] s [ n 1 ] X A O N D R A N D O R X O R Aufgabe 7: ovf = neg ⊕ sn−1 aus Aufgabe 6 wissen wir neg = an−1 ⊕ dn−1 ⊕ (((an−1 ⊕ dn−1 ) ∧ sn−1 ) ∨ (an−1 ∧ dn−1 ) also ergibt sich: ovf = an−1 ⊕ dn−1 ⊕ (((an−1 ⊕ dn−1 ) ∧ sn−1 ) ∨ (an−1 ∧ dn−1 ) ⊕ sn−1