KECERDASAN BUATAN
Referensi Utama
Kusumadewi; Sri. 2003. Artificial Intelligence (Teknik &
Aplikasinya). Yogyakarta: Graha Ilmu.
Michalewicz, Zbigniew. 1996. Genetic Algorithms + Data
Structures = Evolution Programs. Springer-Verlag.
04/01/24 2
Struktur umum Algoritma Genetika
Komponen-komponen Utama GA
Algoritma Genetika Sederhana
Teknik pencarian dilakukan sekaligus atas
sejumlah solusi yang mungkin yang dikenal
dengan istilah populasi.
Individu yang terdapat dalam satu populasi
disebut dengan istilah kromosom. Kromosom
ini merupakan suatu solusi yang masih
berbentuk simbol.
Populasi awal dibangun secara acak, sedangkan
populasi berikutnya merupakan hasil evolusi
kromosom-kromosom melalui iterasi yang
disebut dengan istilah generasi.
Pada setiap generasi, kromosom akan melalui
proses evaluasi dengan menggunakan alat ukur
yang disebut dengan fungsi fitness. Nilai fitness
dari suatu kromosom akan menunjukkan
kualitas kromosom dalam populasi tersebut.
Generasi berikutnya dikenal dengan istilah anak
(offspring) terbentuk dari gabungan 2
kromosom generasi sekarang yang bertindak
sebagai induk (parent) dengan menggunakan
operator penyilangan (crossover).
Selain operator penyilangan, suatu kromosom
Tidak
Hasil
Mulai Seleksi
Bangkitkan
populasi
baru
Rekombinasi
Mutasi
Misalkan pada populasi awal, kita memiliki 7 kromosom
yang direpresentasikan secara biner dengan nilai fitness
tertentu:
Kromosom Fitness
1. 101001 20
2. 110010 22
3. 011001 8
4. 100100 15
5. 001010 5
6. 011100 12
7. 110100 18
Hitung total fitness (F):
◦ TotFitness = Fk; k=1,2,…,popsize.
Hitung fitness relatif tiap individu:
◦ pk = Fk /TotFitness
Hitung fitness komulatif:
◦ q1 = p1
◦ qk = qk-1 + pk; k=2,3,...,popsize
Pilih induk yang akan menjadi kandidat untuk di-
crossover dengan cara:
◦ Bangkitkan bilangan random r.
◦ Jika qk r dan qk+1 > r, maka pilih kromosom ke (k+1) sebagai
kandidat induk.
Seleksi dengan Roda Roulette:
Kromosom Fitness pk qk
V1. 101001 20 20/100=0,20 0,20
V2. 110010 22 22/100=0,22 0,20+0,22=0,42
V3. 011001 8 8/100=0,08 0,42+0,08=0,50
V4. 100100 15 15/100=0,15 0,50+0,15=0,65
V5. 001010 5 5/100=0,05 0,65+0,05=0,70
V6. 011100 12 12/100=0,12 0,70+0,12=0,82
V7. 110100 18 18/100=0,18 0,82+0,18=1
qk Kromosom terseleksi
V1. 0,20 V1’ = V4
V2. 0,42 V2’ = V2
V3. 0,50 V3’ = V5
V4. 0,65 V4’ = V7
V5. 0,70 V5’ = V2
V6. 0,82 V6’ = V3
V7. 1 V7’ = V4
Tetapkan probabilitas crossover (pc), misal:
pc=0,25.
Bangkitkan 7 bilangan random:
0,13 0,67 0,03 0,77 0,05 0,22 0,16
Induk yang terseleksi untuk dicrossover:
V1’, V3’, V5’, V6’, dan V7’
Karena jumlah induk ganjil (=5), maka salah
satu harus dibuang (misal yang ke-5).
Penyilangan dilakukan sepasang-sepasang (misal: V1’ & V3’,
V5’ & V6’).
Pada penyilangan V1’ & V3’, bangkitkan bilangan random
antara 1 sampai panjang kromosom (=6), misal: 2. Berarti
posisi crossover ada di bit ke-2.
V1’ = 1 0 0 1 0 0
V3’ = 0 0 1 0 1 0
Hasil crossover:
V1” = 1 0 1 0 1 0
V3” = 0 0 0 1 0 0
Pada penyilangan V5’ & V6’, bangkitkan bilangan random
antara 1 sampai panjang kromosom (=6), misal: 4.
Berarti posisi crossover ada di bit ke-4.
V5’ = 1 1 0 0 1 0
V6’ = 0 1 1 0 0 1
Hasil crossover:
V5” = 1 1 0 0 0 1
V6” = 0 1 1 0 1 0
Setelah dilakukan crossover, akan terbentuk populasi
baru yang juga berjumlah 7 buah:
0.9
0.8 Solusi
0.7
0.6
f(x)
0.5
0.4
0.3
0.2
0.1
0
0 50 100 150 200 250 300
x
Detail …