Genetik algoritmalar ilk olarak Michigan Üniversitesi’ n den John Holland tarafından 1975 yılında tanımlanmıştır. Genetik algoritmaları, doğadaki evrime dayanan güçlü ve etkili araştırma algoritmaları olarak tanımlamıştır. Günümüzün çözülmesi zor ve karmaşık problemlerini çözümleme yolunda hızlı ve kolay çözüm yolları arayışına itmiştir. Bu çalışmalar sonucunda genetik algoritma ile çözüme kolayca ulaşılabilmiştir. Genetik algoritmalar birçok alanlarda uygulanmaktadır (Mansfield, 1990). Problemlerin birçoğunun geniş bir çözüm havzasının taranmasını gerektirmektedir. Kısa bir sürede kabul edilebilir bir sonuç alınabilmek için genetik algoritma kullanılmaktadır. Genetik algoritmalar doğadaki gelişim mekanizmasını örnek alarak oluşturulmuş bir çözüm tekniğini oluşturmakla beraber yapay zekânın bir kolu olan evrimsel hesaplama tekniğinin bir parçasını barındırmakta ve bu alandaki en göze çarpan teknik olarak düşünülebilir. 

Genetik Algoritma, biyolojik evrimin temel prensiplerinden ilham alan güçlü bir evrimsel stratejidir. Araştırmacı öncelikle değişken tipini ve ele aldığı problemi doğru tanımlamalı ve kodlamasını bu tanımlamaya göre yapmalıdır. Ardından algoritmanın girdilerinden olan uygunluk fonksiyonu (fitness) tanımlanır ve optimize edilmesi gereken amaç fonksiyonu bu fonksiyondur. Geçiş ve Mutasyon gibi genetik operatörler, evrim sürecinin birçok aşamasında stokastik olarak uygulanmaktadır, bu yüzden gerçekleşme olasılıkları belirlenmelidir. Son olarak yakınsama kriterleri sağlanmalıdır ve optimal maliyet ile problem çözülmelidir. GA, problemin çözülebilmesi için lokal değil, global bir araştırma yapar. Problemi etkileyen çok fazla etken varsa, çözümde Genetik Algoritma kullanılması literatürce önerilmektedir.

Çalışma prensibi aşağıdaki görsel gibidir;

Amaç fonksiyonu optimizasyonu, yapay sinir ağlarının eğitimi, bulanık sistemlerde üyelik fonksiyonlarının belirlenmesi, sistem kimliklendirme ya da sistem kontrolü gibi alanlarda bu algoritmalar başarılı şekilde kullanılabilmektedir.

 

UYGULAMA

Bu uygulamada, Sınırlandırılmış Optimizasyon ile konuyu ele alalım. Genetik Algoritma Permütasyon tabanlı olup, kısıtlar altında (yakınsama kriteri) olasılıklar üzerinden arama yaparak global minimum noktası, çözüm noktası/noktaları aranır ve problem çözülür.

Bu örneğimizde Everest Dağına tırmanmayı planlayan bir dağcıyı düşünelim. Bu dağcı sırt çantasına çeşitli aletleri/eşyaları taşıyor olsun. Bazı aletler çok ağırken bazıları çok hafif ve eşyalar önem düzeyine göre farklılık göstermektedir. her insanın taşıyabileceği bir ağırlık var. Bu ağırlık kısıtı altında, çok sayıda ve önemli aletleri yanına almak zorunda 

Bu dağcı yanına önemli aletleri almak istiyor fakat en fazla çantasında 12 kilogram taşıyabiliyor. Bu problemi Genetik Algoritma (GA) kullanarak permütasyonlarla R programına kodlayalım ve çözelim.

Çıktıda görüldüğü üzere Genetik Algoritmanın 223 döngüde bulduğu global çözüm noktalarımız şu şekilde: Dağcının ağırlık kısıtı altında yanına alabileceği ve maksimum fayda sağlayabileceği eşyalar; 1.EŞYA, 2.EŞYA, 6.EŞYA  bu şekilde Genetik Algoritma kullanılarak global optimum nokta bulunmuştur.

KAYNAKÇA

Mansfield, R.A., 1990. Genetic Algorithms, University of Wales College of Cardiff.

Holland, J. H., 1975. Adaptation in Natural and Artificial Systems, University of Michigan Press.

dergipark.org

veribilimiokulu.com