algoritma genetika - Staffsite STIMATA

advertisement
ERWIEN TJIPTA WIJAYA, ST.,M.KOM
DEFINISI
ALGEN adalah algoritma yang memanfaatkan
proses seleksi alamiah yang dikenal dengan
evolusi
 Dalam evolusi, individu terus menerus mengalami
perubahan gen untuk menyesuaikan dengan
lingkungan hidupnya
 Hanya individu yang kuat yang akan bertahan

STRUKTUR ALGEN
Genotype (Gen) bagian dari kromosom yang
mewakili 1 variabel (nilai biner, float, integer,
character dan lain - lain)
 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

PENERAPAN ALGEN
Penyelesaian TSP (Traveling Solution
Problem) / Sorthess path
 Mencari nilai maksimal dari suatu fungsi
 Mencari nilai optimasi
 Peramalan (Forecasting)

FLOWCHART ALGEN
Bangkitkan
populasi
awal
Evaluasi
fungsi tujuan
Apakah
kriteria
optimasi
tercapai?
Ya
Individu –
individu
terbaik
Tidak
Start
Hasil
seleksi
rekombinasi
mutasi
Bangkitkan populasi baru
DESKRIPSI
Populasi awal, didapatkan dari inisialisasi
kromosom dengan dilakukan secara acak
 Fungsi evaluasi, evaluasi kromosom ada 2
macam:

 Evaluasi fungsi obyektif
 Konversi fungsi obyektif ke dalam fungsi fitness
Secara umum fungsi fitness diturunkan oleh fungsi
obyektif dengan nilai yang positif (+), apabila
fungsi obyektif bernilai negatif (-) maka perlu
ditambahkan konstanta C agar nilai fitness yang
terbentuk menjadi positif (+)
DESKRIPSI FLOWCHART
Seleksi, seleksi ini bertujuan untuk memberikan
kesempatan reproduksi yang lebih besar bagi
anggota populasi yang paling fit.
 Ada beberapa metode seleksi, antara lain:

 Rank-based fitness assigment
 Roulette wheel selection
 Stochastic universal sampling
 Local selection
 Truncation selection
 Tournament selection
DESKRIPSI

Operator Genetika, ada 2 operator genetika :
 Operator Rekombinasi
○ Rekombinasi bernilai real




○
Rekombinasi diskret
Rekombinasi intermediate
Rekombinasi garis
Rekombinasi garis yang diperluas
Rekombinasi bernilai biner (crossover)
 Crossover 1 titik (single-point-crossover)
 Crossover banyak titik (Multi-point-crossover)
 Crossover seragam (uniform crossover)
○ Crossover dengan permutasi
 Mutasi
○ Mutasi bernilai real
○ Mutasi bernilai biner
DESKRIPSI

Penentuan Parameter, parameter kontrol ALGEN, yaitu
ukuran populasi (popsize), peluang crossover (pc) dan
peluang mutasi (pm). Nilai parameter ini ditentuka juga
berdasarkan permasalahan yang akan dipecahkan. Ada
beberapa rekomendasi yang bisa digunakan, antara lain :
 Menurut De Jong, untuk permasalahan yang memiliki kawasan
solusi cukup besar, maka nilai parameter kontrol
(popsize;pc;pm)=(50; 0,6 ;0,001)
 Menurut Grefenstette, bila rata – rata fitness setiap generasi
digunakan sebagai indikator, maka nilai parameter kontrol
(popsize;pc;pm)=(30; 0,95 ;0,01)
 Bila fitness dari individu terbaik dipantau pada setiap generasi,
maka nilai parameternya adalah
(popsize;pc;pm)=(80; 0,45; 0,01)
 Ukuran
populasi sebaiknya tidak lebih kecil dari 30, untuk
sembarang jenis permasalahan
ALGORITMA GENETIKA SEDERHANA

