Algoritma genetika sebagai cabang dari algoritma evolusi merupakan metode adaptive yang dapat digunakan untuk memecahkan suatu pencarian nilai dalam bentuk masalah optimasi. Algoritma ini didasarkan pada proses genetik yang ada dalam mahluk hidup; yaitu perkembangan generasi dalam sebuah populasi yang alami, secara lambat laun mengikuti prinsip seleksi alam.
Sebelum algoritma genetika bisa dijalankan, maka 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. Dengan teorievolusi dan teori genetika, di dalam penerapan algoritma genetika akan melibatkan beberapa operator yaitu :
1. Operasi evolusi yang melibatkan proses seleksi di dalamnya
2. Opersi genetika yang melibatkan operator pindah silang dan mutasi
Untuk memeriksa hasil optimasi, kita membutuhkan fungsi fitness, yang menandakan gambaran hasil yang sudah dikodekan. Selama berjalan, induk harus digunakan untuk reproduksi, pindah silang dan mutasi untuk menciptakan keturunan. Jka algoritma genetika didesain secarabaik maka populasi akan mengalami konvergebsi dan akan didapatkan sebuah solusi yang optimum.
1. Hal-hal yang harus dilakukan dalam algoritma genetika
- mendefinisikan individu, dimana individu menyatakan salah satu solusi yang ungkin dari permasalahan yang diangkat.
- Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidaknya sebuah individu atau baik-tidaknya solusi yang didapatkan.
- Menentukan proses pembangkitan populasi awal, hal ini biasanya dilakukan dengan menggunakan pembagian acak seperti random-walk
- Menentukan proses seleksi yang digunakan
- Menentukan proses perkawinan silang dan mutasi gen yang akan digunakan
2. Siklus algoritma genetika
3. Komponen-komponen utama algoritma genetika
- Teknik pengkodean
Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom, dimana gen merupakan bagian dari kromosom. Satu gen mewakili satu variabel. Gen dapat direpresentasikan dalam bentuk : bit, bilangan real, daftar aturan, elemen permutasi, elemen program atau representasi lainnya yang dapat diimplementasikan untuk operator genetika.
- Membangkitkan populasi awal
Merupakan proses membangkitkan sejumlah individu secara acak atau melalui prosedur tertentu. Teknik dalam pembangkitan populasi awal ini ada beberapa cara :
a. Random generator
Inti dari cara ini adalah melibatkan pembangkitan bilangan random untuk nilai setiap gen sesuai dengan representasi kromosom yang digunakan. Jika menggunakan representasi biner, salah satu contoh penggunaan random generator adalah penggunaan rumus :
IPOP = round[random(Nipop,Nbits)]
Ket : - IPOP =pembulatan dari bilangan random yang dibangkitkan
- Nipop = jumlah populasi
- Nbits = jumlah gen dalam tiap kromosom
b. Pendekatan tertentu
memasukkan nilai tertentu ke dalam gen dari populasi awal yang dibentuk.
c. Permutasi gen
- Seleksi
Seleksi digunakan untuk memilih individu2 mana saja yang akan dipilih untuk proses kawin silang dan mutasi. Seleksi digunakan untuk mendapatkan calon induk yang baik.
- Pindah silang (crossover)
Adalah operator dari algoritma genetika yang melibatkan dua induk untuk pembentukan kromosom baru. Pindah silang menghasilkan titik baru dalam ruang pencarian yang siap untuk diuji. Opersi ini tidak selalu dilakukan pada semua individu yang ada. Individu dipilih secara acak.
- Mutasi
Operator ini berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi.
4. Hal penting yang harus diperhatikan dalam penggunaan algoritma genetika
a. Algoritma genetika adalah algoritma yang dikembangkan dari proses pencarian solusi menggunakan pencarian acak , ini terlihat pada proses pembangkitan populais awal yang menyatakan sekumpulan solusi yang dipilih secara acak.
b. Berikutnya pencarian dilakukan berdasarkan proses2 teori genetika yang memperhatikan pemikiran bagaimana memperoleh individu yng lebih baik, sehingga dalam proses evolusi dapat diharapkan mendapatkan individu yang baik.
2 komentar:
artikel yang menarik, kami juga punya artikel tentang 'algoritma genetika' silahkan buka link ini
http://repository.gunadarma.ac.id/bitstream/123456789/3215/1/IMG_0004.pdf
semoga bermanfaat ya
artikel yang menarik, kami juga punya artikel tentang 'algoritma genetika' silahkan buka link ini
http://repository.gunadarma.ac.id/bitstream/123456789/3215/1/IMG_0004.pdf
semoga bermanfaat ya
Post a Comment
saran dan komentarmu sangat membantu untuk membuat blog ini makin baik dan berisi^^