“Parallel differential evolution with self-adapting control parameters and generalized opposition-based learning for solving high-dimensional optimization problems” başlıklı çalışma Wang Hui, Shahryar Rahnamayan ve Zhijian Wu tarafından yapılmış olup Journal of Parallel and Distributed Computing dergisinin 2013 yılındaki 73.sayısının 62-73.sayfaları arasında basılmıştır.
Evrimsel algoritmaların hemen hemen hepsi boyutsallık laneti(curse of dimensionality) ile cebellleşmektedir. Arama uzayının boyutu arttıkça çözüm kalitesi düşmektedir.
Java’da oluşturulan bir kod CEC-2010 benchmark fonksiyonlarını 104 saatte çözmüştür. Bu durum problemlerin çözümüne ulaşılsa dahi efektif bir zamanda ulaşılama problemini ortaya çıkarmaktadır.
Çalışmada DE algoritması GPU üzerinden paralelleştirilmiştir ve (GOjDE) ismi önerilmiştir. Bu çalışma daha önce önerilen generalized opposition based differential evolution (GODE) çalışmasının geliştirilmesiyle ortaya çıkmıştır. [H. Wang, Z.J. Wu, S. Rahnamayan, Enhanced opposition-based differential evolution for solving high-dimensional continuous optimization problems, Soft Comput. 15 (11) (2011) 2127–2140.]
Çalışmada algoritmanın performansını en üst düzeye çıkarmak için kendi kendine uyarlanan bir parametre ayarlama stratejisi önerilmiştir. GOjDE’yi hızlandırmak için GPU üzerinde gerçeklenmiştir.
CUDA programming model
1-Host and Device
2-Kernels
3-Thread Hierarchy
4-Memory Hierarchy
Thread-Block-Grid Yapısı
Opposition-based Learning (OBL) : Karşıtlığa dayalı öğrenme stratejisinde mevcut çözümün karşısına muhalif bir aday çözüm üretilir.
DE algoritmasının önemli parametrelerinden F ve CR için kendinden adapte mekanizma(self-adapting parameter mechanism) önerilmiştir. F değeri büyük ölçekli problemlerin çözümünde hassas bir parametredir çünkü adım boyutuna etki etmektedir.
Literatürde yapılan deneysel çalışmalarda F için [0.2, 0.4] önerilmiştir, bu çalışmada F=0,2 olarak alınmıştır. CR için ise [0.8, 1.0] önerilmiştir. Çalışmada [0.8, 1.0] aralığında rastgele değer alması sağlanmıştır.
The GOjDE Algorithm (CPU Implementation)
Çalışmada popülasyon çeşitliliğini artırmak için GOBL mekanizması önerilmiştir. Belirlenen değer ile rastgele üretilen bir sayının karşılaştırılması sonucunda GOBL mekanizması çalışır ya da çalışmaz. F ve CR parametreleride her jenerasyonda kendi kendilerini ayarlamaktadır.
Çalışmanın GPU üzerinde gerçeklenmesi (Implementation of parallel GOjDE on GPU)
DE_Kernel()
-Parametrelerin güncellenmesi
-Mutasyon
-Crossover
-Fitness Evoluation
-Selection
Yukarıdaki işlemler bireyler arasında bir ilişki olmadan hesaplanabildiğinden paralel programlamaya uygundur.
Update_Boundaries_Kernel()
P ve GOP popülasyonlarındaki bireyler karşılaştırılır ve hangisi daha fit ise ilgili eleman yeni popülasyona aktarılır.
Opposition_Kernel()
Karşıt bireyler oluşturulur.
Selection_Kernel()
Seçim işlemi yapısı itibariyle bağımsız değildir. O yüzden mevcut popülasyon(P) ve karşıt popülasyon(GOP) birleştirilir ve karşılaştırma işlemi her bir birey için diğer tüm bireylerle karşılaştırılarak yapılır. Bu karşılaştırma sırasında bir derece verilir, eğer karşılaştırma bittiğinde verilen derece, popüasyon büyüklüğünden küçükse bu birey en fit bireylerden biridir denilir. Bu birey diğer jenerasyonda kullanılacak popülasyona aktarılır.
Paralel seçim işlemi:
The GOjDE Implemented on GPU (GPU_GOjDE)
Kullanılan Test Fonksiyonları:
Çalışmada ilk olarak;
GOjDE
-DE
-GODE
-CHC (Crossgenerational elitist selection, Heterogeneous recombination, and Cataclysmic mutation)
-G-CMA-ES (Restart Covariant Matrix Evolutionary Strategy)
çalışmalarıyla kıyaslanmıştır.
İkinci olarak CPU ve GPU uyarlamalarının süreleri karşılaştırılarak hızlanmaları tespit edilmiştir.
Üçüncü olarak popülasyon boyutunun GOjDE’nin performansına etkisi araştırılmıştır.
Comparison of GOjDE with DE, CHC, G-CMA-ES and GODE
Adil bir kıyas için diğer algoritmalarda eşit şartlarda yarıştırılmıştır.
D = 100, 200, 500 ve 1000 seçilmiştir.
MAX_FEs=5000 × D
1E−14 üzeri sayılar 0’a yuvarlanmıştır.
Boyut 1000 alındığında GOjDE, DE ve GODE, F7 ve F15’i çözememiştir. Bunun nedeni araştırıldığında fitness değerinin 10 üzeri 308’den büyük olması sebebiyle double precision float sayılarla işlem yapılamamaktadır. Çözüm olarak long double kullanılmış ve bu sorun çözülmüştür. Çalışmada Microsoft VS 2008 kullanıldığından ve double ve long double 8 byte olarak görüldüğünden bir değişim yapılamayacağından D=1000 için sonuçlar gösterilmemiştir.
Non-parametrik testlerden Friedman ve Wilcoxon testleri algoritmaları kıyaslamak için kullanılmıştır.
GPU’da MAX_Iter = 5000×D/Np kadar çalıştırılmış. İlk çalışmada 1.15 ve 7.84 hızlanma elde edilmiş, ayrıca boyut büyüdükçe hızlanma azalmıştır. Bu beklenmeyen bir durumdur. Bunun sebebinin thread sayısının 128 ile sınırlandırılmasından dolayı olduğu anlaşılmıştır. Popülasyon sayısı=Thread sayısı alınmış ve 128 ile sınırlandırıldığından istenen performans elde edilememiştir.
256, 1024, 2048 ve 4096 şeklinde popülasyon artırılmıştır. MAX_Iter=20,000 alınmıştır. Storn ve Price popülasyon büyüklüğünü 5xD veya 10xD şeklinde önermiştir.
Çalışmayı indirmek için:
parallel_differential_evolution_with_self-adapting_control_parameters_and_generalized_opposition-based_learning_for_solving_high-dimensional_optimization_problems
Otomatlar, Biçimsel Diller ve Turing Makineleri – Dr. Emre Sermutlu – Cinius Yayınları
2020-2021 bahar yarıyılında Otomata Teorisi ve Biçimsel Diller dersini verirken kullanmam için Selçuk Üniversitesi Teknoloji>>>
Mar
4-6 MART 2021 ÇEVRİMİÇİ TÜBİTAK-2237-B PROJE EĞİTİMİ ETKİNLİĞİ KTÜ – TRABZON
Alanında dünyada öncü Prof. Dr. Yener EYÜBOĞLU, Prof. Dr. Asım KADIOĞLU, Prof. Dr. Nurettin YAYLI,>>>
Mar
ARDEB 1001 – 2020 Sonuçlarını Değerlendirme ve Yenilikler Toplantısı
>>>
Şub
2021 yılı içerisinde değerlendirilebilecek konferanslar
GLOBAL CONFERENCE on ENGINEERING RESEARCH online 2-5 June 2021 Abstract or Full Paper Submission: 2>>>
Şub
Sayfamda paylaştığım bütün Karikatürler silinmiştir
İsimsiz bir uyarı yorumuyla araştırdığım vakit gördüm ki bazı karikatüristler blog sayfalarında karikatür paylaşanlara dava>>>
Oca
MATLAB – Error: Functions cannot be indexed using {} or . indexing.
data = get(z9).OutputData{1}; satırında aşağıdaki şekilde hata vermekteydi. Error: Functions cannot be indexed using {}>>>
Oca
“ERASMUS+ Yüksek Öğretim” konulu seminer notları
“ERASMUS + Yüksek Öğretim” konulu seminer notları Dr. Öğretim Üyesi Kemal TÜTÜNCÜ hocam tarafından sunulan>>>
Oca
Akademik bir makalenin Giriş kısmı nasıl yazılmalıdır?
Sinem Toraman @Sinem_Trmn tarafından verilen “Akademik Yazımda Metodolojik Sorunlar ve Çözüm Önerileri” başlıklı eğitimde bir>>>
Ara
4. Uluslararası Mühendislik Teknolojileri Konferansı
4. Uluslararası Mühendislik Teknolojileri Konferansı: https://icente.selcuk.edu.tr/>>>
Eyl
Kaç kere yeniden doğar insan?
Kaç kere yeniden doğar insan? Kaç kere yeniden doğmalı? Peki her doğumda aynı anadan mı>>>
Tem
Optimizasyon problemlerindeki belirsizlikler
Normalde bir x değişkeni için f(x) fonksiyonunun her zaman aynı sonucu üretmesi beklenir. Fakat bazı>>>
Tem
Moodle – mysql_full_unicode_support
Bu uyarıya rağmen Moodle kurulumu yapıldığı zaman bazı karakterlerin ve emojilerin desteklenmeyeceği belirtilmektedir.>>>
May
Moodle SSL ayarı nasıl yapılır?
SSL kurulumunuzu bitirdikten sonra config.php dosyasındaki: $CFG->wwwroot = 'http://sorucevaptest.com/moodle'; kısmındaki adresi https şeklinde düzenleyiniz. $CFG->wwwroot>>>
May
Moodle – mysql_full_unicode_support#File_format
Çözüm: https://docs.moodle.org/38/en/MySQL_full_unicode_support phpmyadmin yetkisi olanlar için: SET GLOBAL innodb_file_format = barracuda SET GLOBAL innodb_file_per_table =>>>
May
Tanım Teorileri: Platon’un İnsanı ders notları…
Tanım Teorileri: Platon’un İnsanı ders notları… İnsanın Tanımına Dair ders notları… başlıklı yazı: https://www.ahmetcevahircinar.com.tr/2020/04/19/insanin-tanimina-dair-ders-notlari/ “Namazın>>>
2 Comments
Nis
İnsanın Tanımına Dair ders notları…
İnsanın Tanımına Dair ders notları… İnsanın Tanımına Dair başlıklı videoyu yayınlandıktan 2 hafta sonra izleyebildim>>>
1 Comment
Nis
Uzman Sistemler -Bir Yapay Zeka Uygulaması- Novruz Allahverdi
Uzman Sistemler -Bir Yapay Zeka Uygulaması- Novruz Allahverdi Uzman Sistemler hakkında yabancı literatürün oldukça zengin>>>
Nis
Ne yapmayı düşünüyorsun?
“Ne yapmayı düşünüyorsun? Bu soru karşısında Martin Heidegger biraz duraklar ve şöyle der: “Hem düşünmek>>>
Ara
Eğlenerek İngilizce öğrenmek için Duolingo
Duolingo 2011 yılında ortaya çıkmış, benim 2016 yılında üye olduğum fakat geçtiğimiz günlerde Twitter’da yeniden>>>
Ara
Online MS Paint – jspaint.app
Windows işletim sistemine sahip olmadığınız ortamlarda alışkın olduğunuz Paint programını online olarak kullanabilirsiniz. Online Paint>>>
Ara