• Sonuç bulunamadı

3. MATERYAL VE METOT

3.2. Genetik Algoritma (GA)

3.2.1. Genetik Algoritmanın ÇalıĢması

Genetik Algoritmada ilk olarak baĢlangıç popülasyonunun sınır değerleri ve çözülmesi istenen problemin uygunluk fonksiyonu belirlenerek rastgele bir baĢlangıç popülasyonu oluĢturulmaktadır.

Genetik algoritmanın genel olarak çalıĢma Ģekli yani akıĢ diyagramı ġekil 3.26‟da gösterilmektedir. AkıĢ diyagramına bakıldığında ilk olarak baĢlangıç popülasyonu oluĢturularak ve jenerasyon sayısı 1 alınır. Daha sonra popülasyonda bulunan tüm bireylerin uygunluk değerleri hesaplanır. Uygunluk değerleri hesaplanan bireyler seçim, çaprazlama, mutasyon ve elitizim iĢlemine tabi tutulmaktadır. Genetik algoritma operatörlerinden sonra sonlandırma kriterine bakılır ve sonlandırma kriteri sağlandı ise en uygun sonuç elde edilmiĢ olur ve algoritma bitirilir. Eğer sonlandırma kriteri sağlanmadı veya elde edilen sonucun istenilen sonuçtan uzak ise jenerasyon sayısı artırılarak sonlandırma kriteri sağlanıncaya kadar devam etmektedir. (Öztürk 2007).

36

ġekil 3.26. Genetik Algoritmanın AkıĢ Diyagramı (Duman 2010)

3.2.1.1.BaĢlangıç Popülasyonunun OluĢturulması

BaĢlangıç popülasyonu, bir problemin çözümüne baĢlamak için baĢlangıçta kuralsız olarak seçilen kromozomlardan oluĢturulan bir gen havuzudur. Gen havuzunda bulunan genler kodlama yöntemine göre kodlanarak sembolize edilir. Genlerin kodlanmasında sıklıkla binary sayı sistemi kullanılır. Tüm genler 0 ve 1 rakamlarından oluĢmaktadır (Carbono ve ark. 2005).

Binary (Ġkili) sayı sistemine göre oluĢturulan genler ile gen havuzu yani baĢlangıç popülasyonu elde edilmiĢ olur. Elde edilen gen havuzu büyüklüğü tüm

Başlangıç Popülasyonunu Oluştur

Jenerasyon Sayısı=1 olarak al

Uygunluk Değerini Hesapla

Seçim Operatörü

Çaprazlama Operatörü

Mutasyon Operatörü

Elitizim

Jenerasyon Sayısı= Jenerasyon+1

Sonlandırma Kriteri Sağlandı mı? En Uygun Sonucu Yaz Algoritmayı Bitir Evet Hayır

37

değiĢkenlerin değiĢim aralıklarına, uygunluk fonksiyonu değiĢkenlerin sayısına ve değiĢim aralığında tahmin edilen elemanların sayısına bağlı olarak değiĢmektedir. Gen havuzunda bulunan her satıra popülasyon adımı denmektedir. Popülasyon adımıda bir birey olarak ifade edilmektedir. Bir popülasyon adımı her bir değiĢkenin genler ile kodlanması sonucu meydana gelen kromozomlardan oluĢmaktadır. DeğiĢkenlerin kodlanmaları ile bireyin oluĢmasına örnek Çizelge 3.1‟ de verilmektedir.

Çizelge 3.1. DeğiĢkenlerin kodlanması ile bireyin elde edilmesi

DeğiĢkenler

X1 X2

1 1 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 0 Birey

1 1 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 0 1 0 1 0 0

Popülasyon içinde bulunan tüm bireylerin sayısına popülasyon denir. Optimizasyon yöntemleri ile çözüm yapılırken ilk olarak baĢlangıç noktasından baĢlanmaktadır. BaĢlangıç noktası iyi tahmin edilir ise fazla iĢlem yapılmaz ve algoritma kısa sürede gerçekleĢir. Genetik algoritma yöntemi ile popülasyon sayısı kadar çözüm baĢlangıcı ile baĢlar. Eğer en uygun çözüm elde edilmez ise jenerasyon sayısı artırılır. Her bir jenerasyonda ise popülasyon sayısı kadar çözüm üretilir.

