GENETİK ALGORİTMALARA GİRİŞ (III)

Benzer belgeler
GENETİK ALGORİTMALARA GİRİŞ (V)

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA

GENETİK ALGORİTMALARA GİRİŞ (II) BİNARİ KODLANMIŞ GA

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

Zeki Optimizasyon Teknikleri

GENETİK ALGORİTMALAR. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

GENETİK ALGORİTMA ÖZNUR CENGİZ HİLAL KOCA

Ev Tipi Yenilenebilir Hibrit Sistem İçin Mikro-Genetik Algoritma ile Optimal Yük Planlaması

YZM 5257 YAPAY ZEKA VE UZMAN SİSTEMLER DERS#6: GENETİK ALGORİTMALAR

Genetik Algoritmalar. Bölüm 1. Optimizasyon. Yrd. Doç. Dr. Adem Tuncer E-posta:

İLERİ ALGORİTMA ANALİZİ GENETİK ALGORİTMA

Fonksiyon Optimizasyonunda Genetik Algoritmalar

GENETİK ALGORİTMALAR BÜŞRA GÜRACAR

Gezgin Satıcı Probleminin İkili Kodlanmış Genetik Algoritmalarla Çözümünde Yeni Bir Yaklaşım. Mehmet Ali Aytekin Tahir Emre Kalaycı

Algoritmalar. Arama Problemi ve Analizi. Bahar 2016 Doç. Dr. Suat Özdemir 1

GENETİK ALGORİTMALARA GİRİŞ (VII)

Google Maps ve Genetik Algoritmalarla GSP Çözümü İçin Öneri

GENETİK ALGORİTMALARA GİRİŞ (IV)

GENETİK ALGORİTMALARA GİRİŞ

METASEZGİSEL YÖNTEMLER

Algoritmalar. Heap Sort. Bahar 2017 Doç. Dr. Suat Özdemir 1

OPTİMİZASYON TEKNİKLERİ. Kısıtsız Optimizasyon

Genetik Algoritmalar (GA) Genetik Algoritmalar Đçerik Nesin Matematik Köyü E rim Ç lı l ş ı ta t yı Nisan, 2012 Mustafa Suphi Erden

Serdar BİROĞUL YÜKSEK LİSANS TEZİ (ELEKTRİK EĞİTİMİ) GAZİ ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ ANKARA

GENETİK ALGORİTMALARA GİRİŞ (I)

GENETĠK ALGORĠTMALAR ĠLE HAFTALIK DERS PROGRAMININ HAZIRLANMASI

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms) Genetik Algoritma

Zeki Optimizasyon Teknikleri

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

EV TİPİ YENİLENEBİLİR HİBRİT SİSTEM İÇİN MİKRO-GENETİK ALGORİTMA İLE OPTİMAL YÜK PLANLAMASI

Mekatronik Mühendisliği Uygulamalarında Yapay Zekâ. Ders 1- Yapay Zekâya Giriş. Erhan AKDOĞAN, Ph.D.

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

EMM4131 Popülasyon Temelli Algoritmalar (Population-based Algorithms)

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

KARINCA KOLONİ ALGORİTMASI BMÜ-579 Meta Sezgisel Yöntemler. Yrd. Doç. Dr. İlhan AYDIN Fırat Üniversitesi, Bilgisayar Mühendisliği Bölümü

Rasgele Sayı Üretme. Rasgele Sayıların Özellikleri. İki önemli istaiksel özelliği var :

Zeki Optimizasyon Teknikleri

YÖNEYLEM ARAŞTIRMASI - III

6.046J/18.401J DERS 7 Kıyım Fonksiyonu (Hashing I) Prof. Charles E. Leiserson

Altın Oran Arama Metodu(Golden Search)

FİŞ NUMARASI DÜZENLEMESİ

GENETİK ALGORİTMA İLE RÜZGAR TÜRBİNİ KANAT SAYISI SEÇİMİ

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür.

Algoritmalar. Sıralama Problemi ve Analizi. Bahar 2017 Doç. Dr. Suat Özdemir 1

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada,

İLERİ ALGORİTMA ANALİZİ TABU ARAMA ALGORİTMASI (TABU SEARCH)

SAYISAL ELEKTRONİK. Ege Ü. Ege MYO Mekatronik Programı

