1. machine learning başlığı altında incelenen yapay zeka algoritmalarından biri.

    isminden anlaşılacağı üzre verilerin statik algoritmalar ve formüller(*:backpropagation) üzerinden değil, doğal seçilim gibi biyolojik evrim konseptleri üzerinden işlendiği bir sistem.

    bir neural network kuruyorsunuz, bu neural network belli sayıda nöron, bağlantı ve katsayılar içersin diyelim. bu neural network sınıfından 1000 tane obje (bundan sonra bunlara canlı diyelim) üretiyor, bunların hepsine belli nöron mimarileri, bağlantılar ve rastgele katsayılar veriyorsunuz. bu değerlerin hepsini o canlıya ait bir "dna"da tutuyorsunuz. hepsine bir başarı değişkeni atıyorsunuz(*:fitness). bu fitness puanına göre sonra işlem yapıyorsunuz.

    simulasyonda her canlıyı aynı anda yaşam ortamına bırakıyorsunuz. belli süre sonra simülasyonu durdurup canlıların ne denli başarılı olduklarını fitness değişkeninden öğreniyorsunuz. canlıları bu puana göre sıralayıp, en kötü performans gösteren belli bir miktarını yokediyorsunuz. kalan başarılı canlıların ise "dna"larını yine belli algoritmalar yardımıyla çaprazlıyor, yeni bireyler üretiyorsunuz (gidenlerin yerini doldurması için). böylece her jenerasyonda daha iyiye evrilen bir eğri elde ediyorsunuz. işin içine biraz da mutasyon olasılığı eklerseniz tadından yenmiyor.

    işlemi yaklaşık (probleme de bağlı olmak üzre) 500 jenerasyon devam ettirirseniz işe yaramaya başlar hale geliyorlar. verilen probleme adapte olabilen minik yazılımcıklar yaratmış oluyorsunuz.

    özet olarak bu. öğrenmek isteyenler mit'nin ilgili makaleleri, andrew ng'nin coursera'da verdiği kurs, stanford üniversitesi bu konuda güzel kaynaklar.

    örnek 1: https://m.youtube.com/watch?v=Gl3EjiVlz_4
    örnek 2: https://m.youtube.com/watch?v=5lJuEW-5vr8