Şimdi Yapay Arı Kolonisi Algoritması'ndan bahsedelim biraz. Erciyes Üniversitesi Bilgisayar Mühendisliği Öğretim Üyesi Prof. Dr. Derviş Karaboğa 2000'li yılların başında arıların sürü olarak yiyecek arama davranışlarını temel alarak geliştirilmiş bir optimizasyon algoritmasıdır.
Arı kolonisinin yaşamının devamının sağlanması için en önemli iş besin aranmasıdır. Bunun için de bal arıları, kovanın etrafındaki en karlı çiçekleri, en hızlı şekilde tespit eder ve kovana getirir. Buradaki amaç kovanı kaliteli balla hızlı bir şekilde doldurmaktır.
Arama süreci arının kovandan ayrılmasıyla başlar. Arı ilk önce rastgele çiçeklere giderek yiyecek miktarına bakar. Az miktarlı olan çiçeklere dokunmaz ve başka kaynak arayışına geçer. Bu arayışta kendisine diğer arıları yardımcı olur. İşte işin ilginç yanı burada başlıyor. Bu yiyecek arama modelinde 3 temel öge var: yiyecek kaynakları, görevli arayıcılar ve görevi belli olmayan arayıcılar.
Yiyecek kaynakları adından anlaşılacağı gibi arıların yiyecek bulmak için gittiği kaynaklar(çiçekler). Kaynaklar için bir çok kriter olsa da(kovana mesafesi, kaynağın çeşidi...) bu algoritmada önemli olan kriter kaynağın zenginliğidir.
Görevli arayıcılar önceden belirlenmiş kaynaklardan toplanan yiyeceği kovana getiren arılardır. Ve topladıkları kaynakları, mesafeleri kovana gelince diğer arılarla paylaşırlar.
Görevi belli olmayan arayıcılar ise yiyecek toplanabilecek kaynakları ararlar. Ve bunlar da kendi içlerinde 2'ye ayrılırlar: Rastgele kaynak arayan kaşif arılar; kovanda bekleyen ve arıları izleyerek, bu arılar tarafından gelen bilgilere göre yeni kaynaklara yönelen kaşif arılardır.
İyi güzel iş birliği içerisinde çalışıyorlar. Peki bu iletişimi nasıl sağlıyorlar? Evimizin her odasını nasıl farklı bir amaç için kullanıyorsak, arılar da kovanlarını farklı bölümlere ayırmışlar. Ve bu odalardan birinde bu bilgi aktarımı gerçekleşiyor. Bu odaya dans alanı diyorlar. Her şey gibi bu da adından anlaşılıyor ki, arılar bu bilgi paylaşımını dans ile yapıyorlar.
Kaynaklardan yiyecek getiren arılar, diğer arıları bu kaynağa yönlendirmek için kaynağın konumunu diğer arılara iletiyor. Konum bilgisini alan arı, kaynağa ulaşmak için güneş ışığını kullanıyor. Enerji tüketimine göre uzaklık belirleyen arılar, yüklerine göre farklı yükseklikte uçarak enerjilerini ayarlarlar.
100 m'den 10 km'ye kadar olan kaynaklarda bilgi iletimi için kuyruk dansı kullanılır. Bu dans 8'e benzer. Zannımca baya kıvırtmalı bir dans... Dansı izleyen arılar bir titreşim oluşturunca dansı yapan arı dansına son verir. Her 15 saniye de dansın tekrarlanması, kaynağın uzaklığı hakkında bilgi vermektedir. Daha az tekrarlanma sayısı daha uzak bölgeleri ifade eder.
Şekilde az önce anlattıklarımın çizimi bulunmakta. Aklınızdan 'bunu nasıl algoritmaya dökeceğiz ki?' diye geçirdiğinizi düşünmekteyim. Şimdi kabaca algoritmayı oluşturalım:
Adım1: Rastgele çözüm kümeleri oluştur. Her çözüm kümesi parametre sayısı kadar eleman içerir. Oluşturulan çözüm kümelerinin uygunluk değerleri bulunur. (Kaşif arıların rastgele besin kaynağı bulması)
Adım2: Tüm çözüm kümelerine sırasıyla iyileştirme formülü uygula. Eğer çözüm kümesi iyileştirilmişse yeni çözüm kümesi mevcut ile değiştirilir.(İşçi arılar besin kaynaklarına gider ve besin kaynağını işleyerek kovana dönerler.)
Adım3: Çözüm kümelerinin uygunluk değeri yüksek olanların olasılığı yüksek olacak şekilde ayarlanır. Bu olasılığa bağlı rastgele seçilen çözüm kümesine bir önceki aşamadaki gibi iyileştirilme formülü uygulanır.(Gözcü arılar işçi arıların danslarından besin kaynakları hakkında bilgi edinirler ve işlemek üzere besin kaynaklarına giderler.)
Adım4:Eğer belirlenen limit kadar iyileştirilemeyen çözüm kümesi varsa bu hafızadan silinir ve yerine rastgele bir çözüm kümesi oluşturulur.(Eğer besin kaynağı daha fazla besin üretemiyorsa işçi arı kaşif arıya dönüşür ve yeni besin kaynağına yönelir.)
Adım5: Maksimum iterasyona ulaşıncaya kadar adım2'ye geri dönülür.(Belirlenen tekrar sayısına ulaşıncaya kadar adım2'ye tekrar dönülür.)
Açıkçası sizi çok fazla sıkmak istemiyorum. Umarım bilgiler hoşunuza gitmiştir. Merak ettiğiniz herhangi bir konu varsa yorumlara yazabilirsiniz.
Sevgilerle MrsSpace👩🚀






Yorumlar
Yorum Gönder