1 / 42

GENETİK ALGORİTMALAR (GA)

GENETİK ALGORİTMALAR (GA).

trixie
Download Presentation

GENETİK ALGORİTMALAR (GA)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. GENETİK ALGORİTMALAR (GA) • 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.

  2. GA • GA yöntemi ilk olarak, John Holland ve arkadaşlarının yaptığı çalışmalarda 1970’li yıllarda ortaya çıkmıştır (SGA). • GA’nı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.

  3. GA nedir? • GA, 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.

  4. GA – Klasik Optimizasyon • GA parametrelerin kendileri ile değil, parametre takımının kodlanmış bir haliyle uğraşırlar. • GA amaç fonksiyonunun türevlerini ve bir takım ek bilgileri değil, doğrudan amaç fonksiyonunun 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. • GA’da deterministlik değil rastlantısal geçiş kuralları kullanılır.

  5. GA 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.

  6. Akış Diyagramı

  7. Kodlama Türleri • Çaprazlama Türleri • Mutasyon Türleri

  8. GA terimleri • Gen • Kalıtsal molekülde bulunan ve organizmanın karakterlerinin tayininde rol oynayan kalıtsal birimlere denir. • Yapay sistemlerde gen, kendi başına anlamlı bilgi taşıyan en küçük birim olarak tanımlanır. • Kromozom (Birey) • Birden fazla genin bir araya gelerek oluşturduğu diziye denir. • Kromozomlar, alternatif aday çözümleri gösterirler.

  9. GA terimleri • Popülasyon • Kromozomlardan oluşan topluluğa denir. • Popülasyon, geçerli alternatif çözüm kümesidir. • Popülasyondaki birey sayısı (kromozom) genelde sabit tutulur. • GA’da popülasyondaki birey sayısı ile ilgili genel bir kural yoktur. • Popülasyondaki kromozom sayısı arttıkça çözüme ulaşma süresi (iterasyon sayısı) azalır.

  10. GA terimleri • Kodlama • Kodlama GA’nın çok önemli bir kısmını oluşturmaktadır. • Probleme GA uygulanmadan önce, verinin uygun şekilde kodlanması gerekmektedir. • Kurulan genetik modelin hızlı ve güvenilir çalışması için bu kodlamanın doğru yapılması gerekmektedir.

  11. GA kodlama türleri • İkili Kodlama • Her kromozom ikili diziye sahiptir { 0, 1 } • Bu dizideki her bit, çözümün belli karakteristiğini temsil eder veya tüm dizi bir sayıyı temsil eder. • Kodlamada en sık kullanılan yöntemdir. • Örnek { 10101001 }

  12. GA kodlama türleri • Permütasyon Kodlama • Düzenleme problemlerinde kullanılır. • Burada her kromozom, sayıları bir sırada temsil etmektedir. • Permütasyon kodlama, gezgin satıcı ve çizelgeleme problemleri için kullanışlıdır.

  13. Değer Kodlama Gerçek sayılar gibi karmaşık değerlerin kullanıldığı problemlerde, ikili kodlama zor olduğu için doğrudan değer kodlanması kullanılabilir GA kodlama türleri

  14. GA kodlama türleri • Ağaç Kodlama • Bu yöntem gelişen, değişen programlar veya ifâdeler için kullanılır. • Örneğin GA. Ağaç kodlamada her kromozom, bâzı nesnelerin (örneğin fonksiyonlar ya da programlama dilindeki komutlar gibi) ağacıdır. - / g z 3 (z/3)-g

  15. Seçim türleri • Rulet-Çember Seçimi • En basit seçim yöntemi olarak bilinmektedir. Uygulanışı : • Tüm fertler birbirine bitişik bir şekilde düz bir çizgi üzerine dizilirler. • Her bir ferde ilişkin bölümün uzunluğu, onun uygunluk değeri kadar olur. • Rasgele sayı üretilir ve rasgele sayı hangi bölüm içerisine gelirse, o bölümün ait olduğu fert seçilir. • İşlem ulaşılacak popülasyonun gerekli adedi elde edilene kadar devam eder.

  16. Seçim türleri • Rank Seçimi • En iyi kromozomun uygunluk değeri çok yüksek ise, Rulet-Çemberi seçim yöntemi problem yaratabilir(Sürekli yüksek olasılığa sahip kromozom seçilecek). Bu nedenle, Rank seçim yöntemi uygulanabilir. • Popülasyon uygunluk değerine göre tersten sıralanır. Yani en iyi kromozom N adetlik bir popülasyonda N değerini alır • Seçim bu değerlere göre yapılır.

  17. Rulet-Çember Seçimi Rank Seçimi Öncesi Rank Seçimi Sonrası

  18. Seçim türleri • Kararlı Hal Seçimi (Yerine Geçme) • Bu seçimin ana düşüncesi, kromozomların büyük kısmının bir sonraki nesilde hayatta kalmak zorunda olmasıdır. • Yeni çocuklar oluşturmak için her nesilde UD yüksek birkaç kromozom seçilir. • UD düşük bâzı kromozomlar atılır ve yeni çocuk onun yerine yerleştirilir. • Popülasyonun geri kalan kısmı yeni nesilde hayattadır. • Bu yöntemde alt popülasyon oluşturulduktan sonra uygunluklar hesaplanır, en kötü kromozomlar yerlerini başlangıç popülasyonundaki en iyi kromozomlara bırakır.

  19. Çaprazlama • Çaprazlama, iki kromozomun (çözümün) birbirleri arasında gen alışverişinde bulunup iki yeni kromozom oluşturmasıdır. • Genetik algoritmadaki en önemli parametrelerden bir tanesidir. • İkili yöntemle kodlanmış değişkenlerin yaptıkları üreme faaliyeti, kromozomların çaprazlamasına benzemesi dolayısıyla böyle adlandırılmaktadır. • Eğer kodlamada gerçek değerler kullanılıyorsa, klasik çaprazlama yöntemi yerine daha farklı yöntemler kullanılmaktadır. • Seçim yöntemi ile yapay seçim sonucunda elde edilen yeni popülasyon dizisinden rastsal olarak iki kromozom seçilir ve karşılıklı çaprazlama işlemine tâbi tutulur.

  20. 1-Noktalı Çaprazlama (İkili Kod) • Pc (0.6, 0.9) aralığındadır

  21. N-Noktalı Çaprazlama (İkili Kod)

  22. Düzenli Çaprazlama (İkili Kod)

  23. Tek Aritmetik Çaprazlama (Değer Kod) • Atalarx1,…,xn vey1,…,yn • (k) gelişigüzel seçilir • child1 : • Diğer child için tersidir. = 0.5 için

  24. Basit Aritmetik Çaprazlama (Değer Kod)  = 0.5 için

  25. Bütün Aritmetik Çaprazlama (Değer Kod)  = 0.5 için

  26. Sıralama çaprazlama (OX) (Permutasyon Kod) • Çaprazlama noktası seç, aynısını kopyala • Gerisini 1,9,3,8,2 sırasıyla ikinciden al

  27. Parçasal eşleşmeli çaprazlama (PMX) (Permutasyon Kod) • Adım 1 • Adım 2 • Adım 3

  28. Çevrim Çaprazlama (CX) (Permutasyon Kod) • Adım 1: Çevrimleri bul • Adım 2: Değişimli çevrimleri çocuğa kopyala

  29. Mutasyon • pm =mutasyon oranı (1/pop_buyuk and 1/Kromozom_uzunlugu) • Mutasyon Oranı, mutasyon olasılığını gösteren orandır. Amaç mevcut kromozomların genlerinin bir ya da birkaçını değiştirerek yeni kromozomlar elde etmektir. • Genelde mutasyon olasılığı (0.01 gibi) düşük tutulmaktadır. • Bu nedenle mutasyon etkileri kromozomlarda az görülmektedir. • Mutasyon sırasında kromozomdaki gen sayısı değişmez, sabit kalır. • Mutasyon yapılmasının bir başka amacı da, popülasyondaki çeşitliliğin azalmamasını sağlamaktır

  30. İkili kodda mutasyon

  31. Değer kodda mutasyon

  32. Permutasyon kodda mutasyon Ekleme mutasyon Yer değiştirme mutasyon Ters mutasyon Karışık mutasyon

  33. GA Çevrimi

  34. Örnek: Fonksiyon Maksimizasyonu Problem : f(x)=x², x[0,31] şeklinde verilen bir fonksiyonun. Amaç:Verilen aralıkta fonksiyonun maksimizasyonu. Adım 1: x’in 0 ve 1'lerden oluşan 2 tabanındaki gösterilimi yapılmaktadır 0: “00000” 31: “11111” olacaktır. Adım 2: Toplumun birey sayısı n:4 olarak seçilmiştir. Toplumu oluşturan dört birey, her biri 5 bit uzunluğunda birer kromozomla temsil edildiği için toplam 20 kere yazı tura atmak suretiyle belirlenmiştir. Birey 1: 01101, x = 13 , x² = 169 Birey 2: 11000, x = 24 , x² = 576 Birey 3: 01000, x = 8 , x² = 64 Birey 4: 10011, x = 19 , x² = 361

  35. Adım 3:Belirlenen bireyler için f(x)=x² ile uygunluk değerlerini hesaplanır. Dört bireyin toplam uygunluk değerleri; 169+576+64+361=1170 Her bir bireyin rulet tekerleğinde kaplayacağı alan; Birey 1: 169/1170=0.14 : %14 Birey 2: 576/1170=0.49 : %49 Birey 3: 64/1170=0.06 : %6 Birey 4: 361/1170=0.31 : %31 Bu değerler, rulet tekerleğinin her çevrilişinde hangi olasılıkla hangi bireyin seçileceğini belirtir.

  36. Adım 4:Toplumda ki birey sayısının sabit kaldığı varsayıldığından, rulet tekerleği 4 kere çevrilerek çiftleşme havuzu oluşturulur. Birey 1 : 1 kere Birey 2 : 2 kere Birey 3 : 0 kere Birey 4 : 1 kere Elde edilen çiftleşme havuzu şu şekildedir; Aday 1 : 01101 (Birey 1) Aday 2 : 11000 (Birey 2) Aday 3 : 11000 (Birey 2) Aday 4 : 10011 (Birey 4)

  37. Adım 5:Çiftleşme havuzu belirlendikten sonra iki aşamalı çaprazlama uygulanır. İlk aşamada adaylar çiftleşmek üzere rasgele olarak eşlenirler. Rasgele eşleştirme sonucunda ( Aday 1, Aday 2) ve (Aday 3, Aday 4) ikili grupları oluşturulur. İkinci aşamada her ikili grup için birer kere zar atılarak çaprazlaşmanın oluşacağı nokta belirlenir. Zar atılarak 1. Grup için k=4 ve 2. Grup içinde k=2 olarak belirlenmiştir. Çiftleşme grubu 1: (k=4) Aday 1 :0110/1oluşan Birey 1 :01100 Aday 2 :1100/0 oluşan Birey 2 :11001 Çiftleşme grubu 2 : (k=2) Aday 3 :11/000 oluşanBirey 3 :11011 Aday 4 :10/011 oluşanBirey 4 :10000

  38. Adım 6: Son aşama olan mutasyon işlemi bitler düzeyinde uygulanır. Birey 3’ün 2 numaralı bitinde mutasyon işlemi tapılmaktadır. Oluşan Birey 3 : 11011 Mutasyon sonucu oluşan Birey 3 : 10011 Bu adımın tamamlanmasıyla bir sonraki kuşağı oluşturacak toplumun bireyleri belirlenmiş olur. Yeni toplum şu şekildedir; Birey 1 : 01100, x=12, x²=144 Birey 2 : 11001, x=25, x²=625 Birey 3 : 10011, x=19, x²=361 Birey 4 : 10000, x=16, x²=256 Bu örnekte tek bir iterasyon yapılmış ve başlangıç toplumundan bir sonraki kuşak oluşturulmuştur ancak genetik algoritmanın çalışmasının tam olarak gözlenebilmesi için tek bir iterasyon yeterli değildir.

  39. Problem : Rasgele seçilmiş 8 bitlik 4 bireyden en iyi bireyi oluşturmak. Başlangıç :a : 00000110 b : 11101110 c : 00100000 d : 00110100 Amaç : 11111111 Uygunluk kriteri: Her dizinin barındırdığı 1 değeri Çaprazlama : Rasgele Mutasyon : Rasgele

  40. GA Örnek (Özet) • max x2x={0,1,…,31}

  41. Çaprazlama

  42. Mutasyon

More Related