Ketika
diberikan masalah, genetic algorithm membentuk suatu kumpulan/populasi
calon solusi. Genetic algorithm memandang calon solusi ini sebagai
individu yang dapat berkembang biak menghasilkan keturunan. Dengan
prinsip “orang tua yang bagus menghasilkan keturunan yang lebih bagus”,
maka di setiap calon solusi ini diberikan suatu
fitness value/nilai kecocokan
untuk menunjukkan seberapa baguskah calon solusi tersebut. Semakin
tinggi nilai kecocokannya, semakin tinggi juga kemungkinannya untuk
bertahan hidup dan menghasilkan keturunan (menggambarkan proses seleksi
alam). Contohnya, pada Knapsack Problem nilai kecocokan dapat
didefinisikan sebagai nilai dari barang-barang yang dimasukkan dalam
tas.
Pada prakteknya, calon solusi ini biasa direpresentasikan sebagai string/untaian nilai
(menggambarkan kromosom yang
terdiri dari untaian gen). Nilai ini dapat berupa angka, huruf, atau
kata di mana tiap-tiap nilai ini berkorespondensi dengan variabel
tertentu. Contohnya, pada masalah Travelling Salesman Problem calon
solusi dapat digambarkan
sebagai untaian angka yang
menunjukkan urutan kota yang dikunjungi, jadi individu [3 5 2 1 4]
mempunyai arti kota pertama = kota 3, kota kedua = kota 5, dst.
Agar suatu masalah dapat diselesaikan dengan geneticalgorithm, perlu ditentukan hal-hal berikut:
1. representasi solusi dalam untaian nilai, apakah akan digunakan untaian bit atau angka dan apa makna dari tiap nilai tersebut,
2. fungsi untuk menghitung nilai kecocokan,berdasarkan apa kita menentukan suatu individu
itu bagus atau tidak,
3. parameter untuk mengontrol genetic algorithm, yaitu jumlah populasi, probabilitas persilangan, dan probabilitas mutasi,
4. kondisi berhenti, yaitu kapan solusi yang diperoleh dianggap cukup.
Tidak ada komentar:
Posting Komentar