P. 1
MCM

MCM

|Views: 55|Likes:
Published by Syawal Nugrahanto

More info:

Published by: Syawal Nugrahanto on Oct 02, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/02/2010

pdf

text

original

LAPORAN

ALGORITMA PEMROGRAMAN 2
Matrix Chain Multiplication

Dosen: Nur Aini Rakhmawati, M.Sc.Eng

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

INSTITUT TEKNOLOGI SEPULUH NOPEMBER
SISTEM INFORMASI – FTIf
November 2008

Matrix Chain Multiplication
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 sama adalah dengan banyaknya jumlah jumlah kolom yang pada matrix pertama harus baris matrix 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 dengan pilihan urutan perkalian matriks yang berbeda kita akan bisa membutuhkan jumlah perkalian (usaha) yang berbeda pula. Sehingga memilih urutan perkalian matriks yang tepat, 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

Ket gambar : - Rumus mencari nilai m adalah sebagai berikut : 1. dan rekursif (top down). table generated by applet. memorized.j]=m[i.perkalian pada beberapa matrix yang akan menghasilkan biaya komputasi yang paling optimum. . 2. Split index Product computed by applet. MCM ini dapat dikerjakan dengan 3 cara yaitu iterative (bottom up). m[i.k]+m[k+1. m [i.j]+pi-1 pk pj - Tujuan Matrix Chain Multiplication merupakan contoh Algoritma dari Dynamic Programing di mana algoritma MCM tersebut bertujuan untuk menghasilkan biaya komputasi yang paling optimum.j] = 0 Digunakan apabila indeks ke-i=ke-j Digunakan apabila indeks ke-i < ke-j. . Table of scalar multiplications.

Namun dalam TA-nya tersebut digunakan software Matlab dengan asumsi software tersebut sudah mengerti bagaimana cara perkalian yang efisien. ini dihubungkan dengan kemampuan prosesor computer untuk melakukan perhitungan terhadap perkalian matriks. yang akan memakan banyak memori. (2005) menyatakan bahwa penerapan yang riil dari MCM digunakan untuk menghitung biaya minimum dari perkalian matriks. utamanya di Java. Hasil Wawancara Algoritma Matrix Chain Multiplication dapat diimplementasikan dalam kehidupan sehari-hari untuk menyelesaikan beberapa masalah. Andre Parvian A. dalam Tugas Akhirnya mengenai JST (Jaringan Saraf Tiruan) Rekuren dan beberapa model hasil riset biasanya ada banyak perkalian matriks yang umumnya berukuran besar. Di sini Algoritma MCM dapat digunakan untuk menyusun brackets-bracketsnya sehingga dapat lebih mudah dan cepat dalam menyelesaikan pekerjaan. Ini dapat dioptimalkan dengan algoritma MCM. 3. Akan tetapi. Karena .Implementasi Aplikasi Matrix Chain Multiplication (MCM) 1. Nela Oktivani (2005) menyatakan bahwa selama ini belum pernah mengimplementasikan algoritma MCM. 2. dan tidak efektif. Dibawah ini merupakan contoh pengimplementasian aplikasi MCM yang kami dapatkan dari beberapa narasumber yaitu : 1. Riska Asriana ( 2006) menyatakan bahwa : Pengimplementasian aplikasi MCM ini dapat diterapkan dalam Kalkulator scientific. Perkalian ini awalnya akan diproses secara sekuensial.

dengan metode MCM yang dikemukakan oleh cormen ini dapat dilihat bahwa biaya yang digunakan untuk melakukan perkalian adalah minimal dikarenakan Mr.seperti yang kita ketahui bersama. Sehingga diperlukan suatu metode untuk melakukan optimasi terhadap perhitungan perkalian matriks. supply chain. Penelitian oleh orang Indonesia dilakukan oleh pihak ITB yang walaupun konsepnya mirip dengan Cormen. clock computer untuk perkalian biayanya lebih besar daripada clock computer untuk melakukan penjumlahan.sehingga pengiriman pesan dapat berjalan dengan cepat. aplikasi graph. Cormen mengusulkan algoritma yang dapat mengurangi factor “mengalikan” dalam perhitungan perkalian matriks berantai. Ibu Wiwik Anggraeni (Dosen) menjelaskan bahwa penggunaan perkalian matrix (seperti perkalian matrix yang terdapat pada algoritma MCM ) dalam daily activity dapat digunakan dalam proses enkripsi pada pengiriman pesan . Model berpikir MCM ini juga dipakai untuk optimasi untuk proses manufaktur. 5. Bapak Arif Wibisono (Dosen) menjelaskan bahwa pengimplementasian Algoritma MCM ini berguna dalam pencarian pola proses gambar pengenalan sidik jari. 4. tetapi menunjukkan bahwa perhitungan matriks dengan konsep ini memang dapat mengurangi biaya untuk melakukan perhitungan perkalian matriks. .

memoized. Cormen juga menjelaskan bahwa matrix chain multiplication dapat diimplementasikan dengan tiga cara. Sungje Hong. dan rekursif (juga bisa disebut top-down). Cara iteratif atau biasa disebut bottom-up langsung mencari hasil akhir dengan sekali jalan. metode ini lebih hemat memori daripada metode sebelumnya. Metode rekursif dikatakan top-down dengan alasan karena metode rekursif bisa dibentuk seperti bagan pohon (tree) dimana untuk menemukan hasil akhir di bagian top membutuhkan hasil-hasil di bagian bawahnya terlebih dahulu. Kebanyakan dari mereka adalah penerapan lebih lanjut dari permasalahan matrix chain multiplication ini. Beberapa ahli juga menulis mengenai masalah matrix chain multiplication ini. Matrix Chain Multiplication digunakan untuk mencari perkalian beberapa buah matrix secara optimal dari segi waktu dan penggunaan memori. mulai dari mencari perkalian Matrix yang paling optimal sampai dengan penerapan lebih lanjut oleh para ahli seperti yang ditulis dalam jurnal jurnal ilmiah yang mereka rilis. 2nd Edition. Paper Matrix Chain Multiplication dapat diimplementasikan dengan berbagai cara. Oleh karena itu. and Sunggu Lee dari Pohang University of Science and Technology dalam jurnalnya yang berjudul Processor Allocation and task Scheduling of Matrix Chain Products on Parallel System menjelaskan bahwa permasalahan matrix chain dapat diselesaikan pada sistem paralel. Seperti yang sudah ditulis oleh Thomas H. Dalam bukunya.2. penerapannyapun sangat luas. menurut teori. berbeda dengan rekursif yang memerlukan beberapa kali looping. Secara keseluruhan isi Jurnal ini adalah implemetasi dari matrix chain product pada sistem paralel dan perhitungan alokasi . yaitu iteratif (atau bisa disebut bottomup). Salah satunya Heejo Lee. metode ini hanya memerlukan sekali jalan. Jong Kim. Cormen pada bukunya yang berjudul Introduction to Algorithms.

dibagian awal numerik dan non-numerik dapat dia menyinggung sedikit tentang matrix chain.7.4653 .ist. algoritma yang digunakan memecahkan permasalahan ini dan untuk menemukan nearoptimal triangulasi dari polygon convex (triangulation of a convex polygon). Pada bagian awal dijelaskan bahwa perhitungan beberapa matrix yang dikalikan dan jumlahnya berpengaruh pada jumlah operasinya. Arthur Czumaj dari Warsaw University dalam jurnalnya yang berjudul An Optimal Parallel algorithm for Computing A Nearoptimal order of Matrix Multiplication menjelaskan tentang perkalian beberapa matrix dalam sistem parallel. Daniel Cociorva. J. Chi-chung Lam. yaitu 4 paper di bawah ini. David E. Kyrang lebih dia menjelaskan dipecahkan secara efisien dengan matrix chain multiplication. Paper I: “A Performance Optimization Framework for Compilation of Tensor Contraction Expressions into Parallel Programs” Oleh Gerald Baumgartner.prosesor pada sistem yang memiliki bahwa permasalahan permasalahan multiprosesor. Marcel Nooijen.1.1.psu. Robert Harrison. Ramanujam url : http://citeseerx. Sementara itu. perbedaannya disini Arthur Czumaj menerapkannya lebih lanjut dan berada pada tingkatan yang lebih tinggi dibanding Cormen dan Arthur Czumaj juga menggunakan sistem paralel untuk penelitiannya tersebut.edu/viewdoc/summary?doi=10. Dalam penerapan yang lebih lanjut. Namun. Terdapat sumber-sumber lain yang menjelaskan tentang implementasi Matrix Chain Multiplication. Namun. Bernholdt. Sebenarnya hal ini hamper sama dengan yang ditulis Cormen dalam bukunya.

cfm?id=982828 . url : http://www. Uri Zwick url : http://portal. Susunan terbalik ini dapat dihitung secara langsung dengan melihat protein CD tanpa harus melakukan penyederhanaan dan melakukan standarisasi teknik invers matriks. antiparallel and parallel β-sheet.org/citation. Paper II: “Analysis of protein circular dichroism spectra for secondary structure using a simple matrix multiplication” Oleh : Larry A. Jr. dan struktur random lainnya. Compton and W.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.com/science?_ob=ArticleURL&_udi=B6W9VDYM9HNMM&_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.acm. Paper III : “Detecting short directed cycles using rectangular matrix multiplication and dynamic programming” Oleh : Raphael Yuster.sciencedirect. β-turn. Curtis Johnson.

C. i. Algorithma yang baru ini merupakan sebuah proses penyederhanaan dari sebuah algorithma umum yang menyatakan untuk mencari sebuah arah Ck. Selain itu. di dalam sebuah digraphs. Identitas tersebut mengizinkan solusi mudah dan mengurangi konsumsi waktu berlebih matrix multiplication. hubungan antara hubungan familiar tersebut untuk case dua konduktor dan case multionduktor dapat dilihat.org/xpl/freeabs_all. . 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. sebuah arah dari suatu cycle dengan jarak ki.untuk apapun nilai k ≥ 3. Paper IV: “Useful Matrix Chain Parameter Identities for the Analysis of Multiconductor Transmission Lines (Short Papers)” Oleh : Paul.Abstract : Paper ini menjelaskan menjelaskan tentang penemuan sebuah algorithma baru dalam mendeteksi jarak hasil terpendek dari suatu cycles di dalam sebuah digraphs. url : http://ieeexplore.ieee.R. Algorithma baru ini menggunakan optimal matrix multiplication algorithma.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.e.

Kesimpulan Walaupun tidak banyak hal orang yang mengetahui dapat tentang Matrix Chain dengan Multiplication. aplikasi graph. untuk optimasi proses manufaktur. mendeteksi jalan perputaran terpendek. banyak diimplementasikan menggunakan MCM ini. clock computer (Andre). Misalnya: kalkulator sciencetific (Riska). supply chain (Arif Wibisono). serta analisis protein circular dichroism spectra. yaitu: penggunaan transmisi garis multikonduktor. Selain itu. optimalisasi framework untuk kompilasi dalam ekspresi tensor menjadi paralel program. pencarian pola proses gambar pengenalan sidik jari. dalam beberapa paper disebutkan beberapa penerapan lain yang menggunakan konsep MCM ini. .

12/13/2008 Laporan Implementasi Aplikasi Algoritma Matrix Chain Multiplication Presented by: 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 # 1 .

2.j] = 0 Digunakan apabila indeks ke – i = ke – j Digunakan apabila indeks ke – i < ke – j. yang dimana algoritma MCM tersebut bertujuan untuk menghasilkan biaya komputasi yang paling optimum Main Menu # 2 . m [i. Product computed by applet Keterangan gambar : Rumus mencari nilai m adalah sebagai berikut : 1.k] + m [k+1.j] + pi-1 pk pj Main Menu # Matrix Chain Multiplication merupakan contoh Algoritma dari Dynamic Programing.j]= m [i. m [i.12/13/2008 Table of scalar multiplications. Split index table generated by applet.

