Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi

Benzer belgeler
Fonksiyon Optimizasyonunda Genetik Algoritmalar

İLERİ ALGORİTMA ANALİZİ. ISIL İŞLEM ALGORİTMASI (Simulated Annealing)

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

MAK 210 SAYISAL ANALİZ

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

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

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

Zeki Optimizasyon Teknikleri

SAYISAL KARARLILIK. Zaman Uzayı Sonlu Farklar Yöntemi

Makine Öğrenmesi 2. hafta

Zeki Optimizasyon Teknikleri

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

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

MAK 210 SAYISAL ANALİZ

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

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

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

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

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

DTB B Serisi Sıcaklık Kontrol Cihazı

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

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

Zaman Uzayı Sonlu Farklar Yöntemi

Self Organising Migrating Algorithm

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

Altın Oran Arama Metodu(Golden Search)

8.333 İstatistiksel Mekanik I: Parçacıkların İstatistiksel Mekaniği

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

YÖNEYLEM ARAŞTIRMASI - III

AST416 Astronomide Sayısal Çözümleme - II. 6. Monte Carlo

İleri Diferansiyel Denklemler

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

RASSAL SAYI ÜRETİLMESİ

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

YAVAŞ DEĞİŞEN ÜNİFORM OLMAYAN AKIM

Dr. Fatih AY Tel: fatihay@fatihay.net

METASEZGİSEL YÖNTEMLER

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ü

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

MIT Açık Ders Malzemesi İstatistiksel Mekanik II: Alanların İstatistiksel Fiziği 2008 Bahar

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

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

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

METASEZGİSEL YÖNTEMLER. Genetik Algoritmalar

Yapılan alan araştırması sonucunda aşağıdaki sonuçlar elde edilmiştir. ( ) ( ) ( ) ( )

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

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

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

Concept Learning. Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ. Yapay Zeka - Kavram Öğrenme

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

Uzaktan Algılama Teknolojileri

EM302 Yöneylem Araştırması 2 Doğrusal Olmayan Programlamaya Giriş. Dr. Özgür Kabak

BÖLÜM 3: TEK-ÇÖZÜM TABANLI METASEZGİSELLER. Bölüm Hedefi

TAMSAYILI PROGRAMLAMA

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.

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

BÖLÜM 12 STUDENT T DAĞILIMI

Temelleri. Doç.Dr.Ali Argun Karacabey

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

ÖRNEKLEME TEORİSİ. Prof.Dr.A.KARACABEY Doç.Dr.F.GÖKGÖZ

BİYOİSTATİSTİK Olasılıkta Temel Kavramlar Yrd. Doç. Dr. Aslı SUNER KARAKÜLAH

İleri Diferansiyel Denklemler

İstatistik, genel olarak, rassal bir olayı (ya da deneyi) matematiksel olarak modellemek ve bu model yardımıyla, anakütlenin bilinmeyen karakteristik

Tablo (2): Atıştırma Sayısı ve Günlük Sınav Sayısı Atıştırma Sınav Sayısı (X)

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

Hipotez Testleri. Mühendislikte İstatistik Yöntemler

GENETİK ALGORİTMALARA GİRİŞ

Bir Normal Dağılım Ortalaması İçin Testler

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

8.04 Kuantum Fiziği Ders X. Schrödinger denk. bir V(x) potansiyeli içinde bir boyutta bir parçacığın hareketini inceler.

SİMPLEKS ALGORİTMASI! ESASLARI!

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

JOMINY DENEYİ MALZEME MÜHENDİSLİĞİ BÖLÜMÜ

Diferensiyel denklemler sürekli sistemlerin hareketlerinin ifade edilmesinde kullanılan denklemlerdir.

MAK 210 SAYISAL ANALİZ

Deney Dizaynı ve Veri Analizi Ders Notları

Lamella Tekniği Kullanım Nedenleri

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

QUANTILE REGRESYON * Quantile Regression

