parçacık sürü...
TRANSCRIPT
Parçacık Sürü
Optimizasyonu
ABDULKADİR ŞEN {13542019}
NURULLAH ŞAHİN {13542016}
EMRE ÇATAMAK {15541018}
BAHADİR TELEF {13542024}
NAKİP ALİ YAZMACI {1354202}
Sürü zekası çalışması yapay zeka alanındaki birkaç yeni optimizasyon tekniğinden biridir. Dorigo, karıncaların depolanan fenomenlerin bıraktığı izleri takip ederek yiyecek kaynaklarını kısa yoldan bulmalarını taklit eden Karınca Kolonisi Optimizasyonun geliştirmiştir. Eberhart ve Kennedy kuş ve balık sürülerinin benzetimi temelli Parçacık Sürü Optimizasyonunu (PSO) öne sürdüler. PSO güçlü olmayı, uygulama kolaylığını ve sayısal etkisini göstermiştir
Sürü halinde hareket eden hayvanların yiyecek ve güvenlik gibi durumlarda, çoğu zaman rastgele sergiledikleri hareketlerin, amaçlarına daha kolay ulaşmalarını sağladığı görülmüştür. PSO bireyler arasındaki sosyal bilgi paylaşımını esas alır. Arama işlemi genetik algoritmalarda olduğu jenerasyon sayısınca yapılır. Her bireye parçacık denir ve parçacıklardan oluşan popülasyona da sürü (swarm) denir.
Her bir parçacık kendi pozisyonunu, bir
önceki tecrübesinden yararlanarak sürüdeki
en iyi pozisyona doğru ayarlar. PSO, temel
olarak sürüde bulunan bireylerin
pozisyonunun, sürünün en iyi pozisyona sahip
olan bireyine yaklaştırılmasına dayanır.
Bu yaklaşma hızı rastgele gelişen durumdur
ve çoğu zaman sürü içinde bulunan bireyler
yeni hareketlerinde bir önceki konumdan
daha iyi konuma gelirler ve bu süreç hedefe
ulaşıncaya kadar devam eder.
PSO, Sipariş miktarı belirleme, çizelgeleme
problemleri, güç ve voltaj kontrolü, motor
parametrelerini belirleme, tedarik seçimi ve
sıralama problemleri gibi bir çok
optimizasyon problemlerinde başarı ile
kullanılmıştır
Başlangıç sürüsünü, hızları ve pozisyonları oluştur
Sürüdeki bütün parçacıkların uygunluk değerlerinihesapla
Her jenerasyonda tüm parçaları öncekijeneresayonun en iyisi ile karşılaştır. Daha iyi ise yer
değiştir.
En iyi yerel değerini kendi arasında karşılaştır ve eniyi olanı küresel en iyi olarak ata.
Hız ve pozisyon değerlerini yenile.
Sonucu göster
Durdurmakriteri
Algoritma temel olarak aşağıdaki
basamaklardan oluşur;
1. Rastgele üretilen başlangıç pozisyonları ve hızları ile
başlangıç sürüsü oluşturulur.
2. Sürü içerisindeki tüm parçacıkların uygunluk
değerleri hesaplanır.
3. Her bir parçacık için mevcut jenerasyondan yerel
en iyi (pbest) bulunur. Sürü içerisinde en iyilerin
sayısı parçacık sayısı kadardır.
4. Mevcut jenerasyondaki yerel eniyiler içerisinden
küresel en iyi (gbest) seçilir.
5. Pozisyon ve hızlar aşağıdaki gibi yenilenir.
Burada Xid pozisyon ve Vid hız değerlerini verirken,rand1 ve rand2 değerleri rasgele üretilmiş sayılardır.W atalet ağırlık değeri ve C1, C2 ölçeklendirmefaktörleridir.
Pid seçilen parçacığın en iyi oldugu konumu, Pgd iseen iyi parçacık.
Durdurma kriteri sağlanıncaya kadar 2,3,4,5 adımlarıtekrar edilir.
Tipik bir sürü zekası sistemi
aşağıdaki özelliklere sahiptir
Birleşim: Bir parçacık birkaç bireyin
kombinasyonudur.
Hata Toleransı: Parçacık zekası süreci tek bir merkezi
kontrol mekanizmasına dayanmaz. Bu nedenle
birkaç düğüm veya bağlantı kaybı ciddi arızalara
neden olmaz fakat aksine zarifliğe, ölçeklenebilir
ayrıştırmaya öncülük eder.
Kurala Dayalı Davranış: Kesin kurallar dizisi sadece yerel bilgi kullanan bireyler tarafından gözlenir, bireyler direkt veya çevre aracıyla değişir.
Özerklik: Parçacık Sisteminin tüm davranışları kendi kendine örgütler, sistem için yabancı bir düzene güvenmez. Hiçbir insan denetimi gerekli değildir.
Ölçeklenebilirlik: Temsilcilerin
popülasyonu ağın büyüklüğüne göre
uyum sağlayabilirler. Ölçeklenebilirlik
yerel ve dağınık etkileşim temsilcilerini
daha iyi bir pozisyona sokar.
Uyarlama: Bireyler, sürmekte olan
karınca sistemi değişiklikleri, ölüm veya
üreme, tüm ağ değişikliklerine göredir.
Hız: Topluluk içindeki bireyler davranışlarını çabukça değiştirirler, komşularına göre. Yayılım çok hızlıdır.
Birimsellik: Bireylerin davranışları topluluktaki diğerlerine göre bağımsızdır.
Paralellik: Bireylerin faaliyetleri doğal olarak paraleldir.
Her bir parçacık hiper uzaydaki o ana kadar elde edilmiş en iyi (uygunluk) çözüm ile birlikte koordinatlarını aklında tutar (uygunluk değeri de saklanmalıdır). Bu değer pbest (peniyi) olarak adlandırılır. Burada başka bir en iyi değer de izlenmektedir. Parçacık Sürü optimize edicinin global biçimi, popülasyonda o zamana kadar herhangi bir parçacığın elde etmiş olduğu tüm en iyi değerleri ve yerini aklında tutar, bu da gbest (geniyi) olarak adlandırılır
Algoritma
D adet parametreden oluşan n parçacık göz önünealındığında i. Parçacık,
xi = [ xi1, xi2, ….xiD]
pbesti=[pi1,pi2,…piD]
gbest=[p1,p2,….pD]
x11 x12…….x1D
x= x21 x22…….x2D x: popülasyon matrisi
xn1 xn2…….xnD
Parçacığın her konumdaki değişimmiktarını gösteren hız vektörü:
vi= [vi1, vi2, …viD ]
Parçacık hızı ve konumunungüncellenmesi;
Vik+1 = Vi
k + c1rand1k(pbesti
k-xik)+ c2rand2
k(gbestk-xik)
Xik+1 = xi
k + Vik+1
Rand:(0,1) aralığında rastgele birdeğer
k: iterasyon sayısı
c1,c2: öğrenme faktörüdür.Parçacıkları pbest ve gbestkonumlarına doğru yönlendirir.Genellikle 2 olarak seçilir.
PSO parametreleri
f(x)= x12 + x2
2 + x32
Göz önene alınırsa;
Bilinmeyen sayısı 3 olup parçacık D=3
boyutludur.
PSO reel sayıları kullanarak çalışabilir.
Parçacık sayısı: genelde 20-40 arasındadır.
Parçacık boyutu: probleme göredeğişkenlik gösterir.
Vmax= bir iterasyonda, bir parçacıktameydana gelebilecek maksimumdeğişikliği (hız) belirler.
Parçacık aralığı: örneğin x1 için(-5,5)
Öğrenme faktörleri: c1, c2 olup [0,4]aralığında seçilebilir.
Sonlandırma kriteri: minimum hata veyaiterasyon sayısı olabilir.
Şimdi gelin bu algoritmayı biraz daha
sadeleştirerek bir örnek üzerinde anlayalım:
X Y
P1 -3 1
P2 2 -4
P3 0 -2
P4 1 9
P5 6 0
W=0,1
C1,C2=2
Yandaki tabloda x-y koordinat düzlemindekonumları verilen 5 tane parçacığımız yeralmaktadır. Yukarıdaki değerler öncedenbelirlediğimiz değerlerdir. Amacımızf(x,y)=(2x^2)-y fonksiyonumuzun minimum olduğu noktayı bulmak. Öncelikle her birparçanın konum vektörlerini fonksiyondayerine yazarak uygunluk değerlerinihesaplayacağız.
P1=17 P2=12 P3=2 P4=-7 P5=72
Uygunluk değerlerini hesapladığımızda P4 amacımıza uygun olarak en iyi değere sahipbirey oluyor.Bu durumda P4 gbestoluyor.Bundan sonra değerleri formülümüzdeyerine yazarak her bir parçacığın bir sonraki hızıve konumu bulunur. Birinci iterasyonda birönceki konumları olmadığı için Pid (pbest) şuanki konumu olarak alınır. Tüm parçacıkların birsonraki konumu bulunduğunda birinci iterasyontamamlanmış olur.Ardından tekrar uygunlukdeğerleri hesaplanıp yeni gbest bulunur veikinci iterasyonun tamamlanmasının ardındanen iyi çözüm üretilene kadar iterasyonlardevam eder.