Ads Top

Ateş Böceği Algoritması (Firefly Algorithm)

Ateş Böceği Algoritması
       Ateş böceği algoritması, Ulusal Fizik Laboratuvarı’nda Kıdemli Araştırma Bilimcisi Dr. Xin-She Yang tarafından ateş böceklerinin sosyal hayatlarındaki tepkilerinden esinlenerek 2008 yılında geliştirdiği meta sezgisel optimizasyon algoritmalarından biri olan sürü optimizasyon algoritmasıdır. Biyolojik yapıları sayesinde ateş böceklerinin birçoğu kısa süreli ve ritmik ışıklar üretir. Bu iki ritmik ışık hareketi arasındaki zaman farkı ve ışık şiddeti ateş böceklerinin eş adaylarını ve avlarını cezbedip kendilerine çekmelerini veya tehlike oluşturan diğer hayvanlardan kendilerini korumalarını sağlar. Ateş böceklerinin tamamının aynı niteliklere sahip canlılar olarak kabul edilmesi algoritma için temel özelliklerden biridir. Ateş böceği algoritması, sürüdeki her bireyin kendisinden daha parlak bireylere yönelmesine ve eğer kendisinden daha parlak bir ateş böceği bulunmuyorsa rastgele hareket etmesi problemine dayanır. Burada ışığın parlaklığı ışık yoğunluğu ile doğru, uzaklık ile ters orantılıdır. Algoritmada kullanılan uygunluk fonksiyonu, ateş böceklerinin parlaklıklarını belirlemede optimum sonuçlar elde edilmesini sağlar.


Ateş Böceği Algoritması

Ateş böceği algoritması 3 önemli ilkeye sahiptir:

  •       Yığılımdaki tüm bireyler cinsiyetsizdir. Bu sayede cinsiyet konusu göz önüne alınmadan her birey bir diğerini etkileyebilir ve kendisine çekebilir.
  •          Ateş böceklerinin çekiciliği sahip oldukları parlaklıkla doğru orantılıdır. Yani bir ateş böceği ne kadar parlaksa diğer bir ateş böceği için o kadar çekicidir. İki ateş böceğinden daha az parlaklığa sahip olan daha çok parlaklığa sahip olana doğru hareket eder. Ateş böceği için kendisinden daha parlak bir birey yoksa rastgele hareket eder. Ayrıca mesafe arttıkça parlaklığın etkisi azalacağından çekicilik azalır. Yani mesafe ve çekicilik ters orantılıdır.
  •       Yığılımdaki her bireyin parlaklığı uygunluk fonksiyonu ile ilişkilendirilir.

Ateş böceği algoritmasında ışık yoğunluğu ve çekicilik formülize edilir.

Işık yoğunluğu ‘I’ ve iki ateş böceği arasındaki uzaklık ‘r’ ile gösterilir.  Burada yoğunluk, ışık kaynağına olan uzaklığın karesiyle ters orantılı olarak değişir. Yani mesafe arttıkça ışık yoğunluğu azalmaktadır. I ışık kaynağının yoğunluğunu gösterir ve denklem şu şekilde ifade edilir:                          

ışık yoğunluğu

Havanın yoğunluğuna ve ışığın frekansına bağlı olarak ışık emilimi gerçekleşir. Işık emilim katsayısı ‘ƴ’ ile gösterilir. Bu katsayı 0 ile +∞ arasında değer alabilir. Fakat genel olarak 1 kabul edilir. I0,  r=0 durumundaki ışık yoğunluğudur. Bu durumda yukarıdaki denklem  tanımsız olacağından ışık yoğunluğunu aşağıdaki denklem ile tanımlayabiliriz:

      

Ateş böceğinin çekiciliği ‘β’ ile gösterilir ve ışık yoğunluğu ile doğru orantılı olup ateş böceğinin β değeri ne kadar yüksekse diğer ateş böcekleri tarafından seçilme oranı o kadar fazladır. Çekicilik denklemi (*) haline gelir:           

                                                         

 denklemde ‘β0’ r = 0 durumunda ateş böceğinin sahip olduğu çekiciliği gösterir. Denklemde exp(-ƴr^2) hesabı karmaşık olduğundan kolaylaştırmak için 1/(1+r^2) formatını kullanarak da ifade edebiliriz (**):

                                                    

Mesafe ve emilim katsayısı ‘r=1/ƴ’ ile ilişkilendirilebilir. Bu durumda * için β=β0 ve ** için β=β0/2 şeklinde kayda değer değişiklikler olur. Çekicilik fonksiyonunda (β(r)) yerine konulduğunda ‘m’ değişkeni 1’e büyük veya eşit olma koşuluyla aşağıdaki denklem elde edilir:                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       ƴ’ sabiti karakteristik bir uzunluk olup ,                                                                                                                                                                                                                                                                                                                          

Öte yandan ‘Γ’ bir optimizasyon probleminde uzunluk birimi olmak üzere, ‘ƴ’ değişkeniyle şu şeklinde ilişkilendirilebilir:                                                                                                                                                                    

‘i’ ve ‘j’ indisleri kartezyen koordinat sisteminde bulunan iki ateş böceğini, ‘k’ ateş böceklerinden herhangi birinin içinde bulunduğu boyutu, ‘d’ optimize edilecek boyut sayısını ve ‘x’ konumu temsil etmektedir.  Konumun gösterimi;


          Ateş böceklerinin arasındaki mesafe aşağıdaki formül ile hesaplanır.                                                                                                
                                                                                                                                                                     

‘α’ rastlantısallık parametresi ve ‘εί’ rastgele sayılar vektörü 0 ile 1 arasında değer alabilen değerler olmak üzere, ‘i’ indisli ateş böceğinin ‘j’ indisli ateş böceğinden daha parlak dolayısıyla daha çekici olduğunu varsayarsak i ateş böceğinin j ateş böceğine doğru hareketinin denklemi:



Ateş Böceği Algoritmasının Akış Diyagramı



kaynak: 
X. S. Yang, 2009. Firefly algorithms for multimodal optimization, proceedings of the stochastic algorithms: foundations and applications, Lecture Notes in Computing Sciences, pp. 169-178, 5th International Symposium, SAGA 2009, Springer, Sapporo, Japan
Baktır, A. E. 2018. Sezgi̇sel Opti̇mi̇zasyon Algori̇tmalari Kullanilarak Di̇nami̇k Ağirlik Ölçme Si̇stemi̇ni̇n Ki̇mli̇klendi̇ri̇lmesi̇. 



4 yorum:

Blogger tarafından desteklenmektedir.