SAÜ. ENDÜSTRİ MÜHENDİSLİĞİ BL. GENETİK ALGORİTMALARIN UYGULANMASI
Eniyileme (optimizasyon) problemlerinin çözümünde kullanılan tekniklerin uygulanmasında, başlangıç noktasının ve adım değerlerinin belirlenmesi en iyi çözümün elde edilmesini önemli oranda etkilemekte, bazen de çok sayıda işlem yapılmasına karşılık çözümden uzak kalınmasıyla bile sonuçlanabilmektedir. Bu tip problemlerin çözümüne tek bir noktaya bağlı olmayan ve herhangi bir adım büyüklüğüne ihtiyaç duymayan yapısıyla GA daha etkin çözümler bulabilmektedir. GA. Adımlarını hatırlarsak;
Adım 1: 1.Problemin değişken tanım aralığını sabit uzunluğa sahip bir kromozom olarak belirle, 2. örnek topluluğun N- Kromozom sayısını ,3. çaprazlama olasılığı Pc yi ve 4. değişim olasılığı Pm yi seç ; Adım 2: Problemin tanım bölgesindeki her bir kromozomun performans veya uygunluğunu ölçmek için bir uygunluk fonksiyonu belirle(bu uygunluk fonksiyonu yeni üretilen kromozomların seçiminde temel oluşturur ; Adım 3: Kromozomlar için rassal olarak N boyutlu bir başlangıç örnek topluluğu türet: x1 , x2, x3,....,xn ; Adım 4: Her bir kromozomun uygunluğunu hesapla :f(x1), f(x2),...., f(xn) ; Adım 5: Çiftleştirmek için mevcut örnek topluluktan bir çift kromozom seç. (Bu çiftlerin uygunluk olasılığına göre ebeveyn kromozomlar seçilir. Çiftleştirmek için seçilen yüksek uyumlu kromozomlar düşük uyumlu kromozomlardan daha yüksek olasılığa sahiptir.) ; Adım 6: Genetik işlemcilerden çaprazlama ve değiştirmeyi uygulayarak bir çift çocuk kromozomu oluştur ; Adım 7: Yeni oluşturulan çocuk kromozomları yeni örnek topluluğa yerleştir ; Adım 8: Yeni Kromozom örnek topluluğunun boyutu N oluncaya kadar Adım5'i tekrarla ; Adım 9: Yeni çocuk örnek topluluğunu başlangıç ebeveyn örnek topluluğunun yerine yerleştir ; Adım 10: Adım 4'e git, ve sona erme kriteri sağlanıncaya kadar süreci tekrarla ;
Şimdi GA’yı f(x)= 15 x - x ² fonksiyonunun 0- 15 aralığındaki maksimum değerini veren x 'in değerini bulmak için uygulayalım . Burada x 'in aldığı yalnız tamsayı değerler aranacaktır. Böylece dört genden oluşan kromozomlar Tablo 1.deki gibidir.
Tamsayı İkili Kod 1 0 0 0 1 6 0 1 1 0 11 1 0 1 1 2 0 0 1 0 7 0 1 1 1 12 1 1 0 0 3 0 0 1 1 8 1 0 0 0 13 1 1 0 1 4 0 1 0 0 9 1 0 0 1 14 1 1 1 0 5 0 1 0 1 10 1 0 1 0 15 1 1 1 1 Tablo 1.
Farz edelim ki kromozom örnek topluluğu N'in büyüklüğü 6 , çaprazlama olasılığı Pc=0.7 ve değişim olasılığı Pm=0.001 olsun (bunlar GA uygulamalarında oldukça tipik değerlerdir.) Örnekteki uygunluk fonksiyonu f(x)= 15x-x² şeklinde tanımlanmıştır .
Adım1 'e göre GA 0-1 'lerden oluşan ve rassal olarak türetilen 4 bitden oluşan 6 kromozomlu bir başlangıç örnek topluluğu oluşturur (Tablo 2). Kromozomların uygunluk fonksiyonu üzerindeki görünümleri ise Şekil 1‘de görülmektedir. (Gerçek bir dünya probleminde kromozom sayısı binleri bulabilmektedir.)
Adım 2.’de her bir kromozomun uygunluk değeri hesaplanır(Tablo 2), başlangıç örnek topluluğunun ortalama uygunluğu 36 dır. Bu değerleri geliştirmek için başlangıç örnek topluluğu eleme, çaprazlama ve değişim genetik işlemcileri kullanılarak değiştirilir.
Tablo2 Ortalama Uygunluk =218/6=36 Toplam =218 X1 1100 12 Kromozom Değişkeni Dizini Kodlanmamış Tamsayı Değeri Kromozom Uygunluğu Uygunluk Oranı, % X1 1100 12 36=(15*12 – 12²) 16.5 X2 0100 4 44 20.2 X3 0001 1 14 6.4 X4 1110 X5 0111 7 56 25.7 X6 1001 9 54 24.8 Tablo2 Ortalama Uygunluk =218/6=36 Toplam =218
Tablo 2. deki son sütun “her bir kromozomun uygunluğunun örnek topluluğun toplam uygunluğuna oranını” gösterir. Bu oran kromozomun çiftleştirmek için seçilebilme şansını belirler . Böylece x3 ve x4 kromozomları çok düşük seçilebilme olasılığına sahipken , x5 ve x6 kromozomlarının oldukça şanslı orana sahip oldukları görülmektedir. Sonuç olarak bu iki kromozomun(x5, x6) ortalama uygunluğu ilk nesile göre gelecekteki nesil için gelişmiştir.
Sekil 1.Kromozomların uygunluk fonksiyonundaki yerleri: (a) kromozomların başlangıçtaki yerleri (b) kromozomların işlemlerin sonundaki yerleri
En çok bilinen kromozom seçim tekniklerinden birisi ise “rulet çarkıyla seçim” dir . Buna iyi bir örnek (Şekil 2) de görülmektedir. Bu şekilde her bir kromozom rulet çarkının bir dilimini verir. Çarktaki her bir dilimin alanı kromozomun uygunluk oranına eşittir. Örnek olarak x5 ve x6 kromozomları en yüksek uyuma sahip oldukları için en yüksek alana sahip iken, en küçük uyuma sahip x3 ve x4 kromozomları ise, rulet tekerleğinde en küçük alana sahip olurlar. Çiftleştirmede bir kromozomun seçimi için [0,100] aralığında bir rassal sayı türetilir ve bu rassal sayıyı içine alan dilime sahip kromozom seçilir. Rulet çarkının bir kere dönmesinde her bir kromozomun şansı onun uyum oranına eşit dilime sahiptir .
Şekil.2
Çaprazlama işlemi şöyle uygulanır İlk olarak çaprazlama işlemcisi iki ebeveyn kromozomunun bölüneceği bir çaprazlama noktasını rassal olarak seçer ve kromozomların bu noktadan sonraki parçalarını yer değiştirir. Böylece iki yeni çocuk ortaya çıkar . Örneğin x6 ve x2 kromozomları 2. genlerinden sonra çaprazlanabilir, ve buradan iki yeni çocuk ortaya çıkar Eğer kromozomların bir çiftinin çaprazlanamaması durumunda bu kromozom kopyalamaya (klonlama) tabi tutulur ve her bir ebeveynin tam bir kopyası oluşturulur. Örneğin , x2 ve x5 ebeveyn kromozomları çaprazlanamayabilir. Buna karşılık ebeveynlerin tam kopyası olan yeni çocuklar oluşur(Şekil 3. de görüldüğü gibi). 0.7 değeri çaprazlama olasılığı için genellikle iyi sonuç verir . Seçim ve çaprazlamadan sonra kromozom örnek topluluğunun ortalama uyumluluğu geliştirilmiş ve 36 dan 42’ye yükselmiştir.
Değişim işlemcisinin önemi ve uygulanması Değişim genlerdeki değişikliği gerçekleştirir. Uyumlulukta önemli bir ilerlemeye yol açabilir fakat daha çok da sonuçlara neden olur. Holland Değişim İşlemcisini başlangıçta temel işlemci olarak kullanmıştır(Holland ,1975). Değişim arama algoritmasının yerel optimumda bir tuzağa düşmemesini sağlama rolünü üstlenir. Seçme ve çaprazlama işlemcilerinin ardı ardına uygulanması herhangi bir homojen çözümler kümesinde durgunluk gösterilmemesini sağlar. Böyle şartlar altında , tüm kromozomlar özdeştir ve bu durumda örnek topluluğun ortalama uyumluluğu gelişemez. Bununla birlikte elde edilen çözüm yerel optimuma göre optimal gözükebilir. Değişim bir rassal arama işlemine denktir ve genetik çeşitliliğin kaybedilmesinden kaçınılmasına yardımcı olur. Değişim işlemcisi bir kromozomda rassal olarak seçilen genleri “değişime uğratır”. Örneğin: x1 kromozomu 2. geninden x2 kromozomu ise 3. geninden değişime uğratılabilir( Şekil 3. de görüldüğü gibi).
Şekil 3. Örnek bir GA döngüsü
Değişik olasılık değerlerine göre bir kromozomdaki değişim herhangi bir genden uygulanabilir. Değişim olasılığı doğada çok küçüktür ve GA için bu olasılığın 0.001 ve 0.01 arasında oldukça düşük kalması korunur. GA örnek topluluğun ortalama uyumunun sürekli gelişmesini garanti eder. Ve belirli sayıdaki nesilden (genellikle birkaç yüz) sonra örnek topluluk optimale yakın bir çözüme doğru gelişir.Örneğimizde son örnek topluluk sadece ve kromozomlarından oluşacaktır. Bu kromozomların uyumluluk fonksiyonu üzerindeki yeri Şekil 1. (b) de görülmektedir 0 1 1 1 1 0 0 0
Yukarıdaki örnek tek bir değişkenli idi ele almak daha kolaydı. Şimdi iki değişkenli fonksiyona sahip bir örneği ele alalım. Bu fonksiyona en üst değerini verdiren tepe noktasının bulunması arzu edilmektedir. [-3,+3] aralığında değerler alan x ve y değişkenlerinden oluşan uyumluluk fonksiyonu f(x,y)=(1-x)² –(x-x³-y³) şeklindedir. İlk adım, problem değişkenlerinin bir kromozom ile temsil edilmesidir. Diğer bir ifadeyle ,x ve y değişkenleri 0,1 'lerden oluşan 8 elemanlı iki sayı kümesinden oluşur(Şekil 4). x y Şekil 4. Problem için belirlenen kromozomun yapısı Böylece, kromozom örnek topluluğunun boyutunu seçeriz. Burada boyut 6 olsun ve rassal olarak bir başlangıç örnek topluluğu türetelim. Bundan sonraki adım her bir kromozomun uygunluğunu hesabetmektir. Bu iki safhada yapılır: Birincisinde kromozom [-3,+3] aralığında değer alan x ve y kod çözümleme yapılarak iki gerçel sayıya dönüştürülür. O zaman x ve y ‘nin çözümlenen değerleri fonksiyondaki yerlerini alırlar. 1
TEŞEKKÜRLER.