Ana içeriğe atla

BİRAZ DA ALGORİTMA


Bugün sizlerle farklı bir konu paylaşmak istedim. Çok ilgimi çeken bir algoritmayı sizlerle paylaşmak istiyorum. Yalnız ondan önce algoritma nedir diye soracak olursanız, hemen açıklayayım: aslında hayatımız algoritma. Ama kelime anlamını sorarsanız; bir problemi çözmek için ya da bir amaca ulaşmak için tasarladığımız yol, adım adım çözmek anlamına gelmektedir. Hayatımızdan örnek verecek olursak; evimizdeki mutfak malzemelerinin bittiğini ve elimizde sınırlı miktar paramızın olduğunu düşünelim. İlk yaptığımız şey nedir? Bir liste çıkartmak. Listenin içerisine paramızın yeteceği şekilde, en çok ihtiyacımızın olduğu gereksinimleri yazarız. Yani her ay hepimiz minik bir algoritma işletiyoruz aslında. 
  Ş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

Bu blogdaki popüler yayınlar

BEKLEMEYİN, YAPIN. İÇİNİZDE SİNSİ BİR ŞEY OLABİLİR..

                   Vize haftası, hastalık vs. derken kendimi zor toparladım. Yazı yazmaya vakit ayıramadım. İnsan yarın ne olacağını bilemez demiştim ya. Kesinlikle öyle. 25 gündür tahminlerin yürütüldüğü, ilaç yazılamayan ve henüz tedavi olamadığım bir rahatsızlığım var. 5 tane bölüm gezdim. En son muayene olduğum poliklinik tanı için uygulayacağı işleme baya ileri bir tarih verdi. Ve ben başka ilde ki hastaneleri araştırıyorum. Artık özel-devlet ücretli-ücretsiz araştırma hastanesi vs. fark etmiyor.            Sağlık denen şey gerçekten önemli.. Çok uzun tutamayacağım. Çünkü; anlatacak çok şeyim varken aslında hiç bir şeyim yok.           Ne yapmak istiyorsanız bugün yapın! 1 günde her şey değişebilir ve bu ne kadar sürer kestiremezsiniz. Beklemeyin.           Sağlıcakla kalın!

Pijamalı Kız

Evet bu aralar başlıktaki kız tam olarak benim. Yeni mezun bir işsiz olarak hayatım biraz zor ve sıkıcı geçiyor açıkcası. Yeni mezun olacak arkadaşları korkutmak istemem ama onca yıl okul okumaya alışmışken birden hayatından en büyük uğraşının çıkarılması insanı biraz üzüyor. Başta okulunun bitmesi fikri çok harika görünsede realitede maalesef öyle bir durum yok. Ama tabi ki tüm bunlara rağmen boş oturuyor gibi algılamayın. Peki napıyorum mesela alese girdim inşallah eylülde kendimi herhangi bir üniversiteye kabul ettirebilirsem yüksek lisansa başlıyacağım; ama o zamana kadar bir işte çalışmak istedim  tabi ki kendime göre bir iş bulamadım. Bu yüzden evdeyim bol bol sıkılmalı günler geçiriyorum. Amacım sizi sıkmak veya korkutmak değil aksine yeni mezun olacak arkadaşlar benim düştüğüm hataya düşmeyin demek. Tavsiyem daha okulunuzun bitmesine en az 5 6 ay varken mezun olduktan sonra ne yapmak istediğinize bir an önce karar vermeniz ve bu kararınıza körü körüne bağlanmamanız gerekiyo...

GÖKYÜZÜNDEKİ KRİSTALLER

    Her gece başımızı gökyüzüne çevirdiğimizde, şehir ışıklarından dolayı görmekte zorlandığımız minik parlak kristaller... Yıldızlardan bahsediyoruz evet. Kaç çeşit olduğunu merak ettiniz mi? Ben size bu soruyu sorduğumda aklınızdan "beyaz cüce, kırmızı dev " gibi cümlecikler geçtiyse bunları kafanızdan atın çünkü bunlar yıldızın evreleridir, çeşitleri değil .     Yıldızları sınıflandırmak için William Wilson Morgan ve Philip C Keenan 1943 yılında kafa kafaya vermişler. Yıldızları spektral tipine yani sıcaklıklarına göre sınıflandırmışlar ve buldukları bu yönteme ise " Morgan-Keenan " yöntemi demişlerdir. Spektral tipleri belirleyebilmek için bazı harfleri kullanmışlardır: O, B, A, F, G, K, M.(En ağırdan en hafife) Bu harfler yıldızın kütlesini ve tayf türünü sembolize eder. Harfleri akılda tutmak için bir kodlama bile var: ' O h B e A F ine G irl  K iss M e'       Yıldız sınıfları da kendi içlerinde bölümlere ayrılmaktadır. 0'dan 9'a do...