Son Yazılar

Genetik Algoritma

Genetik Algoritma ve Evrimsel Hesaplama

Genetik algoritma populasyon tabanlı stokastik bir algoritmadır. Her birey problemin çözümü olmaya adaydır. Bireyleri değerlendirme fonksiyonu probleme yönelik olarak çalışan en önemli kısımdır. Doğal seçim işlemi, uygunluk değeri en yüksek bireyin seçilmesini sağlar.

Populasyon: Çözüm kümesini oluşturan bireylerin tümüdür.

Mutasyon: Bir kromozomda rasgele yapılan değişikliktir.

Mating: Bireyler arasındaki eşlemedir.

Kromozom: Çözüm için kullanılan bireylerdir.

Populasyon→Eşleme Havuzu→Seçilen eşler→Eşleme→Yeni Nesil→Yeni Populasyon

Algoritmanın Çalışması

1- Başlangıç populasyonunu oluştur.

2- Her kromozomu uygunluk fonksiyonunda değerlendir.

3- Yeni populasyonlar için yeni kromozomlar oluştur. (Seçme, Çaprazlama, Mutasyon, Elitizm)

4- 2. ve 3. adımı bir çözüm bulunancaya kadar ya da belirli iterasyona gelene kadar tekrarla.

5- En iyi kromozomu çözüm olarak al.

Genetik Algoritmanın Performansını Etkileyen Faktörler

-Kromozom sayısı artarsa çalışma süresi artar. Azaltmak çeşitliliği yok eder.

– Mutasyon oranı yüksek bir değer olursa kararlı noktaya erişmek zor olur.

– Kaç noktalı çaprazlama yapılacağı faydası açısından önemlidir.

– Bireylerin değerlendirilmesi performansı etkiler.

– Uygunluk değerlendirmesinin yapılışı: Eğer tam bir değerlendirme fonksiyonu oluşturulmamışsa çalışma süresi uzar hatta hiçbir zaman çözüm bulunamayabilir.

Genetik Algoritmanın Avantajları

– Tek çözüm değil birden fazla optimum çözüm elde edilir.

– Çok sayıda parametrelerle çalışma imkanı olması.

– Amaç fonksiyonunu geniş bir spektrumda araştırması

– Karmaşık amaç fonksiyonu parametrelerini optimize eder.

İşlemler

– Çözümün vey bireyin gösterimi ve başlangıç populasyonunun oluşturulması

– Bireylerin değerlendirilmesi

– Bireylerin yeni topluluk için seçilmesi

– Yeni bir jenerasyon oluşturma

Populasyon Oluşturma

Bilinen bir çözüm kümesi alınır. Rasgele bireyler oluşturulur. Belirli kriterleri sağlayan bireyler oluşur.

Bireylerin Değerlendirilmesi

Kromozomların çözüme uygunluk değerleri belirlenir. Her bir problem için uygun bir değerlendirme fonksiyonu kullanılması gerekir. Tüm bireyler için değerlendirme yapılır. Probleme yönelik çalışan kısımdır.

Yeni Populasyon Oluşturma

Birey seçme, Elitizm, Seçilen iki bireyi çaprazlama, Bir bireyin herhangi bir geninin mutasyon işlemiyle rasgele değiştirilmesi.

Belirli sayıda en iyi olan bireyler ile yeni populasyon oluşturulur. Kötü bireyler populasyona katılmaz.

Rasgele Birey Seçme

Birey 1 f(x):45                %25 B1

Birey 2 f(x):21               %25 B2

Birey 3 f(x):9                 %25 B3

Birey 4 f(x):75               %25 B4

Rulet Tekerleği Birey Seçme

Birey 1 f(x):45            45/(21+75+9+45)=%30

Birey 2 f(x):21            21/(21+75+9+45)=%14

Birey 3 f(x):9              9/(21+75+9+45)=%6

Birey 4 f(x):75             75/(21+75+9+45)=%50

Turnuva Seçimi

Rasgele seçilen iki bireyden uygunluk derecesi yüksek olan bir sonraki populasyona aktarılır. İşlem populasyondaki kromozom sayısı kadar tekrarlanır.

Elitizm

Belirli sayıdaki en iyi birey hiçbir işleme tabii tutulmadan doğrudan yeni jenerasyona aktarılır. Elit birey sayısı arttıkça çözümdeki çeşitlilik azalır. Elit birey alınmazsa yeni jenerasyonun en iyi bireyi bir öncekinin en iyi bireyinden daha kötü olabilir.

Seçilen İki Bireyin Çaprazlanması

Rasgele çaprazlama noktaları seçilir. Yeni bireylerden ikiside populasyona aktarılabilir. Yeni elde edilen bireyden uygunluk seviyesi daha yüksek olan alınabilir.

Adsız

Mutasyon

Herhangi bir sebep olmadan bir genin rasgele değiştirilmesidir. Populasyona çeşitlilik kazandırır. Mutasyon oranı 0.01 ile 0.0001 arasında seçilir.

Adsız

**Genetik algoritmayla ilgili örnek bir problemi ve çözümünü bir sonraki yazımda paylaşacağım. Umarım işinize yarar.

Kolay gelsin..

değerlendirme genetik algoritmanın adımları Genetik algoritmanın avantajları populasyon oluşturma

Hakkında Ali Demirci

1991 Ankara doğumluyum. Bilgisayar Mühendisliği bölümü 2013 mezunuyum. Bakanlığın bir kurumunda, Sistem(Linux, Windows Server) üzerine çalışmaktayım. Fakat boş zamanlarımda, kendimi yazılım konusunda da geliştirmekteyim. 20'ye yakın Android programım vardır. Her türlü soru(n)larınızda iletişime geçmekten çekinmeyin.
Önceki JavaScript ile Web Servis Çağırma

Bir bak istersen...

ÖYP (Öğretim Üyesi Yetiştirme Programı) Hakkında Genel Bilgiler

Öğretim Üyesi Yetiştirme Programı (ÖYP), yüksek lisans eğitiminden başlayarak doktora bitimine kadar uzanan bir süreçtir. …