Algoritma Genetika

Download Report

Transcript Algoritma Genetika

 Algoritma Genetika adalah algoritma
yang memanfaatkan proses seleksi
alamiah yang dikenal dengan proses
evolusi
 Dalam proses evolusi, individu secara
terus-menerus mengalami perubahan
gen untuk menyesuaikan dengan
lingkungan hidupnya
 Hanya individu-individu yang kuat
yang mampu bertahan
 Genotype (Gen), bagian dari kromosom
yang mewakili satu variabel (nilai biner,
float, integer, karakter, dll)
 Allele, nilai dari gen
 Kromosom/individu, gabungan gen-gen yang
menyatakan salah satu solusi yang
mungkin
 Populasi, sekumpulan individu yang
akan diproses bersama dalam satu
siklus proses evolusi
 Generasi, satuan siklus proses
evolusi
 Nilai Fitness, seberapa baik nilai
dari suatu individu/solusi
Populasi
Awal
Evaluasi
Fitness
Seleksi
Individu
Populasi
Baru
Reproduksi :
Cross-Over &
Mutasi
8
A
3
4
7
D
B
5
6
C
Kriteria berhenti : jika
setelah
beberapa generasi
berturut-turut
diperoleh nilai fitness yang
terendah
tidak berubah
 Membangkitkan populasi awal
adalah proses membangkitkan
sejumlah individu secara acak
atau melalui prosedur tertentu
 Misal dalam sebuah populasi terdapat
4 individu:
Kromosom[1] = [A B C D]
Kromosom[2] = [B C D A]
Kromosom[3] = [C D A B]
Kromosom[4] = [D A B C]
 Menghitung nilai fitness dari tiap
kromosom yang telah dibangkitkan
Fitness[1] = 8 + 5 + 6 = 19
Fitness[2] = 5 + 6 + 7 = 18
Fitness[3] = 6 + 7 + 8 = 21
Fitness[4] = 7 + 8 + 5 = 20
 Seleksi dilakukan untuk mendapatkan
calon induk yang baik
 Induk yang baik akan menghasilkan
keturunan yang baik
 Semakin tinggi nilai fitness suatu
suatu individu semakin besar
kemungkinannya terpilih
 Metode seleksi yang paling umum
adalah roulette wheel
 Karena pada TSP yang diinginkan adalah
kromosom dengan fitness yang lebih
kecil yang memiliki probabilitas terpilih
kembali lebih besar, maka digunakan
inverse :
Q[i] = 1/Fitness[i]
Q[1] = 1/19 = 0,053
Q[2] = 1/18 = 0,056
Q[3] = 1/21 = 0,048
Q[4] = 1/20 = 0,05
Total = 0,207
 Menghitung probabilitas/fitness relatif
tiap individu :
P[i] = Q[i]/Total
P[1] = 0,053/0,207 = 0,256
P[2] = 0,056/0,207 = 0,27
P[3] = 0,048/0,207 = 0,232
P[4] = 0,05/0,207 = 0,242
 Kromosom ke-2 dengan nilai
fitness terkecil memiliki
probabilitas terpilih terbesar
 Menghitung fitness kumulatif/nilai
kumulatif dari probabilitas :
C[1] = 0,256
C[2] = 0,256 + 0,27 = 0,526
C[3] = 0,526 + 0,232 = 0,758
C[4] = 0,758 + 0,242 = 1
 Memilih induk yang akan menjadi
kandidat untuk di-crossover :
• Bangkitkan bilangan acak R
R[1] = 0,314
R[2] = 0,743
R[3] = 0,418
R[4] = 0,203
• Pilih induk, C[k-1] < R < C[k]
Induk terpilih :
Kromosom[2]
Kromosom[3]
Kromosom[1]
 Order crossover
 Menentukan posisi crossover dilakukan
dengan membangkitkan bilangan acak
antara 1 sampai pjgKrom – 1
 Bilangan acak untuk 3 kromosom
induk yang akan di-crossover :
C[2] = 2
C[3] = 1
C[1] = 2
 Proses crossover :
Kromosom[2] = Kromosom[2] X Kromosom[3]
= [B C D A] X [C D A B]
= [B C A D]
Kromosom[3] = Kromosom[3] X Kromosom[1]
= [C D A B] X [A B C D]
= [C B A D]
Kromosom[1] = Kromosom[1] X Kromosom[2]
= [A B C D] X [B C D A]
= [A B D C]
 Populasi setelah di-crossover :
Kromosom[1] = [A B D C]
Kromosom[2] = [B C A D]
Kromosom[3] = [C B A D]
Kromosom[4] = [D A B C]
 Swapping mutation
 Jumlah kromosom yang dimutasi dalam
satu populasi ditentukan oleh parameter
mutation rate (ρm)
 Proses mutasi dilakukan dengan
cara menukar gen yang dipilih
secara acak dengan gen sesudahnya.
Jika gen berada di akhir kromosom,
maka ditukar dengan gen yang
pertama
 Hitung panjang total gen pada satu
populasi :
Panjang total gen
= jumlah gen dalam 1 kromosom *
jumlah kromosom
= 4 * 4 = 16
 Untuk memilih posisi gen yang
dimutasi dilakukan dengan
membangkitkan bilangan acak antara
1 sampai panjang total gen, yaitu
1 - 16
 Misal ditentukan ρm = 20%. Maka jumlah
gen yang akan dimutasi :
0,2 * 16 = 3,2 = 3
 3 buah posisi gen yang akan dimutasi
setelah diacak adalah 3, 7, 14
 Proses mutasi :
Kromosom[1] = [A B D C]
Kromosom[2] = [B C A D]
Kromosom[3] = [C B A D]
Kromosom[4] = [D A B C]
Kromosom[1]
Kromosom[2]
Kromosom[3]
Kromosom[4]
= [A B C D]
= [B C D A]
= [C B A D]
= [D B A C]
 Proses AG untuk 1 generasi telah selesai.
Maka nilai fitness setelah 1 generasi :
Fitness[1] = 8 + 5 + 6 = 19
Fitness[2] = 5 + 6 + 7 = 18
Fitness[3] = 5 + 8 + 7 = 20
Fitness[4] = 4 + 8 + 3 = 15