Anda di halaman 1dari 28

Materi Kuliah – [14]:

KECERDASAN BUATAN

Ellyza Gustri Wahyuni, S.T., M.Cs.


 Mahasiswa mampu mengenal
konsep algoritma genetika untuk
penyelesaian masalah optimasi.

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

dapat juga dimodifikasi dengan menggunakan


operator mutasi.
 Populasi generasi yang baru dibentuk dengan
cara menyeleksi nilai fitness dari kromosom
induk (parent) dan nilai fitness dari kromosom
anak (offspring), serta menolak kromosom-
kromosom yang lainnya sehingga ukuran
populasi (jumlah kromosom dalam suatu
populasi) konstan.
 Setelah melalui beberapa generasi, maka

algoritma ini akan konvergen ke kromosom


terbaik.
 Teknik Penyandian
◦ String bit : 10011, 01101,11101, dst.
◦ Pohon (tree) : (*(-(ab))(+(*(CD))(/(EF))))
◦ Bilangan real : 65.65, -67.98, 562.88, dst.
◦ Elemen permutasi : E2, E10, E5, dst.
◦ Daftar aturan : R1, R2, R3, dst.
◦ Elemen program : pemrograman genetika
◦ Struktur lainnya.
 Prosedur Inisialisasi
◦ Ukuran populasi tergantung pada masalah yang akan
dipecahkan dan jenis operator genetika yang akan
diimplementasikan.
◦ Setelah ukuran populasi ditentukan, kemudian harus
dilakukan inisialisasi terhadap kromosom yang
terdapat pada populasi tersebut.
◦ Inisialisasi kromosom dilakukan secara acak, namun
demikian harus tetap memperhatikan domain solusi
dan kendala permasalahan yang ada.
 Fungsi Evaluasi
◦ Ada 2 hal yang harus dilakukan dalam melakukan
evaluasi kromosom, yaitu: evaluasi fungsi objektif
(fungsi tujuan) dan konversi fungsi objektif ke dalam
fungsi fitness.
◦ Secara umum, fungsi fitness diturunkan dari fungsi
objective dengan nilai yang tidak negatif.
◦ Apabila ternyata fungsi objective memiliki nilai negatif,
maka perlu ditambahkan suatu konstanta C agar nilai
fitness yang terbentuk menjadi tidak negatif.
 Seleksi
◦ Seleksi ini bertujuan untuk memberikan kesempatan
reproduksi yang lebih besar bagi anggota populasi
yang paling fit.
◦ Ada beberapa metode seleksi dari induk, antara lain:
 Roulette wheel selection.
 Rank-based fitness assigment.
 Stochastic universal sampling.
 Local selection.
 Truncation selection.
 Tournament selection.
 Operator Genetika
 operator untuk melakukan rekombinasi, yang terdiri dari:
 Rekombinasi bernilai real.
 Rekombinasi diskret
 Rekombinasi intermediate (menengah)
 Rekombinasi garis
 Rekombinasi garis yang diperluas.
 Rekombinasi bernilai biner (crossover).
 Crossover satu titik.
 Crossover banyak titik.
 Crossover seragam.
 Crossover dengan permutasi.
 mutasi.
 Mutasi bernilai real.
 Mutasi bernilai biner.
 Penentuan Parameter (kontrol algoritma genetika)
◦ ukuran populasi (popsize),
◦ peluang crossover (pc), dan
◦ peluang mutasi (pm).
Nilainya ditentukan berdasarkan permasalahan yang
akan dipecahkan
Misalkan P(generasi) adalah populasi dari satu generasi,
maka secara sederhana algoritma genetika terdiri-dari langkah2:
 Generasi=0 (generasi awal).
 Inisialisasi populasi awal, P(generasi), secara acak.
 Evaluasi nilai fitness pada setiap individu dalam P(generasi).
 Kerjakan langkah-langkah berikut hingga generasi mencapai
maksimum generasi:
◦ generasi = generasi+1 (tambah generasi).
◦ Seleksi populasi tersebut untuk mendapatkan kandidat induk,
P’(generasi).
◦ Lakukan crossover pada P’(generasi).
◦ Lakukan mutasi pada P’(generasi).
◦ Lakukan evaluasi fitness setiap individu pada P’(generasi).
◦ Bentuk populasi baru: P(generasi) = {P(generasi-1) yang survive,
P’(generasi)}
Apakah
Bangkitkan Evaluasi Individu-
kriteria Ya
populasi fungsi individu
optimasi
awal tujuan terbaik
tercapai?

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

Total Fitness: 100


 Bangkitkan 7 bilangan random:
0,53 0,32 0,68 0,91 0,40 0,43 0,57

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:

PopBaru Kromosom Asal


V1” 1 0 1 0 1 0 anak1 crossover V1’ & V3’
V 2’ 1 1 0 0 1 0 V2
V 3” 0 0 0 1 0 0 anak2 crossover V1’ & V3’
V 4’ 1 1 0 1 0 0 V7
V 5” 1 1 0 0 0 1 anak1 crossover V5’ & V6’
V 6” 0 1 1 0 1 0 anak2 crossover V5’ & V6’
V 7’ 1 0 0 1 0 0 V4
 Tetapkan probabilitas mutasi (pm), misal: pm=0,01.
 Bangkitkan (popsize x panjang kromosom) 7x6=42 bilangan random:
0,031 0,342 0,563 0,711 0,053 0,424
0,025 0,453 0,664 0,098 0,008 0,333
0,743 0,231 0,557 0,087 0,112 0,342
0,298 0,002 0,498 0,765 0,007 0,287
0,651 0,688 0,409 0,122 0,652 0,897
0,532 0,980 0,321 0,543 0,075 0,003
0,754 0,132 0,906 0,465 0,508 0,397
 Cari bilangan random yang lebih kecil dari pm.
 Bit-bit pada kromosom yang mengalami mutasi:
◦ Kromosom ke-2, bit ke-5;
◦ Kromosom ke-4, bit ke-2 & bit ke-5;
◦ Kromosom ke-6, bit ke-6.
 Kromosom baru:
◦ V2’ : 1 1 0 0 1 0  V2* : 1 1 0 0 0 0
◦ V4’ : 1 1 0 1 0 0  V4* : 1 0 0 1 1 0
◦ V6’ : 0 1 1 0 1 0  V6* : 0 1 1 0 1 1
 Setelah dilakukan mutasi, akan terbentuk populasi baru yang juga
berjumlah 7 buah kromosom:

PopBaru Kromosom Asal


V1” 101010 anak1 crossover V1’ & V3’
V2* 110000 V2’ yang kena mutasi
V3” 000100 anak2 crossover V1’ & V3’
V4* 100110 V4’ yang kena mutasi
V5” 110001 anak1 crossover V5’ & V6’
V6* 011011 V6* yang kena mutasi
V7’ 100100 V4

 Kromosom-kromosom pada populasi ini, nantinya akan menjadi


populasi awal pada Generasi kedua.
 Proses seleksi, rekombinasi (crossover), dan mutasi ini dilakukan
lagi sampai pada generasi terakhir (MaxGen).
 Tentukan x pada selang [0 255] yang
memaksimumkan fungsi f(x) = sin(x/256).
 Nilai maksimum untuk fungsi sin(A) adalah 1.
 Jika A=x/256, maka secara eksak dapat dicari

nilai x sebagai berikut:


◦ arcsin(1) = x/256
◦ x = (90*256)/180 = 128.
sin(pi*x/256)
1

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 …

Anda mungkin juga menyukai