Genetik Algoritmalar. Prof.Dr.Adem KALINLI

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

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

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

Zeki Optimizasyon Teknikleri

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

Fonksiyon Optimizasyonunda Genetik Algoritmalar

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

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

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

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

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

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

METASEZGİSEL YÖNTEMLER

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

Zeki Optimizasyon Teknikleri

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

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

2011 Third International Conference on Intelligent Human-Machine Systems and Cybernetics

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

Zeki Optimizasyon Teknikleri

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

RASTGELE SAYI ÜRETİMİ VE UYGULANAN TESTLER HAZIRLAYAN: ÖZLEM AYDIN

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

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

BASKIN GEN SEÇİMİ OPERATÖRÜNE DAYALI GENETİK ALGORİTMA MODELİ

RASSAL SAYI ÜRETİLMESİ

Esnek Hesaplamaya Giriş

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

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

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

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

Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

Rasgele Sayıların Özellikleri

Hardy Weinberg Kanunu

MAK 210 SAYISAL ANALİZ

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

GENETİK ALGORİTMALARA GİRİŞ

Bakım Yönetimi Logo Nisan 2016

Genel Graf Üzerinde Mutlak 1-merkez

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Giriş.

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

MONTE CARLO BENZETİMİ

BMÜ-421 Benzetim ve Modelleme Kesikli Olay Benzetimi. İlhan AYDIN

MATEMATİK MÜHENDİSLİĞİ BÖLÜMÜ

EXCEL DE BENZETİM ÖRNEKLERİ BMÜ-422 BENZETİM VE MODELLEME

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

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

GridAE: Yapay Evrim Uygulamaları için Grid Tabanlı bir Altyapı

Algoritmalar ve Karmaşıklık

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

KALİTE SİSTEM YÖNETİCİSİ EĞİTİMİ

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

Araştırmada Evren ve Örnekleme

KİNETİK MODEL PARAMETRELERİNİN BELİRLENMESİNDE KULLANILAN OPTİMİZASYON TEKNİKLERİNİN KIYASLANMASI

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

VERİ MADENCİLİĞİ (Sınıflandırma Yöntemleri) Yrd.Doç.Dr. Kadriye ERGÜN

Lineer Programlama. Doğrusal terimi, hem amaç hem de kısıtları temsil eden matematiksel fonksiyonların doğrusal olduğunu gösterir.

Rasgele Sayılar (Random Numbers) NUPAMC-2012 Bitlis

Zeki Optimizasyon Teknikleri. Karınca Algoritması (Ant Algorithm)

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

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

BKİ farkı Standart Sapması (kg/m 2 ) A B BKİ farkı Ortalaması (kg/m 2 )

ERCİYES ÜNİVERSİTESİ FEN BİLİMLERİ ENSTİTÜSÜ SİVİL HAVACILIK ANABİLİM DALI YENİ DERS ÖNERİSİ/ DERS GÜNCELLEME

JEODEZİK AĞLARIN OPTİMİZASYONU

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

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

K En Yakın Komşu Methodu (KNearest Neighborhood)

SAYISAL ÇÖZÜMLEME. Yrd.Doç.Dr.Esra Tunç Görmüş. 1.Hafta

ÇEV 2006 Mühendislik Matematiği (Sayısal Analiz) DEÜ Çevre Mühendisliği Bölümü Doç.Dr. Alper ELÇĐ

YÖNEYLEM ARAŞTIRMASI - III

Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler

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

EM302 Yöneylem Araştırması 2. Dr. Özgür Kabak

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

YAPAY SİNİR AĞLARI. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ

Uzaktan Algılama Teknolojileri

BENZETİM. Prof.Dr.Berna Dengiz

DENEY 3: DTMF İŞARETLERİN ÜRETİLMESİ VE ALGILANMASI

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

Bir işaretli büyüklük sayısında en soldaki basamak bir işaret içerir. Diğer basamaklarda ise sayısal değerin büyüklüğü (mutlak değeri) gösterilir.

Hatalar ve Bilgisayar Aritmetiği

1. LİNEER PCM KODLAMA

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

DC Beslemeli Raylı Ulaşım Sistemlerinin Simülasyonu

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

YÖNEYLEM ARAŞTIRMASI - I

MATRİSEL ÇÖZÜM TABLOLARIYLA DUYARLILIK ANALİZİ

Analitik Hiyerarşi Prosesi (AHP) Yrd.Doç.Dr. Sabahattin Kerem AYTULUN

ALP OĞUZ ANADOLU LİSESİ EĞİTİM ÖĞRETİM YILI BİLGİSAYAR BİLİMİ DERSİ 2.DÖNEM 2.SINAV ÖNCESİ ÇALIŞMA SORULARI VE YANITLARI

IE 303T Sistem Benzetimi L E C T U R E 6 : R A S S A L R A K A M Ü R E T I M I

EŞİTLİK KISITLI TÜREVLİ YÖNTEMLER

Oluşturulan evren listesinden örnekleme birimlerinin seçkisiz olarak çekilmesidir

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

MAK 210 SAYISAL ANALİZ

VERİ MADENCİLİĞİ (Veri Ön İşleme-2) Yrd.Doç.Dr. Kadriye ERGÜN

Şekil 7.1 Bir tankta sıvı birikimi

ÖZET...V ABSTRACT...VII TEŞEKKÜR... IX ŞEKİLLER DİZİNİ... XIV SÖZLÜK... XIX

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Algoritma & Matlab.

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

Transkript:

Genetik Algoritmalar Erciyes Üniversitesi Ekim 2012

Sunum İçeriği Giriş Evrimsel Hesaplama Genetik Algoritmalar Maliyet fonksiyonu Bilgi temsil mekanizması Başlangıç popülasyonu oluşturma Uygunluk veya kalite değerlendirme fonksiyonu Genetik operatörler Kontrol parametreleri Genetik Algoritma Modelleri Genetik Algoritma Uygulamaları 2

Evrimsel Hesaplama Genetik algoritmalar yapay zekanın önemli bir dalı olan ve Darwin in evrim teorisinden esinlenerek oluşturulan evrimsel hesaplama (evolutionary computing) tekniğinin bir parçasıdır. Evrimsel hesaplama ilk olarak 1960 larda I.Rechenberg tarafından Evrim Stratejileri adlı eserinde gündeme getirilmiştir. Literatürde evrimsel hesaplama sınıfında yer alan çok sayıda algoritma ve tekniğin yanı sıra bu yöntemlerin çeşitli özelliklerini bir arada kullanan çok sayıda melez sistemler de mevcuttur. Genel olarak bu guruba giren temel algoritmalar: Genetik algoritmalar Evrimsel programlama (evolutionary programming) Evrimsel stratejiler (evolution strategies) Genetik programlama (genetic programming) Charles Darwin 1809-1882 3

Evrimsel Hesaplama Evrimsel algoritmaların çok sayıda farklı türleri olsa da tüm bu tekniklerin arkasında ortak bir fikir yatmaktadır: Bireylerin verilen bir popülasyonu en uygun olanın hayatta kalması ve doğal seçim prensiplerine bağlı olarak evrime uğrar. Çevrelerine adapte olmakta daha başarılı olan bireyler hayatta kalır ve çoğalmada daha fazla şansa sahip olurlar. Bu durum popülasyonun kalitesinin artmasına neden olur. Bunun anlamı yüksek uygunluklu bireylerin genleri her bir ardışık üremede artan bir sayıda yayılacaktır. 4

Evrimsel Hesaplama Değeri maksimum yapılacak bir kalite fonksiyonu için aday çözümlerin bir başlangıç seti rastgele oluşturulabilir. Bu aday çözümler kalite fonksiyonuna uygulandığında değeri daha yüksek olan çözümlerin uygunluk (fitness) değeri daha iyi olacaktır. Bu uygunluk değerlerine bağlı olarak daha iyi olan bazı adaylar yeniden üreme ve/veya mutasyon işlemleriyle gelecek kuşağa döl olarak seçilir. Yeniden üreme operatörü ebeveyn olarak adlandırılan seçilmiş iki veya daha fazla adaydan bir veya daha çok yeni aday (çocuk) üretir. 5

