Professional Documents
Culture Documents
Disusun oleh :
Jaladri Abhirama (PA/09970)
Tarcisus Dimas W. K
M. Andi Miftachul H.
1. Algoritma Standar
Misalnya :
Perhitungannya :
Time analysis
N
C i , j = ∑ ai ,k bk , j
k =1
N N N
Thus T ( N ) = ∑∑∑ c = cN 3 = O( N 3 )
i =1 j =1 k =1
2. ALGORITMA STRASSEN
P1=(A11+A22)(B11+B22)
P2=(A21+A22)*B11
P3=A11*(B12-B22)
P4=A22*(B21-B11)
P5=(A11+A12)*B22
P6=(A21-A11)*(B11+B12)
P7 = (A12 - A22) * (B21 + B22)
C11=P1+P4-P5+P7
C12=P3+P5
C21=P2+P4
C22 = P1 + P3 - P2 + P6
Prinsip dasar dari metode ini adalah dengan membagi n input menjadi input
yang berbeda ( 1 < k < n ). Dari k subset input yang berbeda akan terdapat
k sub-problem. Setiap sub-problem mempunyai solusinya masing-masing,
sehingga akan diperoleh k subsolusi. Kemudian, dari k sub-solusi akan
Jika subproblem dianggap masih relatif besar, maka metode Divide and Conquer dapat
digunakan lagi. Dalam keadaan tersebut, pemakaian ulang metode ini dinyatakan menggunakan
teknik rekursif.
A0 A1 B0 B1 A0×B0+A1 A0×B1+A1×B3
×B2
A2 A3 B2 B3
A2×B0+A3 A2×B1+A3×B3
×B2
TIME ANALYSIS
Dalam suatu perkalian matriks misal dua buah matriks A dan B dimana dua
matriks tersebut berordo N X N . kemudian misalkan C merupakan hasil kali
matriks A dan B . dimaNA C=AB
Dari hasil algoritma tersebut diatas maka dengan metoda divide dan
conquer akan
diperoleh running timenya yaitu T(n) = 7T(n/2 ) − Θ (n2) karena hanya
dibutuhkan dilakukannya 7 perkalian secara berulang
selanjutnya
if (n == 1) {
matmul(A, B, R, n/4);
Jumlah Jumlah
Waktu Memory
Perkalian Penjumlahan
NxN
8.89301300049E 0.00045418739
2x2 8 7 4 18 12 20
-5 3188
0.000092029571 0.00369310379
4x4 64 49 48 198 48 112
5332 028
0.000648975372 0.02787685394
8x8 512 343 448 1674 192 576
314 29
1
0.004477977752 0.23237299919
6x1 4096 2401 3840 12870 768 2816
69 1
6
• memory
standar : 3xnxn memerlukan 3 buah array ukuran nxn untuk menyimpan 2 matriks yang
dikalikan
}
$sum = $sum + 2*($temp2);
return $sum;
}
Implementasi
Kemudahan Implementasi
• Algoritma Strassen
1. lebih rumit,
Kesimpulan
Algoritma strassen lebih lambat dari algoritma standar karena memang algo
strassen mengurangi jumlah perkalian tetapi pengurangan jumlah perkalian
itu harus diganti dengan menambah operasi penjumlahan dan pengurangan
yang jumlahnya lebih banyak, misal pada matrix 2x2 jumlah perkalian
dengan algoritma strassen turun 1 buah tetapi jumlah
penambahan/pengurangan naik 14 buah.