Misalkan P (generasi) adalah populasi dari 1 generasi, maka
secara sederhana urutan-urutan langkahnya adalah sebagai
berikut:
Generasi=0 (Generasi awal)
Inisialisasi populasi awal, P(generasi) dengan bilangan acak
Evaluasi nilai fitness pada setiap individu dalam P(Generasi)
Kerjakan langkah-langkah berikut hingga generasi mencapai
maksimum generasi :
1.
2.
3.
4.
a.
b.
c.
d.
e.
f.
g.
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 kuat/survive
Kriteria berhenti apabila pada setiap generasi – generasi memiliki nilai
fitness yang tidak berubah
CONTOH: TSP (TRAVELING SALES PROBLEM)
A
8
B
4
7
5
3
D
6
C
MEMBENTUK POPULASI AWAL


Populasi awal, dapat dibangkitkan secara acak atau
melalui prosedur tertentu
Tentukan parameter misalkan :
 Popsize = 4
 Pc (Probabilitas Crossover) = 0,5
 Pm(Probabilitas Mutasi) = 0,2
 Maksimum Generasi = 10

Misal dibangkitkan populasi awal dengan 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]
EVALUASI FITNESS
Kromosom [1] = 8 + 5 + 6 = 19
 Kromosom [2] = 5 + 6 + 7 = 18
 Kromosom [3] = 6 + 7 + 8 = 21
 Kromosom [4] = 7 + 8 + 5 = 20

NO
KROMOSOM
FITNESS
[1]
AB C D
19
[2]
B C DA
18
[3]
C DAB
21
[4]
DAB C
20
SELEKSI
Seleksi untuk mendapatkan calon induk
yang baik
 Induk yang baik akan mendapatkan
keturunan yang baik
 Semakin tinggi nilai fitness suatu
individu semakin besar kemungkinan
terpilih
 Metode seleksi yang digunakan adalah
Roulette Wheel

SELEKSI KROMOSOM

Pada TSP nilai fitness yang terpilih adalah
nilai terkecil maka digunakan inverse :
 Q[i] = 1 / Fitness[i]
 Q[1] = 1 / 19 = 0,052
 Q[2] = 1 / 18 = 0,056
 Q[3] = 1 / 21 = 0,048
 Q[4] = 1 / 20 = 0,05
 Total Q[i] = Q[1]+Q[2] +Q[3] +Q[4]
0,052 + 0,056 + 0,048 + 0,05 = 0,207
SELEKSI KROMOSOM

Menghitung
individu
probabilitas
 P[i] = Q[i] / Total Q[i]
 P[1] = 0,052 / 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
/
fitness
relatif
tiap
SELEKSI KROMOSOM

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
SELEKSI KROMOSOM
Memilih induk yang akan menjadi kandidat untuk
di-crossover
 Membangkitkan bilangan acak (R)






R[1] = 0,314
R[2] = 0,743
R[3] = 0,418
R[4] = 0,203
Kemudian membandingkan antara
(Random) dengan C (Komulatif)
nilai
 C > R (pilih nilai C yang mendekati dengan nilai R)

Contoh :




R[1] = 0,314 maka nilai
R[2] = 0,743 maka nilai
R[3] = 0,418 maka nilai
R[4] = 0,203 maka nilai
yang mendekati adalah
yang mendekati adalah
yang mendekati adalah
yang mendekati adalah
= 0,526 C[2]
= 0,758 C[3]
= 0,526 C[2]
= 0,256  C[1]
R
KROMOSOM BARU HASIL SELEKSI
NO
KROMOSOM
FITNESS
ASAL
[1]’
B C DA
18
[2]
[2]’
C DAB
21
[3]
[3]’
B C DA
18
[2]
[4]’
AB C D
19
[1]
LANGKAH-LANGKAH CROSSOVER



Karena peluang crossover (pc) = 0,5; maka diharapkan 50%
dari total kromosom akan mengalami crossover (2 dari 4
kromosom)
Untuk memilih kromosom-kromosom yang akan dilakukan
crossover yaitu dengan cara membangkitkan bilangan acak
[0 1] sebanyak 4 buah.
Misal bilangan acak yang tercipta adalah :





