Top Banner
Genetik Algoritma/Programlama Göksel ÜÇER http://gokselucer.blogspot [email protected]. 22 Mart 2007, Sürüm 1.5
62

Genetic Algoritma Surum 1 5

Jul 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

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