• Tidak ada hasil yang ditemukan

KOMPARASI KONVERGENSI SINGLE POPULATION DENGAN TWO POPULATION GENETIC ALGORITHM

Dalam dokumen Seminar Nasional Informatika SNIf 2013 (1) (Halaman 98-104)

I Wayan Budi Sentana STMIK STIKOM BALI

Jl. Raya Puputan No. 86 Renon, Denpasar, Bali budi@stikom-bali.ac.id

ABSTRAK

Algoritma genetik adalah salah satu cabang komputasi evolusioner yang memodelkan cara alam dalam menemukan solusi yang kompetitif.Algoritm genetic banyak digunakan untuk mencari permasalahan yang terkait dengan optimalisasi seperti halnya penjadwalan dan penemuan rute terpendek.Langkah awal dalam algoritma ini adalah pembentukan populasi yang terdiri atas kumpulan individu.Algoritma genetic standar memiliki populasi tunggal yang jumlah individunya bisa disesuaikan dengan kondisi yang ada. Jumlah individu dalam sebuah populasi akan menentukan kecepatan konvergensi dari sisi jumlah generasi. Semakin tinggi jumlah individu dalam populasi maka semakin sedikit jumlah generasi yang diperlukan untuk mencapai konvergen, walaupun tidak berpengaruh secara komputasi. Dari penelitian yang dilakukan oleh martikaenan, dengan membagi populasi menjadi dua bagian akan menyebabkan tingkat konvergensi algoritma menjadi lebih cepat. Ide dasar dari pembagian populasi ini adalah berdasarkan kondisi dunia nyata yang umumnya juga terdiri dari dua komunitas, yaitu komunitas elit dan komunitas yang biasa saja. Oleh karena itu maka dalam penelitian ini akan dilakukan perbandingan antara algoritma genetika populasi tunggal dengan algoritma genetika dua populasi. Perbandingan akan dilakukan terhadap tingkat kecepatan konvergensi.

Kata kunci : Algoritma Genetika, Algoritma Genetika Dua Populasi, Tingkat Konvergensi Pendahuluan

Algoritma genetik adalah salah satu cabang komputasi evolusioner yang memodelkan cara alam dalam menemukan solusi yang kompetitif[1]. Algoritma genetic mampu menemukan solusi global yang membuat solusi yang dihasilkan tidak akan terjebak kepada lokal maksima. Banyak penelitian yang menggabungkan algoritma ini dengan algoritma berbasis pencarian lokal, seperti yang dilakukan oleh [2], [3] dan lain-lain. Solusi global yang dihasilkan akan terlihat ketika iterasi telah berhenti pada sebuah solusi terbaik. Kondisi ini sering disebut dengan konvergen, dimana solusi telah mengerucut kepada sebuah kondisi yang tidak berubah lagi.Kecepatan konvergensi bergantung kepada jumlah populasi yang ada di dalam populasi yang setting untuk sebuah permasalahan. Semakin banyak jumlah populasi, maka semakin sedikit generasi yang diperlukan untuk mencapat konvergen, walaupun secara komputasi akan memerlukan sumber daya yang sama. Namun [4] menyatakan bahwa dengan membagi jumlah populasi menjadi dua bagian, dimana kelompok elite dan kelompok biasa dipisahkan, akan dapat membuat tingkat konvergensi menjadi lebih cepat. Berdasarkan hal tersebut, maka dalam penelitian ini dilakukan pengujian perbandingan kecepatan konvergensi

antara algoritma genetic populasi tunggal dengan algoritma genetic dua populasi..

Tinjauan Pustaka

Bagian ini berisi ulasan tentang algoritma genetic populasi tunggal dan algoritma genetic dua populasi

Algoritma Genetik Populasi Tunggal

