KARNI HAMDANI
H12111012
STRATEGI ALGORITMA
12
STRATEGI ALGORITMA 1. GREEDY Algoritma greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi. Persoalan optimasi (optimization problems) adalah persoalan mencari solusi optimum. Hanya ada dua macam persoalan optimasi: 1. Maksimasi (maximization) 2. Minimasi (minimization).
now!.
Algoritma greedy membentuk solusi langkah per langkah (step by step). Pada setiap langkah, terdapat banyak pilihan yang perlu dieksplorasi. Oleh karena itu, pada setiap langkah harus dibuat keputusan yang terbaik dalam menentukan pilihan. Pada setiap langkah, kita membuat pilihan optimum lokal (local optimum) dengan harapan bahwa langkah sisanya mengarah ke solusi optimum global (global optimm).
STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 2
Contohnya: Sebuah Negara memiliki satuan koin untuk pembayaran: $1, $5, $10, $100, $200. Andaikan seorang memiliki uang dengan jumlah $12,352. Berapa jumlah koin minimal dengan nominal tersebut? Penyelesaian: Strategi greedy: Pada setiap langkah, pilihlah koin dengan nilai terbesar dari himpunan koin yang tersisa. Himpunan solusi feasible $12,352: {$1, $5, $10, $100, $200.} [ ]= 6 buah koin x $200 =$12.200
Sisa $152
Himpunan solusi feasible $152 {$1, $5, $10, $100} [ ]= satu buah koin x $100 = $100
Sisa $52
Page 3
Himpunan solusi feasible $52 {$1,$5,$10} [ ]= 5 buah koin x $10 =$50 Sisa $2
2.
DYMANIC PROGRAMING Program Dinamis (dynamic programming): metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah (step) atau tahapan (stage) sedemikian sehingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang saling berkaitan. Pada penyelesaian persoalan dengan metode ini:
Page 4
1. 2.
terdapat sejumlah berhingga pilihan yang mungkin, solusi pada setiap tahap dibangun dari hasil solusi tahap sebelumnya,
3.
kita menggunakan persyaratan optimasi dan kendala untuk membatasi sejumlah pilihan yang harus dipertimbangkan pada suatu tahap.
KARAKTERISTIK PERSOAALAN DYNAMIC PROGRAMING: 1. Persoalan dapat dibagi menjadi beberapa tahap (stage), yang pada setiap tahap hanya diambil satu keputusan. 2. Masing-masing tahap terdiri dari sejumlah status (state) yang berhubungan dengan tahap tersebut. Secara umum, status merupakan bermacam kemungkinan masukan yang ada pada tahap tersebut. 3. Hasil dari keputusan yang diambil pada setiap tahap ditransformasikan dari status yang bersangkutan ke status berikutnya pada tahap berikutnya.
Page 5
4.
Ongkos (cost) pada suatu tahap meningkat secara teratur (steadily) dengan bertambahnya jumlah tahapan.
5.
Ongkos pada suatu tahap bergantung pada ongkos tahap-tahap yang sudah berjalan dan ongkos pada tahap tersebut.
6.
Keputusan terbaik pada suatu tahap bersifat independen terhadap keputusan yang dilakukan pada tahap sebelumnya.
7.
Adanya hubungan rekursif yang mengidentifikasikan keputusan terbaik untuk setiap status pada tahap k memberikan keputusan terbaik untuk setiap status pada tahap k + 1.
8.
Contoh:
Page 6
E 4 5
B 6 3 F 3
5 4 4
C 5 G 6 6 5 D 2 H 2 K
4 5
Page 7
Step 1
Step 2
Step 3
Step 4
Srategi dynamic programming: Step 2 Dist (E)= {A,B,E} , cost (E)= 8 Dist (F)={A,C,F} , cost (F)= 6 Dist (G)= {A,C,G}, Cost(G)=7 Dist (H)= {A,D,H}. cost(H)= 5 Dist (I)={A,D,I}, cost (I) = 7
Step 3 Dist (J)={A,C,F,J}, cost (J)= 6+3=9 Dist (K)={A,D,H,K}, cost (K)=5+2=7
Page 8
Page 9
II 4 3
2 2 4
2 III 2 IV 2 2
Akan disusun kedalam sebuah kotak persegi panjang dengan luas 35x15 cm. Dengan metode greedy dan metode dynamic programming susunlah ke 4 buah kotak tersebut kedalam 35 persegi panjang se optimal mungkin!!!!
Page 10
15
1. METODE GREEDY
Menyusun bangun yang mempunyai luas terbesar yakni bangunan yang mempunyai luas 10x4 yang dibentuk dari bangunan I & IV , kemudian masukkan kotak tersebut kedalam persegipanjang 35x15
10
I IV
Dengan prinsiptake what you can get now ,, kita masukkan lagi bangun yang cukup untuk menempati sisa bagian yang kosong. Sehingga kita mengambil kotak yang luasnya 8x2 yang dibentuk dari 2 bangunan III yang digabung
8 0 2 0 III III
Page 11
Setelah memasukkan kotak diatas, masih ada bagian yang kosong dapat diisi
2 III III 4 dengan bangunan no III 2 0
yang 2
III
Setelah semua bangunan diatas disi, maka akan bersisa luas bangunan sebesar Untuk lebih jelasnya diperlihatkan pada gambar berikut ini:
I IV
III
Page 12
Luas Sisa =
15
35
Page 13
bagian ruangan
Setiap bagian diisi dengan kotak seoptimal mungkin . untuk lebih jelasnya diperlihatkan pada gambar dibawah ini
5 8 II III 2 4
6 II
5 Page 14
18
LUAS SISA =
5 7 2
Page 15
Page 16