ÖZEL EGE LİSESİ EGE BÖLGESİ OKULLAR ARASI 15.MATEMATİK YARIŞMASI 6. SINIFLAR FİNAL SORULARI

DOSYA ORGANİZASYONU. Çarpışma çözümleme yöntemleri ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Dr. Fatih AY Tel: fatihay@fatihay.net

Tek Değişkenli Optimizasyon OPTİMİZASYON. Gradient Tabanlı Yöntemler. Bisection (İkiye Bölme) Yöntemi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

6.Hafta Kıyım Fonksiyonu (Hashing), BST. Doğrudan erişim tabloları Çarpışmaları ilmekleme ile çözmek Kıyım fonksiyonu seçimi Açık adresleme

İstatistik ve Olasılık

Popülasyon Ortalamasının Tahmin Edilmesi

OYAK ADANA - BALIKESİR - BATMAN - BOLU - DÜZCE HATAY - KAHRAMANMARAŞ - MARDİN - ORDU RİZE - SAKARYA - SİVAS - TEKİRDAĞ - ZONGULDAK 7 NİSAN 2012

İSTATİSTİKTE TEMEL KAVRAMLAR

ADIM ADIM YGS LYS Adım EVRİM

İSTATİSTİKSEL TAHMİNLEME. Örneklem istatistiklerinden hareketle ana kütle parametreleri hakkında genelleme yapmaya istatistiksel tahminleme denir.

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

SORULAR. 2. Noktaları adlandırılmamış 6 noktalı kaç ağaç vardır? Çizerek cevaplayınız.

4. Bulanık Sayılar- Üyelik Fonksiyonları

BMB204. Veri Yapıları Ders 9. B+ Ağacı, Hash, Heap. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BÖLÜNMÜŞ FARKLAR (DİVİDED DİFFERENCES)

Türkiye Ulusal Matematik Olimpiyatları DENEME SINAVI. 4. Deneme

Rasgele Sayıların Özellikleri

Boyut: Belirli bir doğrultuda ölçülmüş bir büyüklüğü ifade etmek için kullanılan geometrik bir terim.

NEWTON RAPHSON YÖNTEMİ

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

Faktöriyel: 1'den n'ye kadar olan tüm pozitif tamsayıların çarpımına, biçiminde gösterilir. Aynca; 0! = 1 ve 1!=1 1 dir. [Bunlar kabul değildir,

ERCİYES ÜNİVERSİTESİ KİMYA ANABİLİM DALI

2000 Birinci Aşama Sınav Soruları

NEDEN TAKIM ÇALIŞMALARI...

Genetik Algoritmalar. Prof.Dr.Adem KALINLI

ELEKTRONİK VE HABERLEŞME MÜHENDİSLİĞİ ÖLÇME VE DEVRE LABORATUVARI DENEY 2

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I

2.3. MATRİSLER Matris Tanımlama

Ayrık Fourier Dönüşümü

Yrd. Doç. Dr. A. Burak İNNER

BİR MONTAJ HATTI ÜRETİM SİSTEMİNDE OPTİMAL İŞGÜCÜ DAĞILIMININ ARENA PROCESS ANALYZER (PAN) VE OPTQUEST KULLANILARAK BELİRLENMESİ

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

Atatürk Anadolu. Temel Kavramlar Üzerine Kısa Çalışmalar

Mendel Genetiği, Kalıtım, Gen Mühendisliği ve Biyoteknoloji

BİLGİSAYAR PROGRAMLAMA Araş. Gör. Ahmet ARDAHANLI. Kafkas Üniversitesi Mühendislik Fakültesi

Temel ve Uygulamalı Araştırmalar için Araştırma Süreci

İSTATİSTİK EXCEL UYGULAMA

İleri Diferansiyel Denklemler

A GRUBU Noktaları adlandırılmış K 6 tam çizgesinin tam olarak 3 noktalı kaç tane alt çizgesi vardır? A) 9 B) 20 C) 24 D) 60 E) 160

SİMETRİK ŞİFRELEME. DES (Veri Şifreleme Standardı, Data Encryption Standard)

4. HAFTA BLM323 SAYISAL ANALİZ. Okt. Yasin ORTAKCI.

TODAİE edevlet MERKEZİ UYGULAMALI E-İMZA SEMİNERİ KASIM E-imza Teknolojisi. TODAİE Sunumu