Algoritma genetika adalah algoritma yang berusaha menerapkan pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan- masalah (problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi ini akan merepresentasikan perbaikan-perbaikan pada populasi awalnya. Dengan melakukan proses ini secara berulang, algoritma ini diharapkan dapat mensimulasikan proses evolusioner. Pada akhirnya, akan didapatkan solusi-solusi yang paling tepat bagi permasalahan yang dihadapi.

Algoritma genetika sangat tepat digunakan untuk penyelesaian masalah optimasi yang kompleks dan sukar diselesaikan dengan menggunakan metode konvensional. Sebagaimana

halnya proses evolusi di alam, suatu algoritma genetika yang sederhana umumnya terdiri dari tiga operasi yaitu: operasi reproduksi, operasi persilangan (crossover),dan operasi mutasi. Struktur umum dari suatu algoritma genetika dapat didefinisikan dengan langkah-langkah sebagai berikut (utami 2008):

a. Membangkitkan populasi awal secara random.

b. Membentuk generasi baru dengan menggunakan tiga operasi diatas secara berulang-ulang sehingga diperoleh kromosom yang cukup untuk membentuk generasi baru sebagai representasi dari solusi baru.

c. Evolusi solusi yang akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom hingga kriteria berhenti terpenuhi. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulangi langkah 2. beberapa kriteria berhenti yang sering digunakan antara lain (Utami, 2008)berhenti pada generasi tertentu, berhenti jika sudah ditemukan solusi, yaitu solusi yang sesuai dengan kriteria, berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi/terendah (tergantung persoalan) tidak berubah (konvergen) atau, Kombinasi dari kriteria – kriteria diatas.

Gambar 1. Flowchart Algoritma Genetik Populasi Tunggal

Algoritma Genetik Dua Populasi

Algoritma ini diperkenalkan oleh Jarno Martikainen dan Seppo J. Ovaska pertama kali pada tahun 2006. Ide dasar algoritma ini di ilhami dari kondisi alam yang cenderung memisahkan beragam populasi ke dalam sub populasi, yaitu populasi yang kecil tapi elit (small elite) dan populasi besar tapi biasa (large plain),

berdasarkan nilai fitness yang dimilikinya. Populasi Elite akan tersusun dari kromosom- kromosom dengan nilai fitness yang lebih tinggi, sedangkan populasi Plain akan berisi kromosom- kromosom dengan nilai yang lebih rendah. Dalam skema 2PGA, kedua populasi disusun terpisah secara pararel, tetapi mereka saling bertukar kromosom ketika berada dalam kondisi tertentu, misalnya kromosom terbaik dari populasi plain diijinkan untuk memasuki populasi elite jika fitnessnya cukup tinggi. Kemudian kromosom terjelek dari populasi elite di pindahkan ke populasi plain untuk menjaga jumlah populasi tetap konstan.

Proses evolusi dalam kedua subpopulasi tersebut sama dengan proses evolusi yang terjadi dalam algoritma genetika dengan populasi tunggal. Perbedaanya yang cukup prinsip yaitu kemungkinan mutasi plain population lebih besar dibandingkan dengan elite population. Jika dianalogikan dengan alam, dimana individu yang lebih lemah, dalam hal ini adalah nilai fitnessnya, harus mengubah kebiasaan mereka agar sukses dalam berkompetisi.

Secara umum algoritma genetika memiliki kecenderungan yang sangat cepat dalam menemukan neighborhood yang bagus, tetapi memerlukan waktu yang sangat lama untuk mencapai nilai optimum dalam area tersebut. Hal inilah yang menjadi dasar kenapa algoritma genetika harus di gabung dengan algoritma lain yang lebih sederhana untuk dapat melakukan pencarian secara lokal maupun global. Algoritma genetika digunakan untuk melakukan pencarian global, sedangkan algoritma lain, misalnya algoritma yang dilengkapi dengan metode hill climbing, akan melakukan pencarian secara lokal. Berdasarkan hal tersebut, maka algoritma 2PGA ini dikembangkan, agar tidak perlu menggunakan algoritma yang terpisah, dengan menambahkan sedikit komputasi.

Operasi 2PGA dapat dibagi menjadi tujuh tahapan seperti berikut[4]:

a. Generate sebuah solusi initial population secara acak

b. Evaluasi Fitness (atau cost) dari krosmosom di dalam initial population dan bagi ke dalam small elite population dan large plain population.

c. Evaluasi fitness dari plain dan elite population.

d. Implementasikan reproduksi secara terpisah di kedua populasi

e. Buat populasi untuk generasi berikutnya dengan mengkombinasikan parent, offspring, dan kemungkinan adanya kromosom yang bermigrasi. Jika nilai fitness dari kromosom terbaik di dalam plain population melampaui batas nilai tertentu, tukarkan kromosom tersebut dengan kromosom terjelek di elite

population. Parent yang tidak terpilih untuk bereproduksi pada putaran sebelumnya di elite population dipindahkan ke dalam plain population.

f. Mutasi kromosom menggunakan kemungkinan mutasi yang berbeda untuk kedua populasi. Mutasi elitist yang menjaga solusi terbaik tetap di dalam kedua populasi, digunakan dalam hal ini.

g. Kembali ke langkah 3 atau keluar jika konvergen atau batasan waktu tertentu dipenuhi.

Ide dasar dari algoritma 2PGA adalah untuk melakukan pencarian global dan lokal secara pararel menggunakan dua populasi. Elite population yang memiliki memiliki kemungkinan mutasi lebih kecil, mencari diantara solusi terbaik untuk menemukan solusi yang bahkan lebih baik, sedangkan large plain population dengan kemungkinan mutasi yang lebih besar, mencari keseluruahan ruang pencarian dengan harapan untuk menemukan daerah baru yang lebih menjanjikan dalam hal nilai fitness yang tinggi.

Sebagai tambahan, untuk membedakan ukuran subpopulasi, maka karakteristik dari populasi juga dibedakan dalam terminologi kemungkinan mutasi, dimana mp, kemungkinan mutasi plain population lebih besar dibandingkan kemungkinan mutasi elite population me. Jika initial population tidak dipisahkan secara langsung setelah inisialisasi, kemungkinan mutasi untuk initial population dideskripsikan dengan m. Dalam elite dan plain populations, sebuah skema elitist mutation digunakan untuk menjaga kromosom terbaik tidak bermutasi. Kedua solusi per generasi tersebut tetap dijaga dalam terminologi mutasi, satu untuk setiap populasi.

Metode Penelitian

Kecepatan konvergensi akan dibandingkan menggunakan model algoritma hybrid milik Liu [5]untuk algoritma genetic populasi tunggal dengan model algoritma hybrid milik [6] untuk algoritma genetic dua populasi.Sedangkan dataset yang digunakan adalah German Credit Dataset yang merupakan data bertipe campuran numeric dan kategorikal.

Uji kecepatan konvergensi bertujuan untuk mengetahui apakah model algoritma genetik dengan dua populasi memiliki tingkat konvergensi yang lebih cepat jika dibandingkan dengan model algoritma genetik satu populasi. Tingkat kecepatan yang dimaksud adalah tingkat kenaikan nilai fitness terhadap jumlah generasi. Semakin sedikit generasi yang dibutuhkan untuk mencapai titik konvergen, maka bisa dikatakan tingkat konvergensi model tersebut adalah lebih baik. Metode gabungan k-prototype dengan algoritma genetik dua populasi yang diusulkan dalam

[6]selanjutnya akan disebut dengan metode K- prototype 2PGA. Sedangkan metode pembanding yang merupakan gabungan antara algoritma clustering k-prototype dengan algoritma genetik populasi tunggal selanjutnya akan disebut dengan K-prototype SPGA.

Perbedaan utama kedua metode ini terletak pada jumlah kelompok populasi dan metode seleksi yang digunakan untuk menghasilkan individu baru pada generasi berikutnya. K- prototype 2PGA memiliki dua kelompok populasi yang disebut dengan populasi Elite, dengan jumlah individu yang lebih sedikit tetapi memiliki nilai fitness yang lebih baik, dan populasi Plain dengan jumlah individu lebih banyak dan memiliki nilai fitness yang biasa saja. Sedangkan dari sisi seleksi individu yang digunakan sebagai parent, K-prototype 2PGA menggunakan model seleksi yang diperkenalkan oleh [4]. Sedangkan metode K-prototype SPGA menggunakan model seleksi yang umum digunakan yaitu roulette wheel. Adapun metode pindah silang dan mutasi, kedua metode menggunakan pindah silang satu titik potong dan mutasi per-gen.

Hasil dan Analisis Hasil

Pengujian kecepatan konvergensi dilakukan untuk mengetahui perbedaan kecepatan antara metode K-prototype SPGA dengan K-prototype 2PGA, dengan cara melihat tingkat kenaikan nilai fitness dari masing-masing metode terhadap jumlah generasi yang diperlukan untuk mencapai titik tertentu (konvergen). Masing-masing metode akan dicoba dengan kondisi yang berbeda dari sisi probabilitas mutasi dan pindah silang, seperti yang terlihat pada Tabel 1 dan Tabel 2. Setiap kondisi akan dicoba sebanyak lima kali, dan setelah itu akan dicari rata-rata jumlah generasi yang diperlukan untuk mencapai konvergen dari setiap kondisi pada masing-masing metode.

Tabel 1 Probabilitas Mutasi dan Pindah Silang K- prototype SPGA

Kondisi Prob. Mutasi Prob. Crossover

Kondisi 1 0.3 0.3

Kondisi 2 0.5 0.5

Kondisi 3 0.8 0.8

Tabel 2 Probabilitas Mutasi dan Pindah Silang K- prototype 2PGA Kondisi Prob. Mutasi Elite Prob. Crossover Elite Prob. Mutasi Plain Prob. Crossover Plain Kondisi1 0.3 0.3 0.5 0.5 Kondisi2 0.5 0.5 0.8 0.8 Kondisi3 0.5 0.3 0.5 0.3 Kondisi4 0.5 0.8 0.5 0.8

Tingkat kenaikan fitness metode K-prototype SPGA untuk kondisi pertama yang telah diujikan sebanyak lima kali dapat dilihat pada Lampiran B. sedangkan visualisasi percobaan metode K- prototype SPGA pada kondisi pertama dapat terlihat seperti pada Gambar 2

Gambar 2 Tingkat Konvergensi metode K- prototype SPGA untuk kondisi1

Jumlah generasi yang diperlukan untuk mencapai konvergen pada metode K-prototype SPGA untuk kondisi satu per percobaan dapat dilihat pada Tabel 3.

Tabel 3 Jumlah Generasi yang diperlukan untuk konvergen pada metode K-prototype SPGA untuk Kondisi1

Run1 Run2 Run3 Run4 Run5

Kondisi 1 112 93 84 123 101

Tingkat kenaikan fitness metode K-prototype SPGA untuk kondisi kedua yang telah diujikan sebanyak lima kali dapat dilihat pada Lampiran B. sedangkan visualisasi percobaan metode K- prototype SPGA pada kondisi kedua dapat terlihat seperti pada Gambar 3.

Gambar 3 Tingkat Konvergensi metode K- prototype SPGA untuk kondisi2

Jumlah generasi yang diperlukan untuk mencapai konvergen pada metode K-prototype SPGA untuk kondisi dua per percobaan dapat dilihat pada Tabel 4.

Tabel 4 Jumlah Generasi yang diperlukan untuk konvergen pada metode K-prototype SPGA untuk Kondisi2

Run1 Run2 Run3 Run4 Run5

Kondisi 2 109 127 159 139 121

Tingkat kenaikan fitness metode K-prototype SPGA untuk kondisi ketiga yang telah diujikan sebanyak lima kali dapat dilihat pada Lampiran B. sedangkan visualisasi percobaan metode K- prototype SPGA pada kondisi ketiga dapat terlihat seperti pada Gambar 4.

Gambar 4 Tingkat Konvergensi metode K- prototype SPGA untuk kondisi3

Jumlah generasi yang diperlukan untuk mencapai konvergen pada metode K-prototype SPGA untuk kondisi tiga per percobaan dapat dilihat pada Tabel 5.

Tabel 5 Jumlah Generasi yang diperlukan untuk konvergen pada metode K-prototype SPGA untuk Kondisi3

Run1 Run2 Run3 Run4 Run5

Kondisi 3 79 177 157 136 133

Tingkat kenaikan fitness metode K-prototype 2PGA untuk kondisi pertama yang telah diujikan sebanyak lima kali dapat dilihat pada Lampiran C. sedangkan visualisasi percobaan metode K- prototype 2PGA pada kondisi pertama dapat terlihat seperti pada Gambar 5.

Gambar 5 Tingkat Konvergensi metode K- prototype 2PGA untuk kondisi1

Jumlah generasi yang diperlukan untuk mencapai konvergen pada metode K-prototype 2PGA untuk kondisi satu per percobaan dapat dilihat pada Tabel 6

Tabel 6 Jumlah Generasi yang diperlukan untuk konvergen pada metode K-prototype 2PGA untuk Kondisi1

Run1 Run2 Run3 Run4 Run5

Kondisi 1 81 94 107 101 87 0 0.0005 0.001 0.0015 1 32 63 94 Run1 Run2 Run3 Run4 Run5 0 0.0005 0.001 0.0015 1 37 73 109 145 Run1 Run2 Run3 Run4 Run5 0 0.0005 0.001 0.0015 1 46 91 136 Run1 Run2 Run3 Run4 Run5 0 0.0005 0.001 0.0015 1 23 45 67 89 Run1 Run2 Run3 Run4 Run5

Tingkat kenaikan fitness metode K-prototype 2PGA untuk kondisi kedua yang telah diujikan sebanyak lima kali dapat dilihat pada Lampiran C. sedangkan visualisasi percobaan metode K- prototype 2PGA pada kondisi kedua dapat terlihat seperti pada Gambar 6.

Gambar 6 Tingkat Konvergensi metode K- prototype 2PGA untuk kondisi2

Jumlah generasi yang diperlukan untuk mencapai konvergen pada metode K-prototype 2PGA untuk kondisi dua per percobaan dapat dilihat pada Tabel 7.

Tabel 7 Jumlah Generasi yang diperlukan untuk konvergen pada metode K-prototype 2PGA untuk Kondisi2

Run1 Run2 Run3 Run4 Run5

Kondisi 2 96 135 89 92 137

Tingkat kenaikan fitness metode K-prototype 2PGA untuk kondisi ketiga yang telah diujikan sebanyak lima kali dapat dilihat pada Lampiran C. sedangkan visualisasi percobaan metode K- prototype 2PGA pada kondisi ketiga dapat terlihat seperti pada Gambar 7.

Gambar 7 Tingkat Konvergensi metode K- prototype 2PGA untuk kondisi3

Jumlah generasi yang diperlukan untuk mencapai konvergen pada metode K-prototype 2PGA untuk kondisi tiga per percobaan dapat dilihat pada Tabel 8

Tabel 8 Jumlah Generasi yang diperlukan untuk konvergen pada metode K-prototype 2PGA untuk Kondisi3

Run1 Run2 Run3 Run4 Run5

Kondisi 3 117 103 93 87 107

Tingkat kenaikan fitness metode K-prototype 2PGA untuk kondisi keempat yang telah diujikan sebanyak lima kali dapat dilihat pada Lampiran C. sedangkan visualisasi percobaan metode K- prototype 2PGA pada kondisi keempat dapat terlihat seperti pada Gambar 8.

Gambar 8 Tingkat Konvergensi metode K- prototype 2PGA untuk kondisi4

Jumlah generasi yang diperlukan untuk mencapai konvergen pada metode K-prototype 2PGA untuk kondisi empat per percobaan dapat dilihat pada Tabel 9.

Tabel 9 Jumlah Generasi yang diperlukan untuk konvergen pada metode K-prototype 2PGA untuk Kondisi4

Run1 Run2 Run3 Run4 Run5

Kondisi 4 127 167 137 118 135

Jika dibuatkan rekapitulasi dan dibuat rerata dari hasil percobaan tingkat kecepatan konvergensi diatas, maka hasil percobaan tersebut akan terlihat seperti pada Tabel 10 dan 11. berikut.

Tabel 10 Rekapitulasi hasil kecepatan konvergensi metode K-prototype SPGA

Run1 Run2 Run3 Run4 Run5

Rerata Gnrs

Kondisi 1 112 93 84 123 101 102.6

Kondisi 2 109 127 159 139 121 131

Kondisi 3 79 177 157 136 133 136.4

Tabel 11 Rekapitulasi hasil kecepatan konvergensi metode K-prototype 2PGA

Run1 Run2 Run3 Run4 Run5

Rerata Gnrs Kondisi 1 81 94 107 101 87 94 Kondisi 2 96 135 89 92 137 109.8 Kondisi 3 117 103 93 87 107 101.4 Kondisi 3 127 167 137 118 135 136.8

Dari Tabel 10 dan Tabel 11 terlihat bahwa model K-prototype 2PGA memberikan hasil konvergensi yang lebih baik dibandingan dengan metode K-prototype SPGA.Run1 sampai Run5 adalah percobaan 1 sampai percobaan untuk setiap kondisi yang disiapkan. Sedangkan nilai yang 0 0.0005 0.001 0.0015 1 29 57 85 113 Run1 Run2 Run3 Run4 Run5 0 0.0002 0.0004 0.0006 0.0008 0.001 0.0012 1 21 41 61 81 101 Run1 Run2 Run3 Run4 Run5 0 0.0005 0.001 0.0015 1 35 69 103 137 Run1 Run2 Run3 Run4 Run5

diberikan adalah jumlah generasi yang diperlukan oleh masing-masing percobaan untuk mencapai konvergen. Rerata Gnrs adalah rerata generasi yang diperlukan oleh kelima percobaan pada masing-masing kondisi untuk mencapai konvergen. Nilai rerata ini didapatkan dari jumlah generasi yang diperlukan untuk konvergen dari kelima percobaan. Dari Tabel 4.15 dan Tabel 4.16, secara umum metode K-prototype 2PGA memiliki rerata jumlah generasi yang paling sedikit untuk mencapai konvergen jika dibandingkan dengan metode K-prototype SPGA. Rerata Generasi paling sedikit yang diperlukan untuk mencapai konvergen didapat pada metode K-Prototype 2PGA dengan kondisi probabilitas mutasi dan pindah silang populasi Elite sebesar 30% dan probabilitas mutasi dan pindah silang populasi plain sebesar 50%.

Daftar Pustaka

[1] K. Krishna and M. N. Murty, “Genetic K-

means algorithm,” IEEE Transaction on

Systems, Man, and Cybernetics, vol. 29, no. 3, pp. 433–439, 1999.

[2] S. Cheng, Y. Chao, H. Wang, and H. Fu,

“A Prototypes-Embedded Genetic K-

means Algorithm,” 18th International

Conference on Pattern Recognition (ICPR‟06), pp. 724–727, 2006.

[3] R. Kuo, Y. an, H. Wang, and W. Chung,

“Integration of self-organizing feature

maps neural network and genetic K-means

algorithm for market segmentation,”

Expert Systems with Applications, vol. 30, no. 2, pp. 313–324, Feb. 2006.

[4] J. Martikainen and S. J. Ovaska,

“Hierarchical Two-Population Genetic

Algorithm,” International Journal of

Computational Intelligence Research, vol. 2, pp. 367–380, 2006.

[5] H.-H. Liu and C.-S. Ong, “Variable

selection in clustering for marketing

segmentation using genetic algorithms,”

Expert Systems with Applications, vol. 34, no. 1, pp. 502–510, Jan. 2008.

[6] I. W. B. Sentana and J. L. Buliali,

“Optimalisasi Pemilihan Variabel dalam

Clustering untuk Segmentasi Pasar Menggunakan 2-Population Genetic

Algorithm,” Sistem dan Informatika, vol.

Dalam dokumen Seminar Nasional Informatika SNIf 2013 (1) (Halaman 98-104)

Garis besar

Dokumen terkait