• Sonuç bulunamadı

2. PROBLEMLERİN TANIMLANMASI VE KARMAŞIKLIK ANALİZİ

3.4. Ağ Modüllerinin Tespitinde Kullanılan Yöntemler

3.4.6. Adaptif Genetik Algoritma

Bu bölümde modül tespiti probleminin çözümü için GA (Goldberg ve Holland 1988, Holland 1992) temelli bir yöntem önerilmiştir. Bu yöntem ele alınan problemin yapısına uygun olarak ayarlanmış ve tez çalışmasında Adaptif Genetik Algoritma (Adaptive Genetic Algorithm, AGA) olarak isimlendirilmiştir. Önerilen algoritma lokal en iyi çözüme takılmadan en iyi global modülerlik değerine hızlı yakınsama özelliğine sahiptir. Burada standart GA’nın temel parametre ve operatörleri kullanılırken buna ek olarak operatörlerde probleme özgü değişiklikler yapılmış ve yönteme yeni parametreler dahil edilmiştir. Bu algoritmanın çalışma adımları ayrıntılı olarak aşağıda açıklanmıştır.

Popülasyonun oluşturulması aşamasında ilk olarak kromozomların temsili sunumu amacıyla LAR (Park ve Song 1998) yaklaşımı tercih edilmiştir. Popülasyondaki kromozomların boyutu ağdaki düğüm sayısı kadardır. Bir kromozomdaki genlerin sırası ağdaki düğümlerin indislerini; genlerin içerikleri ise her düğüm için seçilen komşu düğümleri gösterir. Örnek bir kromozomun oluşturulması ve gösterimi için Şekil 2.3’te verilen temsili örnek incelenebilir. Bu örnekte, giriş ağını temsil eden çizge yapısına uygun olarak üretilen kromozom yapısı Şekil 3.16’da gösterilmiştir.

Şekil 3.16. Örnek olarak üretilmiş kromozom yapısı

1 2 3 4 5 6 7 8 4 7 8 1 1 8 2 3 1 2 3 1 1 3 2 3

Burada, kromozom yapısı temsili olarak üç diziden oluşur. İlk dizi düğümlerin sıralı indislerini, ikinci dizi düğümlerin seçilen komşularını ve üçüncü dizi ise ikinci diziye göre oluşturulan ağ modüllerinin indislerini tutar. Bu örnekte 8 adet düğümden oluşan bir ağ için örnek kromozomun içeriği ikinci dizide verilmiştir. Buna göre 1. düğümün Şekil 2.3’e göre rastsal olarak seçilen komşusu 4. düğümdür. 1. düğümün ait olduğu modül numarası (ID) ise 1’dir. 2. düğüm için seçilen komşu düğüm 7’dir ve ait olduğu alt grup 2. modüldür. Bu şekilde son gene kadar tüm düğümler uygun komşuları seçerler. Son olarak, birinci dizideki son geni ifade eden 8. düğüm için seçilen komşu düğüm 3’tür ve ait olduğu modülün ID’si 3’tür. Bu şekilde tüm düğümler uygun modüllere dahil edilirler. Son durumda elde edilen modüllerin grafiksel gösterimi Şekil 2.3-c’de sunulmuştur. Burada anlatılan yönteme göre AGA’nın başlangıç kromozomları 𝑚𝑒𝑘𝑎𝑛𝑖𝑧𝑚𝑎 − 1’e uygun olarak üretilir. Uygunluk fonksiyonu olarak modülerlik skoru referans alınmıştır. Bu skor (-1) ve (+1) arasında değişen değerler alır.

Bu algoritmada kromozomların geliştirilebilmesi amacıyla probleme uygun olarak güncellenen elitizm, seçim, çaprazlama ve mutasyon genetik operatörleri kullanılmıştır. Her bir operatör işleminde kullanılan parametreler uygun çözüme ulaşabilecek şekilde ayarlanmıştır. AGA algoritmasında standart genetik algoritmadan farklı olarak elitizm, çaprazlama ve mutasyon operatörlerine yeni parametreler dahil edilmiştir. Kullanılan operatörler ve parametreler aşağıda ayrıntılı olarak açıklanmıştır.

