Fonksiyon Optimizasyonunda Genetik Algoritmalar

Benzer belgeler
Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

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

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

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

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

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

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

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

GENETİK ALGORİTMALARA GİRİŞ

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

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

TABAN ARĠTMETĠĞĠ. ÇÖZÜM (324) 5 = = = = 89 bulunur. Doğru Seçenek C dir.

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

Zeki Optimizasyon Teknikleri

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Zeki Optimizasyon Teknikleri

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

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

Yrd. Doç. Dr. Ümit ATİLA

Self Organising Migrating Algorithm

Populasyon Genetiği. Populasyonlardaki alel ve gen frekanslarının değişmesine neden olan süreçleri araştıran evrimsel bilim dalı.

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

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

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

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

Yrd. Doç. Dr. A. Burak İNNER Bilgisayar Mühendisliği

Dr. Fatih AY Tel: fatihay@fatihay.net

Web Madenciliği (Web Mining)

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

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

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

RASSAL SAYI ÜRETİLMESİ

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-7 Sıralama Algoritmaları

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

SAYI SİSTEMLERİ. Sayı Sistemleri için Genel Tanım

Örnek Bir zar atıldığında zarın üstünde bulunan noktaların sayısı gözlensin. Çift sayı gelmesi olasılığı nedir? n(s) = 3 6 = 1 2

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#2: ALGORİTMA ANALİZİ

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

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

SAYI VE KODLAMA SİSTEMLERİ. Teknoloji Fakültesi/Bilgisayar Mühendisliği

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

EM302 Yöneylem Araştırması 2 Çok değişkenli DOP ların çözümü. Dr. Özgür Kabak

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

Olasılık, bir deneme sonrasında ilgilenilen olayın tüm olaylar içinde ortaya çıkma ya da gözlenme oranı olarak tanımlanabilir.

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

Elektronik sistemlerde dört farklı sayı sistemi kullanılır. Bunlar;

Olimpiyat Eğitimi TUĞBA DENEME SINAVI

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

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

3.2. DP Modellerinin Simpleks Yöntem ile Çözümü Primal Simpleks Yöntem

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

ÖZEL EGE LİSESİ EGE BÖLGESİ OKULLAR ARASI 16. MATEMATİK YARIŞMASI 9.SINIF ELEME SINAVI TEST SORULARI

Esnek Hesaplamaya Giriş

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

Geniş Bantlı Log-Periyodik Anten Dizgelerinin Genetik Algoritmalar Kullanılarak Tasarlanması

3.3. İki Tabanlı Sayı Sisteminde Dört İşlem

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

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

Rasgele Sayıların Özellikleri

ALGORİTMA VE PROGRAMLAMA I

Sayı sistemleri iki ana gruba ayrılır. 1. Sabit Noktalı Sayı Sistemleri. 2. Kayan Noktalı Sayı Sistemleri

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

ULUSAL MATEMATİK OLİMPİYATLARI DENEMESİ ( ŞUBAT 2010 )

rasgele değişkeninin olasılık yoğunluk fonksiyonu,

kişi biri 4 kişilik, üçü ikişer kişilik 4 takıma kaç farklı şekilde ayrılabilir? (3150)

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

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

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

DOSYA ORGANİZASYONU. Doğrudan erişimli dosya organizasyonu ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Sıklık Tabloları, BASİT ve TEK değişkenli Grafikler Ders 3 ve 4 ve 5

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

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

Şartlı Olasılık. Pr[A A ] Pr A A Pr[A ] Bir olayın (A 1 ) olma olsılığı, başka bir olayın (A 2 ) gerçekleştiğinin bilinmesine bağlıysa;

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

MAT101 MATEMATİK I BÖLÜM 13 EĞRİ ÇİZİMİ

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

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

ELEKTRONİK ÇİZELGE. Hücreleri Biçimlendirme. Formülleri Kullanma. Verileri Sıralama. Grafik Oluşturma 1) HÜCRELERİ BİÇİMLENDİRME

SAYISAL ÇÖZÜMLEME. Sayısal Çözümleme

AYRIK YAPILAR ARŞ. GÖR. SONGÜL KARAKUŞ- FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ BÖLÜMÜ, ELAZIĞ