Data Communications. Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü. 10. Hata Kontrolü

FAKTÖRİYEL. TANIM Pozitif ilk n tam sayının çarpımı n = n! biçiminde gösterilir. n Faktöriyel okunur.

KESİKLİ ŞANS DEĞİŞKENLERİNİN OLASILIK DAĞILIMLARI. Bernoulli Dağılımı Binom Dağılımı Poisson Dağılımı

( ) (, ) Kombinasyon. Tanım: r n olmak üzere n elemanlı bir kümenin r elemanlı her alt kümesine bu n elemanın r li kombinasyonu denir.

Elektrik Devre Temelleri 3

YZM VERİ YAPILARI DERS#9: HASH FONKSİYONLARI

1. 4 kız ve 5 erkek öğrenci; a) kızların tümü bir arada olacak şekilde kaç türlü sıralanabilir?

Transkript:

GENETİK ALGORİTMALARA GİRİŞ (III) Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@duzce.edu.tr Düzce Üniversitesi Elektrik&Elektronik Mühendisliği Bölümü Konuralp 81620 Düzce

Bölüm Konu Başlıkları Seçim Strateji Çeşitleri Uygunluk Orantılı Seçim Elitizm Çaprazlama Mutasyon 2

Uygunluk Orantılı Seçim/Rulet Çemberi Seçim operatörü oldukça basittir: en iyi %50 yeniden çoğalma için seçilir ve geri kalanlar atılır. Bu pratik bir yöntemdir ancak çok yaygın değildir. Bunun bir nedeni, en iyiyi çoğaltmak (en kötüyü engellemek) olmasına rağmen, iyi ve çok iyi arasında herhangi bir ayrım yapmamasıdır. Ayrıca, çok daha düşük bir olasılık ile sadece zayıf çözümlerin bir sonraki kuşağa ilerlemesi yerine, (nüfusun genetik çeşitliliğini azaltarak) basit bir şekilde onları yok eder. Ayrıca, çok daha düşük bir olasılık ile sadece kötü çözümlerin bir sonraki kuşağa aktarılmasından ziyade, (popülasyonun genetik çeşitliliğini azaltarak) basit bir şekilde onları elimine eder. Daha yaygın bir seçim operatörü, uygunluk orantılı veya rulet çemberi seçimidir. 3

Uygunluk Orantılı Seçim/Rulet Çemberi Bu yaklaşım ile seçilme ihtimali bir bireyin uygunluğu ile orantılıdır. Herhangi bir bireyin uygunluk değeri ile orantılı bölme büyüklüğüne sahip bir popülasyonun tamamının rulet çemberini oluşturduğu düşünülürse rulet çemberi ile olan benzerlik ortaya çıkar. Çember döndükten sonra şekilsel olarak "top" içeri atılır. Herhangi bir bölmeye sonradan top gelme ihtimali bölmenin yayı ile orantılıdır ve bu ilgili bireyin uygunluğudur. Sırası ile 2.7, 4.5, 1.1, 3.2, 1.3 ve 7.3 uygunluk değerlerine sahip 6 bireyden (a, b, c, d, e ve f) oluşan bir topluluğa ilişkin yaklaşım Şekilde gösterilmektedir. 4

Uygunluk Orantılı Seçim/Rulet Çemberi Uygunluk Değerleri 7.3 2.7 4.5 a b c 1.3 3.2 1.1 d e f 5

Uygunluk Orantılı Seçim/Rulet Çemberi Bireysel Olasılık 0.363 0.134 0.224 a b c d 0.159 e 0.065 0.055 f 6

Uygunluk Orantılı Seçim/Rulet Çemberi Birikmeli Olasılık 1 0.134 0.358 0.413 a b c 0.637 0.572 d e f 7

Uygunluk Orantılı Seçim/Rulet Çemberi Sayı String Uygunluk p i q i r i 1 a 2.7 0.134 0.134 0.941287 2 b 4.5 0.224 0.358 0.073296 3 c 1.1 0.055 0.413 0.278547 4 d 3.2 0.159 0.572 0.534955 5 e 1.3 0.065 0.637 0.78424 6 f 7.3 0.363 1 0.846523 20.1 1 8

