Anda di halaman 1dari 3

Fadhlal Khaliq Surado

G651180431 – Tugas PDAA 1

Ringkasan “Minimum Vertex Cover Problem


Based on Ant Colony Algorithm”
oleh Jingrong Chen dan Ruihua Xu1

Permasalahan minimum vertex cover merupakan salah satu masalah yang tergolong ke
dalam masalah NP-complete. Beberapa penelitian ada yang telah mencoba mengaplikasikan
algoritme simulated annealing, algoritme genetika, algoritme pencarian tabu, algoritme
jaringan syaraf tiruan, dan lain-lain dalam mencari vertex cover yang minimum pada suatu graf.
Penelitain yang dilakukan oleh Chen dan Xu (2011) mencoba mengaplikasikan algoritme
koloni semut (Ant Colony), yaitu suatu algoritme pencarian heuristik yang biasa digunakan
dalam masalah optimisasi kombinatorial.
Algoritme koloni semut memiliki tiga model, yaitu model peredaran semut (Ant-Cycle),
model kuantitas semut (Ant-Quantity), dan model kepadatan semut (Ant-Density). Algoritme
koloni semut dipilih karena kemampuannya dalam melakukan pencarian global yang optimal,
serta fitur lainnya, seperti sangat stabil, memberikan balikan positif, komputasi yang
terdistribusi, dan mudah dikombinasikan dengan algoritme lain. Penelitian ini menggunakan
model peredaran semut dengan melakukan beberapa penyempurnaan, yaitu dengan
mendefinisikan peluang transisi keadaan (state transition probability) pada setiap semut agar
dapat memilih verteks yang dituju sehingga setiap semut memiliki inisiatif yang kuat dan
cakupan pencarian yang lebih luas.
Terdapat empat langkah yang terdapat pada algoritme ini, di antaranya adalah sebagai
berikut.
1. Inisiasi parameter: (1) menentukan keterhubungan antarverteks, 1 apabila ada sisi yang
menghubungkan verteks dan 0 selainnya, (2) pilih titik awal verteks, (3) menentukan
berapa banyak semut yang akan ditempatkan.
2. Perbarui keterhubungan setiap verteks yang sisinya berinsiden dengan verteks saat ini,
ubah menjadi 0. Setelah itu, hitung derajat setiap verteks.
2.1. Jika semua derajat setiap verteks sama dengan 0, maka didapatkan himpunan vertex
cover untuk satu semut.
2.2. Jika ada semut yang belum ditempatkan, pindah ke langkah 1.
2.3. Jika semua semut sudah ditempatkan, pindah ke langkah 4.
2.4. Selainnya, pindah ke langkah 3.
3. Berdasarkan derajat setiap verteks, ambil yang maksimum. Verteks tersebut masuk ke
dalam himpunan vertex cover dan menjadi verteks saat ini. Pindah ke langkah 2.
4. Berdasarkan himpunan vertex cover yang diperoleh setiap semut, pilih yang
kardinalitasnya minimum yang menjadi hasil keluarannya.
Berdasarkan keempat langkah di atas, algoritme tersebut memiliki kompleksitas waktu
O(2n + 2n - 2) atau sekitar O(n2) dengan n adalah banyaknya verteks yang ada dalam graf.
2

1
Jingrong Chen, & Ruihua Xu. (2011). Minimum vertex cover problem based on ant colony algorithm. 7th Advanced
Forum on Transportation of China (AFTC 2011). doi:10.1049/cp.2011.1389
Ulasan “Minimum Vertex Cover Problem Based on Ant Colony Algorithm”

Pemodelan Matematis dan Kompleksitas Algoritme


Misal Gc = (V, Ec) adalah graf lengkap dari G, sehingga dapat ditentukan fungsi
keterhubungan setiap sisi pada graf Gc (ψk).

Nilai 1 menandakan verteks i dan j terhubung oleh sisi (i, j) dan juga mengartikan bahwa
terdapat feromon pada sisi (i, j), sehingga semut-semut yang ditempatkan mengetahui jalur
mana yang harus dilalui.
Kemudian, didefinisikan C ki (i ∈ V) yaitu banyaknya sisi yang berinsiden dengan setiap
verteks di graf G (derajat suatu verteks). Didefinisikan juga C kl apabila verteks l merupakan
verteks yang memiliki derajat maksimum.

