Anda di halaman 1dari 33

Sistem Cerdas

Algoritma Genetika
Moch. Hannats H. I.

1
Algoritma Genetika
• Suatu algoritma pencarian berdasarkan
mekanisme seleksi natural dan genetik.
• Individu mengalami perubahan gen untuk
menyesuaikan dengan lingkungan hidupnya
• Individu yang kuat yang bertahan
• Algoritma genetika ditemukan oleh John
Holland (1975) untuk meniru beberapa proses
yang terjadi di seleksi natural.
PROSES ALGORITMA GENETIKA
TERMINOLOGI
• Populasi – sebuah kumpulan dari satu atau lebih individual
(organisme).
• Individual – satu anggota dari populasi yang merepresentasi
sebuah solusi dari suatu masalah yang sedang dipecahkan.
Genome-nya mengandung satu atau lebih kromosom.
• Genome – kumpulan gen dalam suatu individual.
• Kromosom – sebuah struktur data yang merepresentasikan
gen dari suatu individual, biasanya berupa rangkaian biner.
• Gen – bagian dari suatu kromosom yang mengkodekan
(encode) suatu parameter dari satu solusi.
• Fitness – sebuah nilai yang mengindikasi kualitas dari suatu
individual (solusi).
Individu dalam Algoritma Genetika

• Individu dapat berupa byte, biner, float atau kombinatorial.


• Misalkan dalam algoritma pencarian, salah satu hasil dari pencarian tersebut
adalah sebuah individu.
• Sehingga populasinya adalah seluruh rute pencarian jalur yang memungkinkan

5
NILAI FITNESS
• Nilai suatu individu/solusi (baik/tidaknya suatu
individu/solusi)
• Acuan dalam mencapai nilai optimal dalam
algoritma genetika -> mencari individu dengan
nilai fitness yang paling tinggi
Menghitung Nilai Fitness

• Individu menyatakan solusi yaitu nilai x.


• Nilai x sebagai individu dinyatakan dalam nilai biner.
• Individu dinyatakan dalam 8 gen biner dengan
batas 0 sampai dengan 1 yang berarti sat bit setara
dengan 2-8
• Sebagai contoh:
10001001 = (128+8+1)/256 = 0.5352
01010010 = (2+16+64)/256 = 0.3203

• Fungsi fitness dinyatakan sebagai fungsi f(x), karena


yang dicari adalah nilai maksimum.

7
Definisi Individu terhadap Fitness
 Dari gambar terlihat bahwa penyelesaian berada pada nilai
0<x<1. Jadi dengan menggunakan 8 bit biner didefinisikan:

 Individu dinyatakan dalam 8 gen biner, dengan batas 0 sampai


dengan 1, berarti 1 bit setara dengan 2-8.
Sebagaicontoh:
 10001001 = (128+8+1)/256 = 0.5352
 00110100 = (4+16+32)/256 = 0.2031
 01010010 = (2+16+64)/256 = 0.3203
PROSEDUR GA

Populasi Evaluasi
Fitness Seleksi
Awal
Individu

Elisitasi?
Cross over
dan mutasi

Populasi
Baru
Populasi Awal dan Evaluasi Fitness

• Proses ini adalah proses untuk membangkitkan


populasi awal
• Dimana pada populasi terdiri dari beberapa
individu
• Individu tersebut memiliki kromosom serta gen
• Setelah inidividu terbentuk, dilakukan perhitungan
untuk melakukan evaluasi dari nilai fitness masing-
masing individu

10
Seleksi Individu

• Pemilihan individu berdasarkan nilai fitness-nya


• Semakin tinggi nilai fitness suatu individu semakin
besar kemungkinannya untuk terpilih
• Salah satu teknik yang dapat dilakukan adalah dengan
teknik mesin roullete

• Secara terminologi : “Induk yang baik akan


menghasilkan keturunan yang lebih baik”

• Ada dua cara untuk proses seleksi : turnamen atau


mesin roulette.

11
Mesin Roullete

Individu yang terpilih : 2, 4, 3, 3, 2


Cross Over
Cross Over

• Salah satu operator yang


melibatkan dua induk untuk
menghasilkan keturunan yang
baru
• Melakukan pertukaran gen dari
dua induk secara acak
• Ada 2 : pertukaran gen secara
langsung dan pertukaran gen
secara aritmatika
• Dilakukan pada setiap individu
dengan probabilitas cross over
yang ditentukan

14
Cross Over Langsung

15
Cross Over Aritmatika

16
Mutasi Gen

• Operator yang menukar nilai gen


dengan nilai inversinya, misalnya
nilai gen 0 ditukar menjadi 1
• Tiap individu mengalami mutasi
gen dengan probabilitas mutasi
yang ditentukan
• Mutasi dilakukan dengan
memberikan nilai inversi atau
menggeser nilai gen pada gen
yang terpilih untuk dimutasikan

17
Mutasi Gen

18
Populasi Baru

• Populasi baru adalah hasil dari individu terpilih


yang value-nya sudah diolah oleh algoritma
genetika
• Satu kali proses algoritma genetika disebut dengan
satu generasi
• Generasi ini biasanya akan terus berulang hingga
nilai maksimal diperoleh, sehingga tidak ada
patokan berapa generasi untuk mendapatkan nilai
maksimal

19
Elisitasi

• Elisitasi adalah proses yang opsional