Evrimsel Hesaplama Mutasyon operatörü ise bir adaya uygulanır ve sonuçta yeni bir aday üretir. Yeniden üreme ve mutasyon operatörleri mevcut aday çözümlerden uygunluklarına bağlı olarak gelecek kuşak için yeni adaylar ortaya çıkmasına neden olur. Bu süreç önceden belirlenen bir durdurma ölçütü sağlanıncaya ya da yeterli kalitede bir aday bulununcaya kadar tekrarlanır. Bu süreçte evrimsel sistemlerin iki temel itici gücü vardır: Yeniden üreme ve mutasyon gibi değiştirme operatörleri gerekli farklılaşmayı ve bu yolla yeniliği sağlarken Seçme işlemi kaliteye doğru itici güç olarak rol oynar. Değiştirme ve seçmenin bir arada uygulanması genel olarak ardışık popülasyonlarda uygunluk değerlerinin iyileşmesine yol açar. Yüksek oranda adapte olmuş ebeveynlerin iyi karakteristiklerinin birleşimiyle daha uygun bireylerin (çocukların) sağlanması mümkün olabilmektedir. Bu yolla türler çevrelerine daha iyi adapte olmuş bir şekilde evrime uğramaktadır. 6

Evrimsel Hesaplama Böyle bir evrimsel sürecin çoğu bileşeni stokastikdir. Seçme sırasında daha yüksek uygunluklu bireylerin seçilme şansı daha düşük uygunluklu bireylere göre daha yüksektir fakat tipik olarak zayıf bireylerinde bir ebeveyn olma veya hayatta kalma şansı vardır. Bireylerin yeniden üremesi için hangi parçaların yeniden üreyeceği rastgeledir. Benzer olarak mutasyon içinde bir aday çözümde hangi parçaların değişeceği de rastgele olarak seçilir. 7

Evrimsel Hesaplama Başlangıç çözüm kümesi Evrim Seçim Mutation Veya Crossover Seçim Yeterli mi? Son 8

Evrimsel Hesaplama Bir evrimsel algoritmanın pseudo kod olarak genel şeması aşağıda verilmiştir: BEGIN END INITIALISE rastgele aday çözümlerle başlangıç popüslasyonu oluştur EVALUATE her bir adaydı değerlendir REPEAT UNTIL (durdurma kriteri sağlanıncaya kadar) DO END 1 SELECT ebeveynleri seç 2 RECOMBINE ebeveyn çifterine yeniden üreme operatörü uygula 3 MUTATE sonuç çocukları değiştir 4 EVALUATE yeni adayları değerlendir 5 SELECT gelecek nesil için bireyleri seç 9

Evrimsel Hesaplama Evrimsel algoritmalar aday çözümler topluluğunun tamamı üzerinde eş zamanlı olarak bir süreç yürütmektedir dolayısıyla popülasyon tabanlıdır. Evrimsel algoritmalar yeni aday çözümler üretmek için çok sayıdaki aday çözümün bilgisini birleştirmek için yeniden üreme operatörü kullanırlar. Evrimsel hesaplamanın çok değişik türlerinden bahsedilse de hepsi yukarıda izah edilen genel çerçeveyi takip eder fark sadece teknik detaylarındadır. Örneğin bir aday çözümün temsilinde çoğunlukla farklı dizilimler kullanılır. Tipik olarak GA da aday çözüm bir sonlu alfabe dizisiyle temsil edilirken evrim stratejilerinde (ES) gerçel değerli vektörlerle klasik evrimsel programlamada (EP) sonlu durum makineleri ile genetik programlamada (GP) ise ağaçlarla temsil edilir. 10

Evrimsel Hesaplama Ayrıca GA lar çaprazlama ve mutasyon gibi operatörleri kullanmasına rağmen ES yalnızca mutasyon operatörünü kullanmaktadır Evrimsel algoritmalar çeşitli sayıda bileşenlere süreç ve operatörlere sahiptir. Aşağıda en önemli bileşenler sıralanmıştır: Bireylerin genetik temsili (representation) Değerlendirme fonksiyonu (veya uygunluk fonksiyonu) Başlangıç popülasyonu oluşturma mekanizması (initialize population) Ebeveyn seçme mekanizması Değiştirme operatörleri yeniden üreme ve mutasyon Yeni popülasyon oluşturma mekanizması (replacement) Bu bileşenler belirli bir evrimsel algoritma tanımlamak için özelleştirilmelidir. Ayrıca çalışan bir algoritma için başlangıç yöntemi ve bir durdurma durumu da tanımlanmalıdır. 11

Genetik Algoritmalar GA nın temelleri psikolog ve bilgisayar bilimleri uzmanı olan J. Holland ve arkadaşları tarafından 1970 lerde atılmıştır. Holland konuyla ilgili çalışmalarını 1975 yılında daha sonraları GA nın teorik altyapısı sayılan Adaptation in Natural and Artificial Systems (Doğal ve Yapay Sistemlerde Adaptasyon) adlı bir kitapta toplamıştır. Goldberg 1989 yılında Genetic Algorithms in Search Optimisation and Machine Learning adlı kitabını yayınladıktan sonra GA nın geniş alanlarda ki uygulamaları artmıştır. 12

Genetik Algoritmalar Basit bir genetik algoritmanın temel elemanları aşağıda sıralanmıştır: Bilgi temsil mekanizması Başlangıç popülasyonu oluşturma Maliyet fonksiyonu Uygunluk veya kalite değerlendirme fonksiyonu Genetik operatörler Kontrol parametreleri 13

Genetik Algoritmalar Başlangıç popülasyonu Değerlendirme Seçme Çaprazlama Mutasyon Hayır OK Evet DUR 14

Genetik Algoritmalar Temel Bir GA nın Adımları: 1. [Start] Başlangıç popülasyonunu oluştur (problem için uygun aday çözüm seti). 2. [Fitness] Popülasyondaki her bir çözüm için uygunluk değeri hesapla. 3. [New population] Yeni bir popülasyon oluşturuluncaya kadar aşağıdaki adımları tekrarla. 3.1. [Selection] Uygunluk değerlerine bağlı olarak popülasyondan iki ebeveyn kromozom seç. 3.2. [Crossover] Yeni ürün (çocuk) oluşturmak için bir çaprazlama olasılığına bağlı olarak n ebeveynleri çaprazla. Eğer çaprazlama yapılmadıysa ürün ebeveynlerin tam bir kopyasıdır. 3.3. [Mutation] Mutasyon olasılığı oranında yeni ürüne mutasyon uygula. 3.4. [Accepting] Yeni ürünü yeni bir popülasyona dahil et. 4. [Replace] Algoritmanın bir sonraki çalışmasında yeni üretilen popülasyonu kullan. 5. [Test] Eğer durdurma kriteri sağlanıyorsa DUR. 6. [Loop] GİT Adım 2 ye. 15

Genetik Algoritmalar GA tek bir çözümü optimize etmeye çalışmak yerine kromozom olarak kodlanmış aday çözümlerin bir popülasyonuyla çalışır. Temel bir GA da bu çözüm adayları başlangıçta genellikle rastgele olarak oluşturulur ve eşit boyutlu vektörler olarak ifade edilir. Başlangıç popülasyonu her nesilde (generation) tabii seçme (natural selection) ve tekrar üreme (reproduction) gibi işlemlere tabi tutularak geliştirilir. Bunun için önce popülasyondaki her bir bireyin (kromozom) amaç değere uygunluğuna göre kalitesi ölçülür ve bir sonraki nesili oluşturmak için çaprazlama ve mutasyon gibi genetik operatörler kullanılır. 16

