STRATEGI ALGORITMA(Greedy & Dynamic Programming)

13

Click here to load reader

Transcript of STRATEGI ALGORITMA(Greedy & Dynamic Programming)

Page 1: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

STRATEGI ALGORITMA

Page 2: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

STRATEGI ALGORITMA

1. GREEDYAlgoritma 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).

Prinsip greedy: “take what you can get 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).

•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 ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 2

Page 3: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

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.}

[ 12,352200 ]= 6 buah koin x $200 =$12.200

Sisa $152

Himpunan solusi feasible $152{$1, $5, $10, $100}

[ 152100 ]= satu buah koin x $100 = $100

Sisa $52

Himpunan solusi feasible $52{$1,$5,$10}

[ 5210 ]= 5 buah koin x $10 =$50

Sisa $2

Himpunan solusi feasible $2{$1}

[ 21 ]= 1 buah koin x $1 =$2

Sisa 0

Jadi jumlah koin adalah 69 (solusi optimal)

2. DYMANIC PROGRAMINGProgram Dinamis (dynamic programming): metode pemecahan masalah dengan cara menguraikan

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 3

Page 4: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

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:1. terdapat sejumlah berhingga pilihan yang

mungkin,2. 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.

4. Ongkos (cost) pada suatu tahap meningkat secara teratur (steadily) dengan bertambahnya jumlah tahapan.

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 4

Page 5: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

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. Prinsip optimalitas berlaku pada persoalan tersebut.

Contoh:

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 5

B

5

6

5

3

4

35

J

E

F

Page 6: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

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

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 6

A C

5

3

2

5

6

5

4

2

4

2

6

4

6

L

K

G

H

I

D

Step 1 Step 2 Step 3 Step 4

Page 7: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

Dist (J)={A,C,F,J}, cost (J)= 6+3=9

Dist (K)={A,D,H,K}, cost (K)=5+2=7

Step 4

Dist (L)={A,D,H,K,L}, cost(L)=13.

Contoh kasusAda 4 buah jenis kotak sbb

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 7

4

4

5

2 II2 4 I

Page 8: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

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 persegi panjang se optimal mungkin…!!!!

1. METODE GREEDY

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 8

2

3

2

4

2

6

35

15

IIII

2

Page 9: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

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

Dengan prinsip“take 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

Setelah memasukkan kotak diatas, masih ada bagian yang kosong yang dapat diisi dengan bangunan no III

Setelah semua bangunan diatas disi, maka akan bersisa luas bangunan sebesar 53 cm2

Untuk lebih jelasnya diperlihatkan pada gambar berikut ini:

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 9

10

80

2

20

IV

I

I

4

III III

2III

Page 10: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

Luas Sisa = 53 cm2

2. DYNAMIC PROGRAMING Persegi panjang dibagi 4 bagian ruangan

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 10

15

III IIIIIII

IV

I4

Page 11: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

Setiap bagian diisi dengan kotak seoptimal mungkin . untuk lebih jelasnya diperlihatkan pada gambar dibawah ini

LUAS SISA = 11cm2

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 11

18

6

85

4

517

IIIIIII

6

IIIIII

Page 12: STRATEGI ALGORITMA(Greedy & Dynamic Programming)

STRATEGI ALGORITMA GREEDY & DYNAMIC PROGRAMING Page 12