Upload
ayseguel-kumtepe
View
59
Download
1
Embed Size (px)
Citation preview
Genetik Algoritma/ProgramlamaGksel ERhttp://gokselucer.blogspot.com [email protected] Mart 2007, Srm 1.5
erik
Genetik Algoritma (GA)
Evrim sreci, Uygulama admlar, Parametreler, GA kodlama trleri, Basit rnek, Aralar
Genetik Programlama (GP)
Genetik Algoritma ( GA ) 1. Konu
Evrim ?
Evrimsel sre bir seim fonksiyonudur. yi olan rneklerden daha iyi rneklerin olumas doaldr. Seimlerde kullanlan kalite faktrne fitness ad verilmektedir.
Temel evrim algoritmas (EA)Balang zm kmesi
Evrim
Seim
Mutation Veya Crossover
Seim Yeterli mi?
Son
Temel evrim algoritmas (EA){
Balang kitlesini belirle; Kitleyi evrimletir; while Cikis_Kriteri_Saglanmadikca{
Yeniden retim iin seim yap; Mutasyona urat ya da tekrar ret; Kitleyi evrimletir;} }
EA iin temel kavramlar
Population of Solution
Kitlenin bykl EAnn en nemli parametresidir. Farkl jenerasyonlarn olumasn ve ulalabilecek tm zmlere gidii salar Yeni jenerasyonlardan renilen bilgidir. Ama fonksiyonuna gitmek iin birincil derecede ara olarak kullanlabilir
Innovation ( Motivation )
Conversation
EA iin temel kavramlar
Quality Diffrentials
Yeni jenerasyonlarn oluumuna paralel davran farkllklar da ortaya kar. Tm bunlarn arasndan amaca gitmek iin fitness fonksiyonu kullanlmaldr. lk balang zm kitlesi, tm zm kmesini temsil etmez Seim ilemi, bu kmeyi oluturmada nemli bir etkendir. Darwin srecini izlemek, seim sreci anlamna gelmektedir!
Selection
GA giri 1
GA doadaki evrim yntemlerini kullanan bir arama yntemidir. GA yntemi ilk olarak, John Holland ve arkadalarnn yapt almalarda 1970li yllarda ortaya kmtr. GAnn temel amac, fazla sayda kst ieren ve karmak eniyileme sorunlarnn zmlerini, yazlmlar yardmyla aratrmaktr.
GA giri 2
Konuyla ilgili Goldberg, 1989 ylnda Genetic Algorithms in Search, Optimization, and Machine Learning adl klasik saylacak eseri yaynlamtr. Bu eserle birlikte, konu zerine yaplan almalar byk hz kazanmtr.
GA nedir?
GA, rastsal arama tekniklerini kullanarak zm bulmaya alan, parametre kodlama esasna dayanan bir arama tekniidir. Bir veri grubu iinde zel bir veriyi bulmak iin kullanlr.(Goldberg, 1989)
GA kullanm alanlar
Hat dengeleme Yapay sinir alar Grnt ileme Gezgin satc problemi (TSP) Eniyileme yntemleri
Bakm, servis, depo toplama vs.
GA ile klasik eniyileme arasndaki temel farklar
GA parametrelerin kendileri ile deil, parametre takmnn kodlanm bir haliyle urarlar. GA ama fonksiyonunun trevlerini ve bir takm ek bilgileri deil, dorudan ama fonksiyonunun kendisini kullanrlar. GAda deterministlik deil rastlantsal gei kurallar kullanlr.Ouz ve Akba (1997)
GA uygulama adm 1
GA basit olarak aadaki temel admlardan olumaktadr: 1. lk deerlendirme, 2. sonraki deerlendirme, 3. Ve daha sonraki deerlendirme, 4. Sistemin ne zaman durmas gerektiine karar ver!
GA uygulama adm 21.2.
3.
4.
5.
6.
Balang poplasyonunu rastlantsal olarak ret. Poplasyon iindeki tm kromozomlarn ama fonksiyonu deerlerini hesapla. Tekrar reme, aprazlama ve mutasyon operatrlerini uygula. Oluturulan her yeni kromozomun ama fonksiyonu deerlerini bul. Ama fonksiyonu deerleri kt olan kromozomlar poplasyondan kar. 3-5 arasndaki admlar tekrar et.
GA uygulama gsterimi
1
2
4
3Negnevitsky, Pearson Education, 2005
GA terimleri
Gen
Kaltsal moleklde bulunan ve organizmann karakterlerinin tayininde rol oynayan kaltsal birimlere denir. Yapay sistemlerde gen, kendi bana anlaml bilgi tayan en kk birim olarak tanmlanr. Birden fazla genin bir araya gelerek oluturduu diziye denir. Kromozomlar, alternatif aday zmleri gsterirler.
Kromozom (Birey)
GA terimleri
Poplasyon
Kromozomlardan oluan toplulua denir. Poplasyon, geerli alternatif zm kmesidir. Poplasyondaki birey says (kromozom) genelde sabit tutulur. GAda poplasyondaki birey says ile ilgili genel bir kural yoktur. Poplasyondaki kromozom says arttka zme ulama sresi (iterasyon says) azalr.
GA terimleri
Kodlama
Kodlama GAnn ok nemli bir ksmn oluturmaktadr. Probleme GA uygulanmadan nce, verinin uygun ekilde kodlanmas gerekmektedir. Kurulan genetik modelin hzl ve gvenilir almas iin bu kodlamann doru yaplmas gerekmektedir.
GA kodlama trleri
Binary Kodlama
Her kromozom ikili diziye sahiptir { 0, 1 } Bu dizideki her bit, zmn belli karakteristiini temsil eder veya tm dizi bir sayy temsil eder. Kodlamada en sk kullanlan yntemdir rnek { 10101001 }
GA kodlama trleri
Permtasyon Kodlama
Dzenleme problemlerinde kullanlr. Burada her kromozom, saylar bir srada temsil etmektedir. Permtasyon kodlama, gezgin satc ve izelgeleme problemleri iin kullanldr.
Kromozom A Kromozom B
78941 87914
GA kodlama trleri
Deer Kodlama
Gerek saylar gibi karmak deerlerin kullanld problemlerde, ikili kodlama zor olduu iin dorudan deer kodlanmas kullanlabilir1.2324 3.5354 4.6465 3.5556
Kromozom A
Kromozom B
Dou, Bat, Gney, Kuzey
GA kodlama trleri
Aa Kodlama
Bu yntem gelien, deien programlar veya ifdeler iin kullanlr. rnein GA. Aa kodlamada her kromozom, bz nesnelerin (rnein fonksiyonlar ya da programlama dilindeki komutlar gibi) aacdr.
GA ile zme giderken kullanlan ilemler
Generality / Specifity
En geni zm kmesinden en dar zm kmesine doru ilerlemek aprazlama(Crossover)
Genetik Programlama
Programda iki deiikliin yaplmas Programda tek bir deiikliin yaplmas
Mutasyon(Mutation)
Arama stratejileri
Blind Search
Bir nceki zme ait hibir bilgi kullanlmyorsa Uygun bir zm bul dntr yenisi iyi ise sakla deil ise deitir devam et Arama maliyeti asndan Blind ve Beam arasndadr. rnek bir kitle ile ileme devam eder ve tm olaslk uzayn snrlar. lk balangta belirtilen noktalar ile ileme devam eder.
Hill Climbing
Beam
GA parametreler
Seim Yntemi
Yeni poplasyonun seilmesinde ka ferdin seilecei ve hangi fertlerin eleme iin seilecei seim fonksiyonuyla salanr. Ebeveynler uygunluk deerlerine gre elemek zere seilirler.
Seim yntemi 1
Rulet-ember Seimi
En basit seim yntemi olarak bilinmektedir. Tm fertler birbirine bitiik bir ekilde dz bir izgi zerine dizilirler. Her bir ferde ilikin blmn uzunluu, onun uygunluk deeri kadar olur. Rasgele say retilir ve rasgele say hangi blm ierisine gelirse, o blmn ait olduu fert seilir. lem ulalacak poplasyonun gerekli adedi elde edilene kadar devam eder.
Uygulan :
Seim yntemi 2
Rank Seimi
En iyi kromozomun UD ok yksek ise, Ruletemberi seim yntemi problem yaratabilir(Srekli yksek olasla sahip kromozom seilecek). Bu nedenle, Rank seim yntemi uygulanabilir. Poplasyon uygunluk deerine gre tersten sralanr. Yani en iyi kromozom N adetlik bir poplasyonda N deerini alr Seim bu deerlere gre yaplr.
GA seim grafikleriRulet-ember Seimi Rank Seimi ncesi Rank Seimi Sonras
Seim yntemi 3
Kararl Hal Seimi (Yerine Geme)
Bu seimin ana dncesi, kromozomlarn byk ksmnn bir sonraki nesilde hayatta kalmak zorunda olmasdr. Yeni ocuklar oluturmak iin her nesilde UD yksek birka kromozom seilir. UD dk bz kromozomlar atlr ve yeni ocuk onun yerine yerletirilir. Poplasyonun geri kalan ksm yeni nesilde hayattadr. Bu yntemde alt poplasyon oluturulduktan sonra uygunluklar hesaplanr, en kt kromozomlar yerlerini balang poplasyonundaki en iyi kromozomlara brakr.
GA parametreler
aprazlama Oran ve Mutasyon Yntemi
aprazlama oran, fertlerin eletiklerinde mutasyon yapp yapmayacaklarna ilikin olasl ifde eden orandr. Eer eleme sonucunda aprazlama da oluursa, yeni ve genellikle ebeveynlerinden farkl bireyler elde edilmi olur. Eer aprazlama gereklemezse, bu takdirde ebeveynlerinin kopyas olan yeni fertler oluur.(Baskak ve Erok, 2004)
aprazlama
aprazlama, iki kromozomun (zmn) birbirleri arasnda gen alveriinde bulunup iki yeni kromozom oluturmasdr. Genetik algoritmadaki en nemli parametrelerden bir tanesidir. kili yntemle kodlanm deikenlerin yaptklar reme faaliyeti, kromozomlarn aprazlamasna benzemesi dolaysyla byle adlandrlmaktadr. Eer kodlamada gerek deerler kullanlyorsa, klasik aprazlama yntemi yerine daha farkl yntemler kullanlmaktadr. Seim yntemi ile yapay seim sonucunda elde edilen yeni poplasyon dizisinden rastsal olarak iki kromozom seilir ve karlkl aprazlama ilemine tbi tutulur.(Holland, 1975)
aprazlama gsterimi
Negnevitsky, Pearson Education, 2005
aprazlama ekilleriTek noktal aprazlamaki noktal aprazlama Kes ve ekle aprazlama
GA parametreler
Mutasyon Oran ve Mutasyon Yntemi
Mutasyon Oran, mutasyon olasln gsteren orandr. Ama mevcut kromozomlarn genlerinin bir ya da birkan deitirerek yeni kromozomlar elde etmektir. Genelde mutasyon olasl (0.01 gibi) dk tutulmaktadr. Bu nedenle mutasyon etkileri kromozomlarda az grlmektedir. Mutasyon srasnda kromozomdaki gen says deimez, sabit kalr. Mutasyon yaplmasnn bir baka amac da, poplasyondaki eitliliin azalmamasn salamaktr
Mutasyon gsterimi
Negnevitsky, Pearson Education, 2005
GA parametreler
Uygunluk Fonksiyonu
GAn en nemli parametrelerinden bir tanesi uygunluk fonksiyonu seimidir. Bu fonksiyon ile, kromozom ierisindeki kodlanm ya da kodlanmam bilgiler zmlenerek saysal bir deer elde edilir. Bir baka ifadeye, kromozomun ya da zmn sisteme uygulanmasyla elde edilecek ktya ulalr.
Uygunluk fonksiyonuF(x) = x2 + xGirdi Fonksiyon 1 Fonksiyon 2 1 2 kt 2 6
Fonksiyon 3Fonksiyon 4 Fonksiyon 5
47 9
2056 90
Uygunluk fonksiyonu
Kromozomlarn uygunluk deerlerini belirleyecek uygunluk fonksiyonu, rneimizde: Tur mesafesi, yani seyahat edilen ehirler aras mesafe toplamdr. Dolaysyla en iyi kromozom en kk toplama sahip kromozom olacaktr.
Basit uygulama - TSP
Traveling Salesman Problem (TSP)
Her ehir 1 kere ziyaret edilecek Toplam seyahat mesafesi minimum olacak
Uygulama ehir bilgileri1) SehirA 3) SehirC 5) SehirE 7) SehirG
2) SehirB 4) SehirD 6) SehirF 8) SehirHehir listesi 1 (3 5 7 2 1 6 4 8) ehir listesi 2 (2 5 7 6 8 1 3 4)
aprazlamaListe1Liste2 YeniListe
(3 5 7 2 1 6 4 8)(2 5 7 6 8 1 3 4) (8 5 7 2 1 6 3 4)
YeniListe kromozom, ayn ehrin tekrar edilmesi engellenmi olarak yukardaki ekilde elde edilir.
MutasyonnceSonra
(5 8 7 2 1 6 3 4)(5 8 6 2 1 7 3 4)
Belirlenmi yzdeye gre bir kromozomun iki ya da daha ok geni yer deitirmektedir.
30 ehir iin TSP120
100
80
60
y
40
20
0 0 10 20 30 40 50 x 60 70 80 90 100
zm n 941kmTSP30 (Performance = 941)120
100
80
y
60
40
20
0 0 10 20 30 40 50 x 60 70 80 90 100
zm m 800km71 54 58 120 54 74 7 100 25 18 80 24 4 18 60 13 25 40 45 44 54 20 64 22 0 18 240 4 2 44 62 69 67 78 64 62 54 42 50 40 40 38 21 35 67 60 60 40 4210 50 99 TSP30 (Performance = 800)
y
20
30
40
50 x
60
70
80
90
100
zm m 652kmTSP30 (Performance = 652)120
100
80
y
60
40
20
0 0 10 20 30 40 50 x 60 70 80 90 100
En iyi zm 420km42 38 35 120 26 21 35 100 32 7 80 38 46 44 60 58 60 40 69 76 78 20 71 69 0 67 620 84 94 TSP30 Solution (Performance = 420)
y
10
20
30
40
50 x
60
70
80
90
100
TSP performans13000 14000 15000 16000 17000 1800 18000 1600 19000 1400 20000 21000 1200 22000 1000 23000 800 24000 600 25000 26000 400 27000 200 28000 29000 0 1 30000 465 439 432 430 429 425 420 420 420 420 420 420 420 420 420 420 420 3 5 420 594 560,5658 TSP30 - Genel 571 540,6325 Performans 552 521,4292 529 501,8033 510 484,7275 488 466,5942 466 450,9192 451 439,5167 439 430,9333 430 424,6717 423 420,9267 420 420 420 420 420 420 420 420 420 420 420 420 9 420 13 15 420 19 21 23 25 27 29 31 11 17Je ne ras yon (1000)
Distance
Eniyi Enkt Ortalam
7
GA faydalar
Kavramlarn kolay tasarlanmas ok amal eniyileme yntemleri ile kullanlabilmesi ok karmak ortamlara uyarlanmas Ksa srelerde iyi sonular verebilmesi
GA aralar
Eniyileme iin kullanlacak GA tasarm, uygun bir kod gelitirme ortamnda gerekletirilebilir
C, C++, C#, Java, Fortran, LISP, Prolog, Excel, VB, Pascal veya Delphi
The Genetic Algorithm Optimization Toolbox (GAOT) for Matlab 5
Genetik Programlama ( GP ) 2. Konu
GP
1950 ylnda Machine Learning 1963 ylnda ise ML alannda ilk gelime saland
ML alanndaki ilerleme aslnda bilgisayarlarn kendi kendisini programlamasyd.
GP ise ML alannn nemli bir daldr.
GP
1990 senesinde John Koza tarafndan gelitirildi. Donanmlarn teknolojiye paralel ilerlemesi, yazlmlarn da ilerlemesini salamtr. Bu ilerleme, daha ok yazlm uygulamalarnn ve otomasyonlarnn geliimine katk salamtr.
GP
Aa yapsnn deerlendirilmesiveya
Aa yapsndaki sistemler anlamnda kullanlabilir. (Koza, 1992)
GP
Eniyileme yntemleri iin etkin ve verimli bir yntemdir Bilim ve mhendislik alanlarnda yaygn olarak kullanlmaktadr
GP
GP, GAnn bir uzants olarak dnlebilir. GP sadece bit dizi dzeninde yer alan sorunlar zmek iin kullanlmaz, bilgisayarlarn zebilecei sorunlar da kullanlr.
GP admlar1.2.
3. 4.
5.
Girdilerin belirlenmesi (Input Value) Temel fonksiyonlarn seilmesi (*, +, -, /, mod, sqrt, ^ ) Uyumluluk fonksiyonunun belirlenmesi Kontrol parametrelerinin belirlenmesi (maksimum tekrar says) Sonulara uygun yntemin belirlenmesi
GPda aprazlama
Negnevitsky, Pearson Education, 2005
GPda mutasyon
Negnevitsky, Pearson Education, 2005
GA ve GP ne zaman kullanlmaldr?
Alternatif zmlerin yava veya ok zor olmasnda zmn yeni bir yaklam ile denenmesinde
Kaynaklar
Banzhaf, W., Genetic Programming, An Introduction, California Langdon, W., Foundation of Genetic Programming, Germany Alp, A., Geometrik problemlerin zmnde kullanlan yapay zeka yntemleri ve gerekletirimleri i, ., Ulatrma probleminin genetik algoritma ile zm Pittman, J., Genetic algorithm for variable selection Williams, W., Genetic algoritms: A Tutorial i ., Korukolu S., Genetik Algoritma Yaklam ve Yneylem Aratmasnda Bir Uygulama, Ynetim ve Ekonomi, 2003, Cilt:2, Say:2 Baskak M., Erol V., Sipari tipi atlyelerde i sralama problemi iin bir genetik algoritma uygulamas, YAEM2004 Bildiri Kitap