2017 MÜKEMMEL YGS MATEMATİK

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

CEVAP ANAHTARI. Tempo Testi D 2-B 3-A 4-A 5-C 6-B 7-B 8-C 9-B 10-D 11-C 12-D 13-C 14-C

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

ALGORİTMA VE PROGRAMLAMA I

DOĞU AKDENİZ ÜNİVERSİTESİ MATEMATİK BÖLÜMÜ 23. LİSELERARASI MATEMATİK YARIŞMASI

SAYILAR DOĞAL VE TAM SAYILAR

YÖNEYLEM ARAŞTIRMASI - III

Zeki Optimizasyon Teknikleri

METASEZGİSEL YÖNTEMLER

Mühendislik Mekaniği Statik. Yrd.Doç.Dr. Akın Ataş

GENELLEŞTİRİLMİŞ KÜME ALGORİTMALARI Genelleştirilmiş küme günümüzde son derece popüler olan ve pek çok alanda uygulanabilir algoritmalar için

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

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

Giriş MİKROİŞLEMCİ SİSTEMLERİ. Elektronik Öncesi Kuşak. Bilgisayar Tarihi. Elektronik Kuşak. Elektronik Kuşak. Bilgisayar teknolojisindeki gelişme

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

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

Kısıtsız Optimizasyon OPTİMİZASYON Kısıtsız Optimizasyon

Transkript:

01-12-06 Ümit Akıncı Fonksiyon Optimizasyonunda Genetik Algoritmalar 1 Fonksiyon Optimizasyonu Fonksiyon optimizasyonu fizikte karşımıza sık çıkan bir problemdir. Örneğin incelenen sistemin kararlı durumu için minimum enerjili durumlar aranır. N değişkenli f( ) fonksiyonunun sayısal yöntemlerle minimumunu bulmak oldukça zor bir problemdir 1. Fonksiyonun alabileceği değerler uzayı büyük olduğunda bu problem daha da zorlaşır. Bu tip problemler için daha önce simulated annealing yöntemi incelenmişti ve orada minimizasyon probleminin numerik çözümündeki güçlüklerden de bahsedilmişti. f( ) fonksiyonunun minimumunu bulmak ile f( ) fonksiyonunun maksimumunu bulmak aynı şey olduğu için genel olarak fonksiyonun optimumunu bulma probleminden bahsedilebilir. 2 Temel Kavramlar Genetik Algoritma 1975 de[1] ortaya atılmış ve 90 ların ortasından itibaren çeşitli problemlerde ve disiplinlerde yaygın olarak kullanılmaya başlanmıştır. Temelde doğadaki evrim ile birebir benzerdir, temelini canlıların evriminden almıştır. Problemin aranan çözümü -simulated annealing de olduğu gibi- olası çözümlerin arasından probleme bağlı geliştirilen algoritma ile aranır. Bu arama, olası çözümlerin bulunduğu uzayda rasgele elemanlardan başlayan ve aranan elemana (çözüme) doğru giden bir harekettir. Hareketi algoritma belirler. Genetik algoritmada bu uzayın elemanları (olası çözümler) ikilik (binary) ya da başka bir sistemde (Gray vb.) yazılmış kromozom benzeri dizilerle temsil edilir. Problem çözümlerinin temsili problem bağımlıdır. Bu olası çözümlerin oluşturduğu topluluk popülasyondur. Algoritma ile popülasyon evrim geçirir ve ve her evrim basamağında popülasyon elemanları olan çözümler aranan çözüme biraz daha yaklaşır. Algoritmada iki şey belirlenmiş olmalıdır 1. Problem çözümlerinin kodlanması 2. Problem çözümlerinin aranan çözüme yakınlığının ölçüsü olan uygunluk fonksiyonu (fitness function) 2.1 Kodlama İkilik sistemdeki kodlama kullanılan kodlama yöntemlerinden biridir. Onluk sistem günlük hayatta genelde kullanılan sistemdir abcd = a 3 + b 2 + c 2 + d 0 (1) 1 Gezgin satıcı problemi de böyle bir problemdir, problemde N tane noktayı birleştiren en kısa kapalı yol aranır ve nokta sayısı arttıkça problemin kesin çözümü imkansız hale gelir 1

