Pages

Senin, 11 November 2013

Genetic Algoritm dan Paralel Genetic Algoritm

Genetic algorithm merupakan algoritma yang terispirasi dari proses evaluasi yang ada di alam. Genetic algorithm diperkenalkan pertama kali oleh John Holand. Genetic algorithm merupakan algoritma yang sangat baik dalam proses-proses optimalisasi. Proses-proses optimalisasi itu misalnya seperti mencari nilai maksimal untuk suatu fungsi, mencari jalan terpendek untuk mengunjungi beberapa kota sekaligus, dan lain sebagainya. 

Seperti pada proses biologi sesungguhnya, pada genetic algorithm juga memiliki istilah-sitilah seperti kromosom, gen, individu, populasi, generasi, mutasi, dan crossover. Biasanya sebuah solusi dari suatu masalah akan direpresentasikan sebagai individu. Kumpulan dari individu tersebut disebut populasi, jadi populasi juga bisa dikatakan sebagai kumpulan dari solusi-solusi masalah yang akan dioptimasi. Untuk mencapai individu terbaik maka pada genetic algorithm koromosom-koromsom akan mengalami crossover dan mutasi sehingga akan dihasilkan individu terbaik. 

Paralel genetic algorithm digunakan agar indivu yang dihasilkan akan mencapai hasil terbaik. Salah satu motode dalam paralel genetic algorithm adalah dengan menggunakan island - island atau pulau - pulau. Setiap pulau akan diisi oleh sebuah populasi yang terdiri dari berbagai individu. Nantinya setiap individu dari setiap pulau akan dicari yang terbaik untuk mewakili masing-masing pulau. Jumlah individu perwakilan pulau bisa bervariasi bisa juga sama antar pulau tergantung kebutuhan si peneliti. Individu-individu perwakilan setiap pulau akan di seleksi dan di crossover serta di mutasi agar dapat individu yang lebih bagus lagi.

Dalam genetic algorithm terdapat sebuah isu penting yaitu waktu pencarian individu yang mamakan banyak waktu dan sumber daya. Begitu pula halnya dengan paralel genetik algorithm akan makan lebih banyak sumber daya untuk pengolahanya, sehingga sangat disarankan untuk menyesuaikan pemakaian paralel genetic algorith dengan tujuan dan sumber daya yang dimiliki dan  masalah yang dioptimalisasi. Jika masala yang akan di optimalisasi sederhana saja maka sebaiknya gunakan saja genetic algorithm. Namun juka masalah sudah cukup kompleks misalnya masalah multidimensi makan paralel genetic algorithm bisa menjadi pilihan alternatif. 

Jika kita memiliki masalah-masalah yang berhubungan dengan optimasi maka genetic algorithm merupakan metode yang cukup disarankan untuk pemecahannya. Namun kita juga bisa untuk memodifikasi dan menggabungkan genetic algorithm dengan metode-metode lainya misalnya seperti artificial neural network, logika fuzzy, simulated aneling, particle swarm, ant colony dan lain sebagainya masih banyak lagi.

Intinya dari algoritma genetika agar efisien dalam memecahkan masalah-masalah optimasi adalah kita harus kreatif dalam memodifikasi genetic algorithm. Misalnya dalam proses merepresentasikan solusi masalah menjadi kromosom atau individu. 

2 komentar:

  1. Oom Lutfi, contoh penggunaan genetic dan parralel genetic algorithm apa yaa? hehehe. Btw nice blog!

    BalasHapus
    Balasan
    1. Genetic algorithm saat ini sangat banyak diterapkan, antara lain :

      1. Untuk optimalisasi jumlah kata dalam bidang text mining dan feature selection
      2. untuk optimalisasi arsitektur neural network
      3. untuk optimalisasi pendugaan parameter dalam pemodelan seperti regresi atau time series
      4. untuk optimalisasi jumlah variable
      5. untuk optimalisasi dan pembangkitan aturan-aturan fuzzy
      6. untuk menyelesaikan masalah-masalah NP-hard seperti TSV dan knapsack problem

      dan masih banyak lagi contoh-contoh penerpan genetic algorithm, TK

      Hapus