Genetik Algoritması - Grafik Renklendirmeli

ayse.yilmaz Takip Et

2 ay önce , Okuma süresi 2 dakika.

Genetik Algoritma, evrimsel hesaplama algoritmalarının ilkidir ve en iyi bilinendir. Genetik Algoritma optimizasyon problemlerini çözmeyi amaçlar.
Genetik Algoritması - Grafik Renklendirmeli

En iyi adapte olmuş bireylerin bir kısmını daha iyi açıklamak için bir örnek verilebilir. Örneğin, bir ülkedeki nüfusun kalitesini kontrol etmek istiyorsunuz.

İnsanları iyi insanlar ve kötü insanlar olarak hedefleyebilir, daha sonra kötü insanları yok edebilir, sonra iyi insanlarla eşleşebilir ve teorik olarak iyi çocukların ve toplumun kalitesini arttırmayı hedefleyebilirsiniz.

Hücre, yaşamın en küçük yapı taşıdır. Genetik Algoritma, hücre yapısını taklit ederek bilgileri depolar. Bilgi taban GA'da ikili biçimde tutulur. Bir sonraki süreçte sürekli ve ayrık değerler ile çalışan GA'larda önerilmiştir. Bu algoritmada genetikte kullanılan 3 temel prosedür kullanılmaktadır.

Bu üç işlemin alt tipleri ayrı ayrı açıklanacak, ancak bu üç temel işlem:

-Crossover

-Mutation

-Başarılı gen seçimi (Seçim)

Genetik Algoritma da amaç nihai bir sonuca ulaşmaktır. Yapmaya amaçlanan adımlar, birbiri ile bağlantısı olan değerlerin renklerinin farklı olmasıdır. Renklere kendimiz değerler verebiliriz. Kırmızı sıfır, mavi iki değeri gibi. Bu değerler öncelikle birbiri ile bağlantılı olanların arasında random bir şekilde atanır. Amacımız bu değerlerin toplamının olabildiğince küçük olmasını sağlamaktır.

Şimdi adımları açıklayalım.

-Crossover

Önceden oluşturulmuş ebeveyn bilgileri kullanılarak yeni bir popülasyon yaratılmalıdır. Üst veri türü, en verimli şekilde seçilen popülasyonları içerir ve bu veri türündeki tüm ebeveynler geçiş işleminde kullanılmalıdır. Crossover ayrıca bir çeşit çiftleşme süreci olarak da kabul edilebilir.

Geçiş işlevinde, ana veri türünün her üyesi bir sonraki üyeyle ayrı bir listeye alınır. Sonra bu listedeki ebeveynler ikiye ayrılır. ve bu ayırma parçaları çapraz montajlıdır. Sonuç olarak, önceki popülasyonlardan tamamen farklı olan 2 yeni popülasyon üyesi oluşturulmuştur.

Crossover süreci ile yeni üyeler oluşturma süreci nüfusun büyüklüğüne veya tüm ebeveyn üyeler kullanılıncaya kadar devam eder. Bu işlem tamamlandığında, oluşturulan yeni üyeler mutasyon fonksiyonunda kullanılmak üzere çapraz veri tipinde depolanır. Bu veri türü, geçiş işlevi geri çağrılana veya uygunluk hesaplaması için yeni bir popülasyon hesaplanana kadar değişmez.

-Mutasyon

Mutasyon fonksiyonu, çalışmak için yeni bir çapraz üretilen popülasyon bilgisi gerektirir. Mutasyon işlemi için, her çaprazlama popülasyonunun her üyesi için, belirlenmiş mutasyon işlevi gerçekleştirilir ve doğrudan popülasyon değiştirilir. Bu diğer aşamalardan farkı. Yeni bir popülasyon oluşturmak yerine, mevcut popülasyonda değişiklikler yapar. Her değişiklik, gen adı verilen nüfusun üyeleri üzerinde gerçekleşir.

Her gen için önceden belirlenmiş mutasyon parametreleri uygulanarak değişiklikler yapılır. Varsayılan olarak, tasarladığımız program, her popülasyonda rastgele seçilen bir gen için renk değerinin rastgele bir şekilde belirlenmesine dayanmaktadır. Bu şekilde, gen mutasyona uğrar. Her ne kadar tamamen yeni bir nüfus mutasyon sürecinin bir sonucu olarak ortaya çıkmasa da, önceki popülasyonlardan farklı olan veriler ortaya çıkar.

Adımları sırası ile yazmamız gerekirse,

  • Datayı Tanımlama
  • Ebeveyn Belirleme
  • Crossover(Çaprazlama)
  • Mutasyon
  • Tekrarlama

Elbette Genetik Algoritmasını açıklamanın bir çok yolu ve seçeneği bulunmakta. Bu yazı da anlatılan grafik boyama kullanarak genetik algoritmasını açıklamıştır.

#Yazılım