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