Etmen Tabanlı Teknolojilerin Karınca Kolonisi Eniyileme - Inet-tr

advertisement
Etmen Tabanlı Teknolojilerin
Karınca Kolonisi Eniyileme Uygulamalarında Kullanımları
Musa ÜNSAL 1, Özgür Koray ŞAHİNGÖZ2
1
Havacılık ve Uzay Teknolojileri Enstitüsü, Bilgisayar Mühendisliği Bölümü, İstanbul
2
Hava Harp Okulu, Bilgisayar Mühendisliği Bölümü, İstanbul
[email protected], [email protected]
Özet: Arılar, karıncalar ve hatta bakteriler hayatta kalma stratejilerini bir koloni içerisinde
karmaşık grup davranışları sergileyerek gerçekleştirirler. Bu davranışlarındaki amaç bireysel
olarak bir problemin çözümünde gösterilecek eniyileme yaklaşımından öte kolektif olarak
kolonideki diğer bireyler ile doğrudan veya dolaylı olarak etkileşerek koloni için bir eniyileme
yaklaşımı sergilemektir. Son yıllarda bilim adamları bu şekilde koloninin göstermiş olduğu
zeki davranış biçimlerini ayrıntılı olarak incelemekte ve gerçek hayatta değişik uygulamaların
geliştirilmesinde faydalanmaktadır. Bu araştırmada doğa esinlemeli eniyilemeler konusu
başlığı altında sürü zekâsı (swarm intelligence), karınca koloni optimizasyonu kavramı
öncelikli olarak incelenmiş ve konu ile ilgili karmaşık çalışmalar araştırılmış ve örnek
uygulamalara değinilmiştir. Etmen-tabanlı (agent-based) yaklaşımların bu tür karmaşık
problemlerde nasıl bir çözüm yolu olabileceği değerlendirilmiştir. Bu çalışmada, gerçek
dünyadaki her bir karıncanın bilgisayar ortamında sanal bir etmen olarak geliştirilmesi ile
ortaya çıkan yapay karıncaların hareketlerinin modellenmesi ve bu sayede elde edilecek sürü
zekâsının güncel problemlerin çözümünde nasıl kullanılabileceği incelenmiştir.
Anahtar Sözcükler: Karınca Koloni Optimizasyonu, Gezgin Satıcı Problemi, Eniyileme,
Etmen Tabanlı Sistemler, internet.
Abstract: Bees, ants and even the bacteria realize their living strategies in a colony by
exhibiting complex group behavior. Purpose of this behavior apart from an individual
behavior; making a collective approach to problem solving by interacting directly or with other
members of the colony. In recent years, scientists have been researching the intelligent
behavior of the colony in detail and they are using them for the development of different real
world applications. In this study, under the title of bio inspired optimizations, firstly swarm
intelligence and ant colony optimization studies are investigated and then complex studies and
related applications are researched. Agent-based approaches are evaluated for solving these
complex problems. In this study, as in real world, each ant is described in a virtual computer
environment by modeling the mas artificial ants; by the way it is aimed and investigated to
show the usage of swarm intelligence for solving the current problems.
Keywords: Ant colony optimization, travelling salesman problem, optimization, agent-based
systems, internet.
1. Giriş
İnternetin hızla popülerleşmesi ve
yayılması
sonucunda
bilgisayarlar
hayatımızın her alanında karşımıza
çıkmakta ve birçok problemimizin
çözümünde bize yardımcı olmaktadır. Bu
durum internet üzerinden haberleşen
otonom programlar sayesinde karmaşık
problemlerin çözümüne olanak sağlayacak
dağıtılmış
ve
paralel
sistemlerin
geliştirilmesine olanak sağlamaktadır.
Günümüzde bazı bilim adamları
problem çözümünde
gerçek
hayat
tecrübelerinden
faydalanmak
adına,
hayvanların (özellikle böceklerin) yaşam
tarzlarından,
problem
çözme
yaklaşımlarından ve koordinasyon kurma
modellerinden faydalanmaktadırlar. Bu
sayede hayvanların problem çözmede
kullanmış oldukları yaklaşımları kendi
karşılaştıkları problemlere modelleyerek
bilgisayar ortamına aktarmakta ve yeni
çözüm yolları bulmaya ve bulunan
çözümleri en iyilemeye çalışmaktadırlar.
Sürü zekâsı özellikle karıncalar,
termitler ve arılar gibi böceklerin veya
balıklar ve kuşlar gibi nispeten büyük
hayvanların
birlikte
yaşam
için
oluşturdukları ortak zekâ yaklaşımının
bilgisayar ortamında yapay olarak
modellenmesidir. Bu sürü davranışı
gösteren canlılardan özellikle karıncalar
sergilemiş oldukları davranışlar nedeni ile
bilim adamlarının biraz daha fazla
dikkatini çekmektedir.
Karıncalar, kolonileri ortak amaçları
için beraber çalışan sosyal hayvanların en
iyi örneklerindendir. Koloni halinde
yaşayan karıncalar yiyecek bulmak için ilk
olarak öncü karıncaları tek başına
gönderirler. Fakat zaman geçtikçe görülür
ki karıncalar gidecekleri noktaya doğru
oluşacak en kısa yolu bulmuş olurlar. Bu
şekilde yapılan en iyilemeler Karınca
Kolonisi Optimizasyonu (KKO) olarak
adlandırılmaktadır.
KKO özellikle “NP-zor” tipi en
iyileme problemlerinde etkin bir şekilde
uygulanmaktadır. Özellikle Gezgin Satıcı,
İnsansız Hava Araçları için eniyi rota
planlama, Konteynır Yükleme, Dinamik
Üretim planlama,
Dinamik
Görev
Dağıtımı vb. problemlerim çözümünde
oldukça başarılı bir şekilde kullanıldığı
görülmektedir.
Yakın zamanlarda etmen tabanlı
teknolojiler bu dağıtılmış ve karmaşık
problemlerin çözümünde etkin bir araç
olarak karşımıza çıkmaktadır.
Etmen
otonom olarak kendi üretilme amaçlarını
gerçeklemeye yönelik olarak hareket eden
bir yazılım parçacığı olarak karşımıza
çıkmaktadır. Bunun yanı sıra reaktif
yapısı, hareketselliği ve diğer etmenlerle
etkileşim kurarak zeki yaklaşımlar
sergilemesi etmenlerin gerçek dünyadaki
birçok
problemin
çözümünde
kullanılmasına olanak sağlamaktadır.
Etmenlerin bu özelliği özellikle daha önce
basitçe bahsetmiş olduğumuz karıncaların
tekil ve otonom hareketleri ile ve birbirleri
ile etkileşim sağlayarak genel bir zekâ
üretilmesi
yaklaşımı
ile
yakından
örtüşmektedir. Bu nedenle etmen tabanlı
teknolojilerin
KKO
problemlerinin
çözümünde etkin bir rol oynayacağı
değerlendirilmektedir.
Literatürde;
internet
üzerinde
eniyileme uygulamalarında özellikle “NPzor” problemlerin çözümünde kullanılan
farklı yaklaşımların olduğu ve bu
yaklaşımların arasında karınca kolonisi
optimizasyonunun bir çözüm yaklaşımı
olarak kullanıldığı görülmektedir. Ancak
Etmenlerin
kullanılmasının
KKO
yaklaşımında bir kolaylık getireceği ve bu
alandaki bazı küçük çalışmalar olsa da
belirli bir boşluk olduğu açık bir biçimde
göze çarpmaktadır. Bu nedenle konunun
teorik yönünün incelenmesi ve pratik
olacakta uygulanabilmesi önemlidir. Bu
çalışmada konu ile ilgili temel alt yapı ve
etmen
teknolojisinin
sağlayacağı
avantajlar incelenmiştir.
Bildirinin devam eden bölümleri su
şekilde organize edilmiştir; Bölüm 2’de
Doğa Esinlenimli Eniyilemeler Sürü
Zekâsı, Karınca Kolonisi Optimizasyonu,
Karınca
Kolonisi
Optimizasyonunda
kullanılan örnek algoritma verilmiş ve
Karınca
Kolonisi
Optimizasyonunun
uygulama alanlarına değinilmiştir. Bölüm
3’de Etmen tabanlı sistemler ve karınca
kolonisi optimizasyonunda etmenlerin
kullanılması incelenmiştir. Bölüm 4’te
konuyla ilgili çalışmalar incelenmiş olup,
Bölüm 5 sonuçlara ayrılmıştır.
alınarak yapılır. Bu şekilde çalışmak
böceklerin sırayla işleri yapmasından daha
etkindir [6].
Sürü Zekâsı Yaklaşımının bazı
karakteristikleri şu şekilde sıralanabilir.
•
Dağıtılmış bir yapısı bulunmakta olup
merkezi bir kontrolü veya veri
kaynağı bulunmamaktadır.
•
Esnek ve gürbüz yapısı sayesinde
değişen koşullara kolaylıkla adapte
olabilir.
•
Bireyler genellikle homojendir.
•
Bulunulan ortamın belirgin bir modeli
yoktur.
•
Bireylerin alıcıları sayesinde ortamı
algılama yetenekleri vardır.
•
Bireylerin
eyleyicileri
(actuator)
sayesinde
ortamı
değiştirebilme
yeteneği bulunmaktadır.
•
Bireyler
sadece
kullanabilirler.
•
Amaç mevcut bir problemi mümkün
olduğunca iyi bir şekilde çözmektir.
2. Doğa Esinlenimli Eniyilemeler ve
Sürü Zekâsı
Sürü
Zekâsı
kolektif
problem
çözümünde kullanılan bir Yapay Zekâ
kavramı yaklaşımı olup farklı hayvansal
toplumların kolektif davranışını ilham alan
ve doğadan esinlenerek geliştirilmiş bir
eniyileme yaklaşımıdır.
Sürü tabanlı uygulamalar kuşlar,
böcekler ve balıkların hareketinden
esinlenerek ortaya çıkmıştır. Kendi başına
ve merkezi bir yöneticisi olmadan hareket
eden bu yapılar çok önemli bir hareketi
ortaya çıkarırlar. Bu hareket yapılar
arasındaki etkileşimden ortaya çıkar ve
yalnız başına bir yapının başarabileceği bir
olgu değildir. Bu da sürü zekâsını ortaya
çıkarmıştır. Sürü zekâsı ilk olarak Beni,
Hackwood
ve
Wang
tarafından
kullanılmıştır [1-4].
Son yıllarda problemlerin çözümünü
böceklerin yapısına benzeterek çözmeye
çalışmak çok önemli rol oynamaktadır. Bu
yaklaşım etmenler arasında dağıtık, direkt,
dolaylı olarak etkileşimi, esnekliği ve
tutarlılığı gerektirmektedir. Bu konularda
yapılan araştırmalar sonrasında yapay zekâ
ve sürü zekâsı konularında araştırmacılar
büyük ilerlemeler kaydetmişlerdir [5].
Koloniler
içerisinde
yer
alan
böceklerin her birinin kendine göre
yapılacak ayrı işleri olsa da hepsi organize
bir şekilde çalışırlar. Hiçbir şekilde bir
öncüye ihtiyaçları yoktur. Bir koloni
içerisinde bulunan böcek her işi yapmaz.
Bu böcekler arasında bir görevlendirme
vardır. Bu görevlendirme de böceklerin
yapısına, yaşına vb. özellikleri göz önüne
yerel
verileri
Buna
karşılık
bu
yaklaşım
kullanımında
bazı
sınırlamalar
ve
eksikliklerle de karşılaşılmaktadır. Bunlar
şu şekilde listelenebilir.
•
Biyoloji bazen yanılabilir.
•
Bazı doğal mekanizmalar tam
algılanamaz / yorumlanamaz. Bunun
neticesinde yanlış çıkarımsamalarda
bulunulabilir.
•
Biyolojide farklı amaçlar arasında
taviz verilebilir.
İyi tanımlanan problemler daha kolay
çözümlenir. Bu nedenle problemin iyi
şekilde incelenmesi ve tanımlanması
gerekmektedir.
2.1. Karınca Koloni Optimizasyonu ve
Tarihi Gelişimi
Karınca
koloni
optimizasyonu
1990’ların başında Marco Dorigo ve
arkadaşları tarafından ortaya atılmıştır [8].
Karınca koloni optimizasyonlarının asıl
kaynağı gerçek karıncaların yiyecek arama
hareketidir. Karıncalar yiyecek ararken
öncelikle kendi yuvalarına yakın çevreleri
rastgele araştırırlar. Karıncalardan biri
yiyecek kaynağı bulduğunda bu kaynağı
kalite ve miktar açısından değerlendirir ve
bir miktarını yuvasına taşır. Karınca
yuvasına geri dönüş yolunda yol
güzergâhına kimyasal feromon izleri adı
verilen bir madde bırakır. Bırakılan
feromon miktarı karıncanın bulduğu
yiyecek miktarı ve kalitesiyle ilişkilidir.
Yola bırakılan bu feromon izleri diğer
karıncaların bu yiyecek kaynağına
ulaşabilmesi için yol gösterir. Bu feromon
izleriyle karıncalar arasındaki dolaylı ilişki
karıncaların yuvalarıyla yiyecek kaynağı
arasındaki en kısa yolu bulmalarına
yardımcı olur. Gerçek karıncalardaki bu
karakteristik
özellik
tümleşik
optimizasyon problemlerini çözmek için
yapay karınca kolonilerinde kullanılmıştır
[9].
Günümüzde artık "sanal karıncalar"
oluşturarak
benzeri
problemlerin
bilgisayarlarla daha kolay çözülebileceği
gösterilmiştir. Buna göre sanal karıncalar
arkalarında buldukları rotanın uzunluğunu
da simgeleyen bir nevi koku izi bırakacak
ve diğer sanal karıncalar da kestirme
rotaları bu sayede bularak tercih
edeceklerdir.
Koku izinin kokusunu veren maddenin
belirli bir hızda buharlaşması da simule
edilerek tercih edilmeyen uzun rotalardaki
kimyasal izlerin yavaş yavaş yok olması
sağlanacak ve bu da sanal karıncaların
kestirme yol dışındaki uzun rotalara
sapmasını önleyecektir.
Araştırmacılar bu yeni problem çözme
metodunu "Karınca Koloni Optimizasyonu
Algoritması" olarak adlandırmaktadırlar.
Mühendisler sanal karıncalarını ağ
üzerinde izler bırakarak bazı problemlerini
çözebileceklerini anlamışlar ve bu alanda
da
karınca
koloni
optimizasyonu
kullanılmaya başlanmıştır. Haberleşme
ağlarında
kullanılan
yönlendirici
sinyallerin en kısa rotadan gönderilmesi,
trafik sıkışıklığının önlenmesi gibi
problemlerinde bu yöntemle kolayca
çözülebileceği düşünülmektedir.
Karınca Kolonisi Yönlendirmesinin
son derece esnek olması ve kullanılan ağda
yeni kanalların eklenmesi veya çıkarılması
gibi değişikliklerin kolayca adapte
edilebilmesi de önemli avantajları arasında
sayılmaktadır. Bugünlerde İngiliz Telekom
firması
bu
yeni
algoritmayı
telekomünikasyon sistemlerine adapte
etmeye çalışmaktadır.
Bu algoritmanın en heyecan verici
uygulamalarından birisi kolektif hareket
eden minik robotların yapılmasında
olacaktır. Minik bir robot kolonisi
karıncalardan öğrendiğimiz bu algoritma
sayesinde daha basit programlama
prensipleri kullanarak karmaşık işlemleri
gerçekleştirebilecekler [10].
2.2. Karınca Kolonilerinde Köprü
Denemesi
Karıncalar yiyecek bulduklarında geri
dönüş yolunda feromon izleri bırakarak
yuvalarına geri dönmektedirler.
1990’lı yıllarda yapılan bir denemede
(şekil
1)
eşit
yol
uzunlukları
kullanıldığında karıncaların hemen hemen
yarı yarıya eşit bir şekilde dağılarak yolları
seçtikleri görülmektedir.
15 cm
Yuva
Yiyecek
Şekil 1. Eşit Yollara ait yapılan deneme.
Eşit olmayan yol uzunluklarıyla
yapılan deneme (şekil 2) ise karıncaların
yüzde 80 oranında kısa yolu seçtikleri
görülmektedir. İkinci denemede yani yol
uzunluklarının eşit olmadığı denemede
önce yola çıkan karıncalar yolun
hangisinin uzun ya da kısa olduğunu
bilmedikleri için rastgele seçilen yollardan
birini tercih etmek zorundadırlar. Bu
nedenle belli bir oranda uzun yolu seçen
karıncalar olmuştur [11].
2.3. Yapay Karıncalarda Koloni
Optimizasyonu Modellemesi
Yapay karıncalar karınca koloni
optimizasyonunu
modellerken
ilk
gidilecek noktanın seçimi, feromon
bırakma, feromon güncellemesi ve
feromon buharlaşmasıyla ilgili bazı
kurallara uymak zorundadırlar. Karınca
koloni
optimizasyonunda
sonucun
iyileştirilmesi için gerekli parametreler
aşağıda gösterilmiştir [12]. Yine bu
parametrelerin bazıları Formül-1 ve
Formül-2'ye temel teşkil etmektedir.
Yiyecek
Yuva
Parametre
nk
nt
T0
ρ
α
β
Şekil 2. Eşit olmayan yol uzunluklarıyla
yapılan deneme.
Daha sonrasında yapılan denemede
şekil 3’te görüldüğü üzere öncelikle uzun
yol açık bulundurulmuş ve 30 dakika sonra
ise kısa yol açılmıştır. Bu durumda
öncelikle bütün karıncalar uzun yolu tercih
etmişlerdir. Uzun yolu tercih eden
karıncalar bu yol üzerine dönüş esnasında
feromon bırakmışlar ve yol üzerinde
feromon
birikmesini
sağlamışlardır.
Sonrasında yerine konulan kısa yol
üzerinde ilk durumda hiç feromon
birikmediği için karıncalar yine uzun yolu
tercih etmişler ve kısa yolu tercih eden
karınca olmamıştır [11].
Yuva
Yiyecek
Yuva
Yiyecek
Anlamı
Karınca sayısı
En fazla iterasyon sayısı
Başlangıç feromon miktarı
Feromon buharlaşma oranı
Feromon kuvvetlendirme
oranı
Sezgisellik kuvvetlendirme
oranı
i düğümünde bulunan bir k karıncasının
sonraki düğüm olarak j düğümünü seçme
olasılığı Formül-1’le modellenir [11].
 τ ij α

