emm4131 popülasyon temelli algoritmalarikucukkoc.baun.edu.tr/lectures/emm4131/emm4131-w6.pdf ·...

27
Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ Web: http://ikucukkoc.baun.edu.tr 6 Karınca Koloni Algoritması 1

Upload: others

Post on 16-Sep-2019

36 views

Category:

Documents


0 download

TRANSCRIPT

Yrd

. D

. D

r. İ

bra

him

ÇÜ

KK

We

b:

htt

p:/

/ik

uc

uk

ko

c.b

au

n.e

du

.tr

6

Karınca

Koloni

Algoritması

1

Ders Planı (Vize Sonrası)

11. Hafta (H7312): Sürü Zekası, Doğada Karıncalar, ACO Giriş

12. Hafta (H7312): ACO Uygulama Adımları ve Manuel Örnek Çözümleri

13. Hafta (C106): Daha Önce Yazılmış Kodların ve Parametrelerin Algoritma Performansı Üzerine Etkisinin İncelenmesi

14. Hafta (C106): Laboratuvarda ACO Uygulaması & Rapor Teslimi

Laboratuvarda ACO Uygulaması (Finalde 20 Puan): Verilecek olan föy üzerinde belirtilen uygulamalar

bilgisayar başında daha önceden geliştirilmiş bir ACO algoritması arayüzünü kullanarak eş zamanlı

şekilde gerçekleştirilecektir. İstenilen soruların cevapları verilecek olan föy üzerine işlenecektir.

Rapor Teslimi (Finalde 20 Puan): Tercihen SCI’da taranan bir dergide yayımlanmış (olmazsa Ulakbim

veritabanı), tercihen bir Endüstri Müh./Yöneylem Araş. probleminin çözümüne yönelik geliştirilmiş olan

GA veya ACO algoritması içeren bir makale incelenip araştırılacak. Makale kapsamında çözülen

problemi ve çözüm yönteminin detaylarını anlatan 4 sayfalık Türkçe bir rapor hazırlanacak (1-2 sayfa

problem, 2-3 sayfa çözüm yöntemi). Maksimum üç kişilik grup oluşturulabilir. Final sınavından önce

(sınav günü de olabilir) rapor çıktı olarak teslim edilecek (cilt yapmaya gerek yok, poşet dosya yeterli)

ve [email protected] adresine Word formatında gönderilecek.

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 2

Sürü Zekası (Swarm Intelligence)

Günümüzde biyolojik sistemlerden esinlenilerek ortaya çıkarılmış birçok yöntem hesaplama

problemlerinin çözümünde kullanılmaktadır.

Örneğin yapay sinir ağları insan beyninin basitleştirilmiş bir modelidir, genetik algoritma ise

doğada var olan "güçlü olanın hayatta kalması ve genetik özelliklerini sonraki nesillere

aktarması" prensibinden esinlenilerek ortaya çıkarılmıştır.

Biyolojik sistemlerin başka bir çeşidi olan sosyal sistemler, özellikle bireyin çevresiyle ve diğer

bireylerle olan etkileşimini ve kolektif (ortak) davranışlarını incelemektedir.

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 3

Sürü Zekası (Swarm Intelligence)

Bazen tek başlarına hiçbir iş yapamayan varlıklar, toplu hareket ettiklerinde çok zekice

davranışlar sergileyebilmektedir. Bir topluluğa ait bireyler, en iyi bireyin davranışından ya da

diğer bireylerin davranışlarından ve kendi deneyimlerinden yararlanarak yorum yapmakta ve

bu bilgileri ileride karşılaşacakları problemlerin çözümleri için bir araç olarak kullanmaktadırlar.

Örneğin, bir canlı sürüsünü oluşturan bireylerden birisi bir tehlike sezdiğinde bu tehlikeye karşı

tepki verir ve bu tepki sürü içinde ilerleyip tüm bireylerin tehlikeye karşı ortak bir davranış

sergilemesini sağlar.

Canlıların sürüler halinde bir problemi kendi başlarına çözemeyip ortaklaşa ortaya koydukları

gayretle çözme yeteneği sürü zekası olarak adlandırılmaktadırlar.

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 4

Sürü Zekası Optimizasyon Algoritmaları

Sürü, birbirleriyle etkilesen dağınık yapılı bireyler yığını

anlamında kullanılır. Bireyler insan veya karınca olarak

ifade edilebilir.

Sürülerde N adet temsilci bir amaca yönelik davranışı

gerçekleştirmek ve hedefe ulaşmak için birlikte

çalışmaktadır. Kolaylıkla gözlenebilen bu “kolektif zeka”

temsilciler arasında sık tekrarlanan davranışlardan