Genetik Algoritmalar Güçlü olanın hayatta kalması ilkesine uygun olarak her nesilde en kötü üyeler topluluktan atılarak en iyi üyelerin yaşamaya ve üremeye devam etmesi sağlanır. Dolayısıyla her nesilde problemin en iyi çözümüne daha fazla yaklaşılır. Bu işlemler sonucunda ulaşılan en son nesildeki en iyi üye optimal çözüm olarak kabul edilir. Bu üye kesin olarak optimum çözüm olmasa da optimuma yakın kabul edilebilir bir çözümdür. 17

Gen Kromozom ve Popülasyon Kavramı Gen Kalıtsal molekülde bulunan ve organizmanın karakterlerinin tayininde rol oynayan kalıtsal birimlere denir. Yapay sistemlerde gen kendi başına anlamlı bilgi taşıyan en küçük birim olarak tanımlanır. Kromozom Birden fazla genin bir araya gelerek oluşturduğu diziye denir. Kromozomlar alternatif aday çözümleri gösterirler. Popülasyon Kromozomlardan oluşan topluluğa denir. Popülasyon geçerli alternatif çözüm kümesidir Popülasyondaki birey sayısı (kromozom) genelde sabit tutulur. 18

Maliyet Fonksiyonu ve Değişkenlerin Seçimi Bir maliyet fonksiyonu giriş değişkenlerinin (kromozomlar) bir setinden bir çıkış üretir. Maliyet fonksiyonu matematiksel bir fonksiyon bir tecrübe veya yargı olabilir. Amaç giriş değişkenlerinin uygun değerlerinin bulunmasıyla çıkışın arzu edilen biçimde değiştirilmesidir. Kullanıcının problemin davranışını ortaya koyacak uygun giriş parametrelerini ve maliyet fonksiyonunu belirlemesi gerekmektedir. Amaç fonksiyonu çıkışı aday çözümlerin uygunluğunun (fitness) belirlenmesinde kullanılmaktadır. GA değeri optimize edilecek bir değişkenler dizisinin veya bir kromozomun tanımlanmasıyla başlar. Eğer verilen bir kromozom p 1 p 2 p Nvar değişkenleriyle verilen N var adet değişkene sahip ise kromozom aşağıda verildiği gibi bir satır vektör olarak yazılabilir. kromozom p1... p2 pn var 19

Maliyet Fonksiyonu ve Değişkenlerin Seçimi Her kormozom giriş değişkenleri değerlerinin maliyet fonksiyonu f de değerlendirilmesiyle bulunmuş bir maliyet değerine sahiptir. maliyet f kromozom f p p p 2 N var 1... Maliyet fonksiyonu bazı problemler için kolaylıkla tanımlanabilirken bazı problemlerde çok karmaşık olabilir. Ayrıca problemin çok sayıda giriş değişkeni bulunabilir. Kullanıcının problemle ilgili hangi parametrelerin en önemli olduğuna karar vermesi gerekir. Örneğin bir aracın belirli bir yakıt ile gidebileceği yolun maksimize edilmesi probleminde aracın ebatlarının motor hacminin kullanılan materyallerin ağırlıkları önemli parametreler iken aracın rengi ve far türü gibi parametreler problem için az önemli veya önemsizdir. 20

Maliyet Fonksiyonu ve Değişkenlerin Seçimi Bazen aşırı sayıda parametrenin veya gereksiz parametrelerin bulunması genetik algoritmanın problemin çözümünde başarısız olmasına neden olabilir. Bazen parametrelere ve parametrelerin sayısına tecrübeyle veya optimizasyon denemeleriyle karar vermek gerekebilir. 2 3 Diğer birçok durumda ise f x y z 3x 2y z gibi parametreleri belli olan analitik bir maliyet fonksiyonu vardır. Ayrıca bir çok optimizasyon problemi kısıtlamalara veya parametre sınırlarına sahiptir. f 50 Örneğin maliyet fonksiyonu için gibi bir kısıt ve parametreler için 23 y 07 gibi x aralık sınırlaması bulunabilir. Kullanıcının problemin yapısına uygun olarak varsa bu tür tanımlamaları eksiksiz olarak ortaya koyması gerekir 21

Parametre Kodlama ve Kod Çözme Kodlama problem parametrelerinin GA da kullanılabilecek şekilde modellenmesidir. Parametrelerin modellenmesiyle kromozomlar oluşur. İkili kodlama değer kodlama ve permütasyon kodlama gibi yaklaşımlar yaygın olarak kullanılan kodlama biçimleridir. İkili kodlama GA da ilk kullanılan yöntemdir ve halende yaygın olarak kullanılmaktadır. Bu kodlamada kromozomdaki parametreler 0 ve 1 değerlerinden oluşan bit dizileri ile temsil edilmektedir. Değer kodlamada parametreler problemle ilgili gerçel sayı karakter veya kompleks nesneleri ifade eden gösterimlerle kodlanmaktadır. Permütasyon kodlamada ise her bir parametre bir numara ile kodlanmakta dolayısıyla kromozom bir numaralar dizisinden oluşmaktadır. Bu tür kodlama genellikle gezgin satıcı problemi ve iş sıralama gibi permütasyon problemlerinde yaygın olarak kullanılmaktadır. 22

Parametre Kodlama ve Kod Çözme İkili kodlama permütasyon kodlama ve değer kodlama için kromozom örnekleri: Kromozom A 1011011010110010 Kromozom B 0010101101001101 Kromozom A 4 9 8 5 3 2 0 6 1 7 Kromozom B 6 5 8 3 1 9 7 0 4 2 Kromozom A 2.74 1.16-0.76 4.78 Kromozom B C K R P S A G H Kromozom B geri ileri sağa sola 23

Parametre Kodlama ve Kod Çözme Küçük boyutlu problemler için kromozomu ikili kodlama ile temsil etmek çok tercih edilen bir temsil şeklidir. Basit olması genetik operatörlerin kolay uyarlanabilmesi ve bilgisayar tarafından daha hızlı bir biçimde işlenebilmesi tercih sebebidir. İkili kodlama büyük boyutlu problemlerde çok büyük kromozom vektörleri gerektirmekte bu durum algoritmanın hızını ve performansını düşürebilmektedir. Her bir parametrenin temsil edildiği bit sayısının arzu edilen hassasiyetle doğrudan ilişkili olması da kromozom sayısını artırabilmektedir. Örneğin parametrelerin değer aralığı [-12] ise ve ondalık noktasından sonra 6 basamaklı hassasiyet gerekiyorsa her bir parametrenin 22 bit ile temsil edilmesi gerekecektir. Dolayısıyla parametre sayısının artması çok uzun bir koromozom vektörünün ortaya çıkmasına neden olacaktır. 24

Parametre Kodlama ve Kod Çözme Parametrelerin amaç fonksiyonda yerine konarak uygunluklarının değerlendirilebilmesi için kodlanan bilgilerin gerçek parametre değerlerine dönüştürülmesi yani kodların çözümlenmesi gerekmektedir. Örneğin ikili kodlama GA da bir x değişkeni N gen uzunluğunda bit dizisi ile temsil edilen bir değere sahip olsun. Eğer N gen =2 ve değişken aralığı 1 x 4 aralığıyla sınırlı ise 2 bitlik gen uzunluğu ile 2 Ngen = 4 farklı durum ifade etmek mümkün olacaktır. Tabloda gösterildiği gibi bu değerler desimal karşılıkları olan sayıları farklı renk seçeneklerini veya farklı yargıları temsil etmek üzere de kullanılabilecektir. İkili Temsil Desimal Sayı Renk Yargı 00 0 Kırmızı Mükemmel 01 1 Yeşil İyi 10 2 Mavi Orta 11 3 Sarı Zayıf 25

