1. Yapay Arı Kolonisi Algoritması
Prof. Dr. Derviş KARABOĞA tarafından geliştirilen YAKA literature 2005 yılında girmiştir[1]. Arıların besin arama davranışların YAKA’nın geliştirilmesini sağlamıştır. YAKA’da görevli arı, kaşif arı ve gözcü arı olmak üzere üç tip arı bulunmaktadır. YAKA’da arıların tüm davranışlarından etkilenilmediği gibi bazı varsayımlarda da bulunulmuştur. Bu varsayımlardan en göze çarpanı her bir besin kaynağının sadece bir görevli arı tarafından kullanılmasıdır. Besin kaynağı ve çalışan görevli arı sayısı birbirine eşittir. Bir diğer varsayım ise gözcü arı ve çalışan arı sayısının birbirine eşit olmasıdır. Böyle bir varsayımda bulunulmasına rağmen aslında bir nektara gidip gelen arının görevli olduğu besin kaynağı tükendiğinde bu arının kâşif arı olması da söz konusudur. Kaşif arılar görevli arıların işleri bitince ortaya çıkarlar. Yeni besin kaynaklarını ön bilgi olmadan rasgele olarak bulduğundan algoritmanın daha önceden keşfedemediği zengin besin kaynaklarını yani yüksek uygunluktaki olası çözümler kümesini bulabilir.
YAKA besin kaynaklarının yani olası çözüm değerlerini arama sürecinde 4 farklı seleksiyon yöntemi kullanmaktadır[2].
Küresel Seleksiyon İşlemi: Gözcü arıların gidecekleri besin kaynağının seçiminde kullanılan olasılık değerlerinin hesaplanması
Bölgesel Olasılık Tabanlı Seleksiyon İşlemi: Besin kaynağının komşuluğunun hesaplanması
Aç Gözlü Seleksiyon İşlemi: Uygunluk değerlerinin kıyaslanması
Rasgele Seleksiyon İşlemi: Kaşif arıların yeni besin kaynağı seçimi
Besin kaynağı keşfinde bulunan kâşif arı bulduğu besin kaynağından kovana nektar taşımaya başlar. Kovana gelen arı nektarı boşalttıktan sonra üç olasılık söz konusudur. Bunlar; dans alanına giderek besin kaynağı ile ilgili bilgiyi diğer arılarla paylaşmak, hiç bilgi vermeden doğrudan besin kaynağına yönelmek ya da bulduğu besin kaynağını terk ederek yeniden kâşif arı olmaya devam etmektir.
1.1. YAKA’nın Adımları
YAKA ile ilgili adımları sırası ile aşağıda yer almaktadır.
Adım 1: Rastgele besin kaynakları oluşturulur. Bu besin kaynaklarına sadık kalınarak işçi arı sayısı ve gözcü arı sayısı belirlenir. Ayrıca limit değeri de tespit edilir ve kontrol amaçlı sayaç değişkeni oluşturulur.
Adım 2: Oluşturulan besin kaynaklarının her bir çözüm değerleri amaç fonksiyonuna göre hesaplanır.
Adım 3: Bu adımda döngü başlamaktadır. Maksimum dögü sayısı belirlenerek işçi arılar besin kaynaklarına gönderilir. İşçi arılar besin kaynağından rastgele bir besine yönelerek işlemeye başlarlar. Arılar besini işler ve kalitesini ölçerler. Elde edilen çözüm değeri(kalite) bir önceki çözüm değerinden daha iyiyse bu besin ve besinle ilgili değerler hafızaya alınır ve limit değeri sıfırlanır. Tersi durumda ise limit değeri 1 artırılır. Limit değeri için belirli bir üst değer belirlemek algoritmanın çalıştırılması esnasında sonsuz döngüye girmeye engel olacaktır.
Adım 4: Görevli arılardan sonra besin kaynaklarına gözcü arılar yönlendirilir. Besinlerin uygunluk değerine göre bir besin kaynağı seçilir. Gözcü arı gittiği kaynağın kalitesini ölçer ve çözüm değerlerini hesaplar. Bu değerler içinde en iyi olan önceki çözüm değeriyle kıyaslanır. Önceki çözüm değerinden daha iyi ise bu besin ve besinle ilgili bilgiler hafızaya alınırlar ve limit değeri sıfırlanır. Tersi durumda limit değeri bir arttırılır. Limit değeri üst değeri aşıp aşmadığı kontrol edilir.
Adım 5: Görevli arı ve gözcü arı adımlarından sonra kaşif arı aşamasına geçilir. Kaşif arılar diğer besin kaynaklarından sonra tamamen yeni besin kaynakları belirler. Kâşif arı safhasının esas nedeni algoritmanın yerel minimum ya da maksimumda takılmasına engel olmaktır. Yeni besin
kaynaklarının çözüm değerleri hesaplanır ve bir önceki çözümle kıyaslanır. Eğer yeni çözüm değeri, bir öncekinden iyi ise en iyi çözüm olarak hafızada tutulur ve limit değeri sıfırlanır. Tersi durumda limit değeri bir arttırılır. Limit değeri üst değeri aşıp aşmadığı kontrol edilir.
Adım 6: Maksimum değerde ki döngü sayısına ulaşana kadar görevli arı, kaşif arı ve gözcü arı adımları tekrar edilir. Durdurma kriteri sağlanınca algoritma sonlandırılır.
Yukarıda yer alan YAKA’nın adımlarından da anlaşıldığı üzere YAKA’yı dörde ayırmak mükündür. Bunlar sırasıyla başlangıç besin kaynaklarının belirlenmesi, Görevli arıların besin kaynaklarına gönderilmesi, gözcü arıların uygunluk değerine göre besin kaynağı seçmesi ve en son olarak da tükenen besin kaynaklarının terk edilmesi ve kaşif arıların yeni besin kaynakları üretmeleridir.
2. Yapay Arı Kolonisi Algoritması ile İlgili Yapılan Çalışmalar
YAKA, 2005 yılında Kayseri’de bulunan Erciyes Üniversitesi Öğretim üyesi olan Derviş Karaboğa tarafından teknik bir rapor olarak literatüre kazandırılmıştır[4].Bu raporda doğada bulunan gerçek arılar hakkında kısa bir bilgi verildikten sonra arıların besin arama davranışları üzerinden elde edilmiş olan model ve parametreler tanıtılmıştır.
2006 yılında YAKA ile ilgili ilk konferans Bahriye Baştürk ile Derviş Karaboğa tarafından yapılmıştır[5]. Yayımlanan ilk makale ise 2007 yılında aynı yazarlar tarafından yazılmıştır[6]. Bu makalede YAKA’nın aktif ve güçlülüğü gösterilmiş, ayrıca diğer algoritmalar ile karşılaştırmaları yapılmıştır.
2007 yılında yayınlanan makalede YAKA’nın kısıtlı optimizasyon problemlerinde de çözüm sunan kullanılabilirliği yüksek bir algoritma olduğu gösterilmiştir[7].2009 yılında yayınlanan bir makalede ise YAKA’nın performansının değerlendirilmesi ele alınmıştır[8].
Ayrıca çeşitli programlama dilleri ile yazılmış olan YAKA, Erciyes Üniversitesi’nin oluşturduğu bir web sitesinde* tüm bilgilere erişilebilecek şekilde yayımlanmıştır[9].
2.1. Yapay Arı Kolonisi Algoritması ile İlgili Örnekler
2009 yılından sonra basit ve kolay uygulanabilir bir algoritma olması YAKA’nın kullanım oranını artırmıştır. YAKA’nın bir çok alanda uygulamarına rastlamak mümkündür. Genel olarak yapay sinir ağlarının eğitilmesi, veri madenciliği, kablosuz sensör ağları, resim işleme gibi ayrık ve kombinatoryal optimizasyon problemlerinde kullanılmıştır.
3. Sonuç
Yapay Arı Kolonisi algoritması basit ve esnek bir algoritmadır. Arıların gerçek yiyecek arama davranışlarına yakın olarak tasarlanmıştır. Sürü zekasına dayalıdır. Başlangıçta nümerik problemler için tasarlanmış ancak ilerleyen süreçte gerçek tasarım problemleri içinde kullanılmıştır.
Kaynakça
[1] Derviş Karaboğa, An Idea Based On Honey Bee Swarm For Numerical Optimization, TR-06, Erciyes University, Engineering Faculty, Computer Engineering Department, 2005.
[2] Bahriye Baştürk ve Derviş Karaboğa, “An artificial bee colony (abc) algorithm for numeric function optimization”, In: IEEE swarm intelligence symposium Indianapolis,IN,USA, , 2006 s. 49-53.
[3] Derviş Karaboğa, A modified artificial bee colony (ABC) algorithm for constrained optimization problems, 2011, s213
[4] Dervis Karaboga, An idea based on honey bee swarm for numerical optimization, 2005
[5] Bahriye Baştürk ve Derviş Karaboğa, “An artificial bee colony (abc) algorithm for
numeric function optimization”, In: IEEE swarm intelligence symposium Indianapolis,IN,USA, , 2006 s. 49-53.
[6] Derviş Karaboğa ve Bahriye Baştürk, “A Powerful and Efficent Algorithm for Numerical Function Optimization: Artificial Bee Colony (ABC) Algorithm”, J. Glob. Optim., 39, 459-471, 2007a.
[7] Derviş Karaboğa ve Bahriye Baştürk, “Artificial Bee Colony (ABC) Optimization Algorithm for Solving Constrained Optimization Problems”, Proceedings of the 12th International Fuzzy Systems Association World Congress on Foundations of Fuzzy Logic and Soft computing, Springer, Berlin, 789–798, 2007b.
[8] Derviş Karaboğa ve Bahriye Baştürk, “On the Performance of Artificial Bee Colony (ABC) Algorithm”, Applied Soft Computing, 8, 687-697, 2008.
[9] * http://mf.erciyes.edu.tr/abc/ Erciyes Üniversitesi İnternet sitesi. 2019