• Sonuç bulunamadı

3. MATERYAL VE METOD

3.2. Yöntem

3.2.3. Hibrit yöntem

3.2.3.1. Genetik algoritma

Genetik algoritma karar değişkeninin çok sayıda olması veya üzerinde çalışılan verinin çok büyük boyutta olması halinde istenen derecede iyi bir sonucu bulmak adına geliştirilmiş sezgisel bir algoritmadır (Şenol, 2013). Darwin'in "en iyi olan yaşar (survival of the fıttest)" prensibine dayalı olarak bir popülasyonu oluşturan bireylerin rekabet etmelerini ve rekabet sonucu elenmelerini sağlayan evrimsel süreci simüle eden GA, ilk olarak John Holland, meslektaşları ve Michigan üniversitesindeki öğrencileri tarafından ortaya atılmıştır. Bunlar güçlü arama algoritmaları olarak kendilerini ispatlamış ve çeşitli alanlardaki zor problemlerle başa çıkmak için kullanılmışlardır. GA ’ların asıl etkisi, çok çeşitli problemlerde başarıyla uygulanabilmesinden kaynaklanmaktadır. GA geleneksel yöntemlerle çözümü zor veya imkânsız olan problemlerin çözümünde kullanılmaktadır. Çok

39

genel anlamda GA ’nın üç uygulama alanı bulunmaktadır. Bunlar deneysel çalışmalarda optimizasyon, pratik endüstriyel uygulamalar ve sınıflandırma sistemleridir (Gülsün ve ark., 2009).

GA, diğer sezgisel yöntemlerle problemi tanımlama açısından da farklılık göstermektedir. GA ’da çok sayıda birey oluşturularak probleme en iyi sonucu oluşturan bireyin daha iyi olması için çok sayıda operatör kullanılır. GA en iyi çözümü bulacağını garanti etmemekle beraber en iyiye yakın makul seviyede bir çözüm üretebilmektedir (Şenol, 2013).

GA bir optimizasyon problemi için aday olan çözümler popülasyonunun daha iyi sonuçlara ulaşılması amacıyla evrilmesidir. GA ilk olarak başlangıç popülasyonunun oluşturulması ile başlar. İlk popülasyon oluşturulduktan (çözüm kümesi) sonra, algoritma kendini yineleyerek; popülasyondaki bireylerin uygunluk değerini hesaplar, bireyler uygunluk değerine göre seçilir, seçilen bireyler arasında çaprazlama işlemi uygulanır ve yeni bireyler oluşturulur. Oluşturulan yeni bireyler rassal olarak mutasyona uğradıktan sonra bir sonraki nesil için yeni popülasyon oluşturulmuş olur. Sonlandırma koşuluna göre de en iyi çözüm bulununcaya kadar döngü devam eder.

3.2.3.1.1. Genetik algoritmaya ait terimler

Gen: Anlamlı genetik bilgi taşıyan en küçük birimdir. Genetik Algoritmada bit olarak

tanımlanır, çözümün bir özelliğini ifade eder.

Kromozom (Birey): Genlerin birleşimi ile oluşur. Problemin olası çözümlerinden

birini ifade eder. Genetik Algoritmada bir dizi olarak tanımlanır (Akpınar, 2009).

Genotip: GA da çözüme ait yapıya genotip denir. Kromozomun yapısı da denilebilir

(Uyumaz, 2017).

Fenotip: GA da fenotip genotipin nasıl ifade edileceğini belirler (Uyumaz, 2017).

Popülasyon (Nesil): Popülasyon kromozomlar kümesidir. Problemin olası

çözümlerinden belli bir kısmını ifade eder. Popülasyonun birey sayısı algoritmanın başında belirlenir ve sabit kalır (Çınar, 2007).

Kodlama: İlk adım; problem için arama uzayını en iyi temsil eden kodlama yapısının

40

ve problemin yapısına göre kodlama yöntemi seçilir (Küçük, 2016). İkili (binary), sıralı (permütasyon) ve değer kodlaması yöntemleri vardır.

Uygunluk fonksiyonu: Uygunluk fonksiyonu her bir bireyi çözüm açısından

