Genetik Algoritma (Genetic Algorithm)
Araç kavramlarıGenetik Algoritma nedir?
Genetik algoritma, biyolojik evrimden ilham alan bir arama ve optimizasyon yöntemidir. Fikri basit ve şık: bir sürü aday çözümü rastgele üret, en iyilerini seç, onları birbirleriyle "çiftleştir", araya biraz mutasyon serpiştir ve bunu nesiller boyu tekrarla. Zamanla popülasyon gitgide daha iyi çözümlere doğru evrilir. 1970'lerde John Holland tarafından popülerleştirildi.
Nasıl çalışır?
Her aday çözüm bir "birey" olarak, genellikle bir sayı ya da bit dizisi (kromozom) şeklinde kodlanır. Bir uygunluk fonksiyonu her bireyin ne kadar iyi olduğunu puanlar. Sonra döngü başlar: seçilim ile yüksek puanlılar üremeye aday olur, çaprazlama ile iki ebeveynin genleri birleşip yeni bireyler oluşturur, mutasyon ile ara ara rastgele değişiklikler yapılır ki çeşitlilik korunsun ve arama yerel bir tuzağa saplanmasın. Yeni nesil değerlendirilir, döngü baştan işler. Belli bir nesil sayısına ya da yeterince iyi bir çözüme ulaşınca durur.
Neden önemli?
Bazı problemlerde çözüm uzayı o kadar büyük ki tek tek denemek imkânsız, üstelik türevlenebilir düzgün bir matematiksel yapıları da yok — yani gradient descent gibi klasik yöntemler işe yaramaz. Genetik algoritma bu tür pürüzlü, karmaşık arazilerde iyi bir çözümü makul sürede bulabilir. Kesin en iyiyi garanti etmez ama "yeterince iyi"yi çoğu zaman yakalar.
Kullanım alanları
Mühendislik tasarımı (uçak kanadı, anten şekli optimizasyonu), lojistikte rota ve çizelgeleme, finansta portföy optimizasyonu, oyun yapay zekâsı ve robotik. Makine öğrenmesinde hiperparametre araması ve nöral ağ mimarisi keşfinde (neural architecture search) de kullanılır. Evrimsel hesaplama denilen daha geniş ailenin en bilinen üyesidir.
Ilgili terimler