Uygunluk Orantılı Seçim/Rulet Çemberi Bu operatörü uygulamak, göründüğünden daha kolaydır. Popülasyonun uygunluk değerlerinin toplamı ile tekerleğin çevresi verilmiş olup, top değeri 0 ile bu toplam arasındaki rastgele bir sayı ile gösterilir. Topun hangi bireye ait bölmeye düşeceğini bulabilmek için, popülasyon üyelerinin uygunluğu toplanır, ancak elde edilen yeni toplam rastgele üretilen sayı değerini aştığı zaman işlem durur. Tam bu noktada, eklenen son birey seçilmiş bireydir. Algoritma aşağıda özetlenmiştir: 9

Uygunluk Orantılı Seçim/Rulet Çemberi Algoritmanın Tanımı: Adım 1: Popülasyondaki bütün üyelerin uygunluk değerlerini toplayın. N f sum = i f i Adım 2: 0 ila f sum arasında rastgele bir sayı üretin. (R s ) Adım 3: Popülasyon üyelerinin uygunluk değerlerini birbirine ekleyin. Eğer birikmeli toplam R s den büyük olduğunda hemen durun. Son eklenen üyeyi seçilmiş üye olarak alın ve kopyasını bir sonraki jenerasyona geçirin. 10

Uygunluk Orantılı Seçim/Rulet Çemberi Bir çift bireyin geçip geçmemesi veya çaprazlama olup olmamasını belirlemek için seçim mekanizması iki kez (Adım 2) uygulanır. Seçim, N birey (popülasyon büyüklüğü, çift olduğu varsayılarak) seçilene kadar devam edilir. Burada, kullanılan seçim tipi φ değeriyle gösterilmiş olup; φ = ѓ, uygunluk orantılı (rulet çemberi) seçim stratejisini göstermektedir. 11

Uygunluk Orantılı Seçim/Rulet Çemberi Uygunluk orantılı veya rulet çemberi seçimi en uygun birey dahi olsa her hangi bireyin seçimi garanti etmez. En uygun birey diğerlerine göre çok çok daha iyi olmadıkça nadiren seçilmeyebilir. Seçilmeyen birey atılır. Bu şekilde uygunluk orantılı seçim ile çözülmesi düşünülen problem için muhtemel en iyi çözüm atılmış olur. Bu durum dezavantajlı gibi görünse de algoritmayı yavaşlattığı ve erken yakınsama yapmadan önce arama uzayında daha çok keşif imkanı sağladığından bazı problemlerin çözümü için avantajlı olabilir. Arama uzayının keşfi ile bulunanların kullanılması arasındaki denge Genetik Algoritma teorisinde devam edegelen bir tartışma konudur. 12

Elitizm Elit üyenin her bir jenerasyonda tutulması elitizm olarak adlandırılır ve sadece seçilmesi yeterli olmayıp aynı zamanda kopyasının çaprazlama ya da mutasyon ile bozulumaması gerekir. Elitizm ne kadar fazla kullanırsa algoritmada o kadar iyileşme sağlanabilir. Ancak işin sonunda gerçek optimum değeri bulmak için algoritmanın başarısız olma ihtimali söz konusu olabilir. Çoğu uygulamada jenerasyonlar arasında en iyiyi veya elit üyeyi kaybetmeyerek arama hızı büyük ölçüde arttırılabilir. Burada, elitizm έ ile gösterilir (yalnızca 0 ya da 1 değerini alabilir); eğer έ=1 ise elitizm uygulanır, eğer έ=0 ise elitizm uygulanmaz. 13

Çaprazlama İşlemi Çaprazlama, arama uzayında yeni parçaların keşfini mümkün kılan farklı çözümlere ait bilginin bir araya gelmesine olanak sağlayan bir yöntemdir. Tek nokta çaprazlama seçilen string çiftleri rastgele bir yerden kesilir (1 ile L -1 arasında rasgele bir sayı olan R L ) ve 2 yavru string oluşturmak için parçaları değiştirilir. Yeni popülasyon yapılan seçim ve çaprazlama ile N bireyden oluşur (başlangıç popülasyonu ile aynı sayıda olur). Daha sonra elit üye dışında tüm popülasyon üzerinde mutasyon işlemi yapılır (eğer elitizm seçeneği uygulandı ise). Bu işlem yapıldıktan sonra, eski topluluk yenisi ile değiştirilir ve üretim sayacı olan g bir artırılır. 14