Parametre Kodlama ve Kod Çözme Her bir değişkenin 10 bit ile temsil edildiği N var değişkene sahip bir kromozom örneği aşağıda verilmiştir. kromozom 11110010010011011111... 0000101001 gen 1 gen 2 gen Nvar Değişkenleri içeren bu kromozomun toplam bit uzunluğu N bit = N gen x N var = 10 x N var olacaktır. Değişkenlerin 10 bit ile temsil edilmesi nedeniyle bir gen için 2 10 = 1024 farklı durum ifade edilebilecektir. Sürekli değişkenlere sahip bir amaç fonksiyon için ikili temsil edilen gen değerinin desimal bir değere dönüştürülmesinden sonra bu değerin değişkenin alabileceği değer aralığına ölçeklendirilmesi gerekir. Örneğin bit dizisi ile elde edilen g i desimal değeri bir [ab] değişken değer aralığına aşağıdaki gibi ölçeklenebilir: p i a g i b a Ngen 2 1 26

Başlangıç Popülasyonu Oluşturulması GA popülasyon olarak adlandırılan kromozomların bir gurubuyla çalışmaya başlar. Eğer problem için çözümler kabaca biliniyorsa başlangıç yoğunluğu bu çözümlerden oluşturulabilir. Ancak çoğunlukla bu mümkün olmadığı için başlangıç çözümleri rasgele üretilmektedir. ikili çalışan bir algoritmada N pop popülasyondaki kromozom sayısı olmak üzere N pop x N bit lik bir matris rasgele sayı üreteci ile 0 ve 1 değerleri ile doldurulacaktır. Bu yolla oluşturulan noktalar araştırma uzayında gerektiği gibi uniform şekilde dağılmayacaktır. Başlangıç yoğunluğunun oluşturulmasında daha detaylı istatistiksel metotlar kullanılması da avantaj sağlayabilir. Başlangıç popülasyonu algoritmanın başarımı üzerinde çok etkilidir. Bu nedenle literatürde başlangıç popülasyonunun oluşturulması amacıyla önerilmiş farklı yaklaşımlar vardır. 27

Uygunluk Fonksiyonu GA mevcut popülasyondaki kromozomların uygunluğuna değer atayan bir uygunluk fonksiyonuna sahiptir. Bir kromozomun uygunluğu problemde amaçlanan çözüme ne kadar yaklaşıldığına bağlıdır. Bu nedenle uygunluk fonksiyonunun tasarımı hayati öneme sahiptir. Çoğunlukla uygunluk fonksiyonu GA ile çözülecek problem arasındaki tek bağlantıdır. Bu fonksiyonla değişkenlerin modellendiği kromozomların çözülecek problemdeki performansları ölçülür. 28

Uygunluk Fonksiyonu Amaç fonksiyonundan elde edilen sonuçların dikkate alınması araştırmanın başlangıcında yeterli olmasına rağmen araştırmanın ilerleyen aşamalarında iyi ile daha iyi çözümler arasındaki farkı ayırt etmek zorlaşmaktadır. Bu durum algoritmanın belirli bir bölgeye odaklanarak tüm araştırma uzayını taramadan bir yerel optimuma takılmasına neden olacaktır. Bu durum erken yakınsama (premature convergence) olarak adlandırılmaktadır. Oysa algoritmanın küresel bir araştırma yapabilmesi için araştırmaya yeterli oranda ıraksama sağlanması gerekmektedir. Bu nedenle çözümlerin değerlendirilmesi aşamasında genellikle normalizasyon işlemi içeren makul bir uygunluk fonksiyonunun kullanılması gerekmektedir. 29

Doğal Seçim Kromozomların ebeveyn olmak üzere seçilmesidir. GA da bazı kromozomlar seçilerek yeni bir popülasyon oluşturmak üzere bu kromozomlara çaprazlama ve mutasyon gibi operatörler uygulanır. Darwin in evrim teorisine göre kaliteli bireyler hayatta kalmakta ve gelecek nesilleri oluşturmak üzere daha fazla şansa sahip olmaktadırlar. Zayıf bireylerin sayısı ise her kuşakta giderek azalmakta ve bu bireyler kaybolmaktadır. Tabiatta çevre tarafından kontrol edilen bu mekanizma doğal seçim olarak adlandırılmaktadır. GA da seçme işlemi olasılık tabanlıdır dolayısıyla uygunluk değeri daha büyük olan bireylerin sonraki kuşakları oluşturmak üzere seçilme şansları daha fazla olmaktadır. Yüksek uygunluklu bireylerin seçilme olasılığının düşük uygunluklu bireylerinkine oranla çok daha yüksek olduğu seçme kuvvetli yüksek uygunluklu bireylerin seçilme olasılığının düşük uygunluklu olanlarınkine nazaran biraz daha yüksek olduğu seçme ise zayıf olarak nitelendirilir. 30

Doğal Seçim Seçme yöntemi çok kuvvetli ise bölgesel optimal bile olsa daha yüksek uygunluklu bireyler gelecek nesilin seçilmesinde baskın olurlar. Bu durumda araştırma aç gözlü araştırmaya dönüşerek çözüm uzayı tamamen taranmadan algoritmanın bir erken yakınsamasına neden olacaktır. Tersine seçme yöntemi daha düşük uygunluklu bireylere fazla seçilme şansı verdiğinde ise araştırma aşırı yavaşlayacaktır. Bu nedenle seçme işleminde araştırma uzayının değişik bölgelerini taramaya yetecek kadar daha düşük uygunluklu bireylere de seçilme şansı vermek uygun olacaktır. 31

Doğal Seçim Kormozomların seçilmesi için çeşitli yöntemler bulunmaktadır: Rulet tekerleği seçimi (roulette whell selection) Turnuva seçimi (tournament selection) Boltzman seçimi Mertebe seçimi (rank selection) Kullanılan seçme yöntemi bir genetik algoritmanın etkinliğinde çok önemlidir. 32

Doğal Seçim Rulet Tekerleği Seçimi Seçme işlemini bireylerin uygunluk değerlerine göre yapan basit yöntemlerden birisidir. Bu yöntemde bir kromozomun uygunluk değeri popülasyondaki tüm bireylerin toplam uygunluk değerine bölünerek bir birey için [01] aralığında seçilme olasılığı hesaplanır. Her bir birey rulet tekerleği üzerine seçilme olasılıkları oranında yer işgal edecek şekilde yerleştirilirler. Rasgele sayı üreteci tarafından üretilen bir değer yardımıyla rulet tekerleği üzerinden bir birey seçilir. Bu yaklaşımda uygunluk değeri daha yüksek olan bireyin seçilme olasılığı daha yüksek olmaktadır. 33

Doğal Seçim Rulet tekerleği seçiminde eğer bireylerin uygunluk değerleri arasındaki fark çok fazla ise sorunla karşılaşılabilmektedir. Örneğin en iyi kromozomun uygunluğu %90 ın üzerinde ise diğer kromozomların seçilme şansı çok azalacaktır. Bireylerin rulet tekerleği üzerinde kaplayacakları alan ve seçilme olasılıkları üzerinde literatürde önerilmiş çeşitli yaklaşımlar bulunmaktadır. Boltzman seçimi de bu yaklaşımlardan birisidir. Turnuva seçiminde ise tüm kromozomlardan rasgele seçilen 2 (veya daha fazla) kromozom kendi aralarında karşılaştırılmakta ve uygunluk değeri daha iyi olan seçilmektedir. Mertebe seçiminde tüm kromozomlar sıralanmakta ve sıralanmalarına uygun olarak uygunluk değerine sahip olmaktadırlar. Bu yöntemde kaliteli kromozomların seçilme şansı diğerlerine göre daha fazla olmadığından çözümün gelişimi yavaş olmaktadır. 34