doğmaktadır.

Temsilciler faaliyetlerini idare etmek için basit bireysel

kurallar kullanmakta ve grubun kalan kısmıyla etkileşim

yolu ile sürü amaçlarına ulaşmaktadır.

Grup faaliyetlerinin toplamından bir çeşit kendini

örgütleme doğmaktadır.

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 5

Sürü Zekası Optimizasyon Algoritmaları

Şimdiye kadar farklı araştırmacıların önerdiği sürü zekası optimizasyon algoritmaları aşağıda

başlıklar halinde verilmiştir:

Karınca Koloni Optimizasyonu

Parçacık Sürü Optimizasyonu

Yapay Balık Sürüsü Algoritması

Bakteriyel Besin Arama Optimizasyon Algoritması

Kurt Kolonisi Algoritması

Kedi Sürüsü Optimizasyonu

Yapay Arı Koloni Algoritması

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 6

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ

7

Doğada Karıncalar

Gerçek karıncalar, yuvaları ile yiyecek kaynağı arasındaki

en kısa yolu bulma kabiliyetine sahiptirler ve ayrıca

çevredeki değişimlere de adapte olabilmektedirler.

Örneğin, yuva ile yiyecek arasındaki en kısa yol belirli bir

zamanda keşfedilir ve sonra çevre şartları nedeniyle bu en

kısa yol artık en kısa yol olmaktan çıkarsa, karıncalar yeni en

kısa yolu bulabilmektedirler.

Diğer bir ilginç nokta da, karıncaların çok iyi görme

kabiliyetlerinin olmamasıdır. Yani, en kısa yolu keşfetme

uğraşında yönleri seçmek için etrafı tam olarak göremezler.

Karıncalar üzerine yapılan çalışmalar, en kısa yolu bulma

kabiliyetlerinin birbirleri arasındaki kimyasal haberleşmenin

bir sonucu olduğunu göstermiştir. Karıncalar birbirleriyle

haberleşmede feromon olarak adlandırılan kimyasal bir madde kullanmaktadır.

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 8

Doğada Karıncalar

Karıncalar yürürken yolları üzerine bir miktar feromon maddesi bırakır ve her bir karınca yuva

yada yiyecek bulmak için bir doğrultuyu seçer. Bir yönün seçilme ihtimali, bu yön üzerindeki

feromon maddesi miktarına bağlıdır.

Bütün yönlerin feromon miktarı birbirine eşit ise, o zaman bütün yönler karıncalar tarafından aynı

seçilme olasılığına sahiptir.

Tüm karıncaların hızlarının ve yollara bıraktıkları feromon miktarının aynı olduğu kabul

edildiğinde, daha kısa yollar üzerinde birim zamanda daha çok feromon maddesi birikecektir.

Dolayısıyla, karıncaların büyük çoğunluğu hızla en kısa yolları seçecektir.

Gerçek karınca kolonilerinin en kısa yolu bulmak için gösterdikleri davranış, doğal bir

optimizasyon işlemini tanımlar.

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 9

Doğada Karıncalar

Deneubourg et al (1989) Çift Köprü Deneyi – I (Double Bridge Experiment – I)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 10

Yuva(Nest)

Yiyecek Kaynağı (Food Soure)15cm

Karıncalar bir süre gözlendiğinde;

- En başta rastsal olarak seçim yapılıyor ve her iki yol üzerinde de karıncalar gözleniyor.

- Fakat zamanla, neredeyse tüm karıncaların tek bir yol üzerinde yoğunlaştığı gözleniyor.

Doğada Karıncalar

Deneubourg et al (1989) Çift Köprü Deneyi – II (Double Bridge Experiment – II)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 11

Karıncalar bir süre gözlendiğinde;

- En başta rastsal olarak seçim yapılıyor ve her iki yol üzerinde de karıncalar gözleniyor.

- Fakat zamanla, neredeyse tüm karıncaların en kısa yol üzerinde yoğunlaştığı gözleniyor.

Yuva(Nest)

15cmYiyecek Kaynağı (Food Soure)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 12

Video ACO1

https://www.youtube.com/watch?v=xpyKmjJuqhk

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 13

Doğada Karıncalar

Karıncaların aynı zamanda, çevredeki değişime adapte olma yetenekleri vardır. Dış etkenler sonucu takip ettikleri mevcut yol artık en kısa yol değilse, yeni en kısa yolu bulabilmektedirler.

Şekilde de görüldüğü gibi karıncalar başlangıçta düz bir hattı takip etmektedir.

Önlerine bir engel konulduğunda feromonları takip edemediklerinden, karıncalar gidebilecekleri iki yoldan birini öncelikle rastsal olarak seçmektedirler.

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 14

