Ajeng Savitri P, M.Kom
Analysis & Strategy
of Algorithm
Pertemuan 9
OBJECTIVE
 To learn how Greedy Algorithm solve problems
Minimisasi Waktu dalam Sistem
(Penjadwalan)
 Persoalan : Sebuah server mempunyai n pelanggan (customer/clien
t) yang harus dilayani. Waktu pelayanan untuk setiap pelanggan sud
ah ditetapkan sebelumnya, yaitu pelanggan i membutuhkan waktu ti
.
Kita ingin meminimumkan total waktu di dalam sistem
T = (waktu di dalam sistem untuk pelanggan i)
 Karena jumlah pelanggan adalah tetap, meminimumkan waktu di
dalam sistem ekivalen dengan meminimumkan waktu rata-rata.
Contoh
Misalkan kita mempunyai tiga pelanggan dengan t1 = 5, t2 = 10, t3 = 3
maka enam urutan pelayanan yang mungkin adalah:
Urutan Fungsi T
1, 2, 3 t1 + (t1 + t2) + (t1 + t2
)
5 + (5 + 10) + (5 + 10 + 3 )
8
1, 3, 2 t1 + (t1 + t3) + (t1 + t3
)
5 + (5 + 3) + (5 + 3 + 10)
2, 1, 3 t2 + (t2 + t1) + (t2 + t1
)
10 + (10 + 5) + (10 + 5 + 3
43
2, 3, 1 t2 + (t2 + t3) + (t2 + t3
)
10 + (10 + 3) + (10 + 3 + 5
41
Pemecahan Masalah
Pemecahan Masalah dengan Algoritma Exhaustive Search
 Urutan pelangan yang dilayani oleh server merupakan suatu permutasi
 Jika ada n orang pelanggan, maka tedapat n! urutan pelanggan. Waktu yang dibutuhkan untuk
mengevaluasi fungsi obyektif adalah O(n), oleh karena itu kompleksitas algoritma exhaustive
search untuk masalah ini adalah O(nn!)
Pemecahan Masalah dengan Algoritma Greedy
 Pada setiap langkah, masukkan pelanggan yang membutuhkan waktu pelayanan terkecil dianta
ra pelanggan lain yang belum dilayani.
 Agar proses pemilihan pelanggan berikutnya optimal, maka perlu mengurutkan waktu pelayana
n seluruh pelanggan dalam urutan yang menaik. Jika waktu pengurutan tidak dihitung, maka
kompleksitas algoritma greedy untuk masalah minimisasi waktu di dalam sistem
adalah O(n).
Pemilihan srategi greedy untuk penjadwalan pelanggan ak
an
selalu menghasilkan solusi optimum.
Keoptimuman ini dinyatakan dengan Teorema berikut:
“Jika t1  t2  …  tn maka pengurutan ij = j, 1  j  n meminimumk
an”
T =
untuk semua kemungkinan permutasi ij.
Knapsack 1/0 Problem
*baca kembali teori Knapsack Problem pada materi Exhaustive Search
 Masukkan objek satu per satu ke dalam knapsack. Sekali objek dimasukkan ke dalam knapsack,
objek tersebut tidak bisa dikeluarkan lagi.
 Terdapat beberapa strategi greedy yang heuristik yang dapat digunakan untuk memilih objek
yang akan dimasukkan ke dalam knapsack:
1. Greedy by profit
Pada setiap langkah, knapsack diisi dengan objek yang mempunyai keuntungan terbesar. Strategi ini menco
ba memaksimumkan keuntungan dengan memilih objek yang paling menguntungkan terlebih dahulu.
2. Greedy by weight
Pada setiap langkah, knapsack diisi dengan objek yang mempunyai berat paling ringan. Strategi ini mencob
a memaksimumkan keuntungan dengan memasukkan sebanyak mungkin objek ke dalam knapsack.
3. Greedy by density
Pada setiap langkah, knapsack diisi dengan objek yang mempunyai densitas, pi /wi terbesar. Strategi ini
mencoba memaksimumkan keuntungan dengan memilih objek yang mempunyai keuntungan
per unit berat terbesar.
Contoh Masalah (1)
 Pemilihan objek berdasarkan salah satu dari ketiga strategi di atas tidak
menjamin akan memberikan solusi optimal. Bahkan ada kemungkinan ketiga
stategi tersebut tidak memberikan solusi optimum.
 Contoh berikut memberikan ilustrasi kasus ini.
Tinjau persoalan 0/1 Knapsack dengan n = 4.
w1 = 2; p1 = 12
w2 = 5; p1 = 15
w3 = 10; p1 = 50
w4 = 5; p1 = 10
Kapasitas knapsack W = 16
Penyelesaian
Pada contoh ini, algoritma greedy dengan strategi pemilihan objek berdasarkan
profit dan density memberikan solusi optimal, sedangkan pemilihan objek
berdasarkan berat tidak memberikan solusi optimal.
Properti objek Greedy by Solusi
Optimali wi pi pi /wi profit weight density
1 6 12 2 0 1 0 0
2 5 15 3 1 1 1 1
3 10 50 5 1 0 1 1
4 5 10 2 0 1 0 0
Total bobot 15 16 15 15
Total keuntungan 65 37 65 65
Contoh Masalah (1)
Tinjau persoalan 0/1 Knapsack lain dengan 6 objek:
w1 = 100; p1 = 40
w2 = 50; p2 = 35
w3 = 45; p3 = 18
w4 = 20; p4 = 4
w5 = 10; p5 = 10
w6 = 5; p6 = 2
Kapasitas knapsack W = 100
Penyelesaian
Pada contoh ini, algoritma greedy dengan ketiga strategi pemilihan objek tidak
berhasil memberikan solusi optimal. Solusi optimal permasalah ini adalah
X = (0, 1, 1, 0, 0, 0) dengan total keuntungan = 55.
Properti objek Greedy by Solusi
Optimali wi pi pi /wi profit weight density
1 100 40 0,4 1 0 0 0
2 50 35 0,7 0 0 1 1
3 45 18 0,4 0 1 0 1
4 20 4 0,2 0 1 1 0
5 10 10 1,0 0 1 1 0
6 5 2 0,4 0 1 1 0
Total bobot 100 80 85 100
Total keuntungan 40 34 51 55
Penjelasan
Algoritma greedy tidak selalu berhasil menemukan solusi optimal untu
k masalah 0/1 Knapsack.
Namun ketiga strategi greedy yang telah disebutkan di atas dapat
digunakan untuk memilih objek yang akan dimasukkan ke dalam
knapsack.
TSP (Travelling Salesperson Problem)
*baca kembali teori TSP pada materi Exhaustive Search
Strategi greedy untuk memilih kota selanjutnya:
 Pada setiap langkah, pilih kota yang belum pernah dikunjungi yang
mempunyai jarak terdekat.
Contoh Masalah
Diketahui n = 5; perjalanan dimulai dari kota E.
Langkah 1: Dari E pergi ke B (Total jarak = 3)
Langkah 2: Dari B pergi ke A (Total jarak = 3 + 6 = 9)
Langkah 3: Dari A pergi ke C (Total jarak = 9 + 5 = 14)
Langkah 4: Dari C pergi ke D (Total jarak = 14 + 4 = 18)
Langkah 5: Dari D kembali lagi ke E
(Total jarak = 18 + 8 = 26)
C
A
BD
E
5
74
4
6
9
5
7
3
8
Penyelesaian
 Perjalanan (sirkuit Hamilton) yang dihasilkan:
E  B  A  C  D  E
Panjang = 3 + 6 + 5 + 4 + 8 = 26. (tidak optimal)
 Solusi yang lebih baik:
E  B  D  C  A  E
Panjang = 3 + 7 + 4 + 5 + 5 = 24. (optimal)
Penjelasan
Kesimpulan:
• Masalah TSP tidak dapat diselesaikan dengan algoritma
greedy, karena solusi yang diahasilkan tidak dijamin
merupakan solusi optimal. Namun jika solusi hampiran
dianggap mencukupi, maka solusi dengan algoritma greedy
dapat dijadikan sebagai titik awal untuk menemukan sirkui
t Hamilton yang minimum.
Kesimpulan
Adakalanya optimum global merupakan solusi sub-optimum
atau pseudo-optimum karena :
1. Algoritma greedy tidak beroperasi secara menyeluruh terhadap
semua alternatif solusi yang ada
2. Mungkin terdapat beberapa fungsi SELEKSI yang berbeda,
sehingga kita harus memilih fungsi yang tepat jika kita ingin
algoritma bekerja dengan benar dan menghasilkan solusi yang
benar-benar optimum
 Karena itu, pada sebagian masalah algoritma greedy tidak selalu
berhasil memberikan solusi yang benar-benar optimum.
 Jika jawaban terbaik mutlak (benar-benar optimum) tidak diperl
ukan maka algoritma greedy sering berguna untuk menghasilka
n solusi
yang mendekati optimum, daripada menggunakan algoritma yan
g
lebih rumit untuk menghasilkan solusi yang eksak.
 Bila algoritma greedy optimum, maka keoptimalannya itu dapat
dibuktikan secara matematis
Kesimpulan
REFFERENCE
 Munir, Rinaldi. Diktat Kuliah “Kompleksitas Algoritma”, Departemen T
eknik Informatika ITB
 Levitin, Anany. 2012. Introduction to the Design and Analysis of A
lgorithms, 3rd Edition.Addison Wesley
Terima Kasih
ajeng.savitri@teknokrat.ac.id
https://teknokrat.ac.id/en/
https://spada.teknokrat.ac.id/

Algoritma Greedy (contoh soal)

  • 1.
    Ajeng Savitri P,M.Kom Analysis & Strategy of Algorithm Pertemuan 9
  • 2.
    OBJECTIVE  To learnhow Greedy Algorithm solve problems
  • 3.
    Minimisasi Waktu dalamSistem (Penjadwalan)  Persoalan : Sebuah server mempunyai n pelanggan (customer/clien t) yang harus dilayani. Waktu pelayanan untuk setiap pelanggan sud ah ditetapkan sebelumnya, yaitu pelanggan i membutuhkan waktu ti . Kita ingin meminimumkan total waktu di dalam sistem T = (waktu di dalam sistem untuk pelanggan i)  Karena jumlah pelanggan adalah tetap, meminimumkan waktu di dalam sistem ekivalen dengan meminimumkan waktu rata-rata.
  • 4.
    Contoh Misalkan kita mempunyaitiga pelanggan dengan t1 = 5, t2 = 10, t3 = 3 maka enam urutan pelayanan yang mungkin adalah: Urutan Fungsi T 1, 2, 3 t1 + (t1 + t2) + (t1 + t2 ) 5 + (5 + 10) + (5 + 10 + 3 ) 8 1, 3, 2 t1 + (t1 + t3) + (t1 + t3 ) 5 + (5 + 3) + (5 + 3 + 10) 2, 1, 3 t2 + (t2 + t1) + (t2 + t1 ) 10 + (10 + 5) + (10 + 5 + 3 43 2, 3, 1 t2 + (t2 + t3) + (t2 + t3 ) 10 + (10 + 3) + (10 + 3 + 5 41
  • 5.
    Pemecahan Masalah Pemecahan Masalahdengan Algoritma Exhaustive Search  Urutan pelangan yang dilayani oleh server merupakan suatu permutasi  Jika ada n orang pelanggan, maka tedapat n! urutan pelanggan. Waktu yang dibutuhkan untuk mengevaluasi fungsi obyektif adalah O(n), oleh karena itu kompleksitas algoritma exhaustive search untuk masalah ini adalah O(nn!) Pemecahan Masalah dengan Algoritma Greedy  Pada setiap langkah, masukkan pelanggan yang membutuhkan waktu pelayanan terkecil dianta ra pelanggan lain yang belum dilayani.  Agar proses pemilihan pelanggan berikutnya optimal, maka perlu mengurutkan waktu pelayana n seluruh pelanggan dalam urutan yang menaik. Jika waktu pengurutan tidak dihitung, maka kompleksitas algoritma greedy untuk masalah minimisasi waktu di dalam sistem adalah O(n).
  • 6.
    Pemilihan srategi greedyuntuk penjadwalan pelanggan ak an selalu menghasilkan solusi optimum. Keoptimuman ini dinyatakan dengan Teorema berikut: “Jika t1  t2  …  tn maka pengurutan ij = j, 1  j  n meminimumk an” T = untuk semua kemungkinan permutasi ij.
  • 7.
    Knapsack 1/0 Problem *bacakembali teori Knapsack Problem pada materi Exhaustive Search  Masukkan objek satu per satu ke dalam knapsack. Sekali objek dimasukkan ke dalam knapsack, objek tersebut tidak bisa dikeluarkan lagi.  Terdapat beberapa strategi greedy yang heuristik yang dapat digunakan untuk memilih objek yang akan dimasukkan ke dalam knapsack: 1. Greedy by profit Pada setiap langkah, knapsack diisi dengan objek yang mempunyai keuntungan terbesar. Strategi ini menco ba memaksimumkan keuntungan dengan memilih objek yang paling menguntungkan terlebih dahulu. 2. Greedy by weight Pada setiap langkah, knapsack diisi dengan objek yang mempunyai berat paling ringan. Strategi ini mencob a memaksimumkan keuntungan dengan memasukkan sebanyak mungkin objek ke dalam knapsack. 3. Greedy by density Pada setiap langkah, knapsack diisi dengan objek yang mempunyai densitas, pi /wi terbesar. Strategi ini mencoba memaksimumkan keuntungan dengan memilih objek yang mempunyai keuntungan per unit berat terbesar.
  • 8.
    Contoh Masalah (1) Pemilihan objek berdasarkan salah satu dari ketiga strategi di atas tidak menjamin akan memberikan solusi optimal. Bahkan ada kemungkinan ketiga stategi tersebut tidak memberikan solusi optimum.  Contoh berikut memberikan ilustrasi kasus ini. Tinjau persoalan 0/1 Knapsack dengan n = 4. w1 = 2; p1 = 12 w2 = 5; p1 = 15 w3 = 10; p1 = 50 w4 = 5; p1 = 10 Kapasitas knapsack W = 16
  • 9.
    Penyelesaian Pada contoh ini,algoritma greedy dengan strategi pemilihan objek berdasarkan profit dan density memberikan solusi optimal, sedangkan pemilihan objek berdasarkan berat tidak memberikan solusi optimal. Properti objek Greedy by Solusi Optimali wi pi pi /wi profit weight density 1 6 12 2 0 1 0 0 2 5 15 3 1 1 1 1 3 10 50 5 1 0 1 1 4 5 10 2 0 1 0 0 Total bobot 15 16 15 15 Total keuntungan 65 37 65 65
  • 10.
    Contoh Masalah (1) Tinjaupersoalan 0/1 Knapsack lain dengan 6 objek: w1 = 100; p1 = 40 w2 = 50; p2 = 35 w3 = 45; p3 = 18 w4 = 20; p4 = 4 w5 = 10; p5 = 10 w6 = 5; p6 = 2 Kapasitas knapsack W = 100
  • 11.
    Penyelesaian Pada contoh ini,algoritma greedy dengan ketiga strategi pemilihan objek tidak berhasil memberikan solusi optimal. Solusi optimal permasalah ini adalah X = (0, 1, 1, 0, 0, 0) dengan total keuntungan = 55. Properti objek Greedy by Solusi Optimali wi pi pi /wi profit weight density 1 100 40 0,4 1 0 0 0 2 50 35 0,7 0 0 1 1 3 45 18 0,4 0 1 0 1 4 20 4 0,2 0 1 1 0 5 10 10 1,0 0 1 1 0 6 5 2 0,4 0 1 1 0 Total bobot 100 80 85 100 Total keuntungan 40 34 51 55
  • 12.
    Penjelasan Algoritma greedy tidakselalu berhasil menemukan solusi optimal untu k masalah 0/1 Knapsack. Namun ketiga strategi greedy yang telah disebutkan di atas dapat digunakan untuk memilih objek yang akan dimasukkan ke dalam knapsack.
  • 13.
    TSP (Travelling SalespersonProblem) *baca kembali teori TSP pada materi Exhaustive Search Strategi greedy untuk memilih kota selanjutnya:  Pada setiap langkah, pilih kota yang belum pernah dikunjungi yang mempunyai jarak terdekat.
  • 14.
    Contoh Masalah Diketahui n= 5; perjalanan dimulai dari kota E. Langkah 1: Dari E pergi ke B (Total jarak = 3) Langkah 2: Dari B pergi ke A (Total jarak = 3 + 6 = 9) Langkah 3: Dari A pergi ke C (Total jarak = 9 + 5 = 14) Langkah 4: Dari C pergi ke D (Total jarak = 14 + 4 = 18) Langkah 5: Dari D kembali lagi ke E (Total jarak = 18 + 8 = 26) C A BD E 5 74 4 6 9 5 7 3 8
  • 15.
    Penyelesaian  Perjalanan (sirkuitHamilton) yang dihasilkan: E  B  A  C  D  E Panjang = 3 + 6 + 5 + 4 + 8 = 26. (tidak optimal)  Solusi yang lebih baik: E  B  D  C  A  E Panjang = 3 + 7 + 4 + 5 + 5 = 24. (optimal)
  • 16.
    Penjelasan Kesimpulan: • Masalah TSPtidak dapat diselesaikan dengan algoritma greedy, karena solusi yang diahasilkan tidak dijamin merupakan solusi optimal. Namun jika solusi hampiran dianggap mencukupi, maka solusi dengan algoritma greedy dapat dijadikan sebagai titik awal untuk menemukan sirkui t Hamilton yang minimum.
  • 17.
    Kesimpulan Adakalanya optimum globalmerupakan solusi sub-optimum atau pseudo-optimum karena : 1. Algoritma greedy tidak beroperasi secara menyeluruh terhadap semua alternatif solusi yang ada 2. Mungkin terdapat beberapa fungsi SELEKSI yang berbeda, sehingga kita harus memilih fungsi yang tepat jika kita ingin algoritma bekerja dengan benar dan menghasilkan solusi yang benar-benar optimum
  • 18.
     Karena itu,pada sebagian masalah algoritma greedy tidak selalu berhasil memberikan solusi yang benar-benar optimum.  Jika jawaban terbaik mutlak (benar-benar optimum) tidak diperl ukan maka algoritma greedy sering berguna untuk menghasilka n solusi yang mendekati optimum, daripada menggunakan algoritma yan g lebih rumit untuk menghasilkan solusi yang eksak.  Bila algoritma greedy optimum, maka keoptimalannya itu dapat dibuktikan secara matematis Kesimpulan
  • 19.
    REFFERENCE  Munir, Rinaldi.Diktat Kuliah “Kompleksitas Algoritma”, Departemen T eknik Informatika ITB  Levitin, Anany. 2012. Introduction to the Design and Analysis of A lgorithms, 3rd Edition.Addison Wesley
  • 20.