Burada a, b, c, d, [0, 9] aralığında rakamlardır. Benzer olarak ikilik sistemde yazılmış bir dizinin onluk sistemdeki değeri yzt = 2 3 + y2 2 + z2 2 + t2 0 (2) dir ve burada,y,z,t, [0, 1] aralığında rakamlardır. Genelde kullanılan onluk sistemdeki sayılar ikilik sisteme çevrilerek elde edilen diziler genetik algoritma ile çözümde kullanılabilir. Örneğin, 13 = 1 2 3 + 1 2 2 + 0 2 1 + 1 2 0, 13 11. (3) 2.2 Uygunluk fonksiyonu Popülasyondaki bir elemanın (olası bir çözümün) aranan elemana (gerçek (aranan) çözüme) yakınlığının ölçüsünü verecek şekilde seçilmiş fonksiyondur. Optimizasyon problemlerinde bu fonksiyon, optimumu aranan fonksiyon olarak seçilebilir. f( ) fonksiyonunun maksimum değeri aranıyor olsun. Başlangıç popülasyonunda -çözüm aralığında rasgele seçilmiş- bulunan N tane eleman 1, 2,..., N { i },i = 1...N bulunsun. f i f( i ) olmak üzere, i. elemanın uygunluğu, olmak üzere f = N f i (4) ile verilir. Bu durumda f popülasyonun uygunluğunun bir ölçüsü olacaktır. f ī f i=1 (5) 3 Algoritma Algoritma, var olan bir popülasyonu (olası çözümleri) aşağıdaki adımlarla uygunluğu daha yüksek olan bir popülasyona (gerçeğe daha yakın olası çözümlere) evirir. Burada özel olarak genetik algoritmanın fonksiyon optimizasyonunda kullanımı verilecektir. f( ) fonksiyonunun [a,b] aralığında maksimumu aranıyor olsun. 1. Başlangıç popülasyonunun oluşturulması, ve uygunlukların hesaplanması { i },i = 1...N i [a,b] Tüm i ler seçilen kodlamaya göre kodlanır Tüm i ler için f i ve buradan da sistemin uygunluğu f (4) den hesaplanır, böylece popülasyondaki tüm elemanlar için uygunluklar (f i / f) hesaplanabilir 2. Popülasyonun evrimi Popülasyondaki uygunluğu yüksek elemanlar seçilerek ara popülasyon oluşturulur, bunun için bir yol şudur: (,y 0 9 arası rakamlar olmak üzere) uygunluğu.y olan elemandan 1.0 olasılığıyla tane eleman, 0.y olasılığıyla + 1 tane eleman ara popülasyona alınır. 2