Doç. Dr. Metin Özdemir Çukurova Üniversitesi

İSTATİSTİK EXCEL UYGULAMA

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA

TEK BOYUTLU RASSAL DEĞİŞKENLER

Ö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

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

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

Örneklem. Yöntemleri FBED511 Eğitim Bilimlerinde Temel Araştırma Yöntemleri 1. Evren & Örneklem. Evren. Örneklem ve örnekleme

MIT OpenCourseWare Ekonomide İstatistiksel Yöntemlere Giriş Bahar 2009

Web Madenciliği (Web Mining)

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

STATİK MÜHENDİSLİK MEKANİĞİ. Behcet DAĞHAN. Behcet DAĞHAN. Behcet DAĞHAN. Behcet DAĞHAN

KESİKLİ DÜZGÜN DAĞILIM

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST)

İstatistik Giriş ve Temel Kavramlar. BBY606 Araştırma Yöntemleri Güleda Doğan

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

YÖNEYLEM ARAŞTIRMASI - III

SİMPLEKS ALGORİTMASI Yapay değişken kullanımı

İş Sıralama Kuraları 201 Johnson Algoritması

MONTE CARLO BENZETİMİ

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,

Transkript:

07-04-006 Ümit Akıncı Fonksiyon Minimizasyonunda Simulated Annealing Yöntemi İçindekiler Fonksiyon Minimizasyonu Metropolis Algoritması. Algoritma.......................................... Bir boyutlu probleme uygulama............................. Simulated Annealing. Algoritma......................................... 4. Bir boyutlu probleme uygulama............................. 4 Fonksiyon Minimizasyonu Fonksiyon minimizasyonu 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. Fonksiyonun alabileceği değerler uzayı büyük olduğunda bu problem daha da zorlaşır. Fonksiyon argümanı, N boyutlu uzayda sürekli değer alan bir vektördür. Sayısal yöntem kullanıldığında uzayın kesikli hale getirilmesi söz konusu olduğundan iyi bir sonuç için N boyutlu uzayda çok küçük aralıklı bir ızgara (mesh) oluşturulmalıdır. Bu da uzayda çok fazla sayıda nokta olması demektir. Fonksiyonun tüm bu boktalarda aldığı değer bulunup, bu değerler arasında karşılaştırma yapılır. N boyutlu uzayda fonksiyon minimumunu daha hızlı bulan bir algoritma şöyle olabilir. bir başlangıç noktasından başlanıp, nokta rasgele değiştirilebilir. Yeni noktadaki fonksiyon değeri eski noktadakinden daha küçükse yeni nokta kabul edilir, değilse kabul edilmez. Bu nokta yine rasgele değiştirilir, elde edilen nokta için aynı işlem ile seçim yapılır. Böylece daha kısa sürede fonksiyon minimizasyonu yapılabilir.. i başlangıç noktası (i = 0) seçilir, f ( i ) hesaplanır.. Nokta i+ = i + i şeklinde rasgele bir hareketle ötelenir, f ( i+ ) hesaplanır.. f ( i+ ) < f ( i ) ise yeni hareket noktası i+ olur, değilse yeni hareket noktası i olarak kalır. 4., işlemleri yeni hareket noktası için yinelenir. 5. Hareketin durduğu i zaman adımında fonksiyonun minimumu bulunmuş olacaktır. Bu ve benzeri yöntemlerin hepsi birden çok minimumlu fonksiyonlarda çalışmaz. Algoritma bulduğu ilk minimumda takılacak (yerel minimum), büyük ihtimalle global minimumu bulamadan sonlanacaktır. 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

