• Sonuç bulunamadı

Bilişsel gelişim optimizasyon algoritması kapsamında çözüm adımları

4. YAPAY ZEKÂ TABANLI OPTİMİZASYON İÇİN GELİŞTİRİLEN

4.2. Bilişsel Gelişim Optimizasyon Algoritması (BiGOA)

4.2.1. Bilişsel gelişim optimizasyon algoritması kapsamında çözüm adımları

BiGOA ile işe koşulan YZ tabanlı optimizasyon çözüm adımlarını şu şekilde ifade etmemiz mümkündür (Köse ve Arslan, 2015; 2016a; Köse ve ark., 2016):

Adım 1 (Kurulum Fazı). N adet parçacığı oluştur ve her bir parçacık için

başlangıç Etkileşim_Oranı (ir: interactivity rate) ve Deneyim (ex: experience) değerlerini belirle. Algoritma ile ilgili olarak da, Maksimum_Etkileşim_Oranı ve

Minimum_Etkileşim_Oranı (max_ir, min_ir) değerlerini, Olgunlaşma_Limiti (ml: maturity_limit) değerini ve Rasyonallik_Oranı (r: rationality_rate) değerini belirle.

Çözülecek probleme yönelik diğer düzenlemeleri de yap.

Adım 2. Parçacıkları çözüm uzayına rastgele dağıt ve her parçacığın konumuna

göre amaç fonksiyon değerini (fitness) hesapla. Optimum değeri hesaplayan, o anda en iyi konumdaki parçacığın Etkileşim_Oranı değerini Denklem 4.7.’ye göre güncelle ve yine aynı parçacığın Deneyim değerini 1 artır (Denklem 4.8.).

Adım 3. Aşağıdaki adımları, iteratif süreç boyunca (Örneğin; belirli bir

iterasyon sayısına ulaşıncaya kadar ya da amaç fonksiyonda istendik bir değere ulaşıncaya kadar) tekrarla:

(Her parçacık için; her amaç fonksiyon boyutu için;)

Adım 3.1 (Sosyalleşme Fazı). Bütün parçacıkların hesapladığı amaç fonksiyon

değerinin (fitness) ortalamasına eşit veya ondan daha kötü (mininizasyon ise üstünde, maksimizasyon ise altında) olan parçacıkların Deneyim değerini 1 düşür (Denklem 4.9.). Tersi durumda değere sahip (yani daha iyi: mininizasyon ise ortalamanın altında, maksimizasyon ise ortalamanın üstünde) olan parçacıkların Deneyim değerini ise 1 artır (Denklem 4.10.). Söz konusu bu parçacıkların Etkileşim_Oranı değerini Denklem

4.11.’e göre güncelle.

Adım 3.2. Her parçacığın Etkileşim_Oranı değerini Denklem 4.12.’ye göre

güncelle.

Adım 3.3. En iyi durumdaki parçacık dışında kalan bütün parçacıkların

Adım 3.4. Her parçacığın yeni konumuna göre amaç fonksiyon değerini (fitness)

hesapla. Optimum değeri hesaplayan, o anda en iyi konumdaki parçacığın

Etkileşim_Oranı değerini Denklem 4.7.’ye göre güncelle ve yine aynı parçacığın Deneyim değerini 1 artır (Denklem 4.8.).

Adım 3.5 (Olgunlaşma Fazı). Deneyim değeri Olgunlaşma_Limiti değerine eşit

veya ondan daha iyi (mininizasyon ise altında, maksimizasyon ise üstünde) olan parçacıkların Etkileşim_Oranı değerini Denklem 4.13.’e göre güncelle. Optimum değeri hesaplayan (Adım 3.4.), o anda en iyi konumdaki parçacığın Etkileşim_Oranı değerini

Denklem 4.7.’e göre güncelle ve yine aynı parçacığın Deneyim değerini 1 artır (Denklem 4.8.).

Adım 3.6 (Rasyonelleşme Fazı). Deneyim değeri 0’ın altında olan parçacıkların

Etkileşim_Oranı değerini ve konumlarını sırasıyla Denklem 4.14. ve Denklem 4.15.’e

göre güncelle. Deneyim değeri 0’a eşit veya ondan yüksek olan parçacıkların

Etkileşim_Oranı değerlerini ise Denklem 4.16.’ya göre, Rasyonallik_Oranı değeri kadar

güncelle.

Adım 3.7 (Dengeleme Fazı). Her parçacığın Etkileşim_Oranı değerini Denklem

4.10.’a göre güncelle. Her parçacığın yeni konumuna göre amaç fonksiyon değerini

(fitness) hesapla. Optimum değeri hesaplayan, o anda en iyi konumdaki parçacığın

Etkileşim_Oranı değerini Denklem 4.7.’ye göre güncelle ve yine aynı parçacığın Deneyim değerini 1 artır (Denklem 4.8.).

Adım 3.7. Çözüme yakınsama istendik düzeyde değilse sistem-içi optimizasyon

uygula.

Adım 4. İterasyon – döngü sonunda küresel en iyi konuma göre elde edilen

değer(ler) optimum değer(ler) olarak kabul edilmektedir.

BiGOA’da algoritma başlangıcında en iyi durumdaki parçacığın

Etkileşim_Oranı değerine yönelik güncelleme, rastgele bir sayı (0 ile 1 arasında) ile

çarpım ve elde edileni ekleme işlemine dayanmaktadır:

İ ş = İ ş + ( İ ş ∗ )

