Algoritma genetika adalah teknik komputasi yang terinspirasi oleh prinsip evolusi biologis. Konsep utama dari algoritma genetika adalah pelestarian yang akan meningkatkan jumlah individu terbaik dalam sebuah populasi dari generasi ke generasi.
Representasi Populasi dalam Algoritma Genetika
Dalam algoritma genetika, populasinya disusun oleh rangkaian individu yang sering disebut sebagai kromosom atau solusi. Masing-masing kromosom ini adalah representasi dari titik solusi dalam ruang pencarian dan biasanya dinyatakan dalam bentuk string biner, tetapi ini bisa juga merepresentasikan berbagai jenis struktur data, tergantung pada masalah yang sedang diselesaikan.
Secara ilmiah, masing-masing individu dalam populasi ini memiliki “fitness” atau nilai penyesuaian, yang biasanya merupakan indikator seberapa baik solusi tersebut berhasil. Nilai fitness ini biasanya dihitung menggunakan fungsi tujuan yang dibuat sedemikian rupa sehingga mencerminkan “kebaikan” suatu solusi.
Cara Kerja Algoritma Genetika
- Inisialisasi Populasi: Algoritma tersebut dimulai dengan menciptakan suatu populasi awal yang biasanya terdiri dari kromosom acak.
- Penilaian Fitness: Setelah populasi dibentuk, masing-masing kromosom dievaluasi berdasarkan fungsi fitness.
- Seleksi: Kromosom dengan nilai fitness tertinggi biasanya dipilih untuk langkah berikutnya, yaitu proses silang.
- Crossover (Silangan): Dua kromosom atau lebih dipilih berdasarkan nilai fitness mereka. Bagian dari satu kromosom diambil dan dipadukan dengan bagian lain dari kromosom lain untuk menciptakan anak baru.
- Mutasi: Pada langkah ini, beberapa gen dalam kromosom berubah secara acak untuk memaintenir keragaman dalam populasi.
- Penggantian: Anak mendapatkan tempat dalam populasi, biasanya menggantikan kromosom dengan nilai fitness terendah.
Algoritma kemudian meneruskan kembali dari langkah penilaian fitness, dan proses ini berlanjut untuk sejumlah generasi atau sampai kondisi berhenti tercapai.
Kapan Menggunakan Algoritma Genetika?
Algoritma genetika sangat berguna untuk mengatasi masalah yang kompleks, dimana ruang pencarian besar dan sulit untuk dinavigasi secara efisien. Contohnya termasuk optimasi fungsi, pembelajaran mesin, dan penjadwalan.
Sebagai teknik optimasi stokastik yang global, algoritma genetika memberikan solusi yang memadai dalam banyak skenario dan memiliki potensi untuk menemukan solusi dekat optimal jika digunakan dengan benar.