141
Sürü zekâsında yeni bir yaklaşım: Kuş sürüsü algoritması
doğrudan sürünün merkezine doğru hareket
etme eğilimi yoktur. Böyle hareketler denklem
(2-4)’teki gibi ifade edilmektedir (Meng vd.,
2016):
????????????
????????????????????????
????????????+1
= ????????????
????????????????????????
????????????
+ ????????????
1
(????????????????????????????????????????????????
????????????
− ????????????
????????????????????????
????????????
) × ????????????????????????????????????????????????(0, 1) +
????????????
2
(????????????
????????????????????????
− ????????????
????????????????????????
????????????
) × ????????????????????????????????????????????????(−1, 1)
(2)
????????????
1
= ????????????
1
× exp (−
????????????????????????????????????????????????
????????????
????????????????????????????????????????????????????????????????????????+∈
× ????????????)
(3)
????????????
2
= ????????????
2
× ???????????????????????????????????? (−
????????????????????????????????????????????????
????????????
−????????????????????????????????????????????????
????????????
|????????????????????????????????????????????????
????????????
−????????????????????????????????????????????????
????????????
|+∈
)
????????????×????????????????????????????????????????????????
????????????
????????????????????????????????????????????????????????????????????????+∈
(4)
k(k≠i) 1 ve
N arasında rastgele seçilen pozitif bir
tamsayıdır. a
1
ve a
2
[0, 2] arasında sabit iki
pozitif sayıdır.
????????????????????????????????????????????????
????????????
i. kuşun en iyi uygunluk
değerini göstermektedir ve sumFit sürünün en
iyi uygunluk değerinin toplamını temsil
etmektedir. 0 bölünme hatasını önlemek için
kullanılan
Є, bilgisayardaki en küçük sabittir.
mean
j
bütün sürünün j. elemanının ortalama
konumunu ifade etmektedir.
Bir kuş sürünün merkezine doğru hareket
ettiğinde kaçınılmaz bir şekilde birbirleriyle
yarışacaklardır. Kolaylık olması açısından
sürünün ortalama uygunluk değeri bir kuş
sürünün merkezine doğru hareket ettiğinde
çevresi tarafından uyarılan dolaylı etki olarak
kabul edilmektedir. Her kuşun sürünün
merkezinde durmak istediği gerçeği göz önüne
alındığında A
1
ve rand (0, 1)’in çarpımı 1’den
fazla olmamalıdır. Burada bir kuş sürünün
merkezine hareket ettiğinde A
2
özel bir girişim
tarafından uyarılan doğrudan etkiyi simüle
etmek için kullanılır. Rastgele k. bir kuşun en
iyi uygunluk değeri (k≠i) A
2
>a
2
olur. Yani i.
kuşun
k. kuştan daha büyük bir girişim ortaya
çıkarabildiği anlamına gelir. Bazı rastgelelik ve
öngörülmezlik olmasına rağmen k. kuşun i. kuşa
göre sürünün merkezine doğru daha fazla
hareket etmesi muhtemeldir. Aksi
belirtilmedikçe
bu
çalışma
minimal
optimizasyon problemlerini çözer (Meng vd.,
2016).
c) Uçma Davranışı
Kuşlar bir başka bölgeye avlanma tehdidine
karşılık olarak, besin arama ya da diğer
herhangi bir sebepten uçabilirler. Yeni bir
bölgeye vardıklarında yine yiyecek için besin
aramaktadırlar. Üretici olarak davranan bazı
kuşlar yiyecek yollarını arayabilmekte diğerleri
üreticiler tarafından bulunan yiyecek yolundan
beslenmeye çalışmaktadırlar. Kural 4’e göre
üreticiler ve bedavacılar sürüden ayrılabilirler.
Üreticilerin ve bedavacıların davranışları
sırasıyla denklem (5, 6)’daki gibi matematiksel
olarak ifade edilmiştir (Meng vd., 2016):
Tablo 3. KSA’nın sözde kodları
KSA
Girdi: N: Popülasyon tarafından içerilen bireylerin (kuş) sayısı
M: İterasyonun maksimum sayısı
FQ: Kuşların uçma davranışlarının sıklığı
P: Yiyecek için besin bulma olasılığı
C, s, a1, a2, FL: 5 sabit parametre
t = 0; popülasyonu başlatmak ve ilgili parametreleri tanımlamak
N bireylerinin uygunluk değeri değerlendirme ve en iyi çözüm bulma
While(t < M)
If(t % FQ ≠ 0)
For i = 1 : N
If rand(0, 1)< P
Kuşlar yiyecek için besin arar (Denklem 1)
Else
Kuşlar uyanık kalır( Denklem 2)
End If
End For
Else
Sürüyü iki parça haline bölün: Üreticiler ve bedavacılar
For i = 1 : N
If i yapımcı ise
Üretici (Denklem 5)
Else
Bedavacı (Denklem 6)
End If
End For
End If yeni çözümleri değerlendirme
If yeni çözümler önceki çözümlerden daha iyiyse bunları güncelleştir
Mevcut en iyi çözümü bul
t = t + 1; End While
Çıkış : Popülasyondaki en iyi amaç fonksiyonlu birey
????????????
????????????????????????
????????????+1
= ????????????
????????????????????????
????????????
+ ????????????????????????????????????????????????(0, 1) × ????????????
????????????????????????
????????????
(5)
????????????
????????????????????????
????????????+1
= ????????????
????????????????????????
????????????
+ (????????????
????????????????????????
????????????
− ????????????
????????????????????????
????????????
) × ???????????????????????? × ????????????????????????????????????????????????(0, 1)(6)
randn(0,1) standart sapması 1 ve ortalaması 0
olan rastgele sayı üreten Gauss’u göstermekte,
kЄ[1,2,3,…N], k≠i. FL(FLЄ[0,2]
) bedavacıların
yiyecek aramak için üreticileri takip ettiği
anlamına gelmektedir.
d) KSA süreci
Söz konusu açıklamalara dayanarak, KSA Tablo
3’te gösterilen sözde kod ile özetlenmiştir.