Benzer bir sorunla karşılaşan
insansı topluluklar, bu sorunu evrim süreçleri içinde karmaşık
bir sinir sistemi geliştirerek çözdüler. Bu da bazı bilim
adamlarına göre modern insanın yolunu açtı. Oysa, sinir
sistemi oldukça basit olan karıncanın insandaki kadar karmaşık
stratejiler geliştirmesine olanak yoktu. Bununla beraber,
karıncanın evrimi böceklerin zaten oldukça gelişmiş olan koku
sistemlerini oldukça basit bir algoritma
(1) ile birleştirdi,
ve karınca ve benzeri böceklerin yol bulma sorununu müthiş bir
şekilde çözdü.
Karıncaların yol bulma stratejileri, bu sürüleri inceleyen
bilim insanlarına ilgi çekici gelmiştir. Çünkü karıncalar
oldukça basit bir yöntem kullanmalarına rağmen, yol bulmakta
insansılarla yarışacak kadar başarılı olabiliyorlar.
Matematikçi ve mühendisler karınca davranışlarını taklit
ederek oldukça karmaşık optimizasyon problemlerini
çözebiliyorlar.
Optimizasyon, belirli matematiksel bir fonksiyonun en yüksek
veya en düşük olduğu değerini bulmaya çalıştığımız matematik
problemlerinin genel adıdır. Devler ülkesine adım atan
karıncanın en büyük problemi şudur: yiyeceği yuvasına taşımalı
ama devler ülkesinde olabildiğince az kalıp dönmelidir. Ayrıca
strateji, bir sürü üyesinden yardım alınmadan ve farklı yer
şekillerinde de uygulanabilmelidir.
Bu problem insanların da çözmek zorunda olduğu birçok probleme
benzer. Örneğin Ankara’da basılan gazeteleri Türkiye’nin her
iline dağıtmakla yükümlü bir gazete dağıtımcısının, ekonominin
gereği olarak dağıtım yaparken en az benzin harcamak istemesi
gibi, devler ülkesindeki karınca da aynı sorunla karşı
karşıyadır. Öyleyse, bu tür problemlerde neden karıncaların
izlediği stratejiyi kullanmayalım ki?
Karıncaların Yol Bulma Stratejisi
Karıncalar, insan dahil birçok canlının cinsel eşini
bulabilmek için kullandığı koku yayma ve yayılan kokuları
takip etme yönteminin benzerini kullanırlar. Karıncaların koku
yayma ve koku alma yetenekleri oldukça güçlüdür ama yol bulma
stratejisinde takip edilen koku, koku yayıcı karıncanın
cinsiyetine bağlı değildir.
Karıncaların yol
bulma stratejisi (Wikimedia Commons)
Yuvadan çıkan karıncalar,
bulundukları yerde diğer karıncalardan kaynaklanan baskın bir
koku yoksa tamamen rastgele hareket ederler.
Eğer herhangi bir yönden diğer karıncaların yaydığı bir kokuyu
alabilmişse, karınca o tarafa yönelir. Birden çok yönden koku
alıyorsa kokunun geldiği en baskın tarafa yönelir.
Karıncanın yaydığı koku bir süre o bölgede kalabilir. Bu
sayede bir yolu birden çok karınca tercih etmişse aradan
belirli bir süre geçmiş olsa bile daha çok tercih edilen
bölgeden daha baskın bir koku gelir.
Sürüdeki bütün karıncalar bu stratejiyi izlediğinde,
başlangıçta rastgele başlayan sürü hareketi zamanla belli bir
yol üstünde sabitlenir ki bu yol, yuva ile yiyecek arasındaki
en kısa yoldur.
Yukarıdaki
video, antsim programına ait bir animasyon. Görüldüğü gibi,
karınca yuvası ile yiyecek arasında herhangi bir engel yok.
Bu tür durumlarda karınca yuvası algoritması çok avantajlı
değildir. Ama yine de karıncaların konumu hakkında hiçbir
bilgisi olmadığı yiyeceğe nasıl ulaştığını görebilirsiniz.
(Model, karıncaların tek algısının feromon olduğunu ve
yiyeceğin kokusuz olduğunu varsayıyor).
Yukarıda da incelediğimiz gibi
karıncalar yol bulmak için ait olduğu sürüyle iletişim
kurmalıdır ve bu iletişimi böcekler de oldukça gelişmiş olan
koku yoluyla yapar. Birçok canlı çevresindeki kokuları algılar
ve bu kokuları güzel ve kötü olarak sınıflar. Bu davranış,
canlının ihtiyacı olan maddelere ulaşmasını ve ona zarar
verebilecek olanlardan uzak durmasını sağlar. Ama, kendi
türünden olan canlılarla iletişim kurmak için bunun yanında
canlının koku üretebilmesi de gerekir. Bir canlının diğer
canlılarla kokusal yolla sosyal ilişki kurmak için havaya
yaydığı kimyasallara feromon diyoruz. Bilim insanları
feromonların temelde hayvanların hemen tamamında cinsel
partner bulmak amacıyla evrimleştiğini düşünüyorlar.
Feromonların, karınca ve arılarda ana işlevleri olan cinsel eş
bulma amacı dışında, sürü iletişimi için kullanılması
Darwin’in fark ettiği, bir amaç için evrimleşmiş bir yapının
evrim süreci içinde başka amaç için kullanılmasının iyi bir
örneği.
Karıncalar bir
süre sonra sürekli geçtikleri yolda belirgin patikalar
oluşturabiliyorlar. (Wikimedia Commons)
Her ne kadar
feromonların yapay taklitleri olan parfümlerle bu koku
sistemini aldatıyor olsak da, insanlarda da cinsel sinyal
vermek için koku kullanımı geçerli.
Doğadan Aldığımız Diğer Algoritmalar
Karınca Takip Algoritması bilim insanlarının doğayı
gözlemleyerek keşfettikleri tek algoritma değil. Kuş Sürüsü
Optimizasyonları, yani kuşların, karıncalara benzer şekilde
çok uzun mesafeleri kat ederken kullandıkları algoritmalar da
bilim insanlarına ve mühendislere esin kaynağı oldu. Bunun
yanında evrim teorisini temel alan çok sayıda algoritma
kullanıyoruz. Bu algoritmaların bütününe Sezgisel Algoritmalar
diyoruz. Karınca Kolonisi dışında en yaygın kullanılan
sezgisel optimizasyon algoritmalarını şöyle sıralayabiliriz:
Tavlama Taklit Algoritması (Simulated Annealing):
Özellikle kristal atomlarının ardı sıra ısıtma ve soğutmalarla
kristalin içindeki kusurların giderilmesi yöntemini taklit
eder.
Kuş Kolonisi Algoritması: (Particle Swarm Optimization
Algorithm): Kuş sürülerinin uzun mesafeleri kat ederken
kullandıkları takip yöntemini kullanır.
Arı Sürüsü Algoritması: Karınca yerine arı davranışını
taklit eden algoritmalardır.
Genetik Algoritma: Evrimsel algoritmaların en ünlüsü,
kusurları olan ve optimize edilmesi gereken veri bir DNA
olarak kabul edilir ve üreme, mutasyon ve Darvinci doğal
ayıklama sürekli uygulanır.
Kullanım Alanları
Karınca Sürüsü Algoritmasının ve diğer sezgisel algoritmaların
kullanım alanları en kısa zaman problemleriyle sınırlı
değildir. Karıncalar yalnızca bu amaç için kullansa da
matematiksel formüller değiştirilerek aynı yapı en az kaynak
(para veya enerji) veya başka optimizasyonlar için
kullanılabilir. Örneğin yukarıda bahsettiğimiz gibi bir kargo
şirketinin dağıtım rotasını belirlemek için kullanabilir -ki
kargo şirketleri için sezgisel algoritmalar kullanan bu tür
yazılımlar vardır. Bunun yanında en kısa zaman yerine maksimum
sözcük ilişkisi koyarsak, rahatlıkla Google benzeri bir metin
tarama ve arama sistemi elde ederiz. Google ve benzeri arama
motorları arka planda sözcük ilişkisi ve sayfa değerini
maksimize etmekte optimizasyon algoritmalarını kullanırlar
(2). Google optimizasyon için kullandığı algoritmayı (ve bu
algoritmanın bu yazıda bahsedilen sezgisel algoritmalardan
biri olup olmadığını) açıklamamaktadır. Bununla beraber
örneğin Karınca Optimizasyonu Algoritması bir arama motoru
tarafından bu amaçla kullanılabilir (3).
Sonuç
Şu anda optimizasyon amacıyla yazılmış birçok programda
yukarıda bahsedilen “Karınca Sürüsü Optimizasyonu” algoritması
kullanılıyor. Bununla beraber, bu yöntem, optimizasyonla
uğraşan mühendislerin doğadan esinlendikleri tek yöntem
değildir. Bu bakımdan insan için hala doğa, bulunabilecek en
iyi öğretmendir.
DİPNOTLAR:
1) İsmini İslam Rönesansı matematikçilerinin en ünlüsü
Harezmi’nin batı dillerindeki söylenişinden (Al- Khwarizm)
alan algoritma, bir problemi çözmek veya bir veriyi işlemek
için kullanılan yönergeler bütünüdür. Akla hemen bilgisayar
yazılımlarını getirse de çok daha geniş bir kavramdır. Örneğin
yemek tarifi veya bu yazıda bahsettiğimiz gibi bazı
hayvanların bilişsel olmayan ama kurallı refleksleri de
algoritmalardır. 2) http://www.sirgroane.net/google-page-rank/ 3) http://www.hindawi.com/archive/2008/316145/ref/
KAYNAKÇA:
http://en.wikipedia.org/wiki/Ant_colony_optimization_algorithms
http://iridia.ulb.ac.be/~mdorigo/ACO/index.html
Maniezzo, Gambardella, de Luigi (2004) “Ant Colony
Optimization”
Kapak resmi kaynağı: Avustralya Müzesi