• Sonuç bulunamadı

3. TEORİK ESASLAR

3.2. Yapay Sinir Ağlarına Genetik Algoritma Optimizasyonunun Uygulanması

3.2.2. Genetik algoritmalar

Genetik algoritmalar, doğal seçim ve genetik kuralları kullanan basit, güçlü, genel amaçlı, türevden bağımsız global optimizasyon yöntemleridir. Optimum çözüm, en iyi olanın hayatta kaldığı seçici ortamda doğal seçim, çaprazlama ve mutasyon olarak adlandırılan üç genetik işlemi içeren yeni çözümler incelenerek elde edilir. Amaç fonksiyonlarının türevinin alınabilir olması zorunluluğu olmadığı için, amaç fonksiyonu istendiği kadar kompleks olabilir.

GA’ları diğer geleneksel arama ve optimizasyon metotlarından ayıran temel faktörler şunlardır;

• Türev içermeyen bir teknik olmaları, problemden bağımsız şekilde uygulanmalarını mümkün kılar.

• Sürekli ve ayrık optimizasyon problemlerinde kullanılabilirler.

• Optimum çözüm için belirli kurallar yerine rasgele operatörler kullanırlar. • Tek bir nokta yerine noktaların oluşturduğu popülasyonla çalıştıklarından

dolayı lokal minimumlara yakalanma riskleri azdır.

GA’nın adımları temel olarak özetlenecek olursa, ilk adım başlangıç popülasyonunun (gen havuzu) olası bir çözümün temsil edildiği bireylerle rasgele oluşturulmasıdır. Daha sonra başlangıç popülasyonunda bireylerin uygunluk değerleri hesaplanır ve en iyi bireylerin seçilmesiyle eşleştirme havuzu oluşturulur. Genetik havuzda yeni nesillerin elde edilmesi için bireyler çaprazlama işlemine tabii tutulur ve yeni nesillere mutasyon operatörü uygulanır. Bu işlem, durma için belirlenen kriter sağlanana kadar tekrarlanır.

3.2.2.1. Popülasyonun rasgele değerlerle başlatılması

GA’da ilk adım, verilen problem için olası çözümlere karşılık gelen başlangıç popülasyonunun oluşturulmasıdır. Genel olarak popülasyonda n adet birey vardır ve bireylerden çiftler oluşturulacağı için n çift sayıdır. Çoğu GA’da her bir çözüm için parametreleri tanımlamadan 0’lar ve 1’lerden oluşan ikili kodlu sonlu uzunlukta diziler kullanılır ve bunlar kromozom olarak adlandırılır. Her bir dizi, temsil ettiği parametre setine göre kodlanır. Böylece başlangıç popülasyonu, rasgele üretilmiş ikili diziler kümesi halini alır. Bireylerin ikili sayı dizisiyle ifade edilmesi en çok tercih edilen temsil şekli olmasına karşın, bunun yerine tamsayı veya reel sayılar da kullanılabilir. Bu çalışmada olduğu gibi, daha çok ikili düzenin tercih edilmesinin sebebi basit olması ve bilgisayarda daha kolay ve hızlı biçimde işlem yapılabilmesini mümkün kılmasıdır.

3.2.2.2. Popülasyondaki bireylerin uygunluklarının değerlendirilmesi

Bu adımda başlangıçta oluşturulan popülasyonun tüm bireyleri uygunluk fonksiyonuna göre değerlendirilir. Uygunluk fonksiyonu, amaç fonksiyonundan elde edilir. Uygunluk değerleri daha sonraki adımda genetik havuzun oluşturulmasında kullanılır.

3.2.2.3. Yeni popülasyonun oluşturulması

Biyolojik bir evrim sürecinde yeni popülasyon oluşumu, üç işlemin aynı anda gerçekleşmesiyle meydana gelir. Bunlar, en uygun ebeveynlerin doğal seçimi, çaprazlama ve mutasyondur. GA uygulamalarında da benzer şekilde yeni neslin

oluşturulması temel olarak üç evrede gerçekleşir. Burada temel amaç, yüksek uygunluk değerlerinde bireylere sahip yeni bir neslin oluşturulmasıdır. Bireylerin uygunluk derecelerine göre yeni bir popülasyon oluşturulur. Bu amaçla ilk olarak, doğal seçim evresi gerçekleştirilerek eşleştirme havuzu elde edilir ve diğer genetik operatörler kullanılarak popülasyon değişime uğratılır. Bu operatörler, biyolojik çaprazlama ve mutasyon işlemindekilere benzerdir ve GA’larda da sırasıyla çaprazlama ve mutasyon operatörleri olarak adlandırılır. Bu üç evre aşağıdaki kısımlarda verildiği gibi gerçekleşmektedir.

i) Doğal seçim evresi

Çaprazlama ve mutasyon operatörleri uygulanmadan önce bireyler uygunluk değerlerine göre popülasyondan seçilir ve sonra yeni nesil oluşturma operatörü uygulanır. Başka bir ifadeyle başlangıç popülasyonundaki bireyler en yüksek uygunluk değerlerine sahip olanların belirlenmesi amacıyla olasılık kuralına göre seçilirler ve böylece yeni bir popülasyon oluşturulur. Doğal seçim, GA’da bireylerin uygunluk değerlerinin evrim sürecine etki ettiği tek bileşendir. Çok sayıda doğal seçim kuralı vardır. Bunlardan en yaygın olarak kullanılan kurallar aşağıda açıklanmıştır;

Rulet doğal seçimi: Bir kromozomun seçilme şansı, uygunluk derecesiyle orantılıdır. Bu yöntemde bir bireyin seçilme ihtimali aşağıdaki gibi bulunur;

= = = n k k i i n k f f P 1 ) ,..., 2 , 1 ( (3.33)

Burada; n popülasyon büyüklüğü, fi ise uygunluk fonksiyonudur. Bu yöntemle ortalamanın üzerinde uygunluk değerine sahip bireyler, ortalamanın altında değere sahip olanlarla değiştirilir. Her bir nesildeki toplam dizi sayısı, hesaplama verimi için sabit tutulduğundan daha düşük uygunluk değerine sahip olan diziler elenirken diğerleri sonraki nesile kopyalanır.

Turnuva doğal seçimi: Rulet seçimi, turnuva büyüklüğü olarak verilen N sayısı kadar tekrarlanır ve kromozomlardan bir turnuva alt seti elde edilir (Goldberg ve Deb 1991). Bu alt setteki en iyi kromozom seçilerek doğal seçime ek bir seçme işlemi yaptırılır ve rulet doğal seçiminin daha gelişmiş bir şekli ortaya çıkar.

En iyi yüzdenin doğal seçimi: Popülasyonun en iyi uygunluk değerine sahip yüzde N’lik kısmından rasgele kromozom seçimi yapılır.

En iyinin doğal seçimi: En iyi kromozom seçilir. Eğer aynı uygunluk değerinde iki veya daha fazla kromozom varsa birisi rasgele seçilir.

Rasgele doğal seçim: Popülasyondan rasgele bir kromozom seçilir.

Doğal seçim evresi esnasında isteğe bağlı olarak “elitizm” stratejisi de kullanılabilir. Burada, uygunluk değerlendirmesiyle belirlenen en iyi kromozomlar direkt olarak sonraki nesile aktarılır. Böylece her nesilde en iyi kromozomların korunması sağlanmış olur. Orijinal popülasyondaki en iyi kromozomlar, aynı zamanda doğal seçim ve çaprazlama işlemi için de kullanılır. Ancak bu işlem, tüm bireylerin daha çok birbirine benzemesini sağlayacağı için çözüm her zaman optimal olmaz.

ii) Çaprazlama evresi

Çaprazlama, GA’lardaki en önemli arama operatörüdür. Çaprazlamanın amacı ebeveynlerden gelen iyi karakteristiklerin yeni bireylere aktarılması için farklı ebeveynlerdeki parçaların birleştirilmesidir (Holland 1975). Yeni bireylerin oluşturulması için kromozomların bulunduğu eşleştirme havuzundan iki tane kromozom seçilerek rasgele şekilde eşleştirilir ve n/2 adet genetik çift elde edilir. Çaprazlama işleminde yeni kromozom, her bir ebeveynin en iyi karakteristiklerini almışsa onlardan daha iyi olabilir. Çaprazlama işlemi, çaprazlama olasılığı Pc’ye bağlı olarak meydana gelir ve bir popülasyonda ne kadar kromozomun çaprazlamaya tabii tutulacağını belirler. Pc genellikle [0.6,0.9] aralığında seçilir (Schaffer ve ark. 1989). En yaygın kullanılan çaprazlama operatörleri şunlardır;

Tek nokta çaprazlama: Kromozomda rasgele bir çaprazlama noktası seçilir ve yeni nesiller oluşturmak için iki ebeveyn kromozomun yerleri bu noktadan itibaren değiştirilir.

İki nokta çaprazlama: Kromozomda rasgele iki çaprazlama noktası seçilir ve iki yeni nesil oluşturacak şekilde bu noktalar arasında iki ebeveynin kromozomları değiştirilir.

Düzenli çaprazlama: Yeni nesil kromozomlarında her bir gen değerinin hangi ebeveyn tarafından sağlanacağına karar verilir. Bu işlem, karışma oranı olarak adlandırılan bir olasılık değerine göre yapılır ve ebeveyn kromozomlarının karışmasının önceki yöntemlerdeki gibi parça düzeyinde değil bit düzeyinde olması sağlanır.

iii) Mutasyon evresi

Çaprazlama işlemini, bit dizisinde daha fazla değişikliğe neden olan ve popülasyonda genetik çeşitlilik meydana getiren mutasyon evresi takip eder. İlk olarak Holland (1975) tarafından ortaya atılan yöntemde popülasyona, ebeveynlerden gelmeyen ve çaprazlamada ortaya çıkmayan yeni genetik materyal ilave edilir. Böylece gen havuzuna yeni gen değeri eklenmesiyle GA’nın daha önceden elde edilemeyen daha iyi sonuçlara ulaşması hedeflenir. Bu işlemin gerçekleştirilmesinde kullanılan en yaygın yöntemde, mutasyona uğrayacak bireyler bit dizisinden rasgele seçilir ve bu bitler 1 ise 0, 0 ise 1 şeklinde değiştirilir. GA’larda mutasyon operatörü olarak kullanılan Pm, mutasyon hızını düşürmek amacıyla genellikle [0.001,0.01] aralığında düşük bir değerde seçilerek iyi kromozomların korunma şansı artırılır (Holland 1975). Mutasyon operatörünün kullanılması popülasyonun yerel optimuma yakınsamayı önlemesine yardımcı olur. Çaprazlama ve mutasyon evreleri birlikte GA’lara arama etkinliğini kazandırırken, mutasyon bu arama etkinliğinin artmasına katkı sağlar. Bu üç evreden sonra, elde edilen popülasyondaki yapılar değerlendirilir ve yeni popülasyonlar ortaya çıkar. Oldukça fazla sayıdaki popülasyondan en iyi bireyler seçilir. GA’da uygunluk fonksiyonunun seçimi çok önemlidir. Çünkü bu değer doğal seçim işleminin temelini oluşturur.

GA tasarımında önemli konulardan birisi, genetik işlemlerin kontrolünde kullanılan prosedürdür. Bunun için sürekli durum ve nesile dayalı prosedürler olmak üzere iki farklı yöntem kullanılır. Şekil 3.22(a)’da verilen sürekli durum ve Şekil 3.22(b)’de verilen nesile dayalı prosedürler arasındaki en önemli fark popülasyonun güncellenmesinde kullanılan yöntemdir (Oh ve ark. 2004). Sürekli durum prosedüründe, genellikle her nesilde bir kromozom güncellenirken nesile dayalı prosedürde, popülasyonun tamamı veya büyük bir kısmı güncellenir. Bu fark, GA’nın geniş arama uzayında çözüme ulaşma etkinliğini büyük ölçüde etkiler.

Şekil 3.22 Genetik algoritmalarda (a) Sürekli durum (b) Nesile dayalı prosedürleri için akış şemaları