R[1] = 0,442
R[2] = 0,206
R[3] = 0,895
R[4] = 0,319
Pilih bilangan – bilangan yang kurang / lebih kecil dari nilai
pc dalam hal ini nilai pc = 0,5 untuk dilakukan crossover, nilai
yang terpilih adalah :
 R[1] = 0,442
 R[2] = 0,206
PROSES CROSSOVER

Kromosom yang akan ditukarkan adalah :
 Kromosom[1]’’ = B C D A
 Kromosom[2]’’ = C D A B
Tukarkan kromosom[1] dengan kromosom[2]
 Contoh

 Kromosom[1] = Kromosom[2]
 Kromosom[2] = Kromosom[1]

Populasi setelah proses crossover :
NO
KROMOSOM
FITNESS
[1]’’
C DAB
21
[2]’’
B C DA
18
[3]’
B C DA
18
[4]’
AB C D
19
LANGKAH – LANGKAH MUTASI

Hitung panjang Gen pada populasi

Panjang total gen = popsize * jumlah Gen pada setiap kromosom
= 4 * 4 = 16 (total Gen)
Memilih posisi gen yang di mutasi dilakukan dengan
membangkitkan bilangan acak antara 1 sampai dengan
panjang total gen (1 - 16)
 Misal ditentukan pm=0,2 atau 20% maka jumlah gen yang akan
dimutasi adalah : 0,2 * 16 = 3,2 =3 bit (setelah dibulatkan)
 Ciptakan bilangan acak [0 1] sebanyak 16 Gen kemudian
kelompokan menjadi 4 kromosom
 Kemudian mutasi / pindahkan Gen tersebut dengan mengambil
nilai Gen didepannya kemudian lakukan pertukaran, maka Gen
= Gen + 1 dan Gen + 1 = Gen
 Apabila Gen pada posisi terakhir maka ambilkan dari Gen yang
paling depan, kemudian tukar Gen depan = Gen terakhir dan
Gen terakhir = Gen depan

TABEL BILANGAN ACAK MUTASI
KROMOSOM[1]
R[1] = 0,412
R[2] = 0,737
R[3] = 0,379
R[4] = 0,192
R[2] = 0,718
R[3] = 0,565
R[4] = 0,082
R[2] = 0,755
R[3] = 0,371
R[4] = 0,386
R[2] = 0,980
R[3] = 0,108
R[4] = 0,860
KROMOSOM[2]
R[1] = 0,234
KROMOSOM[3]
R[1] = 0,949
KROMOSOM[4]
R[1] = 0,840
PROSES MUTASI

Kromosom dan Gen yang terkena mutasi
 Kromosom[1] dan Gen[4]
 Kromosom[2] dan Gen[4]
 Kromosom[4] dan Gen[3]

Bentuk populasi awal :





Kromosom[1]’’ = [C D A B]  B ditukar dengan A
Kromosom[2]’’ = [B C D A]  A ditukar dengan D
Kromosom[3]’ = [B C D A]
Kromosom[4]’ = [A B C D]  C ditukar dengan B
Bentuk populasi setelah mutasi :




Kromosom[1] ‘’’= [C D B A]
Kromosom[2] ‘’’= [B C A D]
Kromosom[3] ‘= [B C D A]
Kromosom[4] ‘’’= [A C B D]
EVALUASI

Proses 1 Generasi selesai :
 Fitness[1] = 6 + 4 + 8 = 18
 Fitness[2] = 5 + 3 + 7 = 15
 Fitness[3] = 5 + 6 + 7 = 18
 Fitness[4] = 5 + 3 + 4 = 12

Karena TSP adalah rute yang paling pendek yang harus
dipilih maka dalam kasus ini nilai Fitness yang terkecil yang
harus dipilih
Pada kasus ini kromosom[4]=12 dengan rute [A C B D]

POPULASI BARU
Populasi terakhir digunakan sebagai
data awal / populasi baru pada iterasi
berikutnya
 Lanjutkan sendiri sampai mendapatkan
nilai fitness terkecil

Download