4.12/13/2008 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 : 1.” Implementasi # 3 . RISKA ARSIANA NELA OKTAVIANI ANDRE PARVIAN WIWIK ANGGRAENI ARIF WIBISONO (SI Angkatan 2006) (SI Angkatan 2005) (SI Angkatan 2005) (Dosen SI) (Dosen SI) From Papers Main Menu # “Pengimplementasian aplikasi MCM ini dapat diterapkan dalam Kalkulator scientific. 2. Disini Algoritma MCM dapat digunakan untuk menyusun brackets-bracketsnya sehingga dapat lebih mudah dan cepat dalam menyelesaikan pekerjaan. 3. 5.

Akan tetapi. Karena seperti yang kita ketahui bersama. Perkalian ini awalnya akan diproses secara sekuensial. Cormen mengusulkan algoritma yang dapat mengurangi factor “mengalikan” dalam perhitungan perkalian matriks berantai.” Implementasi # “penerapan yang riil dari MCM digunakan untuk menghitung biaya minimum dari perkalian matriks. yang akan memakan banyak memori.12/13/2008 “Selama ini belum pernah mengimplementasikan algoritma MCM. Penelitian oleh orang Indonesia dilakukan oleh pihak ITB yang walaupun konsepnya mirip dengan punya cormen tetapi menunjukkan bahwa perhitungan matriks dengan konsep ini memang dapat mengurangi biaya untuk melakukan perhitungan perkalian matriks. Namun dalam TA-nya tersebut digunakan software Matlab dengan asumsi software tersebut sudah mengerti bagaimana cara perkalian yang efisien. dan tidak efektif. ini dihubungkan dengan kemampuan prosesor computer untuk melakukan perhitungan terhadap perkalian matriks. Ini dapat dioptimalkan dengan algoritma MCM. utamanya di Java. dengan metode MCM yang dikemukakan oleh cormen ini dapat dilihat bahwa biaya yang digunakan untuk melakukan perkalian adalah minimal dikarenakan Mr. clock computer untuk perkalian biayanya lebih besar daripada clock computer untuk melakukan penjumlahan. Sehingga diperlukanlah suatu metode untuk melakukan optimasi terhadap perhitungan perkalian matriks.” Implementasi # 4 . dalam Tugas Akhirnya mengenai JST (Jaringan Saraf Tiruan) Rekuren dan beberapa model hasil riset biasanya ada banyak perkalian matriks yang umumnya berukuran besar.

