Anda di halaman 1dari 8

Evolutionary Algorithm (Algoritma Evolusioner)

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.

Pelaksanaan Proses Biologi

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.

Mengevaluasi kebugaran masing-masing individu dalam populasi


yang
3. Ulangi pada generasi ini sampai terminasi (batas waktu, cukup
kebugaran dicapai, dll):
1.Pilih individu terbaik cocok untuk reproduksi - orang tua
2.Berkembang biak individu baru melalui crossover dan mutasi
operasi untuk melahirkan keturunan
3.Mengevaluasi kebugaran individu individu baru
4.Ganti populasi paling-fit dengan individu baru

Teknik Algoritma Evolusioner


Teknik yang mirip berbeda dalam rincian pelaksanaan dan sifat
dari masalah diterapkan tertentu.

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.

Pemrograman genetik - Berikut solusi dalam bentuk program


komputer, dan kebugaran mereka ditentukan oleh kemampuan
mereka untuk memecahkan masalah komputasi.

Evolusi pemrograman - Serupa dengan pemrograman genetik,


tetapi struktur dari program ini adalah tetap dan parameter
numerik yang diizinkan untuk berkembang.

Gene pemrograman ekspresi - Seperti pemrograman genetik,


PMP juga berkembang program komputer tetapi mengeksplorasi
sistem genotipe-fenotip, di mana program komputer dengan
ukuran yang berbeda dikodekan dalam kromosom linear panjang
tetap.

Strategi Evolusi - Bekerja dengan vektor bilangan real sebagai


representasi dari solusi, dan biasanya menggunakan tingkat
mutasi diri adaptif.

Algoritma memetic - Ini adalah bentuk hibrida metode berbasis


populasi. Terinspirasi oleh kedua prinsip-prinsip evolusi Darwin alam dan
gagasan Dawkins meme yang dipandang sebagai bentuk algoritma berbasis
populasi ditambah dengan prosedur pembelajaran individu mampu melakukan
perbaikan lokal. Fokus dari penelitian demikian untuk menyeimbangkan telah
eksplorasi dan eksploitasi dalam pencarian.

Evolusi Diferensial - Berdasarkan perbedaan vektor dan karena


itu terutama cocok untuk masalah optimasi numerik.

Neuroevolution - Mirip dengan pemrograman genetik tetapi


genom
merupakan
jaringan
syaraf
tiruan
dengan
menggambarkan struktur dan koneksi bobot. Pengkodean genom
dapat langsung atau tidak langsung.

Teknik Terkait atau Teknik yang


memiliki kemiripan dalam
Implementasinya

Algoritma Swarm, termasuk :

1.Ant koloni optimasi - Berdasarkan gagasan semut mencari makan


dengan komunikasi feromon untuk membentuk jalur. Terutama cocok untuk
optimasi kombinatorial dan masalah grafik.
2.Algoritma lebah didasarkan pada perilaku mencari makan lebah madu.
Telah diterapkan di banyak aplikasi seperti routing dan penjadwalan.
3.Pencarian Cuckoo terinspirasi oleh parasitisme merenung dari spesies
cuckoo. Ia juga menggunakan penerbangan Retribusi, sehingga cocok untuk masalah
optimasi global.
4.Partikel swarm optimasi - Berdasarkan gagasan hewan berkelompok
perilaku. Juga terutama cocok untuk masalah optimasi numerik.

Metode metaheuristik berbasis populasi lainnya :

1.Algoritma Firefly terinspirasi oleh perilaku kunang-kunang, menarik satu


sama lain dengan lampu berkedip. Hal ini sangat berguna untuk optimasi
multimodal.
2.Harmony search - Berdasarkan gagasan perilaku musisi dalam mencari
harmoni yang lebih baik. Algoritmainicocokuntukoptimasikombinatorialserta
optimasiparameter.
3.Gaussian adaptasi - Berdasarkan teori informasi. Digunakan untuk
memaksimalkan hasil manufaktur, berarti kebugaran atau informasi ratarata. Lihat
misalnya Entropi dalam termodinamika dan teori informasi.
Sumber:
1. G.S.HornbyandJ.B.Pollack.Creatinghighlevelcomponentswithagenerative
representationforbodybrainevolution.ArtificialLife,8(3):223246,2002.
2. Ferreira,C.,2001.GeneExpressionProgramming:ANewAdaptiveAlgorithm
forSolvingProblems.ComplexSystems,Vol.13,issue2:87129.

Algoritma Kunang-Kunang (Firefly Algorithm)


Posted In Algoritma - 21.18 - 0 comments
Algoritma Kunang-kunang adalah sebuah algoritma metaheuristik yang terinspirasi dari
perilaku berkedip kunang-kunang. Tujuan utama berkedipnya kunang-kunang adalah

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)

Algoritma Kunang - Kunang (Firefly Algorithm)


Diposkan oleh Hasbi Ilmamsyah di 5/15/2012 06.59.00 AM Selasa, 15 Mei 2012 Label:
algoritma , artificial intelligencia , artikel , Dr Xin-She Yang , firefly algorithm ,
kecerdasan buatan , kunang-kunang
Firefly Algorithm atau Algoritma Kunang-Kunang termasuk salah satu algoritma pada
bidang Artificial Intelligence atau kecerdasan buatan. Untuk memahami lebih lanjut
mengenai metode dan juga formula yang terdapat pada firefly algorithm, marilah simak
penjelasan singkat dibawah ini.
Metode Firefly Algorithm (FA)

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) :

Jarak Antara Firefly


Jarak antara kunang-kunang i dan j pada lokasi x, xi dan xj dapat ditentukan ketika
dilakukanya peletakan titik dimana firefly tersebut disebar secara random dalam diagram
kartesius dengan rumus (Yang X.S, 2010).

Dimana selisih dari koordinat lokasi kunang-kunang i terhadap kunang-kunang j


merupakan jarak diantara keduanya (rij).
Pergerakan Firefly
Pergerakan kunang-kunang i yang bergerak menuju tingkat itensitas cahaya yang terbaik
dapat dilihat dari persamaan 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).

Flowchart Algoritma Firefly (Zulkifli, 2009)


Prosedur standar untuk menerapkan Firefly Algorithm adalah sebagai berikut :
1. Inisialisasi populasi firefly, jumlah iterasi dan parameter firefly algorithm.
2. Evaluasi fungsi fitness pada tiap firefly.
3. Inisialisasi fungsi fitness awal sebagai penentuan tingkat itensitas cahaya awal.
4. Update pergerakan tiap firefly menggunakan persamaan pergerakan (persamaan 2.26).
5. Bandingkan tiap calon firefly terbaik dari nilai fungsi fitness agar mendapatkan nilai
firefly terbaik.
6. Lakukan sampai batas iterasi atau sampai mendapatkan firefly dengan fungsi fitness
yang cukup baik.

Anda mungkin juga menyukai