Algoritma genetik adalah teknik pencarian yang di dalam ilmu komputer untuk
menemukan penyelesaian perkiraan untuk optimisasi dan masalah pencarian.
Algoritma genetik adalah kelas khusus dari algoritma evolusioner dengan
menggunakan teknik yang terinspirasi oleh biologi evolusioner seperti warisan,
mutasi, seleksi alam dan rekombinasi (atau crossover)
Algoritma Genetik pertama kali
dikembangkan oleh John Holland pada tahun 1970-an di New York, Amerika Serikat.
Dia beserta murid-murid dan teman kerjanya menghasilkan buku berjudul
"Adaption in Natural and Artificial Systems" pada tahun 1975.
Algoritma Genetik khususnya
diterapkan sebagai simulasi komputer dimana sebuah populasi representasi
abstrak (disebut kromosom) dari solusi-solusi calon (disebut
individual) pada sebuah masalah optimisasi akan berkembang menjadi
solusi-solusi yang lebih baik. Secara tradisional, solusi-solusi dilambangkan
dalam biner sebagai string '0' dan '1', walaupun dimungkinkan juga penggunaan penyandian (encoding)
yang berbeda. Evolusi dimulai dari sebuah populasi individual acak yang lengkap
dan terjadi dalam generasi-generasi. Dalam tiap generasi, kemampuan keseluruhan
populasi dievaluasi, kemudian multiple individuals dipilih dari populasi
sekarang (current) tersebut secara stochastic (berdasarkan
kemampuan mereka), lalu dimodifikasi (melalui mutasi atau rekombinasi) menjadi
bentuk populasi baru yang menjadi populasi sekarang (current) pada iterasi
berikutnya dari algoritma.
Prosedur Algoritma Genetik
Algoritma genetik yang umum
menyaratkan dua hal untuk didefinisikan: (1) representasi genetik dari
penyelesaian, (2) fungsi kemampuan untuk mengevaluasinya.
Representasi baku adalah sebuah
larik bit-bit. Larik jenis dan struktur lain dapat digunakan dengan cara yang
sama. Hal utama yang membuat representasi genetik ini menjadi tepat adalah
bahwa bagian-bagiannya mudah diatur karena ukurannya yang tetap, yang
memudahkan operasi persilangan sederhana. Representasi panjang variabel juga
digunakan, tetapi implementasi persilangan lebih kompleks dalam kasus ini.
Representasi seperti pohon diselidiki dalam pemrograman genetik dan
representasi bentuk bebas diselidiki di dalam HBGA.
Fungsi kemampuan didefinisikan di
atas representasi genetik dan mengukur kualitas penyelesaian yang diwakili. Fungsi
kemampuan selalu tergantung pada masalah. Sebagai contoh, jika pada ransel kita
ingin memaksimalkan jumlah benda (obyek) yang dapat kita masukkan ke dalamnya
pada beberapa kapasitas yang tetap. Representasi penyelesaian mungkin berbentuk
larik bits, dimana tiap bit mewakili obyek yang berbeda, dan nilai bit (0 atau
1) menggambarkan apakah obyek tersebut ada di dalam ransel atau tidak. Tidak
setiap representasi seperti ini valid, karena ukuran obyek dapat melebihi
kapasitas ransel. Kemampuan penyelesaian adalah jumlah nilai dari semua obyek
di dalam ransel jika representasi itu valid, atau jika tidak 0. Dalam beberapa
masalah, susah atau bahkan tidak mungkin untuk mendefinisikan lambang
kemampuan, maka pada kasus ini digunakan IGA.
Sekali kita mendefinisikan
representasi genetik dan fungsi kemampuan, algoritma genetik akan memproses
inisialisasi populasi penyelesaian secara acak, dan memperbaikinya melalui
aplikasi pengulangan dengan aplikasi operator-operator mutasi, persilangan, dan seleksi.
Secara sederhana, algoritma umum
dari algoritma genetik ini dapat dirumuskan menjadi beberapa langkah, yaitu:
- Membentuk suatu populasi individual dengan keadaan acak
- Mengevaluasi kecocokan setiap individual keadaan dengan hasil yang diinginkan
- Memilih individual dengan kecocokan yang tertinggi
- Bereproduksi, mengadakan persilangan antar individual terpilih diselingi mutasi
- Mengulangi langkah 2 - 4 sampai ditemukan individual dengan hasil yang diinginkan
Artikel bertopik komputer ini adalah sebuah rintisan. Anda dapat membantu Wikipedia dengan mengembangkannya
|
0 komentar:
Posting Komentar
Silahkan Tinggalkan Komentar Anda di Sini, dan di Harapkan Berkomentar Dengan Bahasa Yang Baku dan Sopan, Demi Kenyamanan Bersama Terimakasih.