Çaprazlama İşlemi Temel Genetik Algoritma, rekombinasyon işlemi için tek nokta çaprazlama kullanır (doğal hayatta, 1 ilâ 8 arasında çaprazlama noktası olduğu bildirilmiştir. Seçilen çiftler P c olasılığı ile çaprazlama işlemine tabi tutulurlar. Burada ilk olarak 0-1 aralığında rastgele bir sayı olan R c, üretilir ve bireyler, ancak ve ancak R c P c olduğunda çaprazlanırlar. Aksi durumda çift, çaprazlama yapılmadan onaylanır. Genelde P c değerleri 0.4 ila 0.9 aralığındadır. (Eğer P c = 0.5 ise, yeni popülasyonun yarısı seçim ve çaprazlama ile diğer yarısı ise çaprazlamasız oluşturulur.) Çaprazlama olmaksızın popülasyonun ortalama uygunluk değeri ƒ ave, en uygun üyenin ƒ max uygunluk değerine eşit olmasına kadar artacaktır. 15

Çaprazlama: Tek Nokta Tek nokta çaprazlama için 1 ila L-1 arasında rastgele bir tamsayı (R L =4) üretilir. EBEVEYN 1 0 1 0 0 0 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 L=11 YAVRULAR 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 1 0 1 16

Mutasyon İşlemi Doğada birçok süreç mutasyona neden olur ve en basit olanı replikasyon sırasında olan hatadır. Basit bir binari gösterimde mutasyonu uygulamak kısmen kolaydır. Her bir yeni jenerasyon ile her ziyaret edilen stringdeki her bit pozisyonu ile tüm popülasyon taranır ve çok nadiren 1 değeri 0 değerine döndürülür veya tam tersi yapılır. Mutasyon olasılığı, P m binde bir mertebesindedir. Yani her bin bitten sadece bir tanesi mutasyona maruz kalır. Ancak Genetik Algoritma ile ilgili her şeyde olduğu gibi P m değerinin doğru ayarlanması probleme bağlıdır. Birçok araştırmacı P m değerini stringin bit uzunluğunun tersi P m = 1 L, bazıları ise P m = 1 N L olarak almaktadır. 17

Mutasyon İşlemi Literatürde pek çok mutasyon türü önerilmektedir. Bazı çalışmalarda her bir bit pozisyonu ziyaret edilmekte, pozisyondaki bit rastgele 0 veya 1 yapılmakta ve mevcut değer yeni değerle değiştirilmektedir. Mutasyon problemin herhangi bir yerel optimum noktaya yakınsamayı engelleyebilmek için tercih edilmektedir. Mutasyon oranları genellikle düşük tutulmaktadır. Bunun nedeni çaprazlama sonucu elde edilen uyum değeri yüksek dizileri kaybetmemektir. Değer değiştirme en basit mutasyon yöntemi olarak bilir. Burada stringdeki herhangi bir bitin değeri 1 iken 0 ya da tersi yapılarak uygulanır. Kaydırma, Yerleştirme ve Karşılıklı Değişim yöntemleri diğer bilinen mutasyon çeşitleridir. 18

Mutasyon: Bit Tersleme/Değer Değiştirme Bit terslemeli mutasyonda 1 ila L arasında rastgele bir tamsayı üretilir (R L =6) ve bu noktada bit değeri 0 ise 1, 1 ise 0 yapılır. A STRİNGİ 1 2 3 4 5 6 7 8 9 10 11 1 1 1 1 0 0 1 0 1 0 1 L=11 B STRİNGİ 1 2 3 4 5 6 7 8 9 10 11 1 1 1 1 0 1 1 0 1 0 1 19

Başlangıç Popülasyonu Başlangıç popülasyonunun genellikle rastgele seçildiği daha önce ifade edilmesine rağmen bu konuda başka yaklaşımların da mümkün olduğu bilinmektedir. Bu yaklaşımlardan biri her birey için bir dizi popülasyon oluşturmak ve daha sonra en yüksek performans gösteren bireyleri alarak bir popülasyon oluşturmaktır. Alternatif olarak, yaklaşık çözümleri bulmak için başka yöntemlerle tahminler yapılarak söz konusu algoritma böyle noktalardan başlatılabilir. Şimdiye kadar tamsayı olmayan çok parametreli problemlerin nasıl ele alınacağı tanımlanmıştır. Bundan sonraki aşamada, mutasyon, seçim, çaprazlama ve elitizm operatörlerinden oluşan işlemleri tek bir algoritmada bir araya getirilebilir. Basit GA bu amaçla kullanılan bir algoritmadır. 20

Basit Genetik Algoritma M 1. 1. k=1 lk uzunluğunda rastgele binary stringlerden oluşan bir başlangıç (g = 1) popülasyonu oluşturun. M burada bilinmeyenlerin sayısıdır ve l k ise herhangi bir bilinmeyen olan k ya ait binari string uzunluğudur. Genel olarak l k l j. 2. Bilinmeyen parametreleri saptamak için, popülasyondaki her i bireyini, z i,k, tamsayısı ile ve sonra r i,k reel sayılara dönüştürün. 3. Eldeki problem için her bir bireyi sırası ile test edin. Her bir bireyin performansını amaçç fonksiyonunu veya uygunluk fonksiyonu (Ω i ) kullanarak daha iyi çözümlerin daha yüksek bir uygunluğa karşılık geldiği bir f i uygunluğuna dönüştürün. 21

Basit Genetik Algoritma 4. Uygunluk orantılı seçim ile bireylere ait çiftleri seçin ve P c tek nokta çaprazlama olasılığını uygulayın. N tane bireyden oluşan yeni geçici bir popülasyon oluşana kadar tekrar edin. 5. Geçici popülasyondaki her bir stringin 0 larını nadiren 1 e çeviren veya tersini yapan mutasyon operatörü uygulayın. Herhangi bir bitin mutasyona uğrama ihtimali P m ile gösterilir ve bu değer çok küçüktür (ör. 0.001). 6. Eğer elitizm gerekiyorsa ve geçici popülasyon en azından elit bireyin uygunluk değerine sahip bir bireyin kopyasını içermiyor ise, geçici popülasyonun elit bireyini popülasyondaki her hangi bir birey ile rastgele değiştirin. 22

Basit Genetik Algoritma 7. Eski popülasyonu yeni geçici popülasyon ile değiştirin. 8. Jenerasyon sayacını birer birer artırın (örn. g = g + 1) ve G kadar jenerasyona ulaşıncaya kadar Adım 2 yi tekrar edin. 9. Herhangi bir bitin mutasyona uğrama ihtimali P m ile gösterilir ve çok küçüktür (ör. 0.001). 10. Eğer elitizm gerekli ise ve geçici topluluk en düşük seviyede uygunluğa sahip bir elit üyeden oluşan bir birey kopyası içermiyor ise, geçici topluluğun bir üyesini elit bir üyeyle değiştirin (rastgele olarak). 23

Basit Genetik Algoritma İlk Popülasyonu Oluştur Uygunluk Değerlerini Bul -Kod çöz G=G+1 Seçim Yap GA Operatörlerini Uygula -Çaprazlama -Mutasyon -Elitizm H Yeterli mi? E DUR 24

Basit Genetik Algoritma clear;clc; a=0;b=10; gens=100;bit=10;pm=0.001;pc=0. 65;N=100; x=[];x1=[];x2=[];x3=[];f=[];y= []; x=genbin(n,bit); y=binvreal(x,a,b); f=fitval(y); 25

Basit Genetik Algoritma (Basit Matlab kod) for g=1:gens fprintf('g: %.0f\n',g); x1=rulet(x,f); x2=xover(x1,pc); x3=mutate(x2,pm); x=x3; y=binvreal(x,a,b); f=fitval(y); end % for gener 26

Basit Genetik Algoritma [maxfit ind]=max(f); optxb=x(ind,:); % used to show it on the graphics optx=binvreal(optxb,a,b); clc; disp('the results:'); disp(optx); disp(fun(optx)); % plot the graph of the function test11(optx) 27

Basit Genetik Algoritma %Uygunluk fonksiyonu function y=fitval(x) y=100*sin(10*x).*exp(-x); ymin=min(y); y=y+1.01*abs(ymin); % optimize edilecek fonksiyon function y=fun(x) y=100*sin(10*x).*exp(-x); 28

Basit Genetik Algoritma opt_ x= 0.1466 opt_y=85.8903 29