derecelendiren fonksiyondur. Uygunluk değeri olarak adlandırılan bu oran bireyin ne oranda çözüm olduğunu belirtir. Yani bireyin çözüm üzerinden başarısını değerlendiren fonksiyondur. Uygunluk fonksiyonu problemin yapısına ve tanımına göre değişiklik gösterir. Her problemin kendine özgü bir uygunluk fonksiyonu vardır (Şenol, 2013).

Seçim: Seçim işlemi, uygunluk fonksiyonuna göre mevcut popülasyondan yeni

bireylerin seçilme işlemidir. Dizileri uyum fonksiyonu değerlerine göre kopyalamak, yüksek uyum değerine sahip dizilerin bir sonraki kuşağa katkılarının daha yüksek olacağı anlamına gelmektedir. Literatürde çeşitli çoğalma operatörleri mevcuttur. Yaygın olarak kullanılan yöntemler arasında; rulet tekerleği (roulette wheel), turnuva (tournamet), sabit durum (steady state) ve sıralama (permutation) yöntemleri sayılabilir (Taşkın ve Emel, 2009).

Çaprazlama: GA ’nın ortaya çıkmasındaki en önemli terim çaprazlamadır.

Popülasyonu oluşturan kromozomlardan seçim operatörü ile seçilen ebeveyn kromozomlarının çaprazlanmasıyla çocuk kromozomlar oluşturulur. Bu çocuk kromozomların dahil edildiği yeni nesiller üretilerek çözüm uzayı içerisinde yeni çözümler kullanılması sağlanır. Çözüm uzayındaki farklı çözümlerin kullanılması problem çözümüne ulaşma olasılığını artıracaktır. Çaprazlama işleminde problemin kodlamasına göre farklı çaprazlama operatörlerinin kullanılması gerekebilir (Uyumaz, 2017). Literatürde yer alan çeşitli çaprazlama yöntemleri; tek noktalı çaprazlama, iki noktalı çaprazlama, PMX çaprazlama, OX çaprazlama, CX çaprazlama, LOX çaprazlama’dır (Taşkın ve Emel, 2009).

Mutasyon: Amaç belli bir nesil sayısından sonra popülasyon içerisindeki bireylerin

gitgide birbirlerine benzemesine engel olmaktır. Çünkü bu durum çözüm uzayının daralmasına neden olmaktadır. Bireylere ne kadar çaprazlama operatörü uygulansa da belli bir nesil sayısından sonra birey çeşitliliği sağlanmamaktadır. Bu durumda bireyi oluşturan genlerden rasgele bir tanesi seçilir. Rasgele seçilen genin değeri değiştirilir. Böylelikle popülasyon içindeki bireylerin çeşitliliğinin devamı sağlanmış olunur (Küçük, 2016). Mutasyon yöntemleri; sıra temelli mutasyon yöntemi, tersinme (inversion), yerleştirme (insertion), karşılıklı değişim (reciprocal exchange) ve kaydırma (displacement) yöntemleridir (Taşkın ve Emel, 2009).

41

Elitizm: Çaprazlama ve mutasyon işlemlerinden sonra topluluktaki en iyi uygunluk

değerine sahip birey, sonraki kuşağa aktarılamayabilir. Bunu önlemek için uygunluk fonksiyonu en iyi olan birey bu işlemler yapılmaksızın bir sonraki kuşağa aktarılır. Buna elitizm adı verilir.

Durdurma kriteri: Çoğalma, çaprazlama ve mutasyon işlemlerinden sonra yeni bir

kuşak oluşmaktadır. Yeni kuşağın uyum değeri hesaplanır. Tüm bu işlemler bir döngü içinde yapılır. Gelecek döngüler için de bu işlemler devam edecektir. Eğer bir durdurma kriteri belirlenmez ise evrimsel süreç sonsuza dek devam eder. Literatürde genetik algoritmaların durdurma kriteriyle ilgili çeşitli yöntemler yer almaktadır. Literatürde yer alan en yaygın durdurma kriterleri; hesaplama zamanı kriteri, optimizasyon hedefi kriteri, minimum iyileşme kriteridir (Taşkın ve Emel, 2009).

Benzer Belgeler