Doğal Seçim Holland ın orijinal GA sı yeni popülasyonun oluşturulmasında nesilsel yer değiştirmeyi kabul eder: N bireylik yeni bir set üretilene kadar N bireyden oluşmuş bir popülasyona seçim çaprazlama ve mutasyon uygulanır. Optimizasyon gözüyle bakıldığında bu düşünce garip gelebilir. Çünkü bulunan iyi çözümler kaybedilme riskiyle karşı karşıyadır. Bu nedenle popülasyondaki en kaliteli kromozom veya en kaliteli birkaç kromozom korunarak bir sonraki popülasyona aktarılmaktadır. İlk olarak 1975 yılında De Jong tarafından önerilen ve seçkinlik (elitism) olarak adlandırılan bu yaklaşım GA nın performansını önemli ölçüde artırmaktadır. 35

Doğal Seçim Artışsal yeniden üreme durumunda silmek için popülasyonun üyelerini seçmek de gerekir. Bazı GA lar ebeveynlerin doğrudan üretilen çocuklarla yer değiştirdiğini kabul eder. Bir çok gerçekleştirim ise popülasyonun en kötü bireylerini öldürme taktiği kullanır. Bu durum farklılaşmanın hızla kaybolmaması için aşırı büyük popülasyon ve yüksek mutasyon oranları gerektirebilir. Ilımlı bir çözüm popülasyonun en kötü %P lik kısmını seçmektir. Örneğin Reeves ortalamadan %50 daha kötü olanları ölmek üzere seçmiştir. Başka bir yaklaşım ise dizilerin yaşı üzerine dayalı bir silmedir. 36

Doğal Seçim John Holland iyi bir GA tasarlamanın temelinin farklılaşmanın (ıraksama) sürdürülebilmesi olduğunu söylemiştir. Seçimin etkisi farklılaşmanın azaltılmasıdır bazı diğer yöntemler ise farklılaşmayı çok hızlı bir hale getirmektedir. Bu durum daha büyük popülasyonlarla büyük mutasyon oranlarıyla veya bazı diğer doğadan yöntemlerle azaltılabilir. Sabit durum veya artışsal GA larda yaygın olarak kullanılan bir yaklaşım ikinci kopyasız bir yaklaşım kullanmaktır. Bunun anlamı mevcut bireylerin birebir kopyasının üretilmesine izin verilmemesidir. Bu yaklaşımın en önemli dezavantajı üretilen bireyleri mevcut bireylerle karşılaştırmanın getirdiği hesaplama yüküdür. Bu durum özellikle büyük popülasyonlarla çalışıldığında göz önünde bulundurulmalıdır. Prensip olarak bazı sıralama yaklaşımlarıyla işlem hızını artırmak mümkün olsa da literatürde bu durum açık değildir. 37

Genetik Operatörler Çaprazlama (crossover) Mutasyon (mutation) Evirme (inversion) Çaprazlama ve mutasyon GA da mevcut bireylerden yeni bireyler oluşturmak amacıyla kullanılan iki temel operatördür. Bu operatörlerin türü belirli bir problemdeki değişkenlerin kodlama yapısına bağlı olarak değişiklikler göstermektedir. Örneğin çaprazlama operatörünün ikili kodlanmış değer kodlanmış veya permütasyon kodlama kullanan genetik algoritmada kullanılışı farklılıklar göstermektedir. 38

Genetik Operatörler Çaprazlama Bir GA nın en ayırt edici özelliğinin çaprazlamanın kullanılması olduğu söylenebilir. Çaprazlama operatörü mevcut popülasyondaki iki bireyden (ebeveyn) bilgi değişimi (gen takası) yoluyla iki yeni birey (çocuk) meydana getirmek için kullanılır. Bunun için eşleştirme havuzundan (matching pool) iki birey seçilir ve bu bireylerin belirli gen dizileri yer değiştirilir. İkili kodlanmış bir GA da tek noktalı çaprazlama iki noktalı çaprazlama ve tek biçimli (uniform) çaprazlama gibi yöntemler yaygın olarak kullanılmaktadır. 39

Genetik Operatörler Çaprazlama Tek noktalı çaprazlama işleminde iki kromozomun rasgele seçilen bir pozisyondan itibaren sonuna kadar olan parçası karşıklı olarak yer değiştirmektedir. İki noktalı çaprazlamada ise rasgele iki çaprazlama noktası seçilmekte ve noktalar arasında kalan genler yer değiştirmektedir. Tek biçimli çaprazlama işleminde genler birinci veya ikinci ebeveynden rasgele bir biçimde kopyalanmaktadır. Çözüm1 111100 001111 Çözüm2 110001 111111 YeniÇözüm1 111100 111111 YeniÇözüm2 110001 001111 Çözüm1 11 1100 001111 Çözüm2 11 0001 111111 YeniÇözüm1 11 0001 001111 YeniÇözüm2 11 1100 111111 Çözüm1 111100001111 Çözüm2 110001111111 YeniÇözüm1 110001011111 YeniÇözüm2 111100101111 40

Genetik Operatörler Çaprazlama Parametrelerin kayan noktalı olarak temsil edilmesi durumunda GA larda uygulanan çaprazlama işlemi yaklaşımlarından birisi şöyledir: x 1 ve x 2 vektörlerinden yeni ürün olarak y 1 ve y 2 vektörlerinin elde edilmesinde ilgili vektörlerin lineer kombinasyonu alınarak aşağıdaki şekilde çaprazlama gerçekleştirilir: y 1 = a.x 1 + (1-a).x 2 y 2 = (1-a).x 1 + a.x 2 Böyle bir çaprazlama aritmetik çaprazlama veya a=1/2 alınırsa garanti edilmiş ortalama çaprazlama olarak adlandırılmaktadır. 41

Genetik Operatörler Mutasyon Mutasyon operatörü tabiatta bulunan genetik mutasyon olayını simüle eder ve GA nın başarısında önemli rol oynar. Mutasyon işlemi yeni oluşan kromozomların bazı genlerinin olasılık tabanlı olarak değiştirilmesidir. Çözüm 111100001111 YeniÇözüm 111101001111 Mutasyon işlemi uygulanacak olan genler oldukça küçük tutulan bir mutasyon oranına göre rasgele olarak belirlenir. Mutasyon operatörü mevcut popülasyona yeni bilgilerin girerek çözüm uzayının farklı bölgelerinin taranmasını sağlar. Bu yolla erken yakınsama probleminin aşılmasına yardım eder. 42

Genetik Operatörler Mutasyon Kayan noktalı temsilde mutasyon işlemi ikili temsildeki uygulamaya benzer şekilde yapılabilir. Verilen bir kayan noktalı değer için mutasyon olasılığının sağlanması durumunda sayıyı oluşturan değerler araştırma ekseni sınırlarını aşmamak üzere değiştirilebilir. Örneğin aşağıda verilen bir değerde 4. gen e (3 değerinin bulunduğu gen) mutasyon uygulandığında elde edilen parametre değeri olarak elde edilebilir. x 1=0.673548 x =0.678548 1 43

Genetik Operatörler Mutasyon Mutasyon operatörü bulunmayan GA da optimal çözüm ancak gerekli bilginin başlangıç popülasyonunda bulunması halinde elde edilebilecektir. Dolayısıyla mutasyon operatörü bulunmayan GA nın popülasyon büyüklüğünün çok büyük tutulması gerekecektir. Bu durum ise algoritmanın hızını düşürecektir. Mutasyon operatörünün nasıl uygulanacağı çaprazlama operatöründe olduğu gibi algoritmanın kodlama yapısına bağlıdır. Örneğin permutasyon kodlamada iki genin değeri yer değiştirilir. İkili kodlamada rasgele seçilen bir genin değeri 1 ise 0 0 ise 1 olarak değiştirilir. 44

