Hangi anlamda en iyisi?
Deneyimlerime göre, GA'lar en pragmatik optimizatörlerden biridir. Daha kesin algoritmalar matematik dünyasındaki gerçek problemleri resmileştirmek için zaman ve çaba gerektirse de, GA'lar herhangi bir maliyet fonksiyonunu karmaşık kurallar ve kısıtlamalarla ele alabilir (GA'lar spesifik hesaplama ile değil, bir yürütme yaklaşımı ile ilişkilidir). Bu süreç basittir ve keşif çalışmaları için birçok yaklaşımı deneyebilirsiniz.
Ayrıca, tekrarlanan görevler için iyi olan gelecekteki çalışmalar için algoritmaya geçmiş çözümleri reddetme olasılığını takdir ediyorum.
Kavramsal olarak, genetik bir algoritma fonksiyonların hashmap'ı ile temsil edilebilir ve çok hızlı sonuçlar elde edebileceğiniz bir dil olan Clojure gibi işlevsel dillere de uygundur.
Genetik Algoritmalar da yuvalanabilir: bir GA'nın maliyet fonksiyonu bir GA olabilir! Bu algoritmalar, çok büyük bir popülasyonu hesaplamalarına olanak tanıyan modern donanım ve altyapıdan yararlanır, böylece basit mutasyon / seçim işlemlerinde bile iyi sonuçlar elde edebilirsiniz.
Bir dalga fonksiyonunun minimumunu bulmak gibi basit problemler için bile, GA'lar o kadar da kötü değildir ve kabul edilebilir bir zamanda iyi bir hassasiyet elde edebilir.
Bu yüzden evet, analitik çözümler daha hızlı yürütme süresi ve hassasiyete sahip olabilir, ancak bunları aşırı ağırlıklar üretmek için gereken süre genellikle beklenen faydaları sağlar! Öyleyse ne zaman ? En azından meta optimizasyon için neredeyse her zaman benim için.