α
pijk =  ∑τ il
 l∈Ni k
 0
⇒ j ∈ Ni k ;
⇒ j ∉ Ni k ;
Formül 1. i düğümünde bulunan k
karıncasının sonraki düğüm olarak j
düğümünü seçme olasılığı
Bu formülde k hangi karıncaya ait
olduğunu, i bulunulan düğümü, j sonraki
düğümü, T ise feromon izlerinin oranını
göstermektedir.
Her tur sonrası yollarda yapılacak
feromon güncellemesi ise Formül-2’de
gösterilmiştir [11].
30 Dakika sonra
Şekil 3. Eşit olmayan yol uzunluklarıyla
yapılan deneme.
τ ij ← (1 − ρ )τ ij , ∀(i, j ) ∈ A,
Formül 2. Her tur sonrası yollarda
yapılacak feromon güncellemesi
2.4. Karınca Koloni Optimizasyonu
Örnek Algoritması
En basit şekliyle karınca koloni
algoritması ana alt başlıkları aşağıdaki gibi
tasarlanabilir;
Verileri başlangıç durumuna getir()
Karınca sayısı kadar() {
Çözümü oluştur();
Yerel arama yap();
İstatistikleri güncelle();
Feromon değerlerini güncelle();
}
Verileri
başlangıç
getirilmesi için algoritma
yapılması
gerekenler
gösterilmektedir.
durumuna
içerisinde
aşağıda
Verileri başlangıç durumuna getir(){
Problem verisini oku();
Uzaklık matrisini hesapla();
Bütün noktalar için en yakın komşu
noktayı hesapla();
Feromon matrisi ve seçilebilecek
noktalar matrisini oluştur();
Karıncaları başlangıç durumuna getir();
Parametreleri başlangıç durumuna getir();
Değişkenleri başlangıç durumuna getir();
}
Sonrasında algoritmada çalıştırılması
gereken sözde kod aşağıdadır.
Koloni deki karınca sayısı kadar;{
Sonraki gidilecek noktayı Formül-1’e
göre seç();
Rotayı tamamla();
Tur uzunluğunu hesapla();
İstatistikleri güncelle();
Feromon güncellemesini Formül-2’ye
göre yap();
}
2.5. Karınca Koloni Optimizasyonu
Kullanım Alanları
Son
yıllarda
karınca
koloni
optimizasyonunun kullanıldığı çok farklı
uygulama alanları ve konuları vardır.
Bu alanlardan birisi olan konteynır
taşımacılığında maliyetlerin düşürülmesi
için
konteynırlara
yerleştirilecek
malzemelerin en az boş yer kalacak
şekilde
yerleştirilmesi
önem
kazanmaktadır.
Karınca
koloni
optimizasyonunun
kullanıldığı
bir
çalışmada her karınca bir konteynır olarak
tasarlanmış ve her düğümde bir kutu
olduğu düşünülerek farklı iki algoritmayla
uygulama çalıştırılarak sonuca ulaşılmaya
çalışılmıştır. Bu uygulamada algoritma
maksimum
iterasyon
sayısı
kadar
çalıştırılmış ve sonrasında konteynırların
doluluk oranları hesaplanmıştır. Doluluk
oranı en fazla olan konteynırın en iyi
çözüme ulaştığı kabul edilmiştir [13].
Karınca koloni optimizasyonunun çok
yoğun olarak kullanıldığı alanlardan bir
tanesi de seyyar satıcı problemleridir.
Seyyar
satıcı
problemi
yöneylem
araştırması ve teorik bilgisayar bilimi
alanlarında incelenen bir "tümleşik
optimizasyon" problemidir.
Bu problem, bir matematiksel problem
olarak 1930'lu yıllarda formüle edilmiştir.
Optimizasyon konusunda en derin
inceleme konularından biridir.
Seyyar satıcı problemlerinde bir seyyar
satıcı olmalı, bu satıcı mallarını n şehirde
satmak istemeli ve mantıklı bir şekilde, bu
satıcı bu şehirleri mümkün olan en kısa
şekilde ve her bir şehre maksimum bir
kere uğrayarak turlamak istemelidir.
Problemin amacı, satıcıya bu en kısa yolu
sunabilmektir [14].
Seyyar satıcı problemlerini etkin olarak
çözebilecek bir algoritma olmadığı kabul
edilmektedir. Diğer bir deyimle en kötü
durumda algoritma kullanılırken yapılan
hesapların sayısının (yani bilgisayar
kullanma zamanının) şehir sayıları arttıkça
üssel olarak artması çok olasıdır. Bazı
durumlarda sadece yüz şehirlik liste
olmasına rağmen çözüm yapılırken
çözümün
yıllar
alabileceği
iddia
edilmektedir. Pratikte bazen on binlerce
şehri ihtiva eden listelerden oluşan
problemlerin çözülebileceği bilinmektedir
[15].
Basit bir şekilde
• Başlangıç için seçebileceği n değişik
şehir vardır.
• İkinci şehirde, satıcının n-1 değişik
şehir arasında seçim hakkı vardır.
• Üçüncü şehirde, satıcının n-2 değişik
şehir arasında seçim hakkı vardır.
• Bu durum şehirler dolaşıldıkça
azalarak devam eder.
hesaplanmıştır. Şu anda çözülmeye
çalışılan en büyük problem dünya üzerinde
kayıtlı yerleşim yeri olan her nokta için en
kısa yolun ne olduğudur. Bu problem
1.904.711 şehir içermektedir[16].
3. Etmen Tabanlı Sistemler
Bilgisayar ve programlama dillerinin
geçmişi şekil 4 de gösterilmiştir. Burada
da görüleceği üzere bugünlere kadar
makine dili, yordamsal diller, nesne
tabanlı diller gibi birçok programlama
dilleri kullanılmıştır. Günümüzde ise
gelişen teknoloji daima daha fazlasını
istemektedir. Bunun sonucu olarak etmen
tabanlı
programların
sistemlerinde
günümüzde özellikle dağıtılmış ve akıllı
sistemlerin geliştirilmesinde daha etkin rol
oynamaktadır
oynamaktadır.
Karınca
koloni
optimizasyonu
problemlerinde bulunan düğüm sayıları ve
örnekleme seçim yapılabilecek değerler
hesaplanarak Tablo 1’de gösterilmiştir.
Düğüm
Sayısı
Kaç değişik seçim
yapılabilir?
Sonuç
2!
2
2
5!
120
5
20!
2,43*1018
20
50!
3,041*1064
50
100!
9,33*10157
100
Tablo 1. Düğüm sayıları ve örnekleme
seçim yapılabilecek değerler.
Dolayısıyla, sonuç olarak satıcının n!
değişik tur arasından seçim hakkı
olacaktır. Bu, 100 şehirlik bir tur için bile
100!’e karşılık gelen değişik tur
etmektedir.
2001 yılının Nisan ayında Almanya’da
15,112 şehirden oluşan bir seyyar satıcı
problemi
85,900
şehir
turuyla
çözülmüştür. Sonrasında bugüne kadar
çözülmüş en büyük seyyar satıcı problemi
İsveç’te, 24.978 yerleşim yeri için 2004
yılının Mayıs ayında sonuçlandırılmıştır.
Çözüm için en uygun uzunluk 72,500
kilometre, tur uzunluğu ise 855,597 olarak
Şekil 4. Eşit olmayan yol uzunluklarıyla
yapılan deneme.
Yeni dünya düzeninde bilgisayar
yalnızca
ca basit hesapları yapabilen nitelikli
bir hesap makinesi olmaktan çıkmış
düşünmeye, gelişmeye, düzenlemeye ve
planlamaya ortam sağlayan sosyal bir
hesaplama sistemi haline gelmiştir. Bu
sistemlerin yeteneklerinin artırılması için
farklı yapay zekâ bileşenleri eklenerek
daha
nitelikli
düşünebilen
programlar/sistemler geliştirilmiştir. Artık
tek parçalı, bir bilgisayar üzerinde çalışan
uygulamalar veya dağıtık sistemler
üzerinde bir organizasyon tarafından
yönetilen sistemler
siste
geçerliliğini yitirmekte,
bunların yerini
y
sosyal olarak etkileşen
bileşenler almaktadır. Bu bileşenler
birbirlerini servis sağlayıcı olarak görürler.
Aynı
nı yer ve zamanda üretilmiş olmasalar
da farklı veya ortak hedefler için farklı
zamanlarda farklı yerlerde olabilirler.
Bunun için gerekli şartlar koordinasyon ve
iletişimdir.[17].
homojen olmayan bilgisayar kaynaklarına
ulaşma yetkisine sahip olan bu etmenler
başka bir etmenin ya da kişinin adına bilgi
toplarlar [22].
İşte bağımsız bileşenler ve varlıklar
arasındaki bu sosyal paylaşım ve etkileşim
etmenler sayesinde çözülmektedir.
Etmenler
yapıları
gereği
basit
programlardan daha farklı niteliklere
sahiptirler. Woolridge ve Jennings zeki
etmenleri diğer programlardan ayıran 4
temel faktöre dikkat çekmektedir.
Yukarıda
bahsedilen
nitelikli
programlar kendi içlerinde otonominin
yanında, sosyal etkileşim birimlerini de
içermekte olup bu tip programlar
genellikle Agent-Etmen [18] olarak
adlandırılmaktadır. Etmenler temelde
etrafını alıcıları vasıtası ile algılayan ve bu
algılamalara karşı etrafına tepki veren ve
bulunduğu ortamı değiştirebilen varlıklar
olarak tanımlanmaktadır.
2005 yılında IEEE’nin etmen ve çoklu
etmen sistemler için standartlar komitesi
olarak kabul edilen Fiziksel ve Zeki
Etmenler Kuruluşu (FIPA-Foundation for
Physical and Intelligent Agents) tarafından
ise etmen; bir uygulamanın otonom
iletişim fonksiyonlarını gerçekleştiren
hesaplama süreci olarak tanımlamaktadır
[19].
Gelişen dünya düzeni ve teknolojik
gereksinimler nedeniyle dağıtılmış ve
farklı konumdaki ya da fiziksel olarak
ayrılmış
bilgisayarların
birlikte
çalışmalarına ihtiyaç duyulmuştur. Bu
durum
dağıtık
sistemlerin
ortaya
çıkmasına
olanak
sağlamıştır[20].
Dağıtılmış
sistemler
üzerinde
programlama yapabilmek için çoklu etmen
sistemler geliştirilmiştir. Çoklu etmen
sistemler birbirleriyle etkileşimde bulunan
ve koordineli olarak beraber çalışan
etmenler topluluğunu içeren sistemler
olarak tanımlanmaktadır[21].
Hızlı gelişen bilgisayar teknolojileri ve
internet üzerinde üssel olarak artan bilgi ve
servisler insanların bu bilgilere her zaman
ve her yerde kesintisiz ulaşma istekleri,
gezgin etmenlerin internet üzerinde önem
kazanmasını sağlamıştır. Genelde internet
üzerinde kullanılan gezgin etmenler bilgi
etmenleridir. Otonom olan, dağıtık ve
• Özerklik; Bir etmenin herhangi bir
insanın veya başka bir sistemin
müdahalesi olmadan, kendi çalışmasında,
karar verme sürecinde eylemlerinde
kontrole sahip olmasıdır.
• Tepkisellik: Zeki etmenler mevcut
çalışma ortamını alıcıları vasıtası ile
algılayarak tasarım amacına uygun olarak
bu ortamı değiştirmek için meydana gelen
olaylara tepkide bulunmaktadırlar.
• Aktif
Olma
(amaca
yönelik
davranma) : Zeki etmenler tasarım
amacına uygun olarak, çalışma inisiyatifini
ellerinde tutarak, mevcut davranış
seçenekleri içerisinden, amaca yönelik
olanını seçerek hareket ederler.
• Sosyal Yetenek: Zeki etmenler, diğer
etmenlerle (veya insanlarla) tasarım
amaçlarını yerine getirmek için iletişimde
bulunurlar.
Etmenlerin
de
kendi
amaçlarına ulaşabilmeleri için başka
etmenlerle uygun bir etmen haberleşme
dili ile bağlantı kurarak müzakere etmesi,
konuşması sosyal bir yetenek olarak
görülmektedir.
Etmenler günümüzde birçok gerçek
dünya problemini özellikle yapay zekâ
tekniklerini kullanarak çözmektedirler.
Benzer şekilde etmenlerin karınca koloni
optimizasyonlarında
kullanılması
da
kaçınılmazdır. Örnek araştırma ve
uygulamalarda çok çeşitli kullanımlar
vardır. Bazı uygulamalarda karıncalar
etmen olarak planlanırken bazılarında hem
karınca hem de uğranacak düğümler etmen
olarak planlanmıştır [14][15].
4. Önceki Çalışmalar
Konteynır taşımacılığı ve var olan
maliyetler sebebiyle 2010 yılında bu
alanda yapılan çalışmada konteynırların
yüklenmesi
için
karınca
koloni
optimizasyonu kullanılmıştır[13]. Burada
iki tane algoritma tasarlanmış ve
tasarlanan bu algoritmalarla sonuca
ulaşılmaya çalışılmıştır. İki algoritma
arasındaki fark ikincisinde ki amacın
durumu daha optimize ederek doluluk
oranını arttırmak istemesidir. Bunun için
ikinci algoritma sezgisel doldurma
algoritmasını kullanır ve öncelikle gelen
kutular eğer uygunsa katmanlara tasnif
edilir
ve
sonrasında
optimizasyon
algoritması çalıştırılır. İlk algoritmada bu
şekilde bir düzenleme olmayıp, gelen ilk
kutudan itibaren optimizasyon algoritması
çalıştırılır ve yerleştirme işlemine başlanır.
Bu çalışmada önerilen karınca koloni
optimizasyonu üzerine kurulmuş iki
algoritma ile (kutu şekline göre farklılık
gösterse de) bu zamana kadar yapılan
konteynır yükleme için gerekli olan
doluluk oranı hesaplamasında çoğu
algoritmadan daha iyi sonuç vermiştir.
Karınca
koloni
optimizasyonu
kullanılarak dağıtık çok etmenli bir mimari
yardımıyla seyyar satıcı problemleri
çözülmüştür[23]. Burada karınca koloni
optimizasyonu paralel, asenkron ve dağıtık
olarak uygulanmıştır. Tasarlanan yapıda
birden fazla etmen dağıtık bir yapı
üzerinde seyyar satıcı yolu oluşturmakta
ve optimizasyon sonuçlandığında en
uygun yol bu alternatifler arasından
değerlendirilip seçilmekte ve oluşturulan
her yol için sadece bir etmen
kullanılabilmektedir. Bu çok etmenli
yapıya “Dağıtık mimari üzerinde karınca
koloni optimizasyonu” (ACODA - Ant
Colony Optimization on a Distributed
Architecture) adı verilmiştir.
Yine dağıtık çok etmenli bir mimari
üzerinde
yapılmış
olan
çalışmada
[23]’deki uygulama daha da geliştirilerek
etmenlerin parçalı yollar oluşturmalarına
izin verilmiştir. Sıralama problemleri yolu,
karıncayı, karınca hareketini ve feromon
miktarlarını
dikkate
alırken
bu
uygulamada karıncaların birbirleriyle ve
çevreyle olan iletişimleri de hesaplamalara
dâhil edilmiştir. Öncelikle seyyar satıcı
yolu alt yollara ayrılmakta ve sonrasında
her alt yola bir dağıtık mimari karınca
koloni
optimizasyon
etmeni
görevlendirilmektedir.
Burada
amaç
dağıtık parçalı yolları kullanarak eniyi
sonuca ulaşmaktır [24].
Dağıtık çok etmenli sistemlerin seyyar
satıcı problemlerindeki etkinliklerinin ve
uygulanabilirliklerini konu alan başka bir
araştırmada
bu
özelliklerin
nasıl
gerçekleştirilebileceği gösterilmiştir[14].
Çalışmada dağıtık mimari üzerinde karınca
koloni optimizasyonu (ACODA) rastgele
seçim, maliyet etkin seçim ve feromon
seçim
dağıtık
arama
metotlarıyla
karşılaştırılarak
etkinliği
ve
uygulanabilirliği incelenmekte ve detaylı
olarak sonuçlar tablolarla açıklanmaktadır.
Karınca koloni optimizasyonuyla çok
etmenli problemlerin çözümüne üç
katmanlı bir bakış açısı kazandıran
araştırma 2009 yılında yapılmıştır[15]. Bu
çalışmanın amacı problemleri karınca
kolonisi optimizasyonunun yanında veri
madenciliği algoritmalarıyla da çözmektir.
İlk katman koloni optimizasyon etmeni,
ikinci atmanı genetik algoritma etmeni ve
son katmanı da hızlı yerel arama
katmanıdır. Çalışma dört optimizasyon
algoritmasıyla
karşılaştırılmıştır.
Sonrasında dört optimizasyon algoritması
ve birde bu çalışmadaki algoritma olmak
üzere toplam beş optimizasyon algoritması
sekiz tane seyyar satıcı problemi üzerinde
çalıştırılmış ve sonucunda hibrit yapıların
daha performanslı ve daha hızlı olduğunu
gösterilmiştir.
İmalat planlamayla ilgili yapılan bir
araştırmada çok etmenli sistemler karınca
koloni zekâsıyla birlikte kullanılarak bir
altyapı
oluşturulmuştur.
Günümüzde
klasik planlamadan farklı olan bugünkü
dinamik ve karmaşık gereksinimler
etmenli
yapıya
dönüştürülmüştür.
Planlama için sipariş etmeni, satıcı etmeni,
iş etmeni ve makine etmeni oluşturulmuş
ve etmenlerin karınca koloni zekâsı
mantığıyla
etkileşimde
bulunmaları
sağlanmıştır.
Sonuçta
testler
göstermektedir ki etmen tabanlı karınca
koloni zekâsıyla etkileşimli sistem daha
etkin ve performanslıdır [25].
5. Sonuç
Bu çalışmada, günümüz bilgisayar
dünyasında kullanılan teknolojik araçlar
sayesinde insanların her zaman ve her
yerden bilgiye ulaşma istekleri ve bu
hizmetin kesintisiz olması gerektiği
bilinciyle sürü zekâsı ve karınca koloni
optimizasyon algoritmalarının internet
üzerinden kullanımının artığı ve gelecekte
bu konunun vazgeçilmez olacağından
bahsedilmiştir. Konuyla ilgili karınca
koloni optimizasyonu, sürü zekâsı ve
etmenlerle ilgili bilgi verilmiş, son
zamanlarda internet ve yerel alan ağlarında
yapılmış bu yöntemlerin ortak kullanıldığı
çalışmalar araştırılmış ve bu konuların
gelecek yıllarda internet üzerinde beraber
kullanılmasının vazgeçilmez ve çok
kolaylaştırıcı bir rol oynayacağı konusuna
değinilmiştir. Günümüzün vazgeçilmezi
akıllı telefonlar ve yeni sürümleri
geliştirildikçe bu üçlü kavram beraberliği
hayatımızın
vazgeçilmezi
olacaktır.
İnternet
kullanımının
yaygınlaştığı,
kullanıcı sayısının arttığı ve gelişmelerin
çok hızlı olduğu teknolojik dünyada bu
üçlü ittifakı daha da gelişecek ve
teknolojik dünyanın büyümesine ve
hızlanmasına
çok
büyük
katkılar
sağlayacaktır.
Konuyla ilgili gelecek çalışma olarak
Etmen Tabanlı bir Karınca Kolonisi
Optimizasyonu sistemi geliştirerek bunun
farklı uygulama örneklerinde test edilmesi
planlanmaktadır.
Kaynaklar
[1] Beni, G., "The Concept of Cellular
Robotic System." 'In Proceedings 1988
IEEE Int. Symp. On Intelligent Control,
57-62. Los Alamitos, CA: IEEE Computer
Society Press, 1988.
[2] Beni, G., Wang, J., "Swarm
Intelligence." In Proceedings Seventh
Annual Meeting of the Robotics Society of
Japan, 425-428. Tokyo: RSJ Press, 1989.
[3] Beni, G., Wang, J., "Theoretical
Problems for the Realization of
Distributed
Robotic
Systems."
In
Proceedings 1991 IEEE International
Conference on Robotic and Automation,
1914-1920. Los Alamitos, CA: IEEE
Computer Society Press, 1991.
[4] Beni, G., Hackwood, S., "Stationary
Waves in Cyclic Swarms." In Proceedings
1992 IEEE Int. Symp. On Intelligent
Control, 234-242. Los Alamitos, CA:
IEEE Computer Society Press, 1992.
[5] Bonabeau, E., Dorigo, M., Theraulaz,
G., “Swarm Intelligence : From Natural to
Artificial, Oxford University Press”, 1999.
[6] Robinson, G. E. "Regulation of Vision
of Labor in Insect Societies." Annu.Rev.
Entomol, 637-665, 1992.
[7] Parpinelli, R.S., Lopes, H.S. “New
inspirations in swarm intelligence: a
survey ”, Int. J. Bio-Inspired Computation,
Vol. 3, No. 1, 2011.
[8] Dorigo, M., Optimization, Learning
and Natural Algorithms, PhD tesis,
Dipartimento di Elettronica, Politecnico di
Milano, Italy, 1992.
[9] Dorigo, M., Blum, C., “Ant Colony
Optimization Theory: A Survey”, 2005.
[10] Bonabeau, E., Dorigo, M., Theraulaz,
G., Inspiration for optimization from
social insect behaviour. Nature 406, 39-42,
2000.
[11] Dorigo, M., Stützle, T., “Ant Colony
Optimization” syf 18-25, 2004.
[12] Engelbrecht, A.P., University of
Pretoria South Africa Computational
Intelligence An Introduction, Wiley, 2007.
[13] Dereli, T., Daş, G.S., “Konteyner
Yükleme Problemleri İçin Karınca
Kolonisi Optimizasyonu Yaklaşımı”, Gazi
Üniversitesi Mühendislik - Mimarlık
Fakültesi Dergisi, 881-894, 2010.
[14] Ilie, S.,Badica, C., University of
Craiova,
Software
Engineering
Department,” Effectiveness of Solving
Traveling Salesman Problem Using Ant
Colony Optimization on Distributed MultiAgent Middleware” IEEE, syf 197-203,
2010.
[15] Wang, S.Q., Xu Z.Y., “Ant Colony
Algorithm Approach for Solving Traveling
Salesman with Multi-agent” WASE
International Conference on Information
Engineering, 2009.
[16] Applegate, D., Bixby, R., Chvátal, V.,
Cook, W., Helsgaun, K., "Optimal Tour of
Sweden", 2004,
http://www.tsp.gatech.edu/sweden/index.h
tml
[17] Luck, M., McBurney, P., Shehory, O.,
Willmott,
S.,
Agent
Technology:
Computing as Interaction : A Roadmap for
Agent-Based Computing, AgentLink III,
http://www.agentlink.org/roadmap/al3rm.p
pf, 2005.
[18] Russell, S., Norvig, P., "Artificial
Intelligence: A Modern Approach" (2nd
Edition).
[19] http://www.fipa.org/
[20] Tanenbaum, A.S., Steen, M.V.,
“Distributed Systems”, Pearson Education,
2007.
[21] Rudowsky, I., “Intelligent Agents”,
Proceedings of the Americas Conference
on Information Systems, New York,
August, 2004.
[22] Klusch, M., “Information Agent
Technology for the Internet : A Survey”,
Data Knowl. Eng. (DKE) 36(3):337-372,
Volume 36, 2001.
[23] Ilie, S., Badica, C., “Distributed
multi-agent system for solving traveling
salesman problem using ant colony
optimization”. InProc. 4th International
Symposium of Intelligent Distributed
Computing, IDC'2010, volume 315, pages
119-129. Springer-Verlag, 2010.
[24] Ilie, S., Badica, A., Badica, C.,
“Distributed agent-based ant colony
optimization
for
solving
traveling
salesman problem on a partitioned map”.
WIMS '11 Proceedings of the International
Conference on Web Intelligence, Mining
and Semantics Symposium of Intelligent
Distributed Computing, Article No. 23,
2011.
[25] Xiang,W., Lee, H.P., “Ant colony
intelligence in multi-agent dynamic
manufacturing scheduling”, Engineering
Applications of Artificial Intelligence,
2007
Download