ba7ec ai 13 algoritma genetika

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

 Ukuran

(popsize;pc;pm)=(80; 0,45; 0,01)

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



Bentuk populasi awal :



Bentuk populasi setelah mutasi :

 Kromosom[1] dan Gen[4]
 Kromosom[2] dan Gen[4]
 Kromosom[4] dan Gen[3]









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
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