• Sonuç bulunamadı

Darwin’in evrim teorisinden esinlenerek oraya çıkan genetik algoritma (GA), doğada bulunan canlıların yapılarındaki çeşitli özellikleri ve geçirdikleri evrim sürecini sanal ortama aktararak, matematiksel modeli kurulamayan ya da kurulması için çok sayıda işlem yapılması gereken durumlar için geliştirilmiş bir tekniktir.

47 GA, yapay zekânın hızla gelişen alanlarından biri olan evrimsel hesaplamanın bir alt dalıdır. 1970’li yıllarda John Holand tarafından icat edilmiş ve 1975 yılında “Doğal ve Yapay Sistemlerde Uyum” adlı kitapta yayınlanana GA, Holland’ın meslektaşları ve öğrencileri tarafından geliştirilmiştir (Jiao ve Wang, 2000: 552, Haupt ve Haupt, 2004: 22).

Genetik algoritmalar konusundaki esas gelişim ise, John Holland’ın doktora öğrencisi David E. Goldberg tarafından 1985 yılında hazırlamış olduğu “Gaz Borularının Genetik Algoritma İle Optimizasyonu” isimli doktora tezi ile sağlanmıştır. Goldberg 1989 yılında yayımladığı kitabı ile genetik algoritmaya yeni bir boyut kazandırmıştır (Küçük, 2016: 31).

Doğal seleksiyon ve doğal genetik temelli stokastik arama tekniği olan GA, geleneksel arama tekniklerinden farklı olarak popülasyon adı verilen rastgele bir çözüm seti ile başlar. Bu popülasyonda yer alan her birey eldeki problemi temsil eden birim olan kromozom olarak adlandırılır. Bu kromozomlar bir sembol dizisidir ve genellikle ikili birer dizge şeklinde gösterilir. Bu kromozomlar kuşaklar boyunca birbirini takip edecek şekilde bir sonraki nesle aktarılır. Yeni bir nesil elde edileceği zaman ise kuşaklar boyunca aktarılan kromozom çiftleri mutasyon adı verilen işlem gerçekleştirilir. Bu şekilde yeni ve güçlü bir nesil elde edilmiş olur (Gen ve Cheng, 1997: 1).

GA’nın kullanım oldukça geniştir. Makine öğrenimi, basit programların gelişimi, doğrusal olmayan dinamik sistemler (tahmin, veri analizi), robot yörünge planlaması, genetik programlama, strateji planlama, protein moleküllerinin şekillerinin bulunması, gezgin satıcı problemleri, görüntü oluşturma işlevleri, çeşitli alanlarda kontrol, dizayn ve zamanlama, yapay zeka öğrenme, sinyal işleme ve kombinasyonal optimizasyon gibi alanların yanı sıra bazı sanat, müzik ve resim geliştirme alanlarında da kullanılmaktadır (Ertuğrul ve Özçil, 2016: 225).

2.4.1. Genetik Algoritma Tekniğinde Kullanılan Temel Kavramlar

Optimizasyon araçlarından bir tanesi olan ve evrim ilkelerini modelleyen GA, en karmaşık durumlarda bile en uygun çözümü üretebilir. Kalitelerine göre seçilen ve daha sonra var olan bireyleri birleştirerek ya da değiştirerek yeni bir nesil için temel olarak

48 kullanılan bir kodlanmış çözüm popülasyon için çalışmaktadır (Burke vd., 1994: 35). GA’nın yapısında yer alan temel kavramlar aşağıda açıklanmıştır.

Gen: Kalıtsal molekülde bulunan ve organizmanın karakterlerinin tayininde rol

oynayan kalıtsal birimlere gen adı verilmektedir. Yapay sistemlerde gen, kendi başına anlamlı bilgi taşıyan en küçük birim olarak alınır (Gözen, 2007: 36).

Kromozom: Birden fazla genin bir araya gelerek oluşturduğu diziye kromozom

adı verilmektedir.

GA’da amaç, bir kromozoma sahip bireyler tarafından meydana getirilen toplumun değiştirilmesidir. Kromozomlar, verilen l uzunluğunda semboller zinciri ile temsil edilmektedir. Genellikle bu semboller 0 ya da 1 olur. Her bir kromozom optimizasyon problemi için uygun bir çözümü temsil eder ve her bir sembol bit olarak adlandırılmaktadır. Bu bit hangi parametreyi temsil ediyorsa sırasıyla dizilerek kromozom meydana getirilir (Ceylan ve Haldenbilen, 2005: 3601).