GA da Kullanılan Kontrol Parametreleri Genetik algoritmanın çalışması esnasında kullanılan popülasyon büyüklüğü çaprazlama oranı ve mutasyon oranı gibi parametreler vardır. Bu parametrelerin uygun şekilde belirlenmesi algoritmanın performansı üzerinde son derece önemlidir. Popülasyon Büyüklüğü: Herhangi bir nesilde bulunan kromozom sayısını ifade eder. Popülasyon büyüklüğünün çok az tutulması durumunda GA çaprazlama gerçekleştirmek için çok az olasılığa sahip olacak ve ıraksamayı sağlamak zorlaşarak araştırma uzayının yalnızca sınırlı bir bölgesi taranacaktır. Tersine popülasyon sayısının çok büyük seçilmesi ise araştırma zamanının aşırı uzamasına neden olacaktır. Bu sebeplerden dolayı probleme uygun bir popülasyon büyüklüğünün belirlenmesi oldukça önemlidir 45

GA da Kullanılan Kontrol Parametreleri Popülasyon büyüklüğünün belirlenmesine yönelik ilk çalışmalardan birisi Goldberg e aittir: Bu çalışmada popülasyon büyüklüğünün dizi uzunluğunun bir üstel fonksiyonuyla artması gerektiği görülmüştür. Daha sonra bu çalışma üzerinde düzeltmeler yapılmış olmasına rağmen varılan yargıda anlamlı bir değişiklik olmamıştır. Daha sonra bir çok araştırmacı tarafından yapılan deneysel çalışmalarda bir çok durumda popülasyon büyüklüğünün 30 civarında olmasının uygun olacağı önerilmiştir. Farklı bir bakış açısıyla analiz yapan Goldberg ve öğrencileri popülasyon büyüklüğünün dizi uzunluğuna lineer bağımlılığının olmasının yeterli olduğunu görmüşlerdir. Popülasyon büyüklüğü hakkında sorulacak diğer bir soru ise araştırma uzayında anlamlı bir araştırma yapabilmek için gerekli minimum popülasyon sayısının ne olması gerektiği ile ilgilidir. Başka bir çalışmada popülasyon büyüklüğünün araştırma uzayındaki her noktaya yalnızca çaprazlama işlemi ile ulaşılabilmesine yetecek kadar olması gerektiği fikri kullanılmıştır. 46

GA da Kullanılan Kontrol Parametreleri Çaprazlama Oranı: çaprazlama işleminin hangi sıklıkla yapılacağını ifade eder. Çaprazlama işlemi olmazsa ortaya çıkacak çocuklar ebeveynlerin tam bir kopyası olacaktır. Çaprazlama olasılığı %100 olursa oluşacak yeni nesil tamamen çaprazlama işleminden elde edilmiş olacak %0 olursa yeni nesil eski nesildeki kromozomlardan oluşacaktır. Çaprazlamadaki amaç eski kromozomların iyi parçalarını birleştirerek daha iyi olması beklenen yeni bireylerin ortaya çıkarılmasıdır. Ancak algoritmanın başarımı için çaprazlama oranı için makul bir olasılık değerinin belirlenmesi gerekmektedir. Yüksek bir çaprazlama oranı araştırma uzayının çok hızlı bir şekilde araştırılmasına sebep olacak ve diğerlerine göre daha iyi olan bireyler yeni üreme işlemlerinden sonra çok hızlı bir şekilde bozulacaktır. Düşük bir çaprazlama oranı ise üreme sonucu oluşan yeni nesile çok az sayıda yeni ve farklı bireylerin girmesine sebep olacak araştırma uzayı yeterince taranamayacaktır. 47

GA da Kullanılan Kontrol Parametreleri Mutasyon Oranı: Mutasyon olasılığı kromozomların parçalarının hangi oranda değiştirileceğini ifade eder. Mutasyon olmazsa çaprazlama sonucunda elde edilen bireyler herhangi bir değişikliğe uğramadan alınırlar. Mutasyon uygulanır ise kromozomların bazı parçalarının değişmesi sonucu popülasyona yeni bireylerin girmesi sağlanmış olur. Mutasyon oranı %100 olursa kromozomun tamamı değişecek %0 olursa kromozomda hiçbir değişiklik olmayacaktır. Yüksek bir mutasyon oranı araştırmaya aşırı bir rasgelelik kazandıracak ve ıraksamayı hızlandıracaktır. Tersine düşük bir mutasyon oranı ise ıraksamayı yavaşlatacak ve araştırma uzayının tamamen araştırılmasını engelleyecektir. Dolayısıyla erken yakınsama problemi ortaya çıkacaktır. 48

GA da Kullanılan Kontrol Parametreleri Genetik algoritmanın kontrol parametreleri birbiriyle doğrusal olmayan bir şekilde etkileşim içindedir. Bu yüzden herhangi bir anda biri optimize edilemez. Kontrol parametrelerinin algoritmanın performansı üzerindeki bireysel etkilerinin çoğunlukla tahmin edilemez olması GA ların temel sorunlardan birisidir. Diğer bir sorun ise optimal parametre değerlerinin probleme göre de değişmesidir. Bundan dolayı iyi bir performans elde etmek için parametre değerlerinin verilen problem için elde edilmesi gerekmektedir. 49

GA da Kullanılan Kontrol Parametreleri Evrimsel algoritmalarda parametre ayarları ve parametre adaptasyonu üzerinde çok çalışılan bir konudur. De Jong Schaffer ve Grefenstette kontrol parametrelerinin GA nın performansı üzerindeki etkisini incelemek için bazı test problemleri üzerinde çeşitli deneysel çalışmalar yapmışlardır. Bu çalışmalar sonucunda kontrol parametreleri için çeşitli değerler önermişlerdir: Parametre De Jong Schaffer Grefenstette Popülasyon Büyüklüğü 50 100 20 30 30 Çaprazlama Oranı 0.6 0.75 0.95 0.95 Mutasyon Oranı 0.001 0.005 0.01 0.01 Hangi yaklaşım en iyidir veya en uygun parametre değerleri nelerdir konusunda varılmış ortak bir yargı bulunmamaktadır. Bu konuda De Jong un önerisi hala yaygın olarak takip edilmektedir. 50

Pratik Düşünceler Rasgele Başlamanın Önemi: Genetik algoritmalar yüksek oranda stokastik süreçlerdir ve çok sayıda rasgele sayılara ihtiyaç duyarlar. Etkili bir rasgele sayı üreteci kullanmak önemlidir. Sınırlanmış Optimizasyon: İki uygun ebeveynden elde edilecek çocuklarında uygun olması durumu çok nadir garanti edilebilir. Cezalar Tamir Değiştirilmiş Operatörler Cezalar: Eğer uygun olmayan bir çözüm ile karşılaşılırsa onun popülasyona girmesine izin verilmez (örneğin ölüm cezası). Bazı problemlerde uygun olmayan bazı çözümler veya kısıt sınırlarına yakın bir uygun olmayan çözüm gerçekte optimuma yakın olabilirler. Cezaların uygun seçilmesi durumunda başarılı sonuçlar alınabilir ancak uygun olmayan ceza yaklaşımları başarısız olmaktadır. 51

Pratik Düşünceler Tamir: Kısıtlamalı problemler için diğer popüler bir yaklaşım uygun olmayan çözümleri de kabul etmek; ancak onları popülasyona dahil etmeden önce tamir etmektir. Uygun olmayan çözümler henüz olgunlaşmamış bireyler olarak göz önüne alınabilmektedir. Başlangıçta uygun olmayan bu çözümler zaman içerisinde gelişerek mükemmel birer çözüm olabilmektedir. GA da kullanılan bu durum yerel araştırma için bir sıçrama tahtası görevi görmektedir. Bazı durumlarda gelecek nesil için orijinal ürünün mü yoksa tamir edilmiş ürünün mü kullanılacağına karar verilmesi söz konusudur. Tamir edilmiş bir ürünün dahil edilmesinin anlamı araştırma uzayının ümit vaat edici bir kısmının araştırılmasının kısa kesilmesidir. Davis ve arkadaşları hangisinin dahil edileceğine stokastik bir yaklaşımla karar verilmesi gerektiğini ve tamir edilmiş ürünlerin %5-10 gibi düşük oranda katılmaları gerektiğini ortaya koymuşlardır. Değiştirilmiş Operatörler: Standart operatörlerle ortaya çıkan zorluğu azaltmak için bir yaklaşım probleme uygun operatörler tanımlamaktır. 52

