Anda di halaman 1dari 17

ALGORITMA GENETIKA

Nofita Rismawati,ST.,MMSI
PENDAHULUAN
 Algoritma genetika terinspirasi dari prinsip genetika dan seleksi
alam (teori evolusi Darwin) yg ditemukan di Universitas Michigan,
AS, oleh John Holland (1975) melalui sebuah penelitian dan
dipopulerkan oleh salah satu muridnya, David Goldberg.
 Konsep dasar algoritma genetika sebenarnya dirancang utk
menyimulasikan proses-proses dlm sistem alam yg diperlukan utk
evolusi, khususnya teori evolusi alam yg dicetuskan oleh Charles
Darwin, yaitu survival of the fittest.
 Menurut teori ini, di alam terjadi persaingan antara individu-
individu utk memperebutkan sumber daya alam yg langka shg
makhluk yg kuat mendominasi makhluk yg lebih lemah.
PENDAHULUAN
 Algoritma genetika adalah teknik pencarian heuristik yg didasarkan
pada gagasan evolusi seleksi alam dan genetik.
 Algoritma ini memanfaatkan proses seleksi alamiah yg dikenal dgn
proses evolusi, “hanya individu-individu yg kuat yg mampu
bertahan”.
 Proses seleksi alamiah ini melibatkan perubahan gen yg terjadi pd
individu melalui proses perkembangbiakan.
 Proses perkembangbiakan ini didasarkan pd analogi struktur
genetika dan perilaku kromosom dlm populasi individu dg
menggunakan dasar sbb:
1. Individu dlm populasi bersaing utk sumber daya alam dan
pasangannya.
2. Mereka yg plg sukses di setiap kompetisi akan menghasilkan
keturunan yg lebih baik drpd individu-individu yg berkinerja
buruk.
3. Gen dari individu yg baik akan menyebar ke seluruh populasi shg
dua orang tua yg baik kadang-kadang akan menghasilkan keturunan
yg lbh baik dr org tuanya.
4. Setiap ada pergantian generasi maka generasi terbaru ini biasanya
lbh cocok dg lingkungan mereka. Dgn kata lain, generasi baru ini
bisa menyesuaikan dgn keadaan lingkungannya.
Permasalahan yg Membutuhkan Algoritma Genetika
1. Ruang pencarian sangat besar, kompleks atau krg dipahami.
2. Tidak ada pengetahuan yg memadai utk menyederhanakan
ruang pencarian yg sgt besar mjd ruang pencarian yg lebih
sempit.
3. Tidak ada analisis matematis yg bisa menangani ketika
metode konvensional gagal menyelesaikan masalah yg
dihadapi.
4. Solusi yg dihasilkan tidak harus optimal, asal sudah
memenuhi kriteria sudah bisa diterima.
5. Mempunyai kemungkinan solusi yg jumlahnya tak hingga.
6. Membutuhkan solusi “real-time”, yaitu solusi yg bisa
didapatkan dgn cepat shg dpt diimplementasikan utk
permasalahan yg mempunyai perubahan yg cepat.
APLIKASI ALGORITMA GENETIKA
 Algoritma genetika telah digunakan utk memecahkan masalah dan pemodelan di
bidang teknik, bisnis dan hiburan, termasuk:
1. Optimasi: algoritma genetika byk digunakan dlm berbagai tugas optimasi,
termasuk optimasi numerik, dan masalah-masalah optimasi kombinatorial
seperti Traveling Salesman Problem (TSP), desain sirkuit, Job Shop Scheduling
dan optimasi video & kualitas suara.
2. Pemrograman Otomatis: algoritma genetika telah digunakan utk berevolusi thd
program komputer utk melakukan tugas-tugas yg spesifik dan merancang
struktur komputasi lain, misalnya selular automata dan sorting networking.
3. Machine Learning: algoritma genetika byk digunakan utk aplikasi mesin-
learning, termasuk klasifikasi dan prediksi struktur protein. Algoritma genetika
juga telah digunakan utk merancang jst dan utk mengendalikan robot.
4. Model ekonomi : algoritma genetika telah digunakan utk memodelkan proses
inovasi, pengembangan strategi penawaran dan munculnya pasar ekonomi.
APLIKASI ALGORITMA GENETIKA
5. Model Sistem Imunisasi: algoritma genetika telah digunakan utk
memodelkan berbagai aspek sistem kekebalan tubuh alami,
termasuk mutasi somatik selama masa hidup individu dan
menemukan keluarga dg gen ganda selama evolusi.
6. Model ekologi:algoritma genetika telah digunakan utk
memodelkan fenomena ekologi seperti host-parasite co-evolution,
simbiosis dan arus sumber daya dlm ekologi.
7. Interaksi antara evolusi dan pembelajaran : algoritma genetika
telah digunakan utk mempelajari bagaimana individu belajar dan
memengaruhi proses evolusi suatu spesies satu sama lain.
BEBERAPA PENGERTIAN DASAR
1. Gen (genotype) adalah variabel dasar yg membentuk suatu kromosom. Dalam
algoritma genetika, gen ini bs bernilai biner, float,integer maupun karakter.
2. Allele adalah nilai dari suatu gen, bisa berupa biner,float,integer maupun
karakter.
3. Kromosom adalah gabungan dari gen-gen yg membentuk arti tertentu. Ada
beberapa macam bentuk kromosom, yaitu :
Kromosom biner adalah kromosom yg disusun dr gen-gen yg bernilai biner.
Kromosom ini mempunyai tingkat ketelitian yg diharapkan. Kromosom ini
bagus bila digunakan utk permasalahan yg parameter dan range nilainya
tertentu.
Kromosom float adalah kromosom yg disusun dr gen-gen yg bernilai
pecahan, termasuk gen yg bernilai bulat. Kromosom ini mrp model yg jumlah
parameternya banyak. Tingkat keberhasilan dr kromosom ini rendah dlm
kecepatan (jlh kecepatan)
Kromosom string yaitu kromosom yg disusun dr gen-gen yg bernilai string
Kromosom kombinatorial yaitu kromosom yg disusun dr gen-gen yg dinilai
berdasarkan urutannya.
BEBERAPA PENGERTIAN DASAR
4. Individu adalah kumpulan gen, bs dikatakan sama dgn kromosom.
Individu menyatakan salah satu kemungkinan solusi dari suatu
permasalahan
5. Populasi adalah sekumpulan individu yg akan diproses scr bersama-
sama dlm satu siklus proses evolusi
6. Generasi menyatakan satu satuan siklus proses evolusi
7. Nilai fitness menyatakan seberapa baik nilai dari suatu individu atau
solusi yg didapatkan. Nilai inilah yg dijadikan acuan utk mencapai
nilai optimal. Algoritma genetika bertujuan utk mencari individu
yg mempunyai nilai fitness yg plg optimal (bs maksimum atau
minimum, tergantung pd kebutuhan)
SIKLUS ALGORITMA GENETIKA
 David Goldberg adalah org yg pertama kali memperkenalkan siklus