” Implementasi # “Pengimplementasian Algoritma MCM ini berguna dalam pencarian pola proses gambar pengenalan sidik jari.sehingga pengiriman pesan dapat berjalan dengan cepat.” Implementasi # 5 . supply chain. Model berpikir MCM ini juga dipakai untuk optimasi untuk proses manufaktur. aplikasi graph.12/13/2008 “Penggunaan perkalian matrix (seperti perkalian matrix yang terdapat pada algoritma MCM ) dalam daily activity dapat digunakan dalam proses enkripsi pada pengiriman pesan .

David E. J. Marcel Nooijen. Chi-chung Lam. # 6 .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. Ramanujam • Abstract : Paper ini membahas tentang sebuah program system synteshis untuk memfasilitasi generasi kelas komputasi yang highperfomance terutama dalam bidang fisika quantum dan kimia kuantum yang juga mengimplementasikan tentang matrix chain multiplication. Daniel Cociorva. Robert Harrison. Bernholdt.

Uri Zwick • Abstract : Paper ini menjelaskan menjelaskan tentang penemuan sebuah algorithma baru dalam mendeteksi jarak hasil terpendek dari suatu cycles di dalam sebuah digraphs. # Papers (cont’d) • “Detecting short directed cycles using rectangular matrix multiplication and dynamic programming” Oleh : Raphael Yuster. • Abstract : Susunan kebalikan circular dichroism (CD) terdiri dari tiap-tiap 5 struktur protein mayor kedua antara lain : α-helix. Compton and W. Jr.e.12/13/2008 Papers (cont’d) • “Analysis of protein circular dichroism spectra for secondary structure using a simple matrix multiplication” Oleh : Larry A. antiparallel and parallel β-sheet. dan struktur random lainnya. # 7 . Susunan terbalik ini dapat dihitung secara langsung dengan melihat protein CD tanpa harus melakukan penyederhanaan dan melakukan standarisasi teknik invers matriks. Curtis Johnson. di dalam sebuah digraphs.untuk apapun nilai k ≥ 3. sebuah arah dari suatu cycle dengan jarak ki. β-turn. i. Algorithma yang baru ini merupakan sebuah proses penyederhanaan dari sebuah algorithma umum yang menyatakan untuk mencari sebuah arah Ck. Algorithma baru ini menggunakan optimal matrix multiplication algorithma.