Kısa olan yoldan birim zamandaki geçiş daha fazla olacağından bırakılan feromon miktarı da daha fazla olur.

Buna bağlı olarak, zaman içerisinde kısa olan yolu tercih eden karıncaların sayısında artış olur. Belli bir süre sonra neredeyse tüm karıncalar kısa yolu tercih ederler.

Başta rastsal hareket eden karıncaların, izleri kontrol ederek yüksek olasılıkla izlerin yoğun olduğu yönü takip etmesi otokatalitik bir davranış şeklidir ve karıncaların karşılıklı etkileşiminde sinerjik bir etki vardır.

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 15

Karınca Koloni Optimizasyon (Ant Colony Optimization-ACO) Algoritması

Karınca Koloni Optimizasyon (Ant Colony Optimization-ACO) Algoritmalarının temeli ilk olarak

Dorigo ve arkadaşları tarafından; gezgin satıcı problemi (GSP) ve kuadratik atama (QAP) gibi

zor optimizasyon problemlerinin çözümü için geliştirilmiştir.

En yeni sezgisel algoritmalardan biridir. Algoritma gerçek karınca kolonilerinin davranışları

üzerine dayalıdır.

Günümüze kadar ACO algoritmalarının yeni modelleri ortaya çıkmış ve bu modellerin özellikle

kesikli (discrete) optimizasyon problemlerinin çözümüne uygulanması konusunda çeşitli

çalışmalar yapılmıştır.

ACO algoritması, yukarıda tanımlanan gerçek karınca kolonilerinin yapmış olduğu doğal

optimizasyon işleminin yapay bir versiyonudur, genetik algoritma gibi popülasyon temelli bir

algoritmadır.

Yapay karıncalardan oluşan ACO Algoritması, yapay feromon izlerinin güncelleştirilmesiyle

tekrarlanan bir yapıya sahiptir.

Algoritmanın çalışma sürecinde, karıncalar tarafından güncellenen feromon izleriyle iyi bir

çözümün bulunması için bilgi oluşturulmakta ve her iterasyonda bu bilgiler güncellenmektedir.

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 16

Karınca Koloni Optimizasyon (Ant Colony Optimization-ACO) Algoritması

ACO algoritmasının çalışma prensibi yandaki şekilde verilmiştir. Kısaca;

Koloni büyüklüğü sayısınca karınca birer birer bırakıldıktan sonra, her bir karıncanın ürettiği çözümlerin fitness değerleri hesaplanır.

Fitness değerlerine göre, her bir karınca tarafından üretilen çözüm (güzergah, path) üzerinde bulunan yollara feromon bırakılır.

Tüm koloni turunu tamamlayınca, mevcut en iyi çözüm üzerinde bulunan yollara yeniden feromon bırakılır (global pheromone update). Bunun amacı mevcut en iyi çözümü pekiştirmektir. Sonrasında tüm yollardan buharlaşma oranı miktarınca feromon buharlaştırılır.

Maksimum koloni sayısına ulaşana kadar yeni karınca kolonileri bırakılır ve sonuçta döngü sonlandırılarak en iyi çözüm rapor edilir.

27/11/2017 17

ACO parametrelerini ayarla

Yeni bir koloni oluştur

(koloni büyüklüğü kadar karınca tanımla)

E

H

Feromon buharlaştır ve yerel feromon

güncelle

Tüm karıncalar

turlarını tamamladı

mı?

Koloni tarafından üretilen en iyi çözümü bul ve bu

güzergah üzerine tekrar feromon bırak

E

HDurdurma kriteri

sağlandı mı?

Yeni çözüm üretmesi için bir karıncayı

serbest bırak ve çözüm üretsin

Dur ve en iyi çözümü (en yoğun

feromon içeren güzergahı) göster

Başla

Adım 1

Adım 2

Adım 3

Adım 4

Adım 5

Adım 6

Video ACO2

Video: https://www.youtube.com/watch?v=eVKAIufSrHs

* Program İndir: http://ikucukkoc.baun.edu.tr/lectures/EMM4131/AntSimJar.zip

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 18

ACO Örnek: 4-Şehirli Gezgin Satıcı Problemi (GSP)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 19

A B

C DFeromon

AntMesafeler

AB: 10, AC: 10, AD, 30, BC, 40, CD 20

Başlangıçta, tüm yollara eşit oranda feromon bırakılır.

ACO Örnek: 4-Şehirli Gezgin Satıcı Problemi (GSP)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 20

A B

C D

Bir karınca, rastgele bir noktaya yerleştirilir.

Feromon

AntMesafeler