algoritma genetika seperti digambarkan sbb.

Populasi Evaluasi Seleksi


Awal Fitness Individu

Reproduksi:
Populasi Cross-Over
Baru Dan Mutasi
 Siklus dimulai dari membuat populasi awal scr acak, kemudian
setiap individu dihitung nilai fitnessnya. Proses berikutnya adl
menyeleksi individu terbaik, kemudian dilakukan cross-over dan
dilanjutkan oleh proses mutasi shg terbentuk populasi baru.
Selanjutnya populasi baru ini mengalami siklus yg sama dgn
populasi sblmnya. Proses ini berlangsung terus hingga generasi
ke-n.
 Siklus ini kemudian diperbaiki oleh Zbigniew Michalewicz dg
menambahkan satu proses elitisme dan membalik proses
reproduksi dahulu, kemudian proses seleksi seperti berikut.
Populasi Reproduksi:C
Evaluasi Seleksi
Awal ross-Over dan
Fitness Individu
Mutasi

Populasi
Baru Elitisme
KOMPONEN-KOMPONEN UTAMA ALGORITMA GENETIKA
 Untuk mengimplementasikan algoritma genetika, ada 8 komponen utama yg hrs
dilakukan.
1. Teknik encoding/decoding gen dari individu.
2. Membangkitkan populasi awal scr random dgn terlebih dahulu menentukan jlh individu
dlm populasi tsb.
3. Nilai fitness (nilai dari fungsi tujuan)
4. Elitisme (prosedur utk mengcopy individu yg mempunyai nilai fitness tertinggi
sebanyak 1 (bila jlh individu dlm populasi ganjil) atau 2 ( bila jlh individu dlm populasi
adl genap)
5. Seleksi

6. Cross-over (pindah silang)


Operasi pindah silang antar kromosom yg dilakukan utk membentuk individu baru yg
lbh baik.

7. Mutasi (untuk melakukan modifikasi satu atau lebih nilai gen dlm kromosom yg sama.
8. Penggantian populasi (agar semua individu awal dari satu generasi diganti oleh
temporer individu hasil proses pindah silang dan mutasi)
1. Teknik Encoding/Decoding Gen dan Individu
 Encoding (pengkodean) berguna utk mengodekan nilai gen-gen
pembentuk individu. Nilai-nilai gen ini diperoleh scr acak.
 Decoding (pendekodean) berguna utk mendekode gen-gen
pemebentuk individu agar nilainya tdk melebihi range yg telah
ditentukan dan sekaligus mjd nilai variabel yg akan dicari sbg solusi
permasalahn. Jika nilai variabel x yg telah dikodekan tsb range-nya
diubah mjd [rb ra], yaitu rb = batas bwh, ra = batas atas , maka cara
utk mengubah nilai-nilai variabel di atas hingga berada dlm range yg
baru [rb ra], disebut decoding (pengodean)
1. Pengdekodean bilangan real :
x = rb + (ra – rb)g
2. Pendekodean diskrit desimal:
x = rb + (ra – rb) (g1.10-1 + g2. 10-2 + … + gN. 10-N)

3. Pendekodean biner:
x = rb + (ra – rb)(g1.2-1 + g2.2-2 + … + gN.2-N)

N : jlh gen dlm individu

Anda mungkin juga menyukai