Präsenzaufgaben

Werbung
Prof. Dr. Angela Kunoth
Stephan Gerster, Stefan Krupp
Algorithmische Mathematik
WS 2015/2016
Präsenzaufgaben
Besprechung in den Übungen in der Woche vom 02. bis 06. November
Die Landau–Symbole sind wie folgt definiert:
f (x) = o g(x) ,
falls
f (x) = O(g(x)),
falls
f (x)
→0
g(x)
f (x) lim sup <∞
x→x0 g(x) lim
x→x0
Aufgabe 1:
Seien n ∈ N und A, B ∈ Rn×n Matrizen und C := AB mit Einträgen ci j =
n
X
aik bk j , ∀ i, j ∈ {1, . . . , n}.
k=1
a) Bestimmen Sie, wie viele elementare Additionen und wie viele Multiplikationen reeller Zahlen zur Berechnung des Produkts C := AB mit der o.g. Summenformel notwendig sind. Eine elementare Rechenoperation
koste die Zeit 1. Drücken Sie die benötigte Zeit für die Matrixmultiplikation mit Hilfe der Landausymbole aus.
b) Sei nun n eine Zweierpotenz, also n = 2m mit m ∈ N. Strassen schlug folgendes Verfahren1 vor:
Zerlege A und B in jeweils vier 2n × n2 -Matrizen
!
!
A11 A12
B11 B12
A=
,
B=
.
A21 A22
B21 B22
Berechne die sieben Hilfsprodukte:
P1 = (A11 + A22 )(B11 + B22 )
P5 = (A11 + A12 )B22
P2 = (A21 + A22 )B11
P6 = (A21 − A11 )(B11 + B12 )
P3 = A11 (B12 − B22 )
P7 = (A12 − A22 )(B21 + B22 )
P4 = A22 (B21 − B11 )
Dann gilt:
A11
A21
A12
A22
!
B11
B21
B12
B22
!
=
P1 + P4 − P5 + P7
P2 + P4
P3 + P5
P1 + P3 − P2 + P6
!
Damit reduziert sich die Zahl der Multiplikationen kleinerer Matrizen von acht auf sieben gegenüber dem
naiven Verfahren, während die Zahl der Additionen gestiegen ist2 . Dieses Verfahren wird nun rekursiv zur
Berechnung der sieben kleineren Produkte angewandt.
Zeigen Sie, dass die benötige Zeit T (n) für die Multiplikation zweier n × n-Matrizen der Rekurrenzrelation
n 9
+ n2 ,
T (1) = 1
T (n) = 7T
2
2
genügt.
c) Beweisen Sie mit Hilfe einer vollständigen Induktion und Teilaufgabe b) die Gleichung
T (n) = 7m +
m−1
X
k=0
Folgern Sie daraus die Komplexität
O(nlog2 7 )
≈
7k
9 n 2
.
2 2k
O(n2.807 )
der Matrixmultiplikation nach Strassen.
2ε
Tipp: Wählen Sie ε > 0 mit log2 −ε ≥ 2 und zeigen Sie: T (n) ≥ nlog2 7 ε
2 −1
d) Zeigen Sie, dass O(n2 ) eine untere Schranke für die Komplexität der Matrixmultiplikation ist.
1 V.
2 Es
Strassen, Gaussian elimination is not optimal, Numerische Mathematik, 13:354–356 (1969).
gibt eine Variante von Winograd, die nur 15 statt 18 Additionen benötigt.
Bemerkung: Ein sehr bekannter Algorithmus zur Matrixmultiplikation stammt von D. Coppersmith und
S. Winograd3 aus dem Jahr 1990 und besitzt die Komplexität O(n2.376 ). Eine minimal verbessere Variante
von F. Le Gall4 besitzt die derzeit beste bekannte Komplexität von O(n2.3728639 ).
Aufgabe 2:
Sei x > 0. Gegeben seien nun jeweils für x → 0 die Funktionen f = O(x2 ), g = O(x3 ) und g̃ = O(x3 ).
Beweisen oder widerlegen Sie die folgenden Aussagen für x → 0.
a) f = o(x)
d) f + g = O(x3 )
b) f = o(x2 )
e) g(x) − g̃(x) = 0
c) f g = O(x5 )
f) g̃g−1 = O(1)
3 D. Coppersmith, S. Winograd, Matrix Multiplication via Arithmetic Progressions, Journal of Symbolic Computation, 9:251–280 (1990).
4 F.
Le Gall, Powers of tensors and fast matrix multiplication, Proceedings of the 39th International Symposium on Symbolic and Algebraic Computation (ISSAC 2014)
Herunterladen