Diskrete Mathematik LVA 703015 Ausgewählte Musterlösungen, 8

Werbung
Diskrete Mathematik
Ausgewählte Musterlösungen, 8. PS-Blatt
1)
LVA 703015
Institut für Informatik
• Es gibt mehrere Möglichkeiten die zwei n-bit Integers zu multiplizieren:
a) xy = (2n/2 xL + xR )(2n/2 yL + yR ) = 2n xL yL + 2n/2 (xL yR + xR yL ) + xR yR ;
b) xy = (2n/2 xL + xR )(2n/2 yL + yR ) = 2n xL yL + 2n/2 (xL yR + xR yL ) + xR yR = 2n xL yL +
2n/2 (xL yL + xR yR − (xL − xR )(yL − yR )) + xR yR .
• Wir betrachten Laufzeiten der Form: T (n) = aT (n/b) + f (n),a ≥ 1, b > 1, wobei
– n die Größe des Problems (bei uns Anzahl der Bits pro Zahl),
– a die Anzahl der Teilprobleme pro Rekursionsschritt (bei uns 4, bzw 3),
– n/b die Größe jedes Teilproblems (bei uns n/2),
– f (n) die Zeit die außerhalb der rekursiven Aufrufe benötigt wird (Aufteilen und
Zusammenfügen der Teilprobleme).
a) Es werden rekursiv jeweils 4 Multiplikationen von zwei n/2-bit Integern durchgeführt.
Aufgrund der 3 Addition zum Zusammenfügen der Ergebnisse haben wir f (n) = O(n).
Die Laufzeit ist also durch T (n) = 4T (n/2) + O(n) gegeben. Mithilfe des MasterTheorems erhalten wir T (n) ∈ Θ(nr ), wobei r := log2 4 = 2.
b) Hier benötigen wir nur 3 rekursive Multiplikationen. Die Laufzeit ist also gegeben
durch: T (n) = 3T (n/2) + O(n). Mithilfe des Mastertheorems erhalten wir T (n) ∈ Θ(nr ),
wobei r := log2 3 ≈ 1, 585.
4) Wir berechnen u und v in ggT(2, 3) = 2u+3v mittels des erweiterten euklidischen Algorithmus:
A
(2, 1, 0)
(3, 0, 1)
(2, 1, 0)
B
Quotient
(3, 0, 1)
0
(2, 1, 0)
1
(1, −1, 1)
2
Damit gilt u = −1 und v = 1 und laut Satz 7.27 haben die ersten beiden Kongruenzen die
eindeutige Lösung
x ≡2·3 1 · 3 · 1 + (−1) · 2 · 2 ≡6 −1
Somit erhalten wir das neue Kongruenzensystem:
x ≡6 −1
x ≡5 4
Eine weitere Anwendung des erweiterten euklidischen Algorithmus ergibt
A
B
Quotient
(6, 1, 0) (5, 0, 1)
1
(5, 0, 1) (1, 1, −1)
5
u = 1 und v = −1. Die eindeutige Gesamtlösung ist nun
x ≡6·5 (−1) · 5 · (−1) + 1 · 6 · 4 ≡30 29
1
5)
a) Das Wurfmuster des mit zwei Händen ausgeführten 3-Ball-Shower ist
h(L, 1), (R, 2), (L, 2), (R, 3), (L, 3), (R, 1)i.
Es handelt sich dabei nicht um eine Kaskade, da das Handmuster h1, 2, 2, 3, 3, 1i keinen
Zykel durch die Menge der Hände beschreibt.
b) Offensichtlich stellt für eine beliebige Anzahl h von Händen und b von Bällen jedes
Kaskaden-Wurfmuster einen Zykel mit Periode h · b dar. Das Wurfmuster sei
h(h1 , b1 ), (h2 , b2 ), (h3 , b3 ), . . .i.
Dass das Handmuster (Ballmuster) einen Zykel beschreibt kann formal durch hm = hn
(bm = bn ) genau dann wenn m ≡h n (m ≡b n), ausgedrückt werden. Weil wenn m ≡h·b n
gilt, sowohl m ≡h n als auch m ≡b n gelten, erhalten wir (hm , bm ) = (hn , bn ). Um zu
zeigen dass h·b minimal ist reicht es aus zu zeigen dass alle (hk , bk ) mit k ≤ h·b paarweise
disjunkt sind. Dies wiederum folgt aus dem chinesischen Restsatz, der unter anderem
besagt, dass die Abbildung von Zahlen kleiner gleich h · b auf Paare von Zahlen kleiner
gleich h bzw. kleiner gleich b, gegeben durch x 7→ (x mod h, x mod b) eine Bijektion ist
wann immer h und b teilerfremd sind.
c) Wir zeigen dass jede (h, b)-Kaskade in g = ggT(h, b) Kaskaden partitioniert werden kann,
welche wie folgt definiert sind: gegeben ein Wurfmuster wie im vorigen Punkt, dann sind
(hm , bm ) und (hn , bn ) im selben Block wenn m ≡g n.
Um zu sehen dass diese Konstruktion eine Partition erzeugt, zeigen wir dass Werfen die
Partition erhält (Bälle können nicht zu Händen in einem anderen Block geworfen werden
und vice versa). Dies folgt weil wenn hm = hn gilt, dann auch hm ≡h hn gilt (da das
Handmuster einen Zykel darstellt und ein Zykel jede Hand genau einmal enthält). Aber
dann gilt auch hm ≡g hn und auch die entsprechende Gleichung für Bälle.
Nun müssen wir noch zeigen dass jeder Block Bi der Partition mit i ≤ g selbst wieder
einen Zykel darstellt. Er hat ein Handmuster der Länge hg und ein Ballmuster der Länge
b
g und beinhaltet alle Hände hm und Bälle bm mit m ≡g i. Da wir mit einer Kaskade
angefangen haben (also mit zyklischen Hand- und Ballmustern) sind wir fertig. (Da hg
und gb teilerfremd sind, können diese Blöcke wegen des vorigen Punktes nicht weiter
partitioniert werden.)
2
Herunterladen