Metropolis Algoritması Metropolis algoritması[] birden çok minimumlu fonksiyonun global minimumu bulunabilir. Metropolis Algoritması, N boyutlu uzaydaki bir noktayı argüman kabul eden fonksiyon minimumu bulma problemi için kullanılabilir. Bir önceki algoritmaya göre üstünlüğü, yerel minimumlarda takılmayıp diğer minimumlara doğru aramaya devam edebilmesidir. Minimum arama sırasında, fonksiyonun argümanı olan, N boyutlu uzayında hareket ettirilir, 0,,..., i, i+,... s noktaları boyunca olan hareket sonunda s aranan minimum değerini veren nokta olması beklenir.. Algoritma Olası bir algoritma şu şekildedir,. N boyutlu uzayda i başlangıç noktası (i = 0) seçilir, f ( i ) hesaplanır.. Nokta i+ = i + i şeklinde rasgele bir hareket gerçekleştirilir, f ( i+ ) hesaplanır.. f ( i+ ) < f ( i ) ise hareket kabul edilir, değilse (a) ω = ep[ (f ( i+ ) f ( i ))/T] önceden seçilen ve program boyunca sabit olan bir T değeri için hesaplanır. (b) 0 < r < olacak biçimde bir r rasgele sayısı üretilir. (c) ω > r ise hareket kabul edilir, değilse reddedilir. 4., işlemleri yeni hareket noktası için yinelenir. 5. Hareketin durduğu önceden belirlenmiş olan s zaman adımında (yeterince büyük seçilmişse) fonksiyonun bir minimumu bulunmuş olacaktır. Bu tür bir algoritmanın üstünlüğü, f ( i+ ) > f ( i ) olması durumunda da harekete belli bir ölçüde izin vermesi ve böylece olası bir yerel minimumda takılmayı önlemesidir.ancak böyle bir algoritmada kritik olan şey T parametresinin seçimidir. T seçiminde iki uç durum, T çok büyük seçilirse f ( i+ ) > f ( i ) durumunda algoritmadaki (c) adımı her zaman gerçekleneceğinden hareketin sonlandığı yer fonksiyonun belli bir minimum değeri olmayacaktır. T çok küçük seçilirse f ( i+ ) > f ( i ) durumunda algoritmadaki (c) adımı hiç bir zaman gerçeklenmeyecek bu durumda hareketin sonlandığı yer fonksiyonun bulunan ilk minimumu olacaktır. Bu durumda bu tür bir algoritmanın ilk bölümdeki algoritmadan bir farkı olmayacaktır.. Bir boyutlu probleme uygulama f() = cos(4.5 0.) + + 0. şeklindeki fonksiyona Metropolis Algoritmasını uygulayarak fonksiyonun minimumunu arayalım. Fonksiyon Şekil de görüldüğü gibi birden fazla minimuma sahiptir: Minimum arama başlangıç noktası = 0.5 olmak üzere farklı T değerleri için Metropolis Algoritmasının verdiği hareket ve bu hareketler sırasndaki en küçük fonksiyon değeri (f ( )) ile bu değeri veren değerleri ( ) aşağıdaki şekillerden ve tablodan görülebilir. Şekillerdeki siyah noktalar hareket sırasında ziyaret edilen noktaları göstermektedir. Şekil den görüldüğü gibi büyük sıcaklık değerleri için hareket uzayın geniş bir bölgesinde yer alırken, küçük T değerleri için hareket uzayın dar bir bölgesinde oluşmaktadır. Şekil (b) (d) (f) den görüldüğü gibi küçük T değerleri için hareket = 0.5 başlangıç noktasında başlamış ve bu noktanın hemen yakınındaki minimumda devam ederek burada bitmiştir. Bu yerel