Pratik Düşünceler Melezleştirme: Bir GA nın etkinliği diğer sezgisel algoritmalarla melezleştirilmesiyle neredeyse her zaman artmaktadır. Probleme özgü bilgiler sunmak çözümün kalitesini kayda değer bir biçimde iyileştirebilmektedir. Melezleştirme çeşitli şekillerde ortaya çıkabilmektedir. Melezleştirme konusunda genel yaklaşım komşuluk araştırma veya tavlama benzetimi gibi diğer sezgiselleri normal genetik algoritma döngüsüne entegre etmektir 53

GA nın Klasik Yöntemlerden Farklılıkları Genetik algoritma problemdeki parametrelerin kendileriyle değil parametrelerin kodlanmış halleriyle ilgilenir. Genetik algoritma tek bir çözümü geliştirmeye çalışmak yerine araştırma uzayında birden çok noktadan hareketle çözümü geliştirmeye çalışır. Bu da yerel optimuma takılma riskini azaltır. Genetik algoritma klasik tekniklerin aksine yardımcı bilgi veya türev bilgisine ihtiyaç duymaksızın sadece uygunluk fonksiyonu değerlendirmesiyle optimum çözümü bulmayı hedefler. Genetik algoritmalar araştırmaya yön vermek için deterministik değil olasılığa dayalı geçiş kuralları kullanır. 54

Genetik Algoritma Modelleri Temel GA küçük boyutlu bazı problemlerde başarılı sonuçlar üretebilmesine rağmen genel olarak yüksek performansa sahip değildir. Bu nedenle genetik algoritmaların başarımının artırılmasına yönelik olarak literatürde çok sayıda çalışma bulunmaktadır. Genel olarak bu çalışmalar aşağıdaki konulara yoğunlaşmıştır: Yeni ve değiştirilmiş operatörlerin önerilmesi Kontrol parametrelerinin belirlenmesi uygun kontrol parametrelerinin seçilmesi Hibrid ve paralel yapılar içeren yeni GA modellerinin ortaya konması. 55

Baskın Gen Seçimi Operatörüne Dayalı GA BGS Operatörü: Başlangıç popülasyonu 1. çözüm 2. çözüm 3. çözüm 4. çözüm 5. çözüm toplam toplam baskın (kalite=4) (kalite=6) (kalite=4) (kalite=3) (kalite=8) kalite(0) kalite (1) çözüm 1 0 1 1 0 14 11 0 0 1 1 0 1 7 18 1 1 1 0 0 0 15 10 0 0 0 0 1 1 14 11 0 1 0 1 1 1 6 19 1.............................................. Değerlendirme Seçme Çaprazlama Mutasyon BGS Hayır OK Evet DUR 56

Baskın Gen Seçimi Operatörüne Dayalı GA BGS operatörünün tüm popülasyon üzerine veya popülasyondan çeşitli yollarla oluşturulacak alt popülasyonlara uygulanması da mümkündür. BGS operatörü çözüm adaylarının ortak katkısıyla araştırmanın daha ümit verici bölgelere doğru yönlendirilmesini sağlamaktadır. 57