Kemudian, p ki ∈ {0,1} menyatakan peluang transisi keadaan semut k di verteks i dan


akan bernilai 1 apabila verteks i berderajat maksimum (apabila i = l).

Jika nilai C ki untuk setiap verteks i bernilai 0, maka tidak ada lagi sisi yang dapat
dikunjungi, artinya setidaknya ada satu titik akhir (endpoint) untuk setiap sisi pada graf G yang
telah dikunjungi oleh salah satu semut (algoritme berhenti). Selainnya, perbarui nilai
keterhubungan dan lanjutkan pemilihan verteks berikutnya. Misalkan Sk adalah himpunan
vertex cover semut k, sehingga min{|S1|,|S2|,…,|Sk|} adalah hasil pendekatan dari permasalahan
minimum vertex cover.
Kompleksitas algoritme koloni semut dalam mencari minimum vertex cover secara rinci
sebagai berikut.
1. Untuk membangun graf Gc dan mengisi nilai keterhubungan setiap verteks membutuhkan
n(n-1) pemrosesan.
2. Untuk memperbarui nilai keterhubungan setiap sisi yang berinsiden dengan vertex i
memerlukan n-1 pemrosesan dan n(n-1) pemrosesan untuk menghitung C ki (i ∈ V), serta
n-1 pemrosesan untuk memperoleh C kl .
3. Untuk memperoleh himpunan vertex cover yang minimum memerlukan H-1 pemrosesan.
Jadi, algoritme tersebut memerlukan waktu kuadratik atau kompleksitas setara O(n2) untuk
dapat mencari vertex cover yang minimum.

Perbandingan dengan Algoritme Aproksimasi


Permasalahan minimum vertex cover bertujuan untuk mencari satu atau beberapa verteks
yang dapat mencakup seluruh sisi yang ada pada suatu graf seminimal mungkin. Sekilas,
algoritme koloni semut yang diterapkan dalam paper persis seperti algoritme pendekatan yang
biasa digunakan untuk mencari minimum vertex cover.
Aproksimasi-Vertex-Cover:
1. Untuk setiap sisi E yang ada dalam graf
a. Pilih satu sisi (u, v), kemudian tambahkan ‘u’ dan ‘v’ ke himpunan vertex cover
b. Eliminasi setiap sisi E yang berinsiden dengan ‘u’ atau ‘v’
c. Jika tidak ada sisi E yang tersisa, ke langkah 2
d. Selainnya, kembali ke langkah 1
2. Diperoleh himpunan vertex cover

Pembeda antara kedua algoritme tersebut adalah pada algoritme koloni semut,
didefinisikan peluang transisi keadaan yang digunakan semut agar dapat memilih verteks
berikutnya yang perlu dikunjungi. Sementara itu, pemilihan verteks yang dilakukan dalam
algoritme pendekatan diambil secara acak. Peluang transisi keadaan akan bernilai 1 apabila
suatu verteks memiliki derajat yang maksimum, selainnya bernilai 0. Hal ini disebabkan,
verteks dengan derajat yang maksimum memiliki peluang besar untuk mencakup banyak sisi
yang ada dalam graf.
Dari segi kompleksitas, algoritme koloni semut memiliki kompleksitas yang lebih besar
dibandingkan algoritme pendekatan. Algoritme pendekatan memiliki kompleksitas linear
karena hanya perlu melakukan satu kali iterasi. Sementara itu, algoritme koloni semut perlu
menempatkan setiap semut untuk mencari himpunan vertex cover, sehingga kompleksitasnya
menjadi kuadratik.
Namun dari segi kinerjanya, algoritme pendekatan memiliki rasio aprokismasi sebesar 2,
artinya algoritme tersebut tidak akan menghasilkan himpunan vertex cover yang hasilnya 2 kali
lebih besar dari hasil optimalnya. Sementara itu, berdasarkan paper, algoritme koloni semut
memiliki rasio aproksimasi sebesar 1.19, artinya hasil himpunan vertex cover yang diperoleh
tidak akan melebihi 1.19 kali hasil optimalnya. Dengan kata lain, algoritme koloni semut
memiliki kinerja yang lebih baik, karena menghasilkan galat yang lebih kecil (tingkat
aproksimasi lebih baik) dibandingkan algoritme pendekatan.

Anda mungkin juga menyukai