AB: 10, AC: 10, AD, 30, BC, 40, CD 20

ACO Örnek: 4-Şehirli Gezgin Satıcı Problemi (GSP)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 21

Karınca bu noktadan hangi noktaya hareket edeceğine:

- yolların feromon miktarları

- yolların uzunlukları

bilgilerine göre hesaplanan olasılıklara

göre karar verir.

Karıncanın BC yolunu tercih ettiğini varsayalım.

Feromon

Ant

A B

C D

Mesafeler

AB: 10, AC: 10, AD, 30, BC, 40, CD 20

ACO Örnek: 4-Şehirli Gezgin Satıcı Problemi (GSP)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 22

A B

C D

Karınca şu anda C noktasında ve {B, C} noktalarını ziyaret etmiş bulunmakta.

Dolayısıyla B ve C noktalarını tekrar ziyaret edemez.

Yeniden, mümkün olan noktalar arasından

hangisine hareket edeceğini stokastik olarak

feromon miktarları ve uzaklıkları

dikkate alarak seçer.

CD yolunu tercih ettiğini varsayalım.

Feromon

AntMesafeler

AB: 10, AC: 10, AD, 30, BC, 40, CD 20

ACO Örnek: 4-Şehirli Gezgin Satıcı Problemi (GSP)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 23

A B

C D

Karınca şu anda D noktasında bulunmakta

ve {B, C, D} noktalarını ziyaret etmiş durumda.

Gidebileceği sadece bir nokta kaldı:

A noktası

Feromon

AntMesafeler

AB: 10, AC: 10, AD, 30, BC, 40, CD 20

ACO Örnek: 4-Şehirli Gezgin Satıcı Problemi (GSP)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 24

A B

C D

Sonunda, BC, CD, ve DA yollarını izleyerek

tüm noktaları ziyaret etmiş oldu.

Başladığı noktaya dönebilmesi için

AB yolu da turuna eklenir.

Feromon

Ant

Şimdi, tüm noktalardan feromon buharlaştırılır.

Mesafeler

AB: 10, AC: 10, AD, 30, BC, 40, CD 20

ACO Örnek: 4-Şehirli Gezgin Satıcı Problemi (GSP)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 25

A B

C D

Sonra, karıncanın takip ettiği güzergah

üzerinde bulunan bağlantıların feromon

miktarı artırılır.

Feromon

AntMesafeler

AB: 10, AC: 10, AD, 30, BC, 40, CD 20

ACO Örnek: 4-Şehirli Gezgin Satıcı Problemi (GSP)

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ 26

Rastgele bir noktaya (örn. A noktası)

konumlandırılmış yeni bir karınca yeni bir çözüm için tura başlar.

Nereye gidecek?

Bu kez karınca, mesafeleri ve yollar üzerinde bulunan

mevcut feromon miktarlarını dikkate alarak seçimlerde

bulunarak yeni bir çözüm oluşturacak.

A B

C DFeromon

AntMesafeler

AB: 10, AC: 10, AD, 30, BC, 40, CD 20

Kaynakça

Çayıroğlu, İ., Optimizasyon Teknikleri Ders Notları, Karabük Üniversitesi,

http://www.ibrahimcayiroglu.com/Dokumanlar/OptimizasyonTeknikleri/OptimizasyonTeknikleri-

6.Hafta-Karinca_Koloni_Algoritmasi.pdf, Erişim Tarihi: 10 Kasım 2017.

Keedwell, E. C., Nature Inspired Computation Lecture Notes, Exeter Universitesi,

http://emps.exeter.ac.uk/computer-science/staff/eckeedwe

M. Dorigo and T. Stützle. Ant Colony Optimization, MIT Press, Cambridge, 2004.

Aydın, İ., Meta Sezgisel Yöntemler Ders Notları, Fırat Üniversitesi,

http://web.firat.edu.tr/iaydin/bmu579/bmu_579_bolum6.pdf, Erişim Tarihi 14 Kasım 2017.

Akyol, S., Alataş, B., Güncel Sürü Zekası Optimizasyon Algoritmaları, Nevşehir Üniversitesi Fen

Bilimleri Enstitü Dergisi 1 (2012) 36-50.

Tamer, S., Karakuzu, C., Parçacık Sürüsü Optimizasyon Algoritması ve Benzetim Örnekleri,

http://www.emo.org.tr/ekler/e5d75028d92047a_ek.pdf, Erişim Tarihi: 12.11.2017.

ACO Website (by Dorigo), http://iridia.ulb.ac.be/~mdorigo/ACO/ACO.html

27/11/2017EMM4131 - Yrd. Doç. Dr. İbrahim KÜÇÜKKOÇ