Elitizm: Bu operatör algoritmanın iki farklı aşamasında kullanılmıştır. Birinci aşamada popülasyondaki en iyi modülerlik değerlerine sahip 𝑒 × 100 adet kromozomun sonraki nesile aktarılması sağlanır. Buradaki 𝑒, belli sayıdaki en uygun kromozomun bir sonraki jenerasyona aktarılmasını sağlayan parametredir ve test çalışmalarında bu değer 0.05 olarak alınmıştır. İkinci aşamada ise üretilen ve daha iyi modülerlik değerlerine sahip yeni kromozomlar yine aynı oranda kötü kromozomlarla yer değiştirir. Kullanılan elitizm operatörü popülasyonda uygun çözümler sunmayan kromozomların elimine edilmesini sağlamaktadır. Buradaki kromozom çeşitliliğinin azaltılmaması için 𝑒 değerinin küçük oranlarda seçilmesi önemlidir. Parametrenin değeri [0-1] aralığındadır.

Seçim: Yeni nesilin üretilmesi aşamasında birey seçim işlemi için rulet tekerleği seçimi (RTS) (Sastry ve ark 2014) kullanılmıştır. Bu işlem çaprazlama için uygun bireyin seçilmesini kapsar. Seçim işlemi şu şekilde gerçekleşir: İlk önce her kromozomun uygunluk değeri hesaplandıktan sonra tüm kromozomların toplam uygunluk değerini temsil eden 𝑡𝐹 Denklem 85’e göre belirlenir. Burada 𝑖, kromozomun

popülasyondaki sırasını (indisini) tutar ve 𝑃 ise toplam kromozom sayısını gösterir. İlk işlemden sonra her kromozomun seçilme olasılığı 𝑅, Denklem 86’ya göre hesaplanır. Üçüncü işlemle Denklem 87’deki hesaplamaya göre her kromozom için kümülatif olasılık değeri belirlenir.

𝑡𝐹 = ∑ 𝐹𝑀𝑖 𝑃 𝑖=1 (85) 𝑅𝑖 =𝐹𝑀 𝑖 𝑡𝐹 (86) Qi = ∑ 𝑅𝑘 i k=1 (87) 𝑐 = {𝑖, 𝑒ğ𝑒𝑟 Qi-1 < 𝑟 ≤Q𝑖 𝑖𝑠𝑒 } (88)

Son olarak, Denklem 88’e göre uygun aralığa gelen kromozom seçilir. Burada 𝑟, her kromozom için yeniden belirlenen ve 0 ile 1 aralığında üretilen rastsal sayıdır. 𝑐, seçilen kromozomu ifade eder. 𝑥𝑖−1 ve 𝑥𝑖 ise sırasıyla; popülasyondaki (𝑖 − 1). ve 𝑖.

kromozomları gösterir. Eğer 𝑟 değeri 𝑥𝑖’nin kümülatif oranından (Q

i) küçük veya eşitse

ve 𝑥𝑖−1’in kümülatif oranından (Q

i-1) büyükse 𝑖. kromozom seçilir ve sonucu tutan

𝑐 = 𝑥𝑖 olur. Böylece bir sonraki işlem süreci için RTS yöntemi kullanılarak seçilecek

ikinci kromozom çaprazlamaya alınır. Bu süreç her bir kromozom için tekrarlanır. Çaprazlama: Yeni nesilin üretilmesi aşamasında iki birey arasında bilgi alışverişi için bu operatör kullanılır. Bunun için iki bireyden ilki (1. birey) popülasyondaki kromozomlardan sırasıyla temin edilir. Ancak burada tüm bireyler işleme alınmaz. Bu operatör için tanımlanmış çaprazlama oranı parametresi ile popülasyondaki belli sayıda birey işleme alınır. Burada çaprazlama oranı “𝑐” ile temsil edilir ve tez çalışmasında bu değişkenin değeri 0.8 olarak alınmıştır. Toplam kromozom sayısı 𝑃 ise çaprazlama için seçilecek popülasyondaki toplam kromozom sayısı, 𝑃 × 𝑐 kadardır. Bu operatör için seçilecek 2. birey ise popülasyondaki kromozomların uygunlukları temel alınarak oluşturulan kümülatif toplama göre seçim işleminde belirlenir. Daha sonra iki birey arasında bilgi alışverişi oranını belirleyen çaprazlama sayısı parametresi tanımlanır. Bu parametre 𝑠 ile gösterilir. Giriş ağının düğüm sayısı 𝑁 ile temsil edilirse çaprazlanacak

