Genetik Algoritmalar

Merhabalar. Bu yazımda size genetik algoritmalardan bahsedeceğim.

Genetik algoritmalar, doğada gözlemlenen evrimsel sürece benzer bir şekilde çalışan arama ve eniyileme yöntemidir. Karmaşık çok boyutlu arama uzayında en iyinin hayatta kalması ilkesine göre bütünsel en iyi çözümü arar.

Charles Darwin’in “En güçlü ve en akıllı bireyler değil, değişime en iyi adapte olan bireyler yaşam mücadelesini sürdürür” sözünden yola çıkılarak ortaya çıkan bu algoritma optimizasyon problemlerinde sıkça kullanılır. 1992 yılında John Koza, genetik algoritmaları kullanarak programları evrimleştirerek belli işleri yapmakta kullandı. Bu yönteme “genetik programlama” adını verdi. Genetik algoritmanın sahip olduğu biyolojik alt yapı sayesinde çözümler daha rahat tanımlanabilir. Bu alt yapıda çıkan bazı kavramlar aşağıdadır. 

Kromozom: Tüm yaşayan organizmalar hücrelerden oluşur. Her hücrede aynı kromozom kümeleri bulunur. Kromozomlar DNA dizileri olup, tüm organizmanın örneği olarak hizmet ederler. Bir kromozom gen adı verilen DNA bloklarından oluşur. Her gen belirli bir proteini kodlar. Basitçe, her genin, örneğin göz rengi gibi bir özelliği kodladığı söylenebilir. Bir özellik için olası ayarlar, (Mavi, Yeşil) alel olarak adlandırılır. Her gen kromozom üzerinde kendine ait bir konuma sahiptir. Bu konuma yörünge adı verilir. Tüm genetik malzeme kümesine (tüm kromozomlar) genom adı verilir. Genom üzerindeki belli gen kümelerine genotip adı verilir. Genotipler, doğumdan sonra gelişmeyle fenotiplere – canlının göz rengi, zekâ vb. fiziksel ve zihinsel özellikleri- dönüşür.

Tekrar Üretim: Tekrar üretim sırasında, yeniden birleşme ilk önce ortaya çıkar. Atalardan gelen genler yepyeni bir kromozom üretmek için bir araya gelirler. Bu yeni yaratılmış nesil daha sonra mutasyona uğrayabilir. Mutasyon DNA elemanlarının değişmesidir. Bu değişimler genellikle atalardan gen kopyalanması sırasındaki hatalardan kaynaklanır. Bir organizmanın uygunluğu organizmanın yaşamındaki başarısıyla ölçülür.

Bu alt yapılarla da Genetik Algoritmanın adımları aşağıdaki gibidir.

 

1.Başlangıç: n kromozom oluşan rastgele toplum oluşturulur.

2.Uygunluk: Toplumdaki her kromozom için uygunluk değeri değerlendirilir.

3.Yeni Toplum: Aşağıdaki adımlarla yeni toplum üretilir;

  1.  Seçim: Toplumdan uygunluklarına göre iki ata seçilir (daha uygun olanın seçilme şansı daha fazladır)
  2. Çaprazlama: Çaprazlama olasılığı ile ataları yeni yavru oluşturmak için birbirleriyle eşleştirilir. Eğer çaprazlama yapılmazsa, yavru ataların tıpatıp aynısı olacaktır.
  3. Mutasyon: Mutasyon olasılığı ile yeni yavru üzerinde her yörünge için mutasyon işlemi yapılacaktır.
  4. Kabul: Yeni yavru, yeni topluma eklenir.

4.Değiştir: Yeni toplum algoritmanın tekrar işlenmesinde kullanılır.

5.Deney: İstenilen durum sağlandığında en iyi çözüm uygulanır.

6.Döngü: 2.aşamaya gidilir.

 

Okuduğunuz için teşekkürler. Diğer yazımda görüşmek üzere.