inet-tr`11 mAKALE KİTAPÇIĞI

advertisement
XVI. Türkiye'de İnternet Konferansı
30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir
Etmen Tabanlı Teknolojilerin Karınca Kolonisi Eniyileme
Uygulamalarında Kullanımları
Musa ÜNSAL 1, Özgür Koray ŞAHİNGÖZ 2
Havacılık ve Uzay Teknolojileri Enstitüsü, Bilgisayar Mühendisliği Bölümü, İstanbul
1
Hava Harp Okulu, Bilgisayar Mühendisliği Bölümü, İstanbul
2
[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 esinlenmeli 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 mass 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.
285
Etmen Tabanlı Teknolojilerin Karınca Kolonisi Eniyileme Uygulamalarında Kullanımları
Musa Ünsal, Özgür Koray Şahingöz
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
286
XVI. Türkiye'de İnternet Konferansı
30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir
etmen teknolojisinin sağlayacağı avantajlar
incelenmiştir.
ve sürü zekâsı konularında araştırmacılar
büyük ilerlemeler kaydetmişlerdir [5].
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.
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 alınarak yapılır. Bu şekilde
çalışmak
böceklerin
sırayla
işleri
yapmasından daha etkindir [6].
2. Doğa Esinlenimli Eniyilemeler ve Sürü
Zekâsı
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.
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.
• Esnek ve gürbüz yapısı sayesinde
değişen koşullara kolaylıkla adapte
olabilir.
•
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â
Bireyler genellikle homojendir.
• Bulunulan
modeli yoktur.
ortamın
belirgin
bir
• 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 yerel
kullanabilirler.
verileri
• Amaç mevcut bir problemi mümkün
olduğunca iyi bir şekilde çözmektir.
Buna karşılık bu yaklaşım kullanımında bazı
sınırlamalar
ve
eksikliklerle
de
287
Etmen Tabanlı Teknolojilerin Karınca Kolonisi Eniyileme Uygulamalarında Kullanımları
Musa Ünsal, Özgür Koray Şahingöz
karşılaşılmaktadır.
listelenebilir.
•
Bunlar
şu
şekilde
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.
1.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
288
XVI. Türkiye'de İnternet Konferansı
30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir
karmaşık
[10].
işlemleri
gerçekleştirebilecekler
Yiyecek
Yuva
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
Yiyecek
Yuva
Ş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].
Ş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
30 Dakika sonra
Şekil 3. Eşit olmayan yol uzunluklarıyla yapılan deneme.
1.2. 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
289
Etmen Tabanlı Teknolojilerin Karınca Kolonisi Eniyileme Uygulamalarında Kullanımları
Musa Ünsal, Özgür Koray Şahingöz
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ül2'ye temel teşkil etmektedir.
Parametr
e
nk
nt
T0
ρα
β
En basit şekliyle karınca koloni algoritması
ana alt başlıkları aşağıdaki gibi
tasarlanabilir;
Anlamı
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();
}
Karınca sayısı
En fazla iterasyon
sayısı
Başlangıç feromon
miktarı
Feromon buharlaşma
oranı Feromon
kuvvetlendirme oranı
Sezgisellik
kuvvetlendirme oranı
Verileri başlangıç durumuna getirilmesi
için
algoritma
içerisinde
yapılması
gerekenler aşağıda gösterilmektedir.
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].
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();
}
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].
Sonrasında algoritmada çalıştırılması gereken
sözde kod aşağıdadır.
τ ij ← (1−ρ )τ ij ,∀(i, j)∈ A,
Formül 2. Her tur sonrası yollarda yapılacak feromon
güncellemesi
1.3. Karınca Koloni Optimizasyonu
Örnek Algoritması
290
XVI. Türkiye'de İnternet Konferansı
30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir
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].
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.
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
azalarak devam eder.
dolaşıldıkça
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.
Bu problem, bir matematiksel problem olarak
1930'lu
yıllarda
formüle
edilmiştir.
Optimizasyon konusunda en derin inceleme
konularından biridir.
291
Etmen Tabanlı Teknolojilerin Karınca Kolonisi Eniyileme Uygulamalarında Kullanımları
Musa Ünsal, Özgür Koray Şahingöz
Düğüm
Sayısı
Kaç değişik
seçim
yapılabilir?
Sonuç
2
2!
2
5
20
50
100
5!
20!
50!
100!
120
2,43*1018
3,041*1064
9,33*10157
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 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.
Şekil 4. Eşit olmayan yol uzunluklarıyla yapılan deneme.
Yeni dünya düzeninde bilgisayar yalnızca
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 geçerliliğini
yitirmekte, bunların yerini sosyal olarak
etkileşen bileşenler almaktadır. Bu bileşenler
birbirlerini servis sağlayıcı olarak görürler.
Aynı 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].
İşte bağımsız bileşenler ve varlıklar
arasındaki bu sosyal paylaşım ve etkileşim
etmenler sayesinde çözülmektedir.
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ı
292
XVI. Türkiye'de İnternet Konferansı
30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir
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
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].
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.
•
Ö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.
293
Etmen Tabanlı Teknolojilerin Karınca Kolonisi Eniyileme Uygulamalarında Kullanımları
Musa Ünsal, Özgür Koray Şahingöz
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,
294
XVI. Türkiye'de İnternet Konferansı
30 Kasım-2 Aralık 2011 Ege Üniversitesi İzmir
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, 3942, 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
295
Etmen Tabanlı Teknolojilerin Karınca Kolonisi Eniyileme Uygulamalarında Kullanımları
Musa Ünsal, Özgür Koray Şahingöz
International Conference
Engineering, 2009.
on Information
Information Systems, New York, August,
2004.
[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
[22]
Klusch, M., “Information Agent
Technology for the Internet : A Survey”, Data
Knowl. Eng. (DKE) 36(3):337-372, Volume
36, 2001.
[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
[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
296
Download