Baskın Gen Seçimi Operatörüne Dayalı GA. Gösterim İsim Fonksiyonlar F1 Sphere f 1 4 i1 2 x i F2 F3 F4 Rosenbrock Step Foxholes f 2 2 2 2 100( x1 x2 ) (1 x1 ) 5 3 [ x i i1 f ] [x i ] x i ye eşit veya daha küçük en büyük tam sayıyı gösterir. f 25 2 6 1 1 4 [0. 002 ( j ( x i a ij ) ) ] j1 i1 25 { 1 j a2 j )} j1 a = {(-32-32) (-16-32) (0-32) (16-32) (32-32) (-32-16) (-16-16) (0-16) (16-16) (32-16)...(-3232) (-1632) (032) (1632) (3232)} 2 2 F5 f x x ) / 2 cos(20 x ) cos(20x ) 2 5 ( 1 2 1 2 i F6 Griewangk f 6 1-10 i1 2 x 4000 10 i1 x i cos i 20 i i A 10 2 F7 Rastrigin f 20A x 10cos2x 7 i1 58

Baskın Gen Seçimi Operatörüne Dayalı GA. Fonksiyon Parametre Çözümler Parametre Sınırları Çözümün sayısı x i F(x) Enküçük Enbüyük bit sayısı F1 4 0.0 0.0-5.12 5.12 40 F2 2 1.0 0.0-2.048 2.048 32 F3 5-5.12-30.0-5.12 5.12 50 F4 2-32.0 1.0-65536 65536 40 F5 2 0.0 1.0-10 10 36 F6 10 0.0 0.0-600 600 200 F7 20 0.0 0.0-5.12 5.12 400 59

Baskın Gen Seçimi Operatörüne Dayalı GA. F1 60

Frekans (%) Baskın Gen Seçimi Operatörüne Dayalı GA. 60 50 40 30 F2 20 10 0 1.00E-05 1.00E-04 1.00E-03 1.00E-02 1.00E-01 1.00E+00 Fonksiyon Değeri 61

Baskın Gen Seçimi Operatörüne Dayalı GA. F7 62

Katkılama Tabanlı GA. 63

Katkılama Tabanlı GA Farklılaşma (diversity) bir popülasyonun sunduğu farklı çözümlerin sayısının bir ölçüsüdür ve farklılaşmanın sürdürülmesi algoritmanın başarımı üzerinde son derece etkilidir. Burada amaç değişimi sürekli kılarak algoritmanın bir yerel optimuma takılmasının önüne geçilmesidir. Yeni modelde öncelikle ilave bir gelişim sayacı kullanılarak en son gelişme kaydedilmesinden bu yana ne kadar değerlendirme yapıldığı sürekli kontrol edilmektedir. Çözümde gelişme görülmeyen ve durgunluk periyodu (T D ) olarak adlandırılan bu sürenin önceden belirlenen bir eşik değerini aşması durumunda önce yakın komşu atama T D = Np x c D (popülasyon büyüklüğü x durgunluk katsayısı 30 ve 10 gibi) Bir sonraki durgunluk sürecinde ise katkılama süreçleri olmak üzere her bir durgunluk döneminde sırasıyla bu süreçler işletilerek popülasyonda çeşitlilik sağlanmaktadır. 64

Frekans (%) Frekans (%) Katkılama Tabanlı GA 100 90 80 70 60 50 40 30 20 10 0 0.01 0.1 0.25 0.5 0.8 2 Fonksiyon Değeri 100 90 80 70 60 50 40 30 20 10 0 0.01 0.1 0.25 0.5 0.8 2 Fonksiyon Değeri F1 65

Frekans (%) Katkılama Tabanlı GA 60 50 40 F2 30 20 10 0 0 1.00E-06 1.00E-05 1.00E-04 1.00E-03 1.00E-02 Fonksiyon Değeri 66

Frekans (%) Katkılama Tabanlı GA. 100 90 80 70 60 50 40 30 20 10 0 1.00E-06 1.00E-05 1.00E-04 1.00E-03 1.00E-02 1.00E-01 Fonksiyon değeri 67

GA nın Klasik Tekniklerden Farklılıkları GA problemdeki parametrelerin kendileriyle değil parametrelerin kodlanmış halleriyle ilgilenir. Parametrelerin kodlanması sonucunda diğer metotları sınırlayan birtakım özelliklerde de büyük ölçüde serbestlik sağlanmış olmaktadır. Genetik algoritma tek bir çözümü geliştirmeye çalışmak yerine araştırma uzayında birden çok noktadan hareketle çözümü geliştirmeye çalışır. Bu da yerel optimuma takılma riskini azaltır. GA klasik tekniklerin aksine yardımcı bilgi veya türev bilgisine ihtiyaç duymaksızın sadece uygunluk fonksiyonu değerlendirmesiyle optimum çözümü bulmayı hedefler. Araştırma sırasında problemle ilgili özel birtakım bilgilerin kullanılmaması GA nın performansını artırır. GA lar araştırmaya yön vermek için birçok optimizasyon tekniğinin aksine olasılığa dayalı geçiş kuralları kullanır. Bunun sonucunda araştırmanın araştırma uzayının hangi bölgesine doğru yöneleceğine karar vermek için rasgele seçim tekniği kullanılır. 68

GA Kullanarak Devre Tasarımı I Alçak Geçiren Filtre devresi 6 adet R 2 adet C içeriyor. V O R 4 C 1 C 2 R 3 - R 5 - R 6 - Geçen Band giriş R 1 + R 2 + + çıkış f C Alçak geçiren filtre karakteristiği f H R R 2 3 R R 3 1 R R 4 2 ω 0 R R 4 3 1 C1C2R 5R 6 Q R R 3 1 R 1 R 2 C1R 4R 5 R 3 R 4 C2R 3R 6 Devrede ω 0 =10000/2π = 1591.55 rad/sn ve Q=1.4142 olası için R ve C değerleri ne olmalıdır! 69

GA Kullanarak Devre Tasarımı I Elektronik devreler kablo direnç kapasitör indüktör diyod transistör gibi çok sayıdaki elemanın geniş bir türünden oluşmaktadır. Bir analog devrenin tam olarak özelleştirilmesi topoloji tüm elemanlarının boyutu ve eleman değerlerinin belirlenmesini içerir. Analog devrelerin tasarımı için geleneksel yaklaşımlarda elemanlar ideal ve sınırsız değerlerde kabul edilir. Oysa ayrık elemanlar sabit değerlerin belirli bir sayısının yaklaşık logaritmik katları şeklinde üretilmiştir. Tipik olarak oniki serisi (E12) olarak bilinen standart seri değerleri 1.0 1.2 1.5 1.8 2.2 2.7 3.3 3.9 4.7 5.6 6.8 8.2 10... dur. 70

GA Kullanarak Devre Tasarımı I Tasarım maliyetlerinin azaltılabilmesi için ayrık elemanlar bu seriden yada mümkün olan diğer standart serilerden seçilmektedir. Geleneksel yaklaşımlar sonucunda ortaya çıkan eleman değerleri ise standart seri değerleri ile tam olarak örtüşmemektedir. Devrelerin gerçekleştirilmesinde ideale en yakın standart seri değerlerine sahip elemanların kullanılmasıyla idealden sapmalar meydana gelmektedir. Tüm elemanların oluşturduğu çözüm uzayında tasarım yapmak oldukça kompleks bir ayrık araştırma problemidir. Örnek olarak bu çalışmada dikkate alınan 8 elemanlı tümüyle ayrık devrede elemanlar E12 serisinden kırktan fazla seçenek olacak şekilde seçilirse araştırma uzayı yaklaşık 3x10 13 nokta içerecektir. 71

GA Kullanarak Devre Tasarımı I Geleneksel bir yaklaşımla iki kapasitör birbirine eşit ve R 2 hariç diğer dirençler de R ye eşit seçilmek suretiyle diğer bazı sınırlamalarla beraber eleman değerlerinin seçimi basitleştirilir. Bu kabullere göre aşağıdaki eşitlikler elde edilir: ω 0 1 RC R R 3 R 4 R 5 R 6 1 R C1 2 C C 2Q 1R R 2 Önce ilk eşitlik kullanılarak istenen kesim frekansını sağlayan R ve C çiftinin seçimi gerçekleştirilir. Sonra ikinci eşitlik kullanılarak diğer devre elemanlarının değeri belirlenir. Geçiş bandı kazancı ise H=1 alınır. 72

GA Kullanarak Devre Tasarımı I Tasarımı basitleştirmeye yönelik bu yaklaşımda hatalar içermektedir.. ω hata a1 a2 0 Q Q Burada a 1 =0.5 ve a 2 =0.5 olarak kabul edilmiştir. Kesim frekansı ve kalite faktörü için kabul edilebilir tasarım toleranslarının farklı tercih edilmesi durumunda bu katsayılar farklı değerlerde kullanılabilir. Optimum tasarım için mümkün olan tüm kombinasyonlar üzerinde bilgisayar tabanlı araştırma yapmak makul bir zamanın ötesinde bir süre gerektirir. Bu nedenle ayrık eleman değerlerinin belirlenmesinde alternatif bir metodun uygulanması kaçınılmaz görünmektedir. 73

GA Kullanarak Devre Tasarımı I Devrenin GA ile çözülmesi amacıyla çözüm vektöründe her bir devre elemanı için bir yerleşim olmak üzere 8 yerleşim kullanılmıştır. R 1 R 2 R 3 R 4 R 5 R 6 C 1 C 2 Devre elemanlarının 6 bit ile temsil edildiği tam çözüm yaklaşımında bitlerden ilk dördü standart seri değerlerini temsil etmekte son ikisi ise dirençler için 10 3-10 6 arasında kapasitörler için ise 10-9 -10-6 arasında çarpanı belirlemede kullanılmıştır. fit ( i) 1 1 error i 74

GA Kullanarak Devre Tasarımı I 75

GA Kullanarak Devre Tasarımı II 76

GA Kullanarak Devre Tasarımı II Başlangıç Popülasyonu Değerlendirme Kromozonların Ayrıştırılması SPICE Simülasyonu Uygunluk Hesaplama Seçme Çaprazlama Mutasyon Uygunluk Hesaplama HAYIR Çözüm Bulundumu? EVET TAMAMLANDI 77

GA Kullanarak Devre Tasarımı II 78

GA Kullanarak Devre Tasarımı II 15 Terminal Kullanılan Paralel Mimari 79

GA Kullanarak Devre Tasarımı II AGF 80

GA Kullanarak Devre Tasarımı II BGF 81

GA Kullanarak Devre Tasarımı II BDF 82

GA Kullanarak TSP Çözümü Her şehir bir kez ziyaret edilecek Toplam tur mesafesi minimum olacak 83

GA Kullanarak TSP Çözümü Şehir Bilgileri 1) Berlin 3) Stuttgart 5) Cologne 7) Dusseldorf 2) Munich 4) Wesbaden 6) Hanover 8) Breme Şehir listesi 1 (3 5 7 2 1 6 4 8) Şehir listesi 2 (2 5 7 6 8 1 3 4) Çaprazlama Liste1 ( 3 5 7 2 1 6 4 8 ) Liste2 ( 2 5 7 6 8 1 3 4 ) YeniListe ( 8 5 7 2 1 6 3 4 ) Yeni kromozom da aynı şehrin tekrar edilmesi önlenmiştir. 84

GA Kullanarak TSP Çözümü Mutasyon Önce (5 8 7 2 1 6 3 4) Sonra (5 8 6 2 1 7 3 4) Belirlenmiş bir orana göre bir kromozomun iki ya da daha çok geni yer değiştirmektedir 85

30 Şehirli TSP 86

Çözüm Adayı 941km 87

Çözüm Adayı 800km 88

Çözüm Adayı 652km 89

Optimum Çözüm 420km 90

Teşekkürler