Genetik Algoritmalar, canlıların çiftleşmesi sonucunda kendi özelliklerini bir sonraki nesle aktarma yeteneklerini, güçlü olanın yaşama şansının yüksek olması ve bazı durumlarda önceden nasıl olacağı bilinmeyen değişimlerin bir hesaplama yöntemi içerisinde bir arada kullanılması sonucunda ortaya çıkmış bir yöntemdir.
Genetik Algoritmalar (GA) yönetimi ilk olarak John Holland ve arkadaşlarının yaptığı çalışmalarda 1970’li yıllarda ortaya çıkmıştır.
Genetik algoritmaların temel amacı, fazla sayıda sınırlama içeren ve karmaşık optimizasyon sorunlarının çözümlerini, yazılımlar yardımıyla araştırmaktır.
Konuyla ilgili Goldberg, 1989 yılında “Genetic Algorithms in Search, Optimization, and Machine Learning” adlı klasik sayılacak eseri yayınlamıştır. Bu eserle birlikte, konu üzerine yapılan çalışmalar büyük hız kazanmıştır.
Genetik algoritmalar, rastsal arama tekniklerini kullanarak çözüm bulmaya çalışan, parametre kodlama esasına dayanan bir arama tekniğidir. Bir veri grubu içinde özel bir veriyi bulmak için kullanılır.
Genetik algoritmalar ve Klasik Optimizasyon Farkları
- Klasik optimizasyon yöntemlerinde var olan problemimizi değiştirerek algoritmaya uygun bir hale getirmemiz gerekirken Genetik Algoritmalarda ise algoritmayı problemimize göre değiştirerek istediğimiz bir hale getirebilmekteyiz. Böylelikle bizim problemimiz için daha doğru sonuçlar elde edebilmekteyiz.
- Genetik algoritmalar parametrelerin kendileri ile değil parametre takımının kodlanmış haliyle çözüme gitmeye çalışırlar.
- Genetik algoritmalar amaç fonksiyonunun türevlerini ve bir takım ek bilgilerini değil, doğrudan amaç fonksiyonun kendisini kullanırlar.
- Genetik algoritmalar aramaya tek bir noktadan değil, noktalar kümesinden başlar. Bu nedenle çoğunlukla yerel en iyi çözümde sıkışıp kalmazlar.
- Genetik algoritmalar’da deterministik değil rastlantısal geçiş kuralları kullanılır.
Genetik Algoritma Adımları:
- Başlangıç popülasyonunu rastlantısal olarak üret.
- Popülasyon içindeki tüm kromozomların amaç fonksiyonu değerlerini hesapla.
- Tekrar üreme, çaprazlama ve mutasyon operatörlerini uygula.
- Oluşturulan her yeni kromozomun amaç fonksiyonu değerlerini bul.
- Amaç fonksiyonu değerleri kötü olan kromozomlar popülasyondan çıkar.
- 3-5 arasındaki adımlar tekrar et.
Genetik Algoritma Akış Diyagramı:
Genetik algoritmalar ile ilgili daha önce yazmış olduğum Kurt Sürüsü Algoritması inceleyebilirsiniz.
Kaynak: Prof. Dr. Bilal Alataş