GENETİK ALGORİTMALARA GİRİŞ (I)eem.mf.duzce.edu.tr/Dokumanlar/eem_mf/notlar1.pdfGENETİK...

38
GENETİK ALGORİTMALARA GİRİŞ (I) Nedim TUTKUN Düzce Üniversitesi Elektrik Elektronik Mühendisliği Bölümü [email protected] Düzce Üniversitesi Elektrik&Elektronik Mühendisliği Bölümü Konuralp 81620 Düzce Bu notlar D. Coley ve S. Haupt’ın Kitaplarından Yararlanarak Hazırlanmıştır.

Transcript of GENETİK ALGORİTMALARA GİRİŞ (I)eem.mf.duzce.edu.tr/Dokumanlar/eem_mf/notlar1.pdfGENETİK...

  • GENETİK ALGORİTMALARA GİRİŞ

    (I)

    Nedim TUTKUN

    Düzce Üniversitesi

    Elektrik Elektronik Mühendisliği Bölümü

    [email protected]

    Düzce Üniversitesi

    Elektrik&Elektronik Mühendisliği Bölümü

    Konuralp 81620 Düzce

    Bu notlar D. Coley ve S. Haupt’ın Kitaplarından Yararlanarak Hazırlanmıştır.

  • Konu Başlıkları

    • Giriş

    • Algoritmanın Tanımı ve Gelişimi

    • Yöntemin Esasları

    • İleri Düzey Operatörler

    • Genetik Algoritmanın Kodlanması

    • Genetik Algoritmanın Uygulanması

    2

  • Genetik algoritmalar (GA) hem doğal seçim mekanizmasından hem de

    doğal genetik biliminden etkilenmiş sayısal optimizasyon

    algoritmalarıdır. Bu yöntem çok genel olup bir çok probleme

    uygulanabilecek kapasiteye sahiptir. Bazı yaklaşımların aksine, bu

    yöntemin yapabilecekleri nadiren bahis konusu olur ve günlük yaşam

    pratiğinde karşılaştığımız problemlerin çözümünde

    kullanılabilmektedir. Algoritmanın anlaşılması basit ve gerekli bilgisayar

    kodunu yazmak kolaydır. GA’nın büyümekte olan birçok disiplini

    olmasına rağmen bu yöntem örneğin yapay sinir ağları kadar dikkat

    çekmemiştir. Bunun neden böyle olduğu anlamak zordur.

    3

    Giriş

  • Bu gerçekte kendine özgü sınır tanımayan özellikleri olması nedeniyle

    veya güçlü bir metafor eksikliği olduğu için kesinlikle doğru değildir.

    Zira diğer gerçek dünya problemlerin çözümüne yardımcı olan Darwin

    ve benzerlerinin genelleyen fikirlerinden daha ilham verici ne olabilir?

    Bugün çevremizde gördüğümüz biyo çeşitliliği kimyasal bir

    düzensizlikten daha çok başka bir şey olarak başlayan evrim denen

    kavram bugün daha tesirlidir, eğer değilse etkileyici paradigma

    kompleks problemleri çözen değerler bütünüdür.

    4

    Giriş

  • Birçok yollarla doğal seçim ve doğal genetik kavramının diğer

    problemlere uygulanma düşüncesi öyle barizdir ki birileri neden bunn

    daha denenmediğini merak edebilir. Gerçekten de öyle olmuştur. En

    başından beri bilgisayar bilimiyle uğraşanlar hayatın bir veya daha

    fazla özelliğini taklit eden sistemlerin vizyonuna sahiptirler. Pratik

    mühendislik optimizasyon problemlerini çözen çözümlerin

    popülasyonunu kullanma fikri 1950 ve 1960’larda birçok kez

    düşünülmüştür. Oysa GA özü itibarıyla bir kişi tarafından yani John

    Holland tarafından 1960’da icat edilmiştir. Onun böyle algoritmaları

    geliştirmesinin nedenleri bu kitabın ilgilendiği GA ile problem çözme

    biçiminin ötesine geçmiştir.

    5

    Giriş

  • Onun 1975’te yazdığı ‘Adaptation in Natural and Artificial Systems’

    kitabı (son zamanlarda ekleri ile birlikte yeniden çıkmaktadır) vizyoner

    yaklaşımı nedeniyle özellikle okunmaya değerdir. De Jong

    diğerlerinden daha fazla örneğin yazmış olduğu ‘Genetic Algorithms

    are NOT Function Optimizers’ başlıklı bir makalede GA’nın sadece

    fiziksel bir sistemin modelindeki bir dizi bilinmeyen parametre setini

    tahmin eden güçlü bir yöntemden potansiyel olarak daha farklı bir şey

    olduğunu bize hatırlatmaktadır. Oysa bu kitapta GA’nın bir çok farklı

    optimizasyon probleminde güçlü olan bu yanı çoğunlukla ilgimizi

    çekmektedir.

    6

    Giriş

  • 7

    Giriş

  • Öyleyse GA nedir? GA aşağıda verilen özellikleri içeren tipik bir

    algoritmadır.

    1. Bir problemin çözüm tahminlerinin popülasyonu veya sayısıdır.

    2. Popülasyon içindeki bireysel çözümlerin ne kadar iyi veya kötü

    olduğunu hesaplayan bir yöntemdir.

    3. Daha iyi çözümlerin parçalarını ortalama olarak daha iyi çözümler

    bulmak karıştıran bir yöntemdir.

    4. Çözümler içindeki farklılığın daimi kaybını önleyen mutasyon

    operatörüdür.

    8

    Giriş

  • Tipik olarak az sayıdaki bileşenle spesifik bir problemi çözen GA’yı

    üretmenin ne kadar kolay olduğu fikrini veren bir başlangıç yapılabilir.

    Bunun için karmaşık bir matematik, zahmetli ve anlaşılmaz

    algoritmalar mevcut değildir. Oysa bunun dezavantajı GA’nın tam

    olarak ne olduğunu belirleyen az sayıda zor ve katı kuralların varlığıdır.

    Konuyu daha ileriye getirmeden ve GA’yı oluşmanın muhtelif yollarını

    tartışmadan önce GA’nın başarılı bir şekilde uygulandığı problemlerin

    çeşitliliğinin bir örneği verilecek ve ‘arama ve optimizasyon ’ ifadesi ile

    neyin kastedildiği gösterilecektir.

    9

    Giriş

  • Geleneksel yöntemlerden ziyade GA’nın kullanımı neden tercih

    ediliyor? Bunun yanıtlarından biri diğer yöntemlerin çözmekte

    zorlandığı karmaşık bir çok problemleri kolaylıkla çözebilme becerisini

    göstermesidir. Bunun örneklerinden bazıları bir çok lokal optimumların

    olduğu karmaşık arama uzayında büyük ölçekli kombinatoryal

    optimizasyon problemleri (gaz boru hatlarının güzergahının

    belirlenmesi) ve gerçek değerli parametre tahminlerinin yapılması

    (resim kayıtları) olarak verilebilir. GA birçok lokal optimumlara sahip

    arama uzayından en iyi çözümü bulma kabiliyetine sahip olup birçok

    bilim insanı ve mühendisin böyle bir algoritmayı kullanmasının ana

    sebeplerinden biri budur.

    10

    Bazı Uygulamalar

  • GA’nın başarılı bir şekilde uygulandığı problemlerin ve alanlar

    aşağıdaki gibidir. Görüntü işleme, elektronik eleman yerleştirme, lazer

    teknoloji, tıp, uzay gemisi yörüngeleri, zaman serisi analizi, katı-hal

    fiziği, astronomi, likit kristaller, robot bilimi, su şebekeleri, mimari yapı

    tasarımı, bilgisayar yazılım otomatik evrimi, estetik, iş idaresi

    planlaması, yüz tanıma, yapay zeka sistemlerinin (yapay sinir ağları

    vb.) eğitimi ve tasarımı, kontrol, elektromanyetizma, elektrik

    makinaları, güç elektroniği, yenilenebilir enerji, üç boyutlu protein

    yapılarının tahmini vb.

    11

    Bazı Uygulamalar

  • Bir optimizasyon probleminde eldeki problemi en iyi şekilde tarif eden

    çözümü bulup çıkarmak için muhtemelen sonsuz uzunluktaki mümkün

    olan çözümlerin listesi araştırılır. Bir uçağın kanadı tarafından üretilen

    kaldırma kuvvetini matematiksel model üzerinden maksimum yapan

    ayarlanabilir parametre setinin değerlerinin bulunmaya çalışılması

    buna bir örnek teşkil edebilir. Eğer a ve b gibi iki ayarlanabilen

    parametre olsaydı çok sayıda kombinasyon denebilir, her bir tasarım

    ile üretilen kaldırma kuvveti hesaplanabilir, a, b ve kaldırma kuvvetini

    sırasıyla x, y, ve z eksenleri üzerinde gösteren bir yüzey çizimi

    yapılabilirdi (Şekil 1.0).

    12

    Arama Uzayı

  • Böyle bir çizim problemin arama uzayını temsil eder. Daha kompleks

    problemler için, yani iki bilinmeyenden daha fazlası, durumu görmek

    daha da zorlaşır. Ancak arama uzayı kavramı çözümler arasında

    mesafe ölçümü tanımlandığı müddetçe hala geçerlidir ve her bir

    çözüm problem içindeki başarı ölçütü veya ‘uygunluk’ olarak tayin

    edilir. Daha iyi performans gösteren veya daha uygun çözümler bir

    müddet sonra arama uzayında tepe noktaları daha kötü çözümlerse

    arama uzayında alt noktaları teşkil edecek veya uygunluk

    değerlerinden oluşan bir görüntü ortaya çıkaracaktır.

    13

    Arama Uzayı

  • 14

    Arama Uzayı

    Şekil 1.0

  • Bu şekilde uzaylar veya görüntüler sürpriz bir şekilde karmaşık bir

    topoğrafya meydana getirir. Hatta basit problemler için bile

    yükseklikleri değişen birçok tepe noktaları oluşur ve tüm ölçek

    üzerinde birbirinden vadiler ile ayrılırlar. En yüksek tepe genellikle

    global maksimum veya optimum olarak adlandırılır, daha küçük tepe

    noktaları ise lokal maksimum veya optimum olarak refere edilir.

    Birçok arama problemi için amaç global optimumu doğru şekilde

    bulmaktır ancak bu o şekilde gerekmeyebilir. Bazı durumlarda,

    örneğin gerçek zamanlı kontrolde uygunluğun belli değerinin

    üstündeki herhangi bir noktanın bilinmesi kabul edilebilir. Ancak

    mimari tasarımda bu durum geçerli değildir.

    15

    Arama Uzayı

  • Birçok geleneksel algoritmanın neden zorluklarla karşılaştığını

    görmek için bu şekildeki arama uzaylarında global optimumun

    aranması söz konusu arama uzayındaki özelliklerin nasıl oluştuğunu

    anlamayı gerektirir (Şekil 1.1). Şekilde verilen deneysel veriyi

    düşünelim. Burada x bağımsız değişkeninin muhtelif noktalarında y

    bağımlı değişkeninin ölçümleri bulunmaktadır. Bariz bir şekilde x ve y

    arasında bir bağıntının olabileceğine dair bir delil mevcuttur. Bu

    bağıntı

    𝒚𝒋 = 𝒎𝒙𝒋 + 𝒄

    olarak ifade edilsin.

    16

    Arama Uzayı

  • 17

    Arama Uzayı

    Şekil 1.1

  • Ancak m ve c değerleri ne olmalıdır? Eğer x=0 iken y=0 olduğunu

    gösteren bir neden varsa o zaman c=0 ve m sadece ayarlanması

    gereken bir parametre veya bilinmeyendir. m değerini bulmanın bir

    yolu bir cetvel kullanarak noktalar arasından en iyi doğruyu göz ile

    tahmin etmektir. Böylece m’nin değeri doğrunun eğimi ile verilir.

    Ancak bunun için daha doğru yaklaşımlar mevcuttur. m’nin en iyi

    tahminini bulmanın bilinen nümerik yöntemi en küçük kareler tahmini

    ile olur. Bu teknikte tahmin edilen (𝒚) ile ölçülen (𝒚 ) arasındaki hata

    objektif fonksiyon ile karakterize edilir.

    18

    Arama Uzayı

  • c=0 olması durumunda,

    19

    Arama Uzayı

    𝛀 = 𝒚𝒋 − 𝒚𝒋𝟐

    𝒏

    𝒋=𝟏

    𝒚𝒋 −𝒎𝒙𝒋 + 𝒄 𝟐

    𝒏

    𝒋=𝟏

    𝒚𝒋 −𝒎𝒙𝒋 𝟐

    𝒏

    𝒋=𝟏

  • Esasen bu yöntem basit bir şekilde y’nin ölçülen değerleri ile (1.1) ile

    tahmin edilen (Şekil 1.2) değerler arasındaki dikey mesafelerin

    karelerinin toplamını hesaplar. Bu mesafelerin toplamı minimum

    olduğunda Ω minimum olacaktır. Bu minimum değeri veren m değeri

    m’in en iyi tahmini değeridir. Bu Ω’un en düşük değerini bulma

    probleminin hâlâ çözülmediğini gösterir. Bunu yapmanın bir yolu (az

    sayıda veriye sahip basit bir problem için oldukça makul bir yaklaşımdır)

    bilgisayar kullanarak m’nin iyi ayarlanmış tablo değerleri üzerinden Ω’yı

    hesaplamaktır. Daha sonra Ω’un en küçük değerini veren m değerini

    kolayca seçin.

    20

    Arama Uzayı

  • 21

    Arama Uzayı

    Şekil 1.2

  • Bu yaklaşım problemin arama uzayı görüntüsünü (Şekil 1.3) oluşturan

    Şekil 1.1’in veriler ile beraber kullanılmıştır. m’e ait en iyi değer m = m*

    1.1 olduğu açıktır. Burada yıldız işareti parametreye ait optimal değeri

    göstermektedir. Bilinmeyen parametre veya parametreleri tahmin ederek

    çok fazla sayıda bilinmeyen değerle kolayca problemi çözen bu

    yaklaşım sayısallaştırılmış arama olarak adlandırılır. Şayet görece

    olarak az sayıda bilinmeyen parametreler varsa bu yaklaşım gerçekten

    faydalı olacaktır ve Ω değeri hızlı bir şekilde tahmin edilebilir. Örnek

    olarak, böyle bir yaklaşım niçin belli büyüklükteki problemlere hızlıca

    uygulanabilir olduğu aşağıdaki örnek üzerinden düşünelim.

    22

    Arama Uzayı

  • 23

    Arama Uzayı

    Şekil 1.3

  • On tane bilinmeyeni ve her biri yüzde birlik doğruluk gerektiren bir

    problemde sonuca ulaşmak için 1020 adet tahmin yapılması gerekir.

    Bilgisayar saniyede 1000 tahmin yapsa bile cevabı bulunabilmesi için

    3x109 yıl geçmesi gerekecektir. Verilen çoğu problem için 10 çok fazla

    sayıda bilinmeyen değildir, yüzde birlik doğruluk seviyesi çok rağbet

    gören hassasiyet değildir ve saniyede 1000 işlem birçok problem için

    hatırı sayılır bir değerdir. Bütün bunlar daha iyi bir yaklaşımın bulunması

    ihtiyacını ortaya koymaktadır. Şekil 1.3’e dönersek, eğri şeklinin kısa bir

    değerlendirilmesi başka bir yaklaşımı önermektedir. Buna göre m’in m1

    ve m2 (Şekil 1.4’e bakın) olmak üzere 2 tahmini olsun.

    24

    Arama Uzayı

  • 25

    Arama Uzayı

    Şekil 1.4

  • Eğer Ω (m1) > Ω (m2) ise m3= m2 + olan başka bir tahmin yapın veya

    diğer tarafa yönelin. Burada m’den çok küçük bir sayıdır. değerini

    ayarlamanın yolu uygun dinamik değerler vermektir. Böylece bu yöntem

    m* değerine doğru hızlı bir şekilde yoğunlaşacaktır. Böyle bir yaklaşım

    doğrudan arama olarak tanımlanmıştır (Zira bu yöntem türev veya başka

    bilgiler kullanmamaktadır). Verilen problem minimizasyon

    problemlerinden biridir. Eğer 1/Ω çizilseydi problem maksimizasyon

    problemlerinden birine dönüşecekti ve bulunmak istenen, tepenin en üst

    noktası olacaktı. Maalesef, bu gibi yöntemler genele tümüyle

    uygulanamaz. Ayarlanabilen tek bir a parametresi olan farklı bir problem

    verildiğinde Ω Şekil 1.5’de gösterilen değişimi yapabilir.

    26

    Arama Uzayı

  • 27

    Arama Uzayı

    Şekil 1.5

  • İster yukarıda ana hatları verilen doğrudan arama algoritması, isterse

    basit hesap temelli bir yaklaşım kullanılsın, a’nın nihai tahmin değeri

    algoritmanın başladığı arama uzayına bağlıdır. a = a2 noktası için

    başlangıç tahmininin yapılması elbette aranan (global) minimum değerin

    (a*) bulunmasını sağlar. Ancak a= a1 alınırsa o zaman sadece yerel

    minimum (a**) noktasına ulaşılır. Bu da önemli bir soruna işaret eder.

    Arama algoritması ile üretilen sonuçlar başlama noktasına bağlıysa, o

    zaman üretilen cevaplara duyulan güven azalır. Verilen örnekte, bu

    problemin başka bir çözüm yolu problemi çözmeye bir gurup noktadan

    başlamak olabilir.

    28

    Arama Uzayı

  • Buna göre bilinen en küçük minimum değerin doğru global minimum

    değer olduğunu farz edelim. Bu çoğunlukla benimsenen bir stratejidir.

    Şekil 1.5 çok basit bir arama uzayını göstermektedir. Çok daha karmaşık

    bir uzayda (Şekil 1.6 gibi) çok sayıda lokal optimumlar olabilir ve bu

    yaklaşım o zaman daha gerçekçi olur. Öyleyse bu karmaşık uzayların

    üstesinden nasıl gelinebilinir? Bu konuda olası çok sayıda yaklaşım

    önerilmiş ve rastgele arama ve benzetim tavlaması gibi yöntemler

    faydalı bulunmuştur. Genetik Algoritmaların bileşenleri olan doğal seçim

    ve doğal genetiği içeren analojilerin yönlendirdiği rastsal aramaların

    başarılı ve güçlü yöntemler olduğunu kanıtlamıştır.

    29

    Arama Uzayı

  • 30

    Arama Uzayı

    Şekil 1.6

  • 31

    Arama Uzayı

    Şekil 1.6b –Matlab «peaks» fonksiyonu

  • 32

    Bazı Kaynak Kitaplar

  • 33

    Giriş

  • 34

    Giriş

  • 35

    Giriş

  • 36

    Giriş

  • 37

    Giriş

  • 38

    Giriş