BaĢlangıç popülasyonunda bulunan çözümlerin problemlerin çözüm evrelerinden seçilen ve olduğunca problemin uzayını temsil eden çözümlerin olması gerekmektedir. Çözümü daha erken yapabilmek için baĢlangıç popülasyonunun problemin çözümü uzayında homojen olarak dağılımı arzu edilmektedir (Öztürk 2007).

3.2.1.2. Uygunluk Fonksiyonunun Hesaplanması

BaĢlangıç fonksiyonunda bulunana ve her bir bireyi temsil ederek popülasyondaki kromozomların ne kadar iyi olduklarını bulmaya yarayan fonksiyona uygunluk (uyumluluk) fonksiyonu denir. Uygunluk (uyumluluk) fonksiyonu baĢlangıç popülasyonunda bulunan tüm kromozomların Ģifrelerini çözerek ve daha sonra hesaplama yaparak her bir kromozomun uygunluk değerini hesaplamaktadır.

38

Genetik Algoritma yöntemi ile baĢlangıç popülasyonunda bulunan bireyleri uygunluk değeri olan f(x) değeri hesaplanmaktadır. Her bireyin baĢlangıç popülasyonunda uygunluk fonksiyonu, kromozomlara ait olan bir sayısal uygunluk değeri bulunmaktadır. Bireylerin bu uygunluk değeri her jenerasyonda uygun olan çözümün elde edilmesinde yol gösterir. Uygunluk fonksiyonu yüksek olan birey için yaĢama, çoğalma ve sonraki nesillerde temsil edilme oranı yüksek olur (Duman 2010).

Bireylerin yeni jenerasyonda bulunup bulunulmayacağına uygunluk değerine göre karar verilir. Popülasyonda bulunan tüm bireylerin uygunluk değerleri belli olduğunda sonlandırma kriterine bakılarak sağlanıp sağlanmadığına bakılmaktadır. Sonlandırma kriteri iki farklı Ģekil ile seçilebilir. Bunlardan ilki, istenilen nesil sayına ulaĢtığında, ikinci Ģekil ise bir bireyin uygunluk değerinin tüm bireylerin uygunluk değerleri toplamına oranı istenilen bir değere ulaĢınca sonlandırma kriteri algoritmayı sonlandırır. Bu iki yöntem algoritmayı sonlandırmıyor ise seçme, çaprazlama ve mutasyon ile iĢlem devam ettirilir (Kaya 2006).

BaĢlangıç popülasyonunu oluĢturan bireyler 0 ve 1 rakamları olan ikili sayı sistemine göre kodlanmaktadır. Bilgisayarda programlar yardımıyla her bireyin değiĢkenlerinin kodları ikili sayı sistemlerinden onluk sayı sistemlerine çevrilerek uygunluk fonksiyonunda yerine yazılarak uygunluk değeri hesaplanmaktadır. Popülasyon sayısı ve popülasyondaki birey sayısı kadar hesaplama devam etmektedir. Örnek olarak popülasyon sayısı altı ise altı tane uygunluk değeri hesaplanmakta olur. Algoritmanın sonlandırma kriterine bağlı olarak algoritma sonlandırılır. Sonlandırma kriteri uygunluk fonksiyonu değeri tüm popülasyondaki bireylerde aynı çıkması veya jenerasyonun sayısına bağlı olması seçilebilir. Sonlandırma kriteri sağlandığı anda algoritma sona erer. BaĢlangıçta uygunluk fonksiyon değerleri birbirinden uzak olur. Çünkü iyi olan ve iyi olmayan tüm bireyler baĢlangıçta aynı popülasyonda bulunur. Popülasyonda bireylerin uygunluk değerleri istenilen uygunluk değerlerine yakın olan bireylerin baĢarılı kabul edildiği ve bir sonraki nesile aktarılır. Yeni nesiller oluĢturulur iken genetik algoritma operatörlerinden seçim, çaprazlama, mutasyon benzeri operatörler kullanılır. Sonuç olarak yeni popülasyon oluĢturulup yeni popülasyondaki bireylerin uygunluk fonksiyonu değerleri tekrardan hesaplanır. Bu döngü istenilen sonuç elde edilinceye kadar devam etmektedir (Kaya 2006).

39

Benzer Belgeler