Professional Documents
Culture Documents
ALGORITMA PEMROGRAMAN 2
Matrix Chain Multiplication
AULIA FEBRIYANTI 22
BUDI CHANDRA DEKARALOS 32
SITI HAJAR MASRUROH 36
VLADIMIR DIMITRI 43
ANGGIK LY PRITA 47
ADITYAN NOVANANDA P R 53
SINGGIH SETYO JATMIKO 55
FITRAH MEILIA PURNAMA 71
RAMA CATUR A P P 77
ARIEF RAKHMAN 92
MOCH YASIN 701
Dosen:
Nur Aini Rakhmawati, M.Sc.Eng
Review
Perkalian matriks berantai (Matrix Chain Multiplication), sesuai dengan
namanya, adalah perkalian dari serangkaian matriks. Operasi perkalian
matriks adalah operasi yang bersifat asosiatif, yaitu urutan operasi yang
dilakukan dapat diubah-ubah dengan bebas dan tetap tidak akan
berpengaruh pada hasil akhir operasi.
Jika kita melakukan perkalian antara dua buah matrix, syarat
yang harus dipenuhi adalah banyaknya jumlah kolom pada matrix
pertama harus sama dengan jumlah baris matrix yang kedua. Yang
harus dicari jalan keluarnya dalam hal ini adalah jika kita mengalikan
matriks-matriks tersebut sesuai urutannya, proses yang dilakukan sering
kali tidak efektif dan memakan waktu lama. Ini dikarenakan oleh banyaknya
operasi perkalian integer yang dilakukan.
Misalnya diberikan 2 buah matriks :
A(3x5)
B(5x4)
Jumlah perkalian (usaha) yang diperlukan untuk mendapatkan hasil
perkalian dari matriks tersebut adalah :
3x5x4 = 60 perkalian.
Ternyata pilihan urutan perkalian matriks yang berbeda akan
membutuhkan jumlah perkalian (usaha) yang berbeda pula. Sehingga
dengan memilih urutan perkalian matriks yang tepat, kita bisa
menyelesaikan perkalian matriks berantai tersebut dengan lebih cepat dan
efisien. Karena dengan memilih urutan perkalian yang tepat, kita dapat
mereduksi jumlah perkalian yang harus dilakukan untuk mendapatkan solusi
akhir dari perkalian matriks berantai tersebut.
Dengan menggunakan metode Matrix Chain Multiplication ini,
kita dapat menyelesaikan permasalahan Bagaimana kita mendapatkan rantai
perkalian pada beberapa matrix yang akan menghasilkan biaya komputasi
yang paling optimum. MCM ini dapat dikerjakan dengan 3 cara yaitu
iterative (bottom up), memorized, dan rekursif (top down).
Ket gambar :
- Rumus mencari nilai m adalah sebagai berikut :
1. m [i,j] = 0 -Æ Digunakan apabila indeks ke-i=ke-j
2. m[i,j]=m[i,k]+m[k+1,j]+pi-1 pk pj -Æ Digunakan apabila indeks ke-i < ke-j.
Tujuan
Matrix Chain Multiplication merupakan contoh Algoritma dari
Dynamic Programing di mana algoritma MCM tersebut bertujuan untuk
menghasilkan biaya komputasi yang paling optimum.
Implementasi Aplikasi Matrix Chain Multiplication (MCM)
1. Hasil Wawancara
Algoritma Matrix Chain Multiplication dapat diimplementasikan dalam
kehidupan sehari-hari untuk menyelesaikan beberapa masalah. Dibawah ini
merupakan contoh pengimplementasian aplikasi MCM yang kami dapatkan
dari beberapa narasumber yaitu :
url : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.4653
Abstract :
Paper ini membahas tentang sebuah program system synteshis untuk
memfasilitasi generasi kelas komputasi yang high-perfomance terutama
dalam bidang fisika quantum dan kimia kuantum yang juga
mengimplementasikan tentang matrix chain multiplication.
Paper II:
url :
http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6W9V-
DYM9HN-
MM&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct
=C000050221&_version=1&_urlVersion=0&_userid=10&md5=a758e22
9d16baee5ffafab370cc9fd5a
Abstract :
Susunan kebalikan circular dichroism (CD) terdiri dari tiap-tiap 5 struktur
protein mayor kedua antara lain : α-helix, antiparallel and parallel β-sheet,
β-turn, dan struktur random lainnya. Susunan terbalik ini dapat dihitung
secara langsung dengan melihat protein CD tanpa harus melakukan
penyederhanaan dan melakukan standarisasi teknik invers matriks.
Paper III :
“Detecting short directed cycles using rectangular matrix
multiplication and dynamic programming”
Oleh : Raphael Yuster, Uri Zwick
url : http://portal.acm.org/citation.cfm?id=982828
Abstract :
Paper ini menjelaskan menjelaskan tentang penemuan sebuah algorithma
baru dalam mendeteksi jarak hasil terpendek dari suatu cycles di dalam
sebuah digraphs. Algorithma baru ini menggunakan optimal matrix
multiplication algorithma. Algorithma yang baru ini merupakan sebuah
proses penyederhanaan dari sebuah algorithma umum yang menyatakan
untuk mencari sebuah arah Ck, i.e, sebuah arah dari suatu cycle dengan
jarak ki, di dalam sebuah digraphs,untuk apapun nilai k ≥ 3.
Paper IV:
“Useful Matrix Chain Parameter Identities for the Analysis of
Multiconductor Transmission Lines (Short Papers)”
Oleh : Paul, C.R.
url : http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1128669
Abstract :
Dengan menggunakan teori variabel tetap, kegunaan matriks identitas
termasuk submatriks dari rantai parameter matriks untuk sebuah garis
transmisi multickonduktor dapat dilihat. Identitas ini merupakan ekstensi
dari gabungan properties yang familiar dengan dua garis konduktor menuju
garis multikonduktor dan digunakan untuk formulasi solusi sempurna untuk
terminal tersebut ketika garis diterminasi oleh linear network. Identitas
tersebut mengizinkan solusi mudah dan mengurangi konsumsi waktu
berlebih matrix multiplication. Selain itu, hubungan antara hubungan
familiar tersebut untuk case dua konduktor dan case multionduktor dapat
dilihat.
Kesimpulan
Walaupun tidak banyak orang mengetahui tentang Matrix Chain
Multiplication, banyak hal yang dapat diimplementasikan dengan
menggunakan MCM ini. Misalnya: kalkulator sciencetific (Riska), clock
computer (Andre), pencarian pola proses gambar pengenalan sidik jari,
untuk optimasi proses manufaktur, aplikasi graph, supply chain (Arif
Wibisono). Selain itu, dalam beberapa paper disebutkan beberapa
penerapan lain yang menggunakan konsep MCM ini, yaitu: penggunaan
transmisi garis multikonduktor, mendeteksi jalan perputaran terpendek,
optimalisasi framework untuk kompilasi dalam ekspresi tensor menjadi
paralel program, serta analisis protein circular dichroism spectra.
12/13/2008
1
12/13/2008
Keterangan gambar :
Rumus mencari nilai m adalah sebagai berikut :
1. m [i,j] = 0 Digunakan apabila indeks ke – i = ke – j
2. m [i,j]= m [i,k] + m [k+1,j] + pi-1 pk pj Digunakan apabila indeks ke – i < ke – j.
Main Menu
#
Main Menu
#
2
12/13/2008
From Papers
Main Menu
#
Implementasi
#
3
12/13/2008
Implementasi
#
Implementasi
#
4
12/13/2008
Implementasi
#
Implementasi
#
5
12/13/2008
Papers
• Arthur Czumaj dari Warsaw University dalam jurnalnya yang berjudul
An Optimal Parallel algorithm for Computing A Near-optimal order
of Matrix Multiplication algoritma yang digunakan memecahkan
permasalahan ini dan untuk menemukan near-optimal triangulasi dari
polygon convex (triangulation of a convex polygon)
Papers (cont’d)
• “A Performance Optimization Framework for Compilation of
Tensor Contraction Expressions into Parallel Programs”
Oleh Gerald Baumgartner, David E. Bernholdt, Daniel Cociorva, Robert Harrison, Chi-chung
Lam, Marcel Nooijen, J. Ramanujam
• Abstract :
Paper ini membahas tentang sebuah program system synteshis
untuk memfasilitasi generasi kelas komputasi yang high-
perfomance terutama dalam bidang fisika quantum dan kimia
kuantum yang juga mengimplementasikan tentang matrix chain
multiplication.
6
12/13/2008
Papers (cont’d)
• “Analysis of protein circular dichroism spectra for secondary
structure using a simple matrix multiplication”
Oleh : Larry A. Compton and W. Curtis Johnson, Jr.
• Abstract :
Susunan kebalikan circular dichroism (CD) terdiri dari tiap-tiap 5
struktur protein mayor kedua antara lain : α-helix, antiparallel and
parallel β-sheet, β-turn, dan struktur random lainnya. Susunan terbalik
ini dapat dihitung secara langsung dengan melihat protein CD tanpa
harus melakukan penyederhanaan dan melakukan standarisasi teknik
invers matriks.
Papers (cont’d)
• “Detecting short directed cycles using rectangular matrix
multiplication and dynamic programming”
Oleh : Raphael Yuster, Uri Zwick
• Abstract :
Paper ini menjelaskan menjelaskan tentang penemuan sebuah
algorithma baru dalam mendeteksi jarak hasil terpendek dari suatu
cycles di dalam sebuah digraphs. Algorithma baru ini menggunakan
optimal matrix multiplication algorithma. Algorithma yang baru ini
merupakan sebuah proses penyederhanaan dari sebuah algorithma
umum yang menyatakan untuk mencari sebuah arah Ck, i.e, sebuah
arah dari suatu cycle dengan jarak ki, di dalam sebuah digraphs,untuk
apapun nilai k ≥ 3.
7
12/13/2008
Papers (cont’d)
• “Useful Matrix Chain Parameter Identities for the Analysis of
Multiconductor Transmission Lines (Short Papers)”
Oleh : Paul, C.R.
• Abstract:
Identitas ini merupakan ekstensi dari gabungan properties yang familiar
dengan dua garis konduktor menuju garis multikonduktor dan
digunakan untuk formulasi solusi sempurna untuk terminal tersebut
ketika garis diterminasi oleh linear network. Identitas tersebut
mengizinkan solusi mudah dan mengurangi konsumsi waktu berlebih
matrix multiplication.
Papers (cont’d)
• Matrix Multiplication on Heterogeneous Platforms
by: Oliver Beaumont, Vincent Boudet, Fabrice Rastello, and Yves
Robert, Member, IEEE
• Abstract:
Problem ini ditujukan untuk menghitung keseimbangan pekerjaan dengan sumber
kecepatan yang berbeda dengan volume komunikasi minimal.
Heterogeneous Network of Workstations (HNOWs) merupakan hal yang tersebar di
berbagai universitas dan perusahaan. Mereka menampilkan kompuer paralel miskin, yaitu
dengan menjalankan PVM atau percobaan MPI yang merupakan alternatif termurah untuk
membeli super komputer. Saat menerapkan MM algorithm dalam HNOWs, ide tersebut
untuk menggunakan semua sumber daya, penamaan, dan mesin yang lebih pelan. Ini
merupakan tantangan, tetapi sangat berguna yang diberikan MM dalam scientific
computing.
• Dalam hal ini yang dibandingkan adalah kecepatan prosesor.
8
12/13/2008
Papers (cont’d)
• Paper yang membahas hal sejenis
dengan aplikasi algoritma Matrix
Multiplication:
– Matrix Multiplication on three
Heterogeneous Processor
– Adaptive Matrix Multiplication in
Heterogeneous Environment
Papers (cont’d)
• Processor Allocation and Task Scheduling of Matrix Chain
Products on Parallel Systems
Heejo lee, Jong Kim, Sungje Hong, and Sunggu Lee
• Abstract:
Dalam paper ini, dijelaskan tentang pengalokasian prosesor dalam
penerapan matrix chain scheduling problem (MCSP). MCSP inilah
yang digunakan untuk mengefisienkan penggunaan prosesor.
Main Menu
#
9
12/13/2008
Main Menu
#
10