Popülasyon: Geçerli alternatif çözüm kümesi olan popülasyon, kromozomların

bir araya gelmesi ile meydana gelmektedir. Popülasyondaki birey sayısı (kromozom) genelde sabit tutulur. GA’da popülasyondaki birey sayısı ile ilgili genel bir kural yoktur. Popülasyondaki kromozom sayısı arttıkça çözüme ulaşma süresi (iterasyon sayısı) azalır (Gözen, 2007: 36).

49 Şekil 1: Gen, Kromozom ve Popülasyon Yapısı

1 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 1 0 1 0 1 Kaynak: Küçük, 2016: 36

Uygunluk Fonksiyonu: Uygunluk fonksiyonu, genlerin bir araya gelerek

oluşturduğu kromozomların, bir problemin çözümünde ne derece etkili olduğunu ölçmek amacıyla kullanılmaktadır. Uygunluk fonksiyonu her problem için ayrı ayrı ele alınması gerekmektedir.

Çaprazlama: Çaprazlama, uygunluk fonksiyonuna göre seçilen bireyler

arasında gen alışverişinde bulunulmasını ifade eder. Mevcut gen havuzunun potansiyelini arttırmak için, bir önceki nesilden daha iyi nitelikler içeren yeni bireyler elde edebilmek için çaprazlama operatörü kullanılır. Çaprazlama için seçilen bireyler belirli metotlara göre eşleştirilerek, yeni yavru bireylerin ortaya çıkmasını sağlamaktadır (Altan, 2013: 8).

Kromozom

Gen

50 Şekil 2: İki Bitlik Çaprazlama Örneği

1. ebeveyn 100110 0010 2. ebeveyn 110111 0111 Çaprazlama sonucunda oluşan 1. birey 100110 0111 Çaprazlama sonucunda oluşan 2. birey 110111 0010

Kaynak: Çalışkan vd., 2016: 22

Mutasyon: Yavru oluşturan bir seri içinde bir veya daha fazla genin

dönüşümüdür. Genellikle, mutasyon operatörü nadiren kullanılır. Son çalışmalar mutasyon operatörünün genetik algoritmalarda önemli bir rol oynadığını göstermektedir. Optimal mutasyon olasılığı oranı, kromozomun uzunluğu ve sorunun çözüm alanı ile orantılıdır (Ertuğrul ve Özçil, 2016: 230).

2.4.2. Genetik Algoritma Tekniğinin Çözüm Aşamaları

GA ile bir problem çözülmesi sırasında izlenmesi gereken adımları şu şekilde sıralanabilir (İşler, 2009: 22):

Adım 1: İlk çözüm grubu olarak başlangıç popülasyonunu tesadüfi olarak oluştur. Adım 2: Her bir kromozom için bir uygunluk değeri hesaplanır; bulunan uygunluk

değerleri dizilerin çözüm kalitesini gösterir. Popülasyonda yer alan en iyi uygunluk değerine sahip olan birey (kromozom), bir sonraki yeni nesile (popülasyon) doğrudan değiştirilmeden aktarılır.

Adım 3: İki grup dizi (kromozom), belirli bir seçim yöntemine göre (uygunluk

değerlerine göre hesaplanmış olasılık değerlerine göre) rassal olarak seçilirler.

Adım 4: Seçilen iki kromozom için rassal olarak genetik operatörler kullanılarak

çaprazlama işlemi gerçekleştirilir. Sonuçta yeni popülasyonda yer alacak iki yeni birey (kromozom) oluşur. Çaprazlama, yeni popülasyonda yer alacak birey sayısına ulaşılana dek sürer.

Adım 5: Yeni popülasyondaki bireyler, rassal olarak mutasyon işleminden geçerler. Adım 6: Önceden belirlenen nesil sayısı boyunca yukarıdaki işlemler sürdürülür. Eğer

en büyük nesil sayısına ulaşılmamışsa adım-2’ye dönülür. İterasyon, en büyük nesil sayısına ulaşınca işlem bitirilir. Uygunluk değeri en yüksek olan kromozom (çözüm) seçilir.

51