.5 0.5 0 0.5.5 Şekil : f() fonksiyonu T f ( ) 0 0 0.94840000.000870786 0 0 0.476000 0.89897 0 5 0.940888000.00077458 0 5 0.66767000 0.465044 0 0 0.664904000 0.466945 0 0 0.66758000 0.4649707 Tablo : Farklı T değerleri için Metropolis Algoritmasının f() için verdiği fonksiyon minimumları minimumda yer alan 500 adımlık hareket ile minimum iyi bir şekilde belirlenmiş ancak hareket yerel minimumun dışına çıkarak bulunmak istenen global minimuma ulaşamamıştır. Şekil (a) (c) (e) de ise büyük T değerleri için hareket = 0.5 başlangıç noktasında başlamış ve birçok yerel minimumdan geçmiştir. 500 adımlık hareket uzayın geniş bir bölgesinde oluştuğundan bu yerel minimumlardan en düşüğü hassas bir şekilde belirlenememiştir. Hareketler rastlantısal olduğundan (a) ve (e) de hareket fonksiyonun global minimumunu ziyaret etmiş (c) de ise etmemiştir. Hareket global minimuma ulaşsa dahi, tüm hareket uzayın geniş bir bölgesinde olduğundan global minimumu hassas bir şekilde belirleyememiştir. Fonksiyon minimumu bulma probleminde kullanılan Metropolis Algoritmasında bir kaç kritik nokta vardır. T değerinin seçimi Hareketin adım sayısının seçimi Rasgele hareketin oluşturulması (özellikle adım büyüklüğü seçimi) Tüm bu değişkenler hakkında birkaç deneme sonunda sağlıklı bir seçim yapılabilir. Simulated Annealing Metropolis Algoritmasında, program boyunca T parametresinin sabit kalmasının sakıncalarından bir boyutlu probleme uygulama kısmında bahsedilmişti. T nin küçük seçilmesi, hareketin yerel bir minimumdan kurtulamamasını, büyük seçilmesi ise hareket global minimumdan geçse dahi global minimumu veren noktayı hassas bir biçimde bulamamasını getiriyordu.

Simulated Annealing ile bu sorunlar giderilir. Program, uzayda belli bir başlangıç vektöründen ikinci kısımda anlatıldığı gibi yüksek bir T parametresi için hareket başlatır. Hareket sırasında ziyaret edilen noktalardan en küçük f ( ) değerini veren nokta bir sonraki hareketin başlangıç noktası olur. Bir sonraki harekette T değeri belli bir miktar azaltılır. T nin belli bir değerine varıldığında program sonlanır.. Algoritma Simulated Annealing ile fonksiyon minimumu bulmada kullanulabilecek olası bir algoritma şu şekildedir,. T için başlangıç değeri seçilir.. N boyutlu uzayda i başlangıç noktası (i = 0) seçilir, f ( i ) hesaplanır.. Nokta i+ = i + i şeklinde rasgele bir hareket gerçekleştirilir, f ( i+ ) hesaplanır. 4. f ( i+ ) < f ( i ) ise hareket kabul edilir, değilse (a) ω = ep [ (f ( i+ ) f ( i ))/T] programın bu adımı için sabit olan T değeri ile hesaplanır. (b) 0 < r < olacak biçimde bir r rasgele sayısı üretilir. (c) ω > r ise hareket kabul edilir, değilse reddedilir. 5.,4 işlemleri yeni hareket noktası için yinelenir. 6. Fonksiyonun en küçük değerini veren bulunur ( ) 7. T azaltılır 8. Yeni T için -6 arası işlemler, hareketin başlangıç noktası 6 da bulunan olacak şekilde uygulanır. 9. T, programın başında belirlenen değere indiğinde program durur. Bu algoritmanın Metropolis Algoritmasına göre üstünlüğü şuradadır: T nin çok büyük değeri için başlayan hareket uzaydaki bir çok noktayı gezer. Bir sonraki harekette T belli bir miktar azaltıldığında hareket yine uzayın büyük -ama bir önceki harekete göre daha küçük- bir bölümünde ve bir önceki harekette bulunan minimum noktasından başlayarak gerçekleşir. Eğer bu başlangıç noktası global minimum değilse program hareketi sırasında bir önceki hareketten biraz düşük olan T sayesinde bir çok yerel minimumu aşacak ve global minimumu bulacaktır. Belli bir T den daha düşük değerdeki T ler için ise hareket artık uzayın küçük bir kısmında ve hep global minimum civarında olacak böylece program sonlandığında global minimumu veren iyi bir hassasiyet ile belirlenmiş olacaktır.. Bir boyutlu probleme uygulama f() = cos(4.5 0.) + + 0. şeklindeki fonksiyona Simulated Annealing Algoritmasını uygulayarak fonksiyonun minimumunu arayalım. Fonksiyonun davranışı Şekil den görülebilir. Program boyunca hareketlerin verdiği minimum değerler aşağıdaki tabloda görülebilir: Fiziksel sistemin hızlı soğutulması sonucu sistem her zaman en düşük enerjili duruma gelmeyebilir. Örneğin su hızlı bir biçimde soğutulursa uzayda mükemmel bir düzene sahip kristallerden oluşan duruma erişemeyebilir. Fakat soğutma işlemi yavaş yavaş yapılırsa sistem en düşük enerjili taban durumuna erişecektir. Annealing anlamı budur, simulated annealing yöntemi ise bu mantıkla çalışır 4

