SejarahdanIkhtisar
Dalam kecerdasan buatan, algoritma evolusioner (EA) adalah bagian dari
komputasi evolusioner, algoritma optimasi metaheuristik berbasis populasi generik. EA
menggunakanmekanismeterinspirasiolehevolusibiologis,sepertireproduksi,mutasi,
rekombinasi,danseleksi.Solusicalonuntukmasalahoptimasimemainkanperanindividu
dalamsuatupopulasi,danfungsifitnessmenentukanlingkungandimanasolusi"hidup"
(lihatjugafungsibiaya).Evolusipendudukkemudianterjadisetelahaplikasiberulang
dari operator di atas. Buatan evolusi (AE) menggambarkan proses yang melibatkan
algoritmaevolusionerindividu,EAmerupakankomponenindividuyangberpartisipasi
dalamAE.
Algoritma evolusioner sering melakukan solusi baik yang mendekati semua jenis masalah
karena mereka idealnya tidak membuat asumsi tentang lanskap kebugaran mendasari;
umum ini ditunjukkan oleh keberhasilan dalam bidang beragam seperti teknik, seni,
biologi, ekonomi, pemasaran, genetika, operasi penelitian,robotika,ilmusosial,fisika,
politik dan kimia. Teknik dari algoritma evolusioner diterapkan pada model evolusi
biologis umumnya terbatas pada eksplorasi proses evolusi mikro. Komputer simulasi
TierradanAvidaupayauntukmemodelkandinamikamacroevolutionary. Dalam aplikasi
yang paling nyata dari EA, kompleksitas komputasi merupakan faktor melarang. Bahkan,
kompleksitaskomputasiiniadalahkarenaevaluasifungsifitness.Kebugaranpendekatan
adalahsalahsatusolusiuntukmengatasikesulitanini.Namun,EAtampaknyasederhana
dapat memecahkan masalah sering kompleks, sehingga mungkin tidak ada hubungan
langsungantarakompleksitasalgoritmadankompleksitasmasalah.
Sebuah kemungkinan pembatasan banyak algoritma evolusioner adalah kurangnya yang
jelas perbedaan genotipe-fenotip. Dialam,yangdibuahiseltelurmengalamiprosesyang
kompleks yangdikenal sebagai embriogenesis menjadi fenotipematang.Iniencoding
tidak langsung diyakini membuat pencarian genetik lebih kuat (yaitu mengurangi
kemungkinanmutasifatal),danjugadapatmeningkatkanevolvabilityorganismetidak
langsung(aliasgeneratifatauperkembangan)pengkodeantersebut.Jugamemungkinkan
evolusiuntukmengeksploitasiketeraturandalamlingkungan. Penelitian terbaru di bidang
embryogeny buatan, atau sistem perkembangan buatan, berusaha untuk mengatasi
masalah ini. Dangenpemrogramanekspresiberhasilmengeksplorasisistemgenotipe
fenotip, di mana genotipe terdiri dari kromosom multigenic linear panjang tetap dan
fenotipeterdiridaribeberapapohonekspresiatauprogramkomputerukurandanbentuk
yang berbeda.
Dalam hal melakukan pelaksanaan proses biologinya, algoritma evolusioner dibagi - bagi
menjadi beberapa tahapan, diantaranya adalah sebagai berikut :
1. Menghasilkan populasi awal individu secara acak - Generasi pertama
2.
Algoritma genetika - ini adalah jenis yang paling populer dari EA.
Satu mencari solusi dari masalah dalam bentuk string nomor (tradisional biner,
meskipun representasi terbaik biasanya yang mencerminkan sesuatu tentang
masalah yang dipecahkan), dengan menerapkan operator seperti rekombinasi dan
mutasi (kadang-kadang satu, kadang-kadang keduanya) . Jenis EA sering
digunakan dalam masalah optimasi.
untuk menarik kunang-kunang yang lain. Xin-She Yang merumuskan algoritma kunangkunang ini dengan asumsi :
1. Semua kunang-kunang itu unisex, jadi suatu kunang-kunang akan tertarik pada
kunang-kunang yang lain.
2. Daya tarik sebanding dengan tingkat kecerahan kunang-kunang, kunang-kunang
dengan tingkat kecerahan lebih rendah akan tertarik dan bergerak ke kunang-kunang
dengan tingkat kecerahan lebih tinggi, kecerahan dapat berkurang seiring dengan
bertambahnya jarak.
3. Jika tidak ada kunang-kunang yang lebih terang dari kunang-kunang yang diberikan,
maka kunang-kunang ini akan bergerak secara random.
Pseudo-code algortima kunang-kunang adalah sebagai berikut :
Begin
end
(sumber : wikipedia)
Pada bidang Artificial Intelligence atau kecerdasan buatan ada istilah swarm intelligence
yang diartikan sebagai desain algoritma atau alat problem solving terdistribusi yang
terinspirasi oleh perilaku sosial kolektif koloni serangga dan koloni binatang (Riza L.S,
2010). Firefly Algorithm merupakan salah satu dari swarm intelligence tersebut. Firefly
Algorithm adalah sebuah algoritma metaheuristik yang terinspirasi dari perilaku berkedip
kunang-kunang.
Algoritma ini dikembangkan oleh Dr Xin-She Yang di Universitas Cambridge pada tahun
2007. Formulasi umum dari algoritma ini disajikan bersama-sama dengan pemodelan
matematika analisis untuk memecahkan masalah dengan tujuan ekuivalen fungsi.
Hasilnya dibandingkan dengan yang diperoleh dengan teknik alternatif yang diusulkan
oleh literatur untuk menunjukkan bahwa ia mampu menghasilkan solusi optimal baik dan
benar (Yang X.S, 2010).
Secara khusus, meskipun algoritma kunang-kunang memiliki banyak kemiripan dengan
algoritma lain yang didasarkan pada kecerdasan kawanan, seperti yang terkenal Particle
Swarm Optimization (PSO), Artificial Bee Colony optimization (ABC), dan Algoritma
Bacterial Foraging (BFA), memang jauh lebih sederhana baik dalam konsep dan
implementasi. Selanjutnya, algoritma ini sangat efisien dan dapat mengungguli algoritma
konvensional lainnya, seperti algoritma genetika, untuk memecahkan banyak masalah
optimasi.
Dr Xin-She Yang merumuskan firefly algorithm sebagai berikut (Broersma, H, 2010) :
1. Semua kunang-kunang itu unisex, jadi suatu kunang-kunang akan tertarik pada
kunang-kunang yang lain.
2. Daya tarik sebanding dengan tingkat kecerahan kunang-kunang, kunang-kunang
dengan tingkat kecerahan lebih rendah akan tertarik dan bergerak ke kunang-kunang
dengan tingkat kecerahan lebih tinggi, kecerahan dapat berkurang seiring dengan
bertambahnya jarak dan adanya penyerapan cahaya akibat faktor udara.
3. Kecerahan atau intensitas cahaya kunang-kunang ditentukan oleh nilai fungsi tujuan
dari masalah yang diberikan. Untuk masalah maksimisasi, intensitas cahaya sebanding
dengan nilai fungsi tujuan.
Keatraktifan Firefly
Ada dua hal yang berkaitan dan sangat penting dalam firefly algorithm yaitu itensitas
cahaya dan fungsi keatraktifan. Dalam hal ini banyak dari kita berasumsi bahwa
keatraktifan dipengaruhi oleh tingkat itensitas cahaya. Untuk kasus yang paling
sederhana contohnya masalah optimasi maksimum, tingkat itensitas cahaya pada sebuah
kunang-kunang x dapat dilihat sebagai,
I (x) = f (x)
Dengan nilai I merupakan tingkat itensitas cahaya pada x kunang-kunang yang sebanding
terhadap solusi fungsi tujuan permasalahan yang akan dicari f(x). Keatraktifan yang
bernilai relatif, karena itensitas cahaya yang harus dilihat dan dinilai oleh kunang-kunang
lain. Dengan demikian, hasil penilaian akan berbeda tergantung dari jarak antara kunangkunang yang satu dengan yang lainnya rij. Selain itu, itensitas cahaya akan menurun
dilihat dari sumbernya dikarenakan terserap oleh media contohnya udara (Yang X.S,
2010).
Fungsi keatraktifan ialah sebagai berikut (Yang X.S, 2010) :
Dimana variable awal xi menunjukan posisi awal kunang-kunang yang berada pada
lokasi x, kemudian persamaan kedua yang terdiri dari variable 0 = 1.0 variabel ini
merupakan nilai keaktratifan awal pada firefly, variabel (exp) bilangan eksponensial,
variabel =1.0 merupakan nilai untuk tingkat penyerapan pada lingkungan sekitar firefly
yaitu udara dan terakhir rij merupakan variabel selisih jarak awal antara firefly i dan j .
Semua variabel pada persamaan kedua tersebut diberikan dari fungsi keatraktifan firefly
yang mana menentukan tingkat kecerahan. Selanjutnya persamaan ketiga terdiri dari
selisih nilai solusi pada firefly i terhadap firefly j. Kemudian fungsi persamaan
pergerakan firefly secara random (rand) yang menunjukan adanya bilangan random yang
kisarannya antara [0,1]. variabel yang memiliki kisaran antara [0,1] biasa ditentukan
dengan nilai 0,2. Semua variabel yang terbentuk pada persamaan pergerakan firefly
menjamin cara kerja algoritma cepat menuju solusi yang optimal (Broersma H, 2010).