Algoritma genetika diusulkan pertama kali oleh John Holland dan kolega-koleganya di Universitas Michigan untuk aplikasi cellular automata. Teknik ini menjadi populer di antara saintis dan rekayasawan seluruh dunia untuk memecahkan masalah optimasi mereka.
Algoritma genetika merupakan simulasi proses yang terjadi pada populasi alamiah yang merupakan hal penting dalam proses evolusi[1]. Di alam, individu di suatu populasi saling bersaing untuk memperoleh sumber daya seperti makan, baju dan tempat bekerja. Anggota-anggota sesama spesies sering bersaing untuk mendapatkan jodoh. Individu yang paling berhasil dalam mempertahankan hidup dan mendapatkan jodoh akan memiliki banyak keturunan (offspring). Individu yang kinerjanya buruk akan menghasilkan sedikit keturunan, bahkan ada yang tidak memiliki keturunan sama sekali.
Mekanisme Algoritma Genetika
Sesuai dengan teori genetika, sebelum algoritma genetika dapat dijalankan, sebuah kode yang sesuai (representatif) untuk persoalan harus dirancang. Untuk ini maka titik solusi dalam ruang permasalahan dikodekan dalam bentuk kromosom/string yang terdiri atas komponen genetik terkecil, yaitu gen. Pemakaian bilangan seperti integer, floating point, dan abjad sebagai alele (nilai gen) memungkinkan operator genetika, yaitu reproduksi (reproduction), pindah silang (crossover) dan mutasi (mutation) untuk menciptakan himpunan titik-titik solusi. Untuk memeriksa hasil optimasi, dibutuhkan fungsi fitness, sebagai ukuran dari proses optimasi (dalam istilah teknik optimasi, ini lebih dikenal sebagai fungsi tujuan –object function- atau fungsi biaya –cost function). Selama berjalan, induk harus digunakan untuk reproduksi, pindah silang dan mutasi untuk menciptakan keturunan. Jika algoritma genetika dirancang dengan baik, populasi akan mengalami konvergensi dan akan didapatkan sebuah solusi yang optimum (atau lebih tepat dikenal sebagai acceptable optimum).
Secara umum hal-hal yang harus dilakukan dalam algoritma genetika adalah sebagai berikut:
- Mendefinisikan individu. Suatu individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat.
- Mendefinisikan nilai fitness. Nilai fitness merupakan ukuran baik-tidaknya sebuah individu atau baik-tidaknya solusi yang didapatkan.
- Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random-walk.
- Menentukan proses seleksi yang akan digunakan.
- Menentukan proses pindah silang dan mutasi gen yang akan digunakan.
refferensi :
[1] Kuswadi, S., Kendali
Cerdas Teori dan Aplikasi Praktisnya, ANDI, Yogyakarta, 2007
hoho..
BalasHapuslike this gan :)
thanks frist comment ^_^
Hapus