Yani bu elemandan ara popülasyona tane alınır, bir tane daha alınma olasılığı 0.y dir. 2 Uygunluğu 0.y olan elemanda ara popülasyona 0.y olasılığıyla alınır Ara popülasyondan rasgele seçilen iki eleman p b olasılığıyla birleştirilerek iki yeni eleman oluşturulur (crossover) A,B iki eleman olmak üzere, her ikiside rasgele bir yerden bölünür. A dan, A 1,A 2 ve B den, B 1,B 2 olmak üzere iki parça oluşur. A 1 ile B 1, A 2 ile B 2 aynı uzunluktadır. Yeni iki eleman A 1 ile B 2 nin ve B 1 ile A 2 nin birleşiminden oluşacaktır. Örneğin 00111 ve 100 şeklindeki iki eleman 3. noktalarından birleştirilerek 000 ve 111 şeklinde iki yeni eleman oluşturur. Bu birleşmenin olup olmayacağı p b oalsılığıyla belirlenir, yani r, [0, 1] aralığında rasgele bir sayı olmak üzere r < p b ise birleşme olur, değilse olmaz. Son durumda iki eleman da aynen sonraki popülasyona alınacaktır. Oluşan elemanlar p m olasılığıyla mutasyona uğrar. Mutasyon sonucu bir elemandaki bir bit ters çevrilir. Örneğin 000111 şeklindeki bir eleman mutasyon sonucu 001111 şeklinde dönüşebilir. Burada 3. bit ters çevrilmiştir. 3. Ara popülasyondan yukarıdaki gibi oluşturulan N elemanlı sonraki popülasyon yine 2. deki işlemlerle evrilir. Seçilen durma kriteri gerçekleştiğinde elde edilen popülasyon elemanları aranan çözümü temsil eden elemanlar olacaktır. p b ve p m olasılıkları program boyunca sabittir ve tipik değerleri sırasıyla 0.7 0.8, 0.05 0.1 civarındadır. 4 Bir Boyutlu Probleme Uygulama f = + cos(2.2 + 0.1) + fonksiyonunun (0, 31) aralığında tamsayı maksimumunu arayalım. Gerçek çözüm = 31 dir. Programda p b = 0.7,p m = 0.1, N = elemanlı popülasyonlar ve 0 evrim basamağı kullanılmıştır. Çözüm uzayı 32 elemanlıdır ve 0 31 arası tamsayıları içerir. Kodlama ikilik tabanda yapılmıştır ve 5 bitlik diziler kullanılmıştır. Uygunluk fonksiyonu olarak maksimumu aranan f fonksiyonu kullanılmıştır. Programda üretilen başlangıç poopülasyonu ve uygunluk değerleri tablodadır. ilk adımda uygunluk değeri yüksek olan 29(4), 26(2), 19(3), 13(1), (1) elemanlarından parantez içinde belirtiklen sayılarda ara popülasyona seçilmiş ve bunlardan rasgele seçilen elemanların p b olasılığıyla birleşmesi ve oluşan elemanların p m olasılııyla mutasyon geçirmesi sonucu bir sonraki popülasyon elemanları 31(1), 29(1), 27(2), 25(3), 21(1) yine parantez içinde belirtilen sayılarda oluşturulmuştur. Ilk adım sonrasında popülasyonun uygunluk değeri 42.88 e yükselmiştir. İlk popülasyonda olmayan 31, 27, 25, 21, 18, 14 olası çözümlerinin ortaya çıkması birleşme ve mutasyon sonucudur, 1, 7 gibi ilk popülasyonda olan ve uygunluğu düşük olan çözümlerin de elenmiş olması yine algoritmadaki seçim ile olmuştur ve doğadaki doğal seleksiyon ile birebir benzerdir. 2 r [0, 1] arası üretilen rasgele sayı olmak üzere r < 0.y ise alınır 3

0 5 15 25 Şekil 1: f = + cos(2.2 + 0.1) + fonksiyonunun (0, 31) aralığındaki davranışı kodlama f i / f 7 00111 0.24 29 111 1.92 1 00001 0.25 19 011 0.96 0 0.33 19 011 0.96 13 011 0.48 29 111 1.92 26 1 1.98 19 011 1.96 Tablo 1: Örnek problem için başlangıç popülasyonu ve elemanların uygunluk değerleri, popülasyonun uygunluk değeri.55 Program boyunca popülasyonun uygunluk değerinin değişimi aşağıdaki grafikte görülebilir. Evrim sürecinde zaman ilerledikçe popülasyondaki elemanların temsil ettiği çözümler de gerçek (aranan) çözüme yaklaşmaktadır. Popülasyonun içerdiği elemanların gerçek (aranan) çözüme yakınlığının ölçüsü olan popülasyonun uygunluk değerinin zamanla değişiminden (Şekil 2) bu görülebilir. Şekil 3 den de ilerleyen evrim basamaklarında, popülasyon elemanı olan olası çözümlerin (şekildeki siyah noktalar), gerçek çözüme yaklaştığı görülebilir. References [1] Holland J., Adaptation in natural and artificial systems, 1975, University of Michigan Pres. 4

65 55 45 0 80 0 Şekil 2: 0 adımlık evrim boyunca popülasyonların uygunluk değerlerinin zamanla değişimi 5

0 5 15 25 (a) t = 0 0 5 15 25 (b) t = 5 0 5 15 25 (c) t = 0 5 15 25 (d) t = 0 5 15 25 (e) t = 75 0 5 15 25 (f) t = 0 Şekil 3: Evrim boyunca farklı zaman adımlarında popülasyondaki elemanların temsil ettiği çözümler 6