• Keine Ergebnisse gefunden

a 11 a 12 a 21 a 22

N/A
N/A
Protected

Academic year: 2021

Aktie " a 11 a 12 a 21 a 22"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

9. Matrixmultiplikation ` a la Strassen

Betrachte das Produkt zweier 2 × 2-Matrizen:

a 11 a 12 a 21 a 22

·

b 11 b 12 b 21 b 22

=

c 11 c 12 c 21 c 22

; c ij = a i1 b 1j + a i2 b 2j

Man beachte, dass diese und die folgenden Formeln nicht die

Kommutativit¨ at der Multiplikation voraussetzen. Sie gelten also

auch, falls die a ij , b ij , c ij eigentlich n × n-Matrizen A ij , B ij , C ij

sind (jeweils i, j ∈ {1, 2}).

(2)

Bilde:

m 1 := (a 12 − a 22 )(b 21 + b 22 ) m 2 := (a 11 + a 22 )(b 11 + b 22 ) m 3 := (a 11 − a 21 )(b 11 + b 12 ) m 4 := (a 11 + a 12 )b 22

m 5 := a 11 (b 12 − b 22 ) m 6 := a 22 (b 21 − b 11 ) m 7 := (a 21 + a 22 )b 11

Dann gilt:

c 11 := m 1 + m 2 − m 4 + m 6

c 12 := m 4 + m 5 c 21 := m 6 + m 7

c 22 := m 2 − m 3 + m 5 − m 7

(3)

Sei n = 2 k und M (n) die Anzahl arithmetischer Operationen (Mult, Add, Sub), die Strassens Algorithmus bei n × n Matrizen ben¨ otigt:

M (1) = 1

M(n) = 7M n

2

+ 18 n

2 2

Expansion dieser Rekursionsgleichung ⇒

M(n) = 7 k+1 − 6n 2 = 7 · 2 k log

2

7 − 6n 2

= 7n log

2

7 − 6n 2

< 7n 2,80736 − 6n 2

= O(n 2,81 ) .

Der Exponent ω f¨ ur die Matrixmultiplikation ist also < 2, 81.

(4)

proc matmult (A, B, n) =

co A und B sind n × n Matrizen oc

if n < 16 then berechne A · B mit klassischer Methode elif n gerade then

spalte A und B in je 4 n 2 × n 2 Matrizen auf und wende Strassen’s Formeln an. F¨ uhre die Multiplikationen rekursiv mit matmult aus.

else

spalte A und B in je eine (n − 1) × (n − 1) Matrix (A 11 , B 11 ) und drei verbleibende Bl¨ ocke auf. Wende matmult rekursiv auf A 11 , B 11 an und berechne die anderen Produkte mit der klassischen Methode.

fi

(5)

Satz 125

Der matmult -Algorithmus hat folgende Eigenschaften:

1

F¨ ur n < 16 ist die Anzahl der arithmetischen Operationen genauso hoch wie bei der klassischen Methode.

2

F¨ ur n ≥ 16 ist die Anzahl der arithmetischen Operationen echt kleiner als bei der klassischen Methode.

3

matmult braucht nie mehr als 4, 91n log

2

7 arithmetische Operationen.

Beweis:

1

(6)

Beweis (Forts.):

2

Sei n gerade und seien A, B zwei n × n Matrizen. Wir wenden Strassen’s Formeln an, f¨ uhren aber die 7 Multiplikationen der

n

2 × n 2 Matrizen mit der klassischen Methode aus.

Gesamtzahl arithmetischer Operationen:

7

2 n

2 3

− n 2

2 + 18

n 2

2

= 7

4 n 3 + 11 4 n 2 Dies ist besser als die klassische Methode, falls:

7

4 n 3 + 11

4 n 2 < 2n 3 − n 2 ⇔ 15

4 n 2 < 1

4 n 3 ⇔ 15 < n ⇔ n ≥ 16 Sei n ungerade. Multiplizieren wir A · B mit der klassischen Methode, so auch A 11 · B 11 . Also brauchen wir durch

Anwendung von Strassen’s Formeln auf die (n − 1) × (n − 1) Matrizen (n − 1 gerade) weniger Operationen, wenn

n − 1 ≥ 16 ist.

(7)

Beweis (Forts.):

Sei M 0 (n) die Anzahl arithmetischer Operationen in matmult . Dann ist:

M 0 (n) =

 

 

2n 3 − n 2 falls n < 16

7M 0 n 2

+ 18 4 n 2 falls n ≥ 16 gerade 7M 0 n−1 2

+ 42 4 n 2 − 17n + 15 2 falls n ≥ 16 ungerade Wir definieren f¨ ur x ∈ R + :

M ¯ (x) =

( 2x 3 − x 2 falls x < 32 7 ¯ M x 2

+ 42 4 x 2 falls x ≥ 32 Dann gilt:

M ¯ (n) ≥ M 0 (n) f¨ ur alle n ∈ N .

(8)

Beweis (Forts.):

Es ist

M ¯ (x) =

k−1

X

i=0

7 i · 42

4 x

2 i 2

+ 7 k

2 · x 2 k

3

− x 2 k

2

f¨ ur x ≥ 32, wobei k := min l

x

2

l

< 32 .

Mit k = blog 2 xc − 4 =: log 2 x − t erhalten wir t ∈ [4, 5[ und

M ¯ (x) ≤ 7 log

2

x 14 4

7 t

+ 2 8

7 t !

≤ 4, 91 · 7 log

2

x f¨ ur x ≥ 32.

F¨ ur x < 32 direkt nachrechnen.

(9)

Volker Strassen:

Gaussian elimination is not optimal Numer. Math. 13, pp. 354–356 (1969) Victor Ya. Pan:

New fast algorithms for matrix operations SIAM J. Comput. 9(2), pp. 321–342 (1980) Don Coppersmith, Shmuel Winograd:

Matrix multiplication via arithmetic progressions

J. Symbolic Computation 9(3), pp. 251–280 (1990)

(10)

Kapitel VI Matchings in Graphen

1. Grundlagen

Definition 126

Sei G = (V, E) ein ungerichteter, schlichter Graph. Ein Matching M in G ist eine Teilmenge von E, so dass keine zwei Kanten aus M einen Endpunkt gemeinsam haben.

Variante 1 Variante 2

@

@

@

Matching:

r r

r r

r

r

(11)

Definition 127

1

Ein Matching M in G = (V, E) heißt perfekt (oder vollkommen), falls

|M| = |V | 2

2

Ein Matching M heißt

” Matching maximaler Kardinalit¨ at“

(engl. maximum matching) in G, falls es in G kein Matching M 0 mit |M 0 | > |M | gibt (durchgehend geringelt/rot im Beispiel)

3

Ein Matching M heißt maximal in G, falls es bez¨ uglich

” ⊆ “ maximal ist (engl. maximal matching) (gepunktet

geringelt/gr¨ un im Beispiel)

(12)

Definition 128

Sei G = (V, E) ein Graph. Wenn V in zwei nichtleere Teilmengen

V 1 und V 2 partitioniert werden kann (V 1 ∪ V 2 = V , V 1 ∩ V 2 = ∅),

so dass E ⊆ V 1 × V 2 ist, dann heißt G bipartit (G = (V 1 , V 2 , E )).

Referenzen

ÄHNLICHE DOKUMENTE

d) There is no graph over the entire plane R 2 with mean curvature H &gt;. Here, deter- mine the assumption on you need to make this true. You can assume convergence of the

Fachbereich

Das Wegfallen der Heimfahrtbeihilfe betrifft nur einen kleinen Teil unserer Studie- renden, denn wer ein zukünftiger Akadlmlicher werden will und etwas auf sich bllt, hat

Es gibt auch weitere M¨ oglichkeiten f¨ ur I , n¨ amlich jedes Intervall der Form (c, c + 2π) f¨ ur c ∈ R ; die Menge N ist dann weniger einfach zu beschreiben, ist aber immer

lih selbst gezeigt werden, so lange bis nur noh Axiome oder Prämissen

- Kennst Du ein Dreieck, das man ebenfalls so teilen kann (von einer Ecke zu der Mitte der gegenüberliegenden Seite), dass sich der Flächeninhalt genau halbiert und auch

Wengenroth Wintersemester 2014/15 12.11.2014. Maß- und Integrationstheorie

Simulieren Sie die Reihenfolge in der die Elemente bei quadratischer Kollisionsstrategie besucht werden. Dabei sollen alle Listenplätze besucht