T f ( ) 0 9 0.5877 0.8899880407 0 8 0.5877 0.8899880407 0 7 0.494 0.897666645 0 6 0.980648 0.9999868 0 5 0.9554.0004886 0 4 0.94545.00084489 0 0.94545.00084489 0 0.94545.00084489 0 0.94545.00084489 0 0 0.946674.0008599 0 0.946674.0008599 0 0.94686.00086076 0 0.94958.0008774 0 4 0.94965.0008746 0 5 0.94965.0008746 0 6 0.94965.0008746 0 7 0.94965.0008746 0 8 0.94965.0008746 0 9 0.95076.0008768 0 0 0.95076.0008768 Tablo : Simulated Annealing algoritması ile çalışan program boyunca farklı T değerleri için bulunan minimum değerler ve bu değerleri veren noktalar Tablo ve Şekil den görüldüğü gibi algoritma T parametresinin değeri azaldıkça fonksiyonun global minimumunu veren değerine doğru yaklaşmaktadır. Fonksiyonun gerçek global minimumu = 0.95067555 dadır. Program ile bulunan değerin gerçek değerden sapması 0 5 mertebesindedir. Simulated Annealing Algoritmasındaki bir kaç kritik nokta şunlardır: T başlangıç değerinin ve azalma hızının seçimi Hareket sırasındaki rasgele adım büyüklük aralığının seçimi References [] Metropolis, N., A. W. Rosenbluth, M. N. Rosenbluth, A. H. Teller, and E. Teller, 95, J. Chem. Phys., 087 [] Numerical Recipes in Fortran 77, Secon Edition, Volume, William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery 5

.5 0.5 0.5.5.5 0.5 0 0.5.5 (a) T = 0 0 (b) T = 0 0 4.5 0.5 0 0.5.5.5 0.5 0 0.5.5 (c) T = 0 0 (d) T = 0 0.5 0.5 0 0.5.5.5 0.5 0 0.5.5 (e) T = 0 5 (f) T = 0 5 Şekil : Farklı T değerleri için Metroplis Algoritmasının verdiği 500 adımlık hareketler. Hareket sırasında ziyaret edilen noktalar küçük siyah noktalarla verilmiştir. 6

4.5 0.5 0 0.5.5.5 0.5 0 0.5.5 (a) T = 0 9 (b) T = 0 4.5 0.5 0 0.5.5.5 0.5 0 0.5.5 (c) T = 0 0 (d) T = 0 4.5 0.5 0.5.5 (e) T = 0 0 Şekil : Simulated Annealing algoritması ile çalışan program boyunca farklı T değerleri için 500 adımlık hareketler. Hareket sırasında ziyaret edilen noktalar küçük siyah noktalarla verilmiştir. 7