• Pada suatu kasus, diperlukan elisitasi, namun
kadang tidak perlu
• Elisitasi dilakukan untuk menghentikan individu
pada sebuah gen untuk dilakukan regenerasi
karena individu tersebut dianggap sudah optimal
atau dianggap sudah memenuhi syarat

20
Hal Penting dalam Algoritma
Genetika
• Algoritma Genetika adalah algoritma yang
dikembangkan dari proses pencarian solusi yang
terkadang secara acak, namun terkadang dari
berbagai masukan dari parameter tertentu
• Hal tersebut terlihat ketika pada proses
pembangkitan populasi awal
• Proses selanjutnya adalah dilakukan berdasarkan
teori genetika yang memperhatikan pemikiran
bahwa bagaimana untuk memperoleh individu
yang baik.
• Sehingga dalam proses evolusi, individu yang
terbaik yang akan bertahan.
21
Case Study

22
Membangkitkan Populasi Awal

• Membangkitkan sejumlah individu, misalkan


satu populasi terdiri dari 10 individu, maka
dibangkitkan 10 individu dengan 8 gen biner
yang dibangkitkan secara acak.
Seleksi

 Seleksi adalah proses pemilihan


calon induk, dalamproses seleksi
ini terdapat beberapa metode
yang bisa digunakan antara lain:
MesinRoulette (Roulette Wheel),
Competition danTournament.
Dalam contoh ini digunakan
Mesin Roullete yang memang
metode paling dasar dan model
acaknya uniform.
 Seleksi dilakukan dengan
menggunakan prosentasi fitness
setiap individu, dimana setiap
individu mendapatkan luas
bagian sesuai dengan prosentase
nilai fitnessnya.
Cross-Over

 Cross-Over (Perkawinan Silang) merupakan proses


mengkombinasikan dua individu untuk memperoleh
individu-individu baru yang diharapkan mempunyai fitness
lebih baik. Tidak semua pasangan induk mengalami proses
cross-over, banyaknya pasangan induk yang mengalami cross-
over ditentukan dengan nilai probabilitas cross-over.
Mutasi Gen

• Mutasi gen adalah proses penggantian gen dengan


nilai inversinya, gen 0 menjadi 1 dan gen 1 menjadi 0.
Proses ini dilakukan secara acak pada posisi gen
tertentu pada individu-individu yang terpilih untuk
dimutasikan. Banyaknya individu yang mengalami
mutasi ditentukan oleh besarnya probabilitas mutasi.
Algoritma Genetika untuk masalah
optimalisasi
Representasi dan Inisialisai Populasi Awal
• Representasi merupakan bentuk hasil akhir dari
masalah yang akan diselesaikan. Representasi dari
kromosom tersebut dapat dilihat pada gambar
berikut ini :
Kromosom 1 p1 P3 p3 p4 ... ... ...

Kromosom 2 p2 p2 p4 p5 ... ... ...

Fungsi Obyektif / Fungsi Fitness


• Fungsi fitness yang digunakan untuk mengevaluasi
kebaikan suatu kromosom dalam penelitian ini
Parameter Algoritma Genetika dalam Program
1. Operator Seleksi
Seleksi memegang peranan penting dalam keberhasilan algoritma
genetika.
Prosedur seleksinya adalah :
1) Hitung total fitness
Total fitness = ∑ F k k = 1, 2, 3, ... , popsize
2) Hitung fitness relatif tiap individu P = F
k k
Total Fitness
3) Hitung fitness kumulatif : qi = pi
4) Pilih induk yang akan menjadi kandidat untuk di crossover dengan
cara :
i. Bangkitkan bilangan random r
ii. Jika qk ≤ r dan qk+1 ≤ r maka pilihlah kromosom ke (k+1) sebagai
kandidat induk
Algoritma Genetika Untuk Mencari Nama Secara Acak

• Sebuah kata ditentukan sebagai target, misalnya:


‘BASUKI’. Bila setiap huruf diberi nilai dengan nilai
urut alfabet, maka targetnya bisa dinyatakan sebagai
besaran numerik:
Target=[2 1 18 21 11 9]
• Komputer akan membangkitkan katadengan jumlah
huruf yang sama dengan target secara acak, terus-
menerus hingga diperoleh kata yang sama dengan
kata target.
Definisi Individu dan Fitness
• Individu adalah satu kata yang muncul dari proses acak
tersebut, misalnya: AGHSQE atau [1 7 8 19 17 5]
• Satu individu mempunyai n gen integer yang setiap gennya
menyatakan no urut alfabet.
• Nilai fitness adalah inversi dari perbedaan antara nilai kata
yang muncul (individu) dan target yang ditentukan. Misalnya
kata yang muncul: AGHSQE dan targetnya BASUKI maka, nilai
perbedaannya:
E = |1-2| + |7-1| + |8-19| + |19-21| + |17-11| + |5-9|
= 1+6+11+2+6+4 = 30
Fitness = (26)(6) -30 = 156-30 = 126
• Fitness didefinisikan:
fitness (k) = 156 - ∑| g (k)n - t n |
Dimana gn adalah gen ke n dari individu ke k dan gen ke n dari
target.
Pembangkitan Populasi Awal
Seleksi, Cross-Over, dan Mutasi
Hasil Algoritma Genetika

Anda mungkin juga menyukai