Header Ads

Genetik Programlama


Genetik programlama, evrimsel algoritma tabanlı programlama metodudur. Genetik programlamada amaç evrim teorisinden esinlenerek oluşturulmuş genetik algoritmalar kullanılarak programcı tarafından tanımlanmış görevlerin yerine getirilmesidir. Genetik programlamanın temeli evrimsel algoritma kuramıdır. Genetik programlamadan bahsetmeden önce kısaca  “Evrimsel algoritma” nedir diye kısaca değinmekte fayda var.

Nedir Bu Evrimsel Algoritma?
Evrimsel algoritmanın temelleri oldukça eskiye dayanmaktadır 1954 yılında ikinci dünya savaşı sırasında gerçekleşmiş çalışmalardan elde edilen hızlı bir ivme ile simülasyon alanı başta olmak üzere ilk uygulamaları başlamıştır. 1960-1970’li yıllarda optimizasyon(iyileştirme) tekniği olarak uygulanmaya başlamıştır. Bir de evrimsel algoritmanın tarihçesine bakalım hem ivmesini anlamak açısından hem de saygıdeğer bilim insanlarımızı hatırlamış oluruz.

1859; Charles Darwin tarafından kalıtım, doğal seçilim, evrim gibi terimler tanımlandı
1954; Nills Aall Barricel in Bilgisayar simülasyonlarının evrimi çalışmaları ile devam etmiştir.
1957; Alex Fraser ilk GA(genetik algoritma) geliştirmiştir.
1966; Lawrence J. Fogel  Evrimsel hesaplamayı yapay zekanın bir parçası olarak ortaya çıkardı.
1970-75; John Holland ve öğrencileri tarafından GA daha da geliştirildi.(GA babası olarak anılır)
1980-90; GA ve Swarm Intelligence Method un popülerliği artarak geliştirilmeye devam edilmektedir.

Şimdi yazımızın temeli olan Genetik Programla dan bahsedelim.

Genetik programlamanın amacı karmaşık olanı basite indirgemek, probremli arama metodlarını çözüme kavuşturmak olarak tanımlanabilir.
Kullanım alanları nedir diye merak edecek olursak her şey desek yanılmış olmayız. Şöyle birkaç örnek verirsek sanırım daha iyi kavrayacağız . Kuantum hesaplamalarından , borsa, elektronik dizayn, oyun programlamaya kadar uzanan geniş bir programlama tipidir. Hatta  YouTube da gezinirken sizin sevdiğiniz şarkıların size önerilmesi bile genetik programlama temelli bir işleyiştir.
Son olarak Genetik Programlamanın çalışma mantığından da bahsedip yazımızı  sonlandıralım.
Genetik programlamanın evrimsel algoritma tabanlı olduğundan evrimsel algoritmanın da Darwin temelli olduğundan bahsetmiştik.
Problem, evrimsel süreç kullanılarak çözülmeye çalışılır. Genetik algoritma “Toplum” adı verilen ve kromozomlarla temsil edilen bir çözüm kümesi ile başlar. Bir toplumdaki çözümler yeni toplumların üretilmesinde kullanılır  yeni ortaya çıkan toplumların ise atalarından daha iyi olacağı umulur. Yeni ortaya çıkan toplumdaki çözümler uygunluklarına göre seçilir ve tekrar üretim için daha fazla şansa sahip olur. Bu süreç elde edilmek istenen sonuca ulaşıncaya kadar tekrar eder. Yani kısaca bu programlamanın temel algoritması “Doğal Seçilim” odaklı işleyişe sahiptir. Kötü ve güçsüzlerin elendiği iyi ve güçlülerin devam ettiği bir işleyişten bahsediyoruz. Bir görsel ile destekleyip yazımızı bitirelim:



KAYNAKÇA
Genetik Programlama web sayfası : genetic-programming.com
Genetic Algorithm https://en.wikipedia.org/wiki/Genetic_algorithm
Genetic Algorithms: A Tutorial By Dr. Nysret Musliu , Associate Professor Database and Artificial Intelligence Group, Vienna University of Technology


Hiç yorum yok

Blogger tarafından desteklenmektedir.