Denklem 4.7.’de, y ve g simgeleri, en iyi durumdaki parçacığın geçerli (g) ve

yeni (y) durumdaki Etkileşim_Oranı değerlerini göstermektedir.

İlgili parçacığın Deneyim değerinin geliştirilmesi, geçerli değerin 1 artırılması ile gerçekleştirilmektedir:

İ = İ + 1 (4.8.)

Denklem 4.8.’de, y ve g simgeleri, en iyi durumdaki parçacığın geçerli (g) ve

yeni (y) durumdaki Deneyim değerlerine karşılık gelmektedir.

Sosyalleşme Fazı – Adım 3.1.’de söz konusu olan Deneyim ve Etkileşim_Oranı değerlerine yönelik güncellemeler üç denklem kapsamında yerine getirilmektedir:

= − 1 (4.9.)

= + 1 (4.10.)

ş = ş + ( ş ∗ )

(4.11.)

Denklem 4.9., Denklem 4.10. ve Denklem 4.11.’de z zaman için (iterasyon –

döngü anlamında) kullanılmaktadır. Diğer yandan, daha önce ifade edilen diğer temsiller dışında; ortalama amaç fonksiyon değerinden (fitness) kötü durumdaki parçacıkları belirtmek için x simgesi yerine ofkx simgesi ve parçacık numarası belirtimi için i (Denklem 4.9.), ortalama amaç fonksiyon değerinden (ortalama fitness) iyi durumdaki parçacıkları belirtmek için ise, x simgesi yerine ofix simgesi ve parçacık numarası belirtimi için j kullanılmıştır (Denklem 4.10. ve Denklem 4.11.).

Sosyalleşme Fazı – Adım 3.2.’de bütün parçacıkların Etkileşim_Oranı değerlerinin rastgele sayı(lar) (0 ile 1 arasında) geliştirilmesi işlemi gerçekleştirilmektedir:

ş = ş ∗ (4.12.)

Denklem 4.12.’de bütün parçacıklar kapsamında parçacık numarası belirtimi için k kullanılmaktadır.

Olgunlaşma Fazı – Adım 3.5.’te Deneyim değeri Olgunlaşma_Limiti değeri bağlamında daha iyi olan parçacıklara yönelik Etkileşim_Oranı güncellemesi, rastgele bir sayı (0 ile 1 arasında) ile çarpım ve elde edileni ekleme işlemine dayanmaktadır:

ş = ş + ( ş ∗ )

(4.13.)

Denklem 4.13. kapsamında l simgesi ilgili parçacıkların numarasını belirtmek

için kullanılmaktadır. Olgunlaşma_Limiti değeri bağlamında daha iyi olan parçacıkları belirtmek için ise, x simgesi yerine olix simgesi tercih edilmiştir.

Rasyonelleşme Fazı – Adım 3.6.’da Deneyim değeri 0’ın altında olan parçacıkların Etkileşim_Oranı değerleri ve konumları, o anda en iyi durumdaki parçacığın değerleri, bu parçacık bağlamında optimum değer(ler)in olduğu konum(lar) ve rastgele sayılar (0 ile 1 arasında) temel alınarak, yakınsamayla güncellenmektedir:

ş = ş + [( İ ş /

ş ) ∗ ] (4.14.)

= + ∗ ( İ −

) ∗ (4.15.)

Denklem 4.14. ve Denklem 4.15.’te m simgesi söz konusu parçacıkların

numarasını belirtmek için kullanılmaktadır. Deneyim değeri 0’ın altında olan parçacıkları belirtmek için ise, x simgesi yerine dsax simgesi tercih edilmiştir.

Deneyim değeri 0’ın üstünde veya ona eşit olan parçacıklar için Rasyonallik_Oranı değeri kadar uygulanan güncelleme işlemi de esasında Denklem 4.14.’teki güncellemeyle aynı fakat hedef kitlesi ve etki oranı farklı bir işlemdir:

ü ş = ü ş + [( İ ş /

ü ş ) ∗ ] (4.16.)

Denklem 4.16.’da n simgesi hedef parçacıkların numarasını belirtmek için; dsüx

simgesi ise, Deneyim değeri 0’ın üstünde veya ona eşit parçacıkları belirtmek için, x simgesi yerine kullanılmıştır.

İfade edilen çözüm adımları dikkate alınmak suretiyle, BiGOA’nın özet akış şeması Şekil 4.3.’te gösterilmiştir.

Şekil 4. 3. BiGOA özet akış şeması.

BiGOA’daki sistem-içi optimizasyon, GOA’dakinden esinlenmekle birlikte kısaca şöyledir (Köse ve Arslan, 2017b):

 Söz konusu işlem adımına gelindiğinde, fonksiyon değerleri (fitness) ve parçacık konumlarının (değişkenler) stabilitesi ölçülmekte; stabilitasyon yoksa parçacıkların konum (değişken) ağırlıkları bulunmaktadır. BiGOA’daki stabilite bir bireyin zihinsel karmaşa oranı ile ilişkilendirilmiştir.

 Konum (değişken) ağırlıkları a: ağırlık sınırı parametresinin altına düşmeyen parçacıklara, diğer parçacıklar rastgele sayılar yardımıyla, rastgele yürüyüş gerçekleştirilerek yaklaştırılmaktadır. Anlaşılacağı üzere buradaki süreç GOA’dakine benzemekte, ancak daha basit bir matematiğe dayanmaktadır.