• • # 8 . # Papers (cont’d) • Matrix Multiplication on Heterogeneous Platforms by: Oliver Beaumont. penamaan. Saat menerapkan MM algorithm dalam HNOWs. Ini merupakan tantangan. ide tersebut untuk menggunakan semua sumber daya. Dalam hal ini yang dibandingkan adalah kecepatan prosesor. C.12/13/2008 Papers (cont’d) • “Useful Matrix Chain Parameter Identities for the Analysis of Multiconductor Transmission Lines (Short Papers)” Oleh : Paul. tetapi sangat berguna yang diberikan MM dalam scientific computing. dan mesin yang lebih pelan. and Yves Robert. Mereka menampilkan kompuer paralel miskin. Heterogeneous Network of Workstations (HNOWs) merupakan hal yang tersebar di berbagai universitas dan perusahaan.R. Identitas tersebut mengizinkan solusi mudah dan mengurangi konsumsi waktu berlebih matrix multiplication. yaitu dengan menjalankan PVM atau percobaan MPI yang merupakan alternatif termurah untuk membeli super komputer. Member. IEEE Abstract: Problem ini ditujukan untuk menghitung keseimbangan pekerjaan dengan sumber kecepatan yang berbeda dengan volume komunikasi minimal. Fabrice Rastello. • 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. Vincent Boudet.

dijelaskan tentang pengalokasian prosesor dalam penerapan matrix chain scheduling problem (MCSP).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. Sungje Hong. MCSP inilah yang digunakan untuk mengefisienkan penggunaan prosesor. and Sunggu Lee Abstract: Dalam paper ini. • Main Menu # 9 . Jong Kim.

Main Menu # 10 . yaitu: penggunaan transmisi garis multikonduktor. banyak hal yang dapat diimplementasikan dengan menggunakan MCM ini. optimalisasi framework untuk kompilasi dalam ekspresi tensor menjadi paralel program. Selain itu. Misalnya: kalkulator sciencetific (Riska).12/13/2008 Walaupun tidak banyak orang mengetahui tentang Matrix Chain Multiplication. clock computer (Andre). serta analisis protein circular dichroism spectra. pencarian pola proses gambar pengenalan sidik jari. supply chain (Arif Wibisono). untuk optimasi proses manufaktur. mendeteksi jalan perputaran terpendek. dalam beberapa paper disebutkan beberapa penerapan lain yang menggunakan konsep MCM ini. aplikasi graph.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->