toplam gen oranı [𝑠 ÷ 𝑁] ile belirlenir. Bu çalışmada maksimum 𝑠 değeri 𝑁’nin yarısı oranında belirlenmiştir. Böylece RTS ile seçilmiş uygun kromozomun (2. birey) tüm genlerinden rastsal olarak seçilen 𝑠 tanesi üretilecek yeni kromozoma (3. birey) aktarılır. İlk kromozomdaki (1. birey) diğer genler 3. bireye olduğu gibi aktarılır. Bölüm 2.1.1’de sunulan Şekil 2.3-a’daki temsili çizgeden üretilen bireyler arasında gerçekleşen çaprazlama işlemi Şekil 3.17’de gösterilmiştir. Buradaki örnekte 𝑁 = 8 değeri için 𝑠 sayısı 3 olarak belirlenmiştir. Ok işaretleri RTS ile seçilen kromozomdan üç adet genin yeni kromozoma aktarılmasını gösterir. Diğer genler ilk kromozomdan alınır. Üretilen kromozomdaki düğümlerin komşuluk listelerine uygun olmasına dikkat edilir.

Şekil 3.17. AGA’ya göre çaprazlama işlemi

Mutasyon: Bu operatör işlemi çaprazlama ile üretilen kromozomlardan bazılarının olasılıksal mutasyona tabi tutulmasını sağlar. Bu amaçla değişen oranlarda çoklu mutasyon uygulanır. Üretilen yeni kromozomlardan mutasyona uğrayacakların seçilebilmesi için bir mutasyon oranı parametresi tanımlanır. Bu parametre 𝑚 ile ifade edilir ve düşük oranlarda seçilir. Tez çalışmasında bu oran 0.1 olarak alınmıştır. Böylece popülasyon boyutu 30 iken genel olarak sadece 3 birey mutasyon işlemine alınacaktır. Buradaki işlemde mutasyona uğrayacak gen sayısını belirleyen ikinci bir parametre tanımlanmış ve 𝑔 ile temsil edilmiştir. Ağdaki toplam düğüm sayısı 𝑁 ile ifade edildiğinde; 𝑔 parametresi 1 ile (𝑁 4⁄ ) arasında rastsal olarak seçilir. Böylece en az 1 ve en çok düğüm sayısının dörtte birisi kadar gen mutasyona uğrar. Herhangi bir kromozomdaki temel gen yapısının korunması amacıyla tüm genlerden mutasyon işlemi için seçilecek maksimum gen sayısı (𝑁 4⁄ ) oranıyla kısıtlanmıştır. Şekil 3.18’de

AGA’nın Şekil 2.3-a’daki çizgeye uygun olarak uygulanan mutasyon operatörüyle ilgili

temsili bir örnek verilmiştir. Bu örnekte 𝑔 = 3 olarak belirlenmiştir.

4 7 8 1 1 4 2 3

1. birey 2. birey

4 6 8 1 1 8 2 3

5 6 1 6 1 8 2 6

Şekil 3.18. Mutasyon operatörü için uygulanan örnek işlem

Şekil 3.18’de mutasyona uğrayan genlerin konumları kalın oklarla gösterilmiştir. Bu örnekte, 1. düğümün komşusu olarak seçilmiş olan 4. düğüm ilk mutasyon işlemi sonrası 3. komşu düğümle yer değiştirmiştir. Sonraki mutasyon işlemiyle 4. gen (4. düğüm) konumundaki 1. komşu düğüm 6. komşu düğümle değiştirilmiştir. Son olarak dizideki 6. konumu temsil eden altıncı düğümün atanmış olan komşusu 8. düğüm mutasyon işlemiyle 4. komşu düğüme dönüştürülmüştür. Bu işlemle üçüncü birey üç noktalı mutasyona uğrayarak yeni bir birey (4. birey) oluşturur. Seçilen kromozomlar için bu operatör tekrar çalıştırılarak yeni nesilin popülasyonu oluşturulmuş olur. Daha sonra her bir birey için uygunluk değeri hesaplanır ve en iyi lokal ve global bireyler kaydedilerek sonraki nesile aktarılır. Bu işlem tanımlanmış maksimum iterasyon sayısı kadar tekrarlanır. İşlemler sonunda kaydedilmiş olan en iyi modülerlik skoruna sahip bireye göre ağın modül yapısı ortaya çıkarılır.