Algoritma Genetika
Pendahuluan
Struktur Umum
Komponen Utama
Seleksi
Rekombinasi
Mutasi
Algoritma Genetika Sederhana
Referensi
Sri Kusumadewi bab 9
Luger & Subblefield bab 12.8
Algoritma Genetika
1/35
Pendahuluan
Algoritma Genetika adalah
algoritma pencarian heuristik
yang didasarkan atas
mekanisme evolusi biologis.
Keberagaman pada evolusi
biologis adalah variasi dari
kromosom antar individu
organisme. Variasi kromsom
akan mempengaruhi laju
reproduksi dan tingkat
kemampuan oraginisme untuk
tetap hidup.
Algoritma Genetika
2/35
1.
2.
3.
4.
Algoritma Genetika
3/35
Algoritma Genetika
4/35
Struktur Umum
Populasi, istilah pada teknik
pencarian yang dilakukan sekaligus
atas sejumlah solusi yang mungkin
Kromosom, individu yang terdapat
dalam satu populasi dan
merupakan suatu solusi yang
masih berbentuk simbol.
Generasi, populasi awal dibangun
secara acak sedangkan populasi
selanjutnya merupakan hasil
evolusi kromosom-kromosom
melalui iterasi
Algoritma Genetika
5/35
6/35
Komponen Utama
Algoritma Genetika
7/35
2. Prosedur Inisialisasi
- Ukuran populasi tergantung
pada masalah yang akan
dipecahkan dan jenis
operator genetika yang akan
diimplementasikan.
Algoritma Genetika
8/35
Algoritma Genetika
9/35
4. Seleksi
- Bertujuan untuk memberikan
kesempatan reproduksi yang
lebih besar bagi anggota
populasi yang paling fit
- Ada beberapa metode seleksi
dari induk, antara lain :
10/35
5. Operator Genetika
Ada 2 operator genetika :
a. Operator untuk melakukan
rekombinasi, yang terdiri dari:
11/35
b. Mutasi
6. Penetuan Parameter
Parameter adalah parameter
kontrol algoritma genetika, yaitu :
ukuran populasi (popsize),
peluang crossover (pc) dan
peluang mutasi (pm).
Rekomendasi menentukan nilai
parameter :
Untuk permasalahan yang memiliki
kawasan solusi cukup besar, De
Jong merekomendasikan nilai
parameter :
(popsize; pc; pm) = (50;0,6;0,001)
Algoritma Genetika
12/35
Algoritma Genetika
13/35
Seleksi
Seleksi akan menentukan individu-individu mana saja yang
akan dipilih untuk dilakukan rekombinasi dan bagaimana offspring terbentuk dari individu individu terpilih tersebut.
Langkah pertama : pencarian
nilai fitness
Langkah kedua : Nilai fitness
yang diperolah digunakan pada tahap-tahap seleksi
selanjutnya
Algoritma Genetika
14/35
15/35
16/35
1.
2.
Rank-based Fitness
Populasi diurutkan menurut nilai
objektifnya. Nilai fitness dari tiap-tiap
individu hanya tergantung pada posisi
indi-vidu tersebut dalam urutan, dan
tidak dipengaruhi oleh nilai objektifnya.
Roulette Wheel Selection
Istilah lain adalah stochastic sampling
with repalcement.
Individu-individu dipetakan dalam suatu
segmen garis secara berurutan
sedemikian hingga tiap-tiap segmen
individu memiliki ukuran yang sama
dengan ukuran fitnessnya
Sebuah bilangan random di-bangkitkan
dan individu yang memiliki segmen
dalam kawasan segmen dalam
kawasan bilangan random tersebut
akan terseleksi. Proses ini berulang
hingga didapatkan sejumlah individu
yang diharapkan
Algoritma Genetika
17/35
3.
Algoritma Genetika
18/35
4. Seleksi Lokal
Setiap individu yang berada di
dalam konstrain tertentu disebut
dengan nama lingkungan lokal.
Interaksi antar individu hanya
dilakukan di dalam wilayah
tersebut. Lingkungan tersebut
ditetapkan sebagai struktur
dimana populasi tersebut
terdistribusi. Lingkungan tersebut
juda dapat dipandang sebagai
kelompok pasangan-pasangan
yang potensial.
Langkah pertama adalah
menyeleksi separuh pertama dari
populasi yang berpasangan
secara random. Kemudian
lingkungan baru tersebut
diberikan pada setiap individu
yang terseleksi.
Algoritma Genetika
19/35
20/35
5. Truncation Selection
Seleksinya adalah buatan
Digunakan oleh populasi yang
jumlahnya sangat besar
Individu-individu diurutkan
berdasarkan nilai fitnessnya.
Hanya individu yang terbaik saja
yang akan diseleksi sebagai
induk.
Parameter yang digunakan
adalah suatu nilai ambang trunc
yang mengindikasikan ukuran
populasi yang akan diseleksi
sebagai induk yang berkisar
antara 50% - 10%.
Individu-individu yang ada
dibawah nilai ambang ini tidak
akan menghasilkan keturunan
Algoritma Genetika
21/35
6. Tournament Selection
Ditetapkan suatu nilai tour
untuk individu-individu yang
dipilih secara random dari
suatu populasi.
Individu-individu yan terbaik
dalam kelomppok ini akan
diseleksi sebagai induk
Parameter yang digunakan
adalah ukuran tour yang
bernilai antara 2 sampai N
(jumlah individu dalam
populasi)
Algoritma Genetika
22/35
Rekombinasi
1. Rekombinasi Diskret
Menukar nilai variabel antar
kromosom induk.
Misal ada 2 individu dengan 3
variabel, yaitu :
induk 1 :
12 25 5
induk 2 :
123 4
34
Untuk tiap-tiap variabel induk
yang menyumbangkan
variabelnya ke anak yang dipilih
secara random dengan
probabilitas yang sama
sample 1 : 2
2
1
sample 2 : 1
2
1
Algoritma Genetika
23/35
24/35
25/35
3.
Rekombinasi Garis
Hampir sama denga rekombinasi
menengah, hanya saja nilai alpha untuk
semua variabel sama.
Misalkan ada 2 kromosom dengan 3
variabel :
induk 1 : 12
25
5
induk 2 : 123 4
34
Untuk tiap-tiap variabel induk yang
menyumbangkan vaiabelnya ke anak
dipilih secara random dengan
probabilitas yang sama
sample 1 :
0,5
sample 2 :
0,1
Setelah rekmbinasi kromosomkromosom baru yang terbentuk
anak 1 :
67,5 14,5 19,5
anak 2 :
23,1 22,9 7,9
Algoritma Genetika
26/35
27/35
28/35
6. Penyilangan Seragam
Setiap lokasi memiliki potensi
sebagai tempat penyilangan.
Sebuah mask penyilangan
dibuat sepanjang panjang
kromosom secara random
yang menunjukan bit-bit
dalam mask yang mana
induk akan mensupply anak
dengan bit-bit yang ada.
Induk yang mana yang akan
menyumbangkan bit ke anak
yang dipilih secara random
dengan probabilitas yang
sama
Algoritma Genetika
29/35
7. Penyilangan dengan
permutasi
Dengan permutasi,
kromosom-kromosom anak
diperoleh dengan cara
memilih sub-barisan sautu
tour dari satu induk dengan
tetap menjaga urutan dan
posisi sejumlah kota yang
mungkin terhadap induk yang
lainnya.
Algoritma Genetika
30/35
Mutasi
Mutasi Bilangan Real
Operator mutasi untuk
bilangan real dapat ditetapkan
sebagai :
1. Variabel yang dimutasi =
variabel range * delta;
2. Range = 0,5 * domain variabel
3. Delta = (ai * 2-i); ai = 1
dengan probabilitas 1/m, selain
itu ai = 0, dengan m = 20
Algoritma Genetika
31/35
Mutasi Biner
Langkah-langkah mutasi :
1. Hitung jumlah gen pada
populasi
2. Pilih secara acak gen yang
akan dimutasi
3. Tentukan kromosom dari gen
yang terpilih untuk dimutasi
4. Ganti nilai gen (0 ke 1 atau 1
ke 0) dari kromosom yang
akan dimutasi tersebut
Algoritma Genetika
32/35
Algoritma Genetika
Sederhana
1.
2.
3.
4.
Langkah-langkah :
Generasi = 0
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 :
a. generasi = generasi +1
b. Seleksi populasi tersebut untuk
mendapatkan kandidat induk, P(generasi)
c. Lakukan crossover pada P(generasi)
d. Lakukan mutasi pada P(generasi)
e. Lakukan evaluasi fitness setiap individu pada
P(generasi
f. Bentuk populasi baru : P(generasi) =
{P(generasi-1) yang survive, P(generasi)
Algoritma Genetika
33/35
34/35
Algoritma Genetika
35/35