Zeki Optimizasyon Teknikleri (nt lgorithm) Doç.Dr. M. li kcayol 996 yılında Marco Dorigo tarafından ortaya atılmıştır. Temel olarak karıncaların yiyecek madde ile yuvaları arasındaki en kısa yolu bulmalarından esinlenilmiştir. Karınca algoritması genetik algoritma gibi popülasyon tabanlı yaklaşıma sahiptir. Karınca popülasyonu içindeki herbir karınca bir çözüm oluşturur ve daha sonra diğer karıncaların hareketini etkiler.
Engel d= F d= E d=0.5 D d= d= C d=0 0.5 2
lgoritmanın çalışmasında kesikli (discrete) zaman (t) kullanılır. Her zaman aralığında her bir karınca bir birim yer değiştirir. Her yerdeğiştirmede birim feromen maddesi bırakır. aşlangıçta (t=0) hiçbir yolda (kenarda) feromen maddesi yoktur. D F E 05 0.5 C 0.5 t= iken 6 karınca noktasında ve 6 karınca E noktasındadır. t=2 iken 8 karınca E noktasında 8 karınca noktasındadır. D noktasında 6 karınca vardır. Kenarlardan geçen karınca yoğunlukları ise FE=6, =6, C=6, CE=6, D=8, ED=8 olur. 6 karınca -F arasında 6 karınca F- arasında hareket ediyor. 3
Karınca algoritmaları sadece yol problemi çözümünde değil başka problemlerin çözümündede kullanılır. Sadece feromen maddesi çokluğuna ğ göre algoritma çalışırsa alt-optimal çözüme düşülür (lokal minimum). Global minimumu bulmak için yol seçiminde bazı olasılık seçimleri yapılır. Feromen birikmesi sınırsız ve sürekli değildir. Zamana bağlı olarak buharlaşma (yok olma) sözkonusudur ve her t zamanında belirli bir oranda azalır. (Yol problemi) Şehirler arasındaki en kısa yolu bulmak için her şehre bir karınca yerleştirilir. aşlangıç (t=0) için feromen miktarı tüm yollar için 0 olarak alınır. Her t+ zamanında her karınca yeni bir şehre hareket eder. Yeni şehrin belirlenmesinde bulunulan noktaya uzaklığı ile yoldaki feromen miktarına bağlı rastgele bir seçim kullanılır. Her zaman aralığında feromen miktarı için buharlaşma hesaplanır. uharlaşma 0 ile arasında bir değerdir. ir karıncanın bir şehre iki sefer gitmesi tabu listesi ile engellenir. Her hareketten sonra her karıncanın gittiği şehirler güncellenir. 4
(Yol problemi) - devam Her bir hareketten sonra feromen miktarı aşağıdaki formülle güncellenir. Fij(t+) = b.fij(t) + Fij Fij = Q / Kn (Her turdan sonraki güncelleme içinde i kullanılır) l urada Fij i. İle j. şehirler arasındaki yolda biriken feromen miktarı, b buharlaşma oranıdır. Q sabit katsayı ve Kn karıncanın kullandığı toplam yol uzunluğudur. ir sonraki şehre geçiş oranı aşağıdaki formülle belirlenir. yollar) Pij = Fij(t) α. Nij β / Σ Fik(t) α. Nik β k (k izin verilen urada Nij i. ile j. şehirler arasındaki yol uzunluğu, α ve β kontrol parametreleridir. (Uygulamalar ve raştırma) Gezgin satıcı problemi. raç yol problemi. Daha kapsamlı araştırma ş için Marco Dorigo nun bu konuyla ilgili Web sayfası kullanılabilir. http://iridia.ulb.ac.be/~mdorigo/co/co.html Sitede şu ana kadar yapılmış olan çalışmalar ve yayınlarla ilgili bilgiler bulunmaktadır. Makale taramak için: http://www.sciencedirect.com http://www.scirus.com http://www.ieeexplore.com http://www.google.com.tr http://citeseer.ist.psu.edu 5
Haftalık Ödev: Karınca algoritması konusunda çalışmayı içeren bir makale incelenecek ve elde edilen sonuçları içeren bir rapor hazırlanacaktır. İncelenen makalede karınca algoritması kullanılmasının gerekçeleri, uygulamanın sonuçları değerlendirilecektir. - İncelenen makale son 5 yılda yayınlanmış olacaktır. - Makale Yurtdışında SCI te taranan bir dergide yayınlanmış olacaktır. - SCI te tarandığını gösterir bilgi ödeve eklenecektir. - Hazırlanan rapora makalenin tam metnide eklenecektir. Gelecek Hafta Tavlama enzetimi (Simulated nnealing) 6