Algoritma Genetika
Evolutionary Algorithm
merupakan terminologi umum yang menjadi paying. Bagi empat istilah: algoritma
genetika (genetic algorithm), pemrograman genetika (genetic programming),
strategi evolusi (evolution strategies), dan pemrograman evolusi (evolutionary
programming). Tetapi, jenis evolutionary algorithm yang paling populer dan banyak
digunakan adalah algoritma genetika (genetic algorithm).
Algoritma genetika
merupakan evolusi/ perkembangan dunia computer dalam bidang kecerdasan buatan
(artificial intelligence). Sebenarnya kemunculan algoritma genetika ini
terinspirasi oleh teori evolusi Darwin (walaupun pada kenyatanya teori tersebut
terbukti keliru) dan teori-teori dalam ilmu biologi, sehingga banyak istilah
dan konsep biologi yang digunakan. Karena itu sesuai dengan namanya,
proses-proses yang terjadi dalam algoritma genetika samadengan apa yang terjadi
pada evolusi biologi. Algoritma genetika merupakan teknik pencarian nilai
optimum secara stochastic berdasarkan mekanisme seleksi alam. Algoritma
genetika berbeda dengan teknik konvergensi konvensional yang lebih bersifat
deterministik [7]. Metodenya sangat berbeda dengan kebanyakan algoritma
optimasi lainnya, yaitu mempunyai ciri-cirinya sebagai berikut:
Algoritma genetika merupakan
evolusi/ perkembangan dunia computer dalam bidang kecerdasan buatan (artificial
intelligence). Sebenarnya kemunculan algoritma genetika ini terinspirasi oleh
teori evolusi Darwin (walaupun pada kenyatanya teori tersebut terbukti keliru)
dan teori-teori dalam ilmu biologi, sehingga banyak istilah dan konsep biologi
yang digunakan. Karena itu sesuai dengan namanya, proses-proses yang terjadi
dalam algoritma genetika sama dengan apa yang terjadi pada evolusi biologi.
Algoritma genetika merupakan teknik pencarian nilai optimum secara stochastic
berdasarkan mekanisme seleksi alam. Algoritma genetika berbeda dengan teknik
konvergensi konvensional yang lebih bersifat deterministik.
Metodenya sangat berbeda
dengan kebanyakan algoritma optimasi lainnya, yaitu mempunyai ciri-cirinya
sebagai berikut:
a.
Menggunakan hasil pengkodean dari parameter, bukan parameter itu sendiri.
b.
Bekerja pada populasi bukan pada sesuatu yang unik.
c.
Menggunakan nilai satu-satunya pada fungsi dalam prosesnya.Tidak mengunakan
fungsi luar atau pengetahuan luar lainnya.
d.
Menggunakan fungsi transisi probabilitas, bukan sesuatu yang pasti.Sejarah Singkat Algoritma Genetika
Awal sejarah perkembangan dari
algoritma genetika (genetic algorithm) dimulai pada tahun 1960. Pada waktu itu,
I. Rochenberg dalam bukunya yang berjudul “Evolution Strategies” mengemukakan
tentang evolusi computer (computer evolutionary) yang kemudian dikembangkan
oleh peneliti lain. Algoritma genetika sendiri pertama kali dikembangkan oleh
John Holland pada tahun 1970-an di New York Amerika Serikat yang dikembangkan
bersama mahasiswa dan rekan-rekannya. Hal tersebut bisa dibuktikan dengan
adanya buku yang dibuat oleh Holland dengan judul “Adaptation in Natural and
Artificial System” yang diterbitkan pada tahun 1975.
Lalu tujuh belas tahun kemudian,
John Koza melakukan penelitian suatu program yang berkembang dengan menggunakan
algoritma genetika. Program yang dikenal dengan sebutan metode “Genetic
Programming” tersebut dibuat menggunakan LISP (bahasa pemrogramannya dapat
dinyatakan dalam bentuk parse tree yaitu objek kerjanya pada algoritma
genetika). Sampai sekarang algoritma genetika ini terus digunakan untuk
memecahkan permasalahan yang sulit dipecahkan dengan menggunakan algoritma
konvensional.
Aplikasi Algortima Genetika
Sejak pertama kali dirintis
oleh John Holland pada tahun 1960-an, algoritma genetika telah dipelajari,
diteliti, dan diaplikasikan secara luas pada berbagai bidang. Algoritma
genetika banyak digunakan pada masalah praktis yang berfokus pada pencarian
parameter-parameter optimal. Hal ini membuat banyak orang mengira bahwa
algoritma genetika hanya bisa digunakan untuk masalah optimasi. Pada
kenyataannya, algoritma juga memiliki performansi yang bagus untuk
masalah-masalah selain optimasi . Keuntungan penggunaan algoritma genetika
sangat jelas terlihat dari kemudahan implementasi dan kemampuannya untuk
menemukan solusi yang bagus (bisa diterima) secara cepat untuk masalah-masalah
berdimensi tinggi. Algoritma genetika sangat berguna dan efisien untuk
masalah-masalah dengan karakteristik sebagai berikut:
a.
Ruang masalah sangat besar, kompleks, dan sulit
dipahami.
b.
Kurang atau bahkan tidak ada pengetahuan yang
memadai untuk merepresentasikan masalah
ke dalam ruang pencarian yang lebih sempit.
c.
Tidak tersedianya analisis matematika yang
memadai.
d.
Ketika metode-metode konvensional sudah tidak
mampu meyelesaikan masalah yang dihadapi.
e.
Solusi yang diharapkan tidak harus paling
optimal, tetapi cukup bagus atau bisa diterima.
f.
Terdapat batasan waktu, misalnya real time
system atau sistem waktu nyata.