Algoritma Evolutionary Search ialah kaedah pengoptimuman berdasarkan mekanisme evolusi semula jadi. Algoritma ini mensimulasikan proses evolusi individu dalam populasi merentas generasi untuk mencari penyelesaian terbaik bagi sesuatu masalah.
Bagaimana ia berfungsi
- Permulaan Populasi: Buat populasi awal individu yang dijana secara rawak.
- Penilaian: Menilai kualiti setiap individu dalam populasi berdasarkan fungsi objektif atau kriteria penilaian.
- Pemilihan: Pilih subset individu terbaik daripada populasi semasa berdasarkan kebarangkalian atau kriteria pemilihan.
- Evolusi: Cipta generasi baharu dengan menggunakan operasi silang dan mutasi kepada individu yang dipilih.
- Lelaran: Ulang langkah 2 hingga 4 dalam beberapa generasi sehingga penyelesaian yang memuaskan dicapai atau bilangan lelaran yang telah ditetapkan dicapai.
Contoh: Mengoptimumkan Fibonacci Fungsi menggunakan Carian Evolusi
Pertimbangkan masalah pengoptimuman fungsi Fibonacci F(x) = F(x-1) + F(x-2) dengan F(0) = 0, F(1) = 1. Kami ingin mencari nilai x yang mana F(x) dimaksimumkan. Kaedah Carian Evolusi boleh menjana populasi nilai x rawak, mengembangkannya merentas generasi untuk mencari nilai x optimum.
Contoh Kod dalam C++
Dalam contoh ini, kami menggunakan kaedah Carian Evolusi untuk mengoptimumkan Fibonacci fungsi. Kami menjana populasi nilai x rawak, mengembangkannya merentas generasi dengan memilih individu terbaik dan menggunakan operasi silang dan mutasi.