Dokumen ini menjelaskan implementasi algoritma genetika untuk menemukan maksimum fungsi dua variabel. Variabel-variabel diwakili sebagai kromosom biner delapan bit dan dipetakan ke rentang nilai yang sesuai. Populasi kromosom awal dibentuk secara acak dan nilai kecocokannya dihitung dengan mengganti variabel ke dalam fungsi. Proses evolusi dilakukan dengan seleksi, crossover, dan mutasi hingga didapat solusi.
2. Maximum of tthhee PPeeaakk 22 vvaarr FFuunnccttiioonn
Problem : menemukan maksimum
“peak” (puncak) fungsi 2 variabel :
( ) f (x, y) = (1- x)2e- x2 -( y+1)2 - x - x3 - y3 e- x2 - y2
- 3 < x, y < 3
Selesaikan dengan menerapkan
algoritma Genetika.
3. Maximum of the PPeeaakk 22 vvaarr FFuunnccttiioonn -- CCoonntt
Step (1) : Representasi variabel-variabel
permasalahan (parameter x dan y). Parameter x dan
y masing-masing dinyatakan sebagai barisan 8-bit.
1 0 0 0 1 0 1 0 0 0 1 1 1 0 1 1
x y
Panjang representasi kromosom = 8 berhubungan
dengan ketelitian (akurasi) penyelesaian.
4. Maximum of the PPeeaakk 22 vvaarr FFuunnccttiioonn -- CCoonntt
Step (2) : definisikan fungsi fitness (dalam kasus ini,
fungsi fitness diambil f(x,y) ). Tentukan ukuran
populasi kromosom (misal, 6), dan secara random
bentuk (generate) sebuah populasi awal (initial
population).
Step (3) : hitung nilai fitness masing-masing
kromosom (dilakukan dalam 2 tahap), (a) kromosom
di-decode (dikonversi ke 2 bilangan riil x dan y),
dalam interval antara -3 dan 3. (b) nilai-nilai x dan y
hasil konversi disubstitusi ke f(x,y).
5. Maximum of the PPeeaakk 22 vvaarr FFuunnccttiioonn -- CCoonntt
(Proses decode) : representasi kromosom 16-bit
dipartisi menjadi 2 string masing-masing 8-bit.
x = (138)10
y = (59)10
1 0 0 0 1 0 1 0
0 0 1 1 1 0 1 1
Range integer untuk 8-bit : 0 s/d 28 – 1, dipetakan
(map) ke range sesungguhnya dari parameter x dan
y, yaitu range dari -3 ke 3 :
0.0235294
6 =
-
256 1
6. Maximum ooff tthhee PPeeaakk 22 vvaarr FFuunnccttiioonn -- CCoonntt
Untuk mendapatkan nilai-nilai x dan y yang
sebenarnya, kalikan nilai-nilai desimal
dengan 0.0235294 dan hasilnya kurangi
dengan 3 :
(138) 0.0235294 3 0.2470588 10 x = ´ - =
dan
(59) 0.0235294 3 1.6117647 10 y = ´ - = -
7. Maximum ooff tthhee PPeeaakk 22 vvaarr FFuunnccttiioonn -- CCoonntt
Untuk mendapatkan nilai-nilai x dan y yang
sebenarnya, kalikan nilai-nilai desimal
dengan 0.0235294 dan hasilnya kurangi
dengan 3 :
(138) 0.0235294 3 0.2470588 10 x = ´ - =
dan
(59) 0.0235294 3 1.6117647 10 y = ´ - = -