• Sonuç bulunamadı

Adım 4 Yeni kromozomlara yer açmak için eski kromozomlar ortadan kaldırılır. Adım 5 Tüm kromozomların uygunlukları yeniden hesaplanır

3. Gen yapısındaki fiziksel ve kimyasal değişmeler

4.4. Genetik Algoritmalarda Parametre Optimizasyonu 1. Genel Bilgi

GA’lar, çözüm uzayında arama yaparken birtakım parametreleri kullanırlar. Bunlar; üreme, çaprazlama ve mutasyon yöntemleri ile çaprazlama-mutasyon oranları ve başlangıç popülasyonundan oluşur. Kısa sürede çözüme ulaşmak için bu parametrelerin seçimi ile ilgili herhangi bir kural yoktur (Cicirello ve Smith, 2000). Herhangi bir problemin çözümünde kullanılan GA için optimum veya optimuma yakın çözüm veren kontrol parametresi kümesi, başka bir GA uygulaması için

genelleştirilemez. GA”nın uygulandığı problemlerde bu parametreler, deneme-yanılma yöntemi ile seçilir (Cicirello ve Smith, 2000).

Minumum beş farklı başlangıç popülasyonunun, beş üreme yönteminin, altı çaprazlama ve beş mutasyon yönteminin kullanıldığı; (0-100) aralığında çaprazlama ve mutasyon oranının seçildiği basit bir GA probleminde en az 75.000 seçenek arasında deneme-yanılma yöntemi ile uygun parametrelerin seçiminin oldukça zor olduğu görülmektedir.

4.4.2. Başlangıç Popülasyonunun Optimizasyonu

Başlangıç popülasyonu, başlangıçta istenen optimum çözümden uzaklığı gösterir. Dolayısıyla başlangıçta optimuma yakın olan çözüm kümeleri kullanılmalıdır. İlk popülasyonun uygun oluşturulması, popülasyonun ortalama uygunluk değerini yükseltecek ve çözüme ulaşma süresini kısaltacaktır. Bunun için geliştirilen belirli yöntemler olmakla birlikte, GA uygulayıcısı problemin yapısına göre sezgileriyle başlangıç popülasyonunu en iyi değerlerden seçmelidir.

4.4.3. Seçim Operatörü Optimizasyonu

Seçim operatörü algoritmanın çalışma hızını etkiler. Ancak bu doğrudan olmaz. Seçim sırasında en iyilerin seçimi sağlanarak optimuma gidiş süreci hızlandırılmalıdır. Eğer yeniden yerleştirmede (reinsertion) kullanılan teknik, her popülasyonun yenilenmesi (pure insertion) şeklinde ise, seçimdeki performans eldeki sonuçların yitirilmemesi açısından önemlidir. Problemin yapısı gereği seçim yöntemi en iyi şekilde belirlenmelidir. Özellikle seçim aşamasında ortaya çıkan iyi bilgi kaybının önüne geçilmeye çalışılmalıdır.

4.4.4. Çaprazlama Operatörü Optimizasyonu

Çaprazlama operatörü neredeyse tümüyle kodlama operatörüne bağlıdır. Mutasyon için seçilen yöntem de gözönünde tutularak, çaprazlama oranının ve çaprazlama yönteminin ne olacağı kararlaştırılmalıdır. Çaprazlama yöntemlerinin anlatıldığı bölümde de değinildiği gibi bu oranın % 85-100 arası değerlerde olması tavsiye edilir. Birkaç uygulamada bu değerden daha düşük olan %60 oranının da iyi sonuç verdiği gözlenmiştir. Bu parametrenin optimizasyonu, geliştiricinin gözlem yeteneğine ve sezgilerine bağlıdır.

4.4.5. Mutasyon Operatörü Optimizasyonu

Mutasyon operatörü, GA’ların çeşitli nedenlerle çözüm uzayının belli bölgelerinde gerekli-gereksiz döngülere girmemesini, eğer girmişse de bu döngülerden kurtulmasını sağlar. Mutasyon operatörü, salt sorun çıkmasına karşı bir önlem değil, aynı zamanda algoritmanın daha iyi çözüm noktalarına daha hızlı ulaşmasını sağlar niteliktedir. Kodlama tekniği ve çaprazlamada tercih edilen yöntem gözönüne alınarak, mutasyonun hangi yöntemle ve ne oranda yapılacağı kararlaştırılır.

Mutasyon oranı için, test edilmiş ve çoğu çalışma için tavsiye edilen iki farklı oran açıklanmıştır. Eğer bit düzeyinde çalışma yapılıyorsa, bireylere ilişkin dizilerin her bir değeri için ayrı mutasyon olasılığı gözetilir. Bu durumda tavsiye edilen oran 0,001’dir. Bireylerin her bir biti, 0,001’lik olasılık gözetilerek mutasyona uğratılır. Eğer bireylerin her biri için mutasyona uğrayıp uğramayacağı hesaplanacaksa bu durumda, n birey sayısı olmak üzere 1/n kabul edilebilir bir orandır.

4.4.6. Popülasyon Büyüklüğünün Optimizasyonu

Popülasyon nüfusu, genelde 20, 50 veya 100 olarak alınır. Algoritma bilgisayarda yapıldığı için, bu sayıların genelde çok küçük olduğu düşünülebilir. Ancak çoğu kez ideal değerlerdir. Gereğinden fazla popülasyon nüfusu iyi sonuç vermemektedir. Bu nedenle ideal bir değerin, geliştiricinin sezgileri ve gözlemleriyle bulunması gerekir. 4.5. Genetik Algoritmaların Kullanılma Nedenleri

4.5.1. Genel Bilgi

GA, açıkça tanımlanamayan problemlerin çözümünde tercih edilen bir yöntemdir. Geleneksel yöntemlerle çözülemeyen zor problemlere örnek, NP-Hard adı verilen problemlerdir. Bu ve bunun gibi problemlerde polinom benzeri bir fonksiyonla problem çözülmek istenirse aşırı işlem yükü ile karşılaşılır. Hattâ bâzı problemlerde bu biçimde fonksiyon oluşturularak çözüme gitmek olanaklı olmaz.

Örnek olarak Gezgin Satıcı Problemi (Travelling Salesman) NP problemleri kategorisine girmektedir. Burada N adet kente gitmek zorunda olan satıcının kentler arası uzaklıkları dikkate alarak, toplam alınan yolu enküçükleyecek şekilde kentlere hangi sırayla gitmesi gerektiği araştırılmaktadır. (N=) 30 farklı kent olduğu

düşünüldüğünde, bu problem için (N!=30!=) 2,65* 32

10 farklı seçenek sözkonusudur. Bilgisayarın, her saniyede, olası 1 milyar sonucu analiz ettiğini düşündüğümüzde bile, toplam seçeneklerin değerlendirilmesi 8 trilyar yıl sürmektedir. Görüldüğü üzere problemin optimum sonucunun bulunması bu koşullar altında olanaksızdır. Bu ve benzeri problemlerin açıkça tanımlanarak modellenmesi olanaklı değildir ya da olası tüm çözümlerin bilgisayara çözdürülmesi çok uzun bir süre gerektirmektedir. İşte böyle durumlarda seçenek yöntemlere bakılır. GA’lar da bu seçeneklerden biri olup, gerçekten mükemmel denilebilecek pek çok çözümün çok hızlı bir şekilde elde edilmesini sağlamaktadırlar.

GA’lar, pek çok sayıda rastgele çözümün kontrollu ve etkin bir şekilde üretilmesi temeline dayanarak çalışmaktadır.

Klasik denklem eniyilenmesinde üç tip çözümden sözedilir: 1. Türev-İntegral hesabına (calculus) dayananlar

2. Numaralamaya (enumeration) dayananlar 3. Rastgele aramalar (random searches)

GA’ların optimizasyon yöntemleri arasındaki yeri, Şekil 4.13.’de görülebilir. Türev-İntegral hesaplamalarına dayanan hesaplama yöntemleri ile çok derinlemesine çalışılmıştır. Bu yöntemler, fonksiyonun türevinin köklerinin, fonksiyonun en küçük ve en büyük değer veren noktaları olmasından yararlanır. Gerçek problemler için sıfır veren noktaları bulmak da ayrı bir problemdir.

Şekil 4. Genetik Algoritmanın klasik optimizasyon arama yöntemleri arasındaki yeri

CALCULUS RASTGELE SAYISAL

Fibonacci Newton

Benzetimli Evrimsel Programlama Yöneylem Araştırma Tavlama

Paralel GA Genetik Algoritma

Diğer bir yöntem ise, alınan bir noktadan sadece yukarı ilerleyerek en iyi sonucu bulmayı hedefler. Tepe tırmanma (hill climbing) denen bu yöntem, fonksiyon grafiğinin tepelerini tırmanır. Ancak çok sayıda dönme noktası içeren bir fonksiyonda çok sayıda tepe oluşur. Hangi tepenin en iyi çözüm olduğu bilenemez. Numaralama yöntemleri ise oldukça alışılagelmiştir. Sürekli olan gerçel sayı aralıkları, belli sayıda parçaya ayrılarak parçalar denenir. Ancak problemler böyle çözülmek için büyük olabilir.

Bu yöntemin biraz daha geliştirilmiş şekli Dinamik Programlama (dynamic programming) ile oluşturulur. Parçalar arasından iyi görünenler seçilir. Bu parçalar alt parçalara ayrılarak işlem yinelenir. Bu yöntem de tepe tırmanma yöntemi gibi yanlış tepeleri araştırabilir. Dinamik Programlama tepelerin olmadığı aralıklarda başarılı ve hızlıdır.

En iyilemenin (optimizasyon); “bir işin daha iyi yapılması” ve “en doğru şekilde yapılması” olmak üzere iki amacı vardır.

Günümüzde rastgele aramaların kullanımı artmaktadır. Bu tip aramalar, eniyilemenin daha iyi yapma amacını sağlamakta daha başarılıdırlar. İnsanların bilgisayarlardan genel beklentisi mükemmellik olduğu için bu tip aramalar başarısız görünebilir. GA’lar klasik yöntemlerin çok uzun zamanda yapacakları işlemleri, kısa bir zamanda çok net olmasa da yeterli bir doğrulukla yapabilir.

4.5.2. Genetik Algoritmaların Klâsik Yöntemlerden Farkları

1. GA, problemin boyutundan bağımsızdır. Değişken sayısı ve bu değişkenlerin