LAPPEENRANNAN TEKNILLINEN YLIOPISTO Tetoteknkan osasto POPULAATION MONIMUOTOISUUDEN MITTAAMINEN LIUKULUKUKOODATUISSA EVOLUUTIOALGORITMEISSA Dplomtyön ahe on hyväksytty Tetoteknkan osaston osastoneuvostossa 12.2.2003. Työn tarkastaana a ohaaana tom Professor, KTT Joun Lampnen a tosena tarkastaana Lehtor, KTL Tmo Mantere. Lappeenrannassa 25.3.2003 Esa Ruuth Ruotsalasenratt 3 B 21 53850 Lappeenranta 041 436 2156
TIIVISTELMÄ Lappeenrannan teknllnen ylopsto Tetoteknkan osasto Esa Ruuth Populaaton monmuotosuuden mttaamnen lukulukukoodatussa evoluutoalgortmessa Dplomtyö 2003 53 svua, 11 kuvaa, 1 taulukko a 6 ltettä Tarkastaat: Professor, KTT Joun Lampnen a Lehtor, KTL Tmo Mantere Hakusanat: Populaaton monmuotosuus, dfferentaalevoluuto, evoluutoalgortmt Keywords: Populaton dversty, dfferental evoluton, evolutonary algorthms Dplomtyössä estetään menetelmä populaaton monmuotosuuden mttaamseen lukulukukoodatussa evoluutoalgortmessa, a tarkastellaan kokeellsest sen tomntaa. Evoluutoalgortmt ovat populaatopohasa menetelmä, olla pyrtään ratkasemaan optmontongelma. Evoluutoalgortmessa populaaton monmuotosuuden hallnta on välttämätöntä, otta suortettu haku ols rttävän luotettavaa a tosaalta rttävän nopeaa. Monmuotosuuden mttaamnen on ertysen tarpeellsta tutkttaessa evoluutoalgortmen dynaamsta käyttäytymstä. Työssä tarkastellaan haku- a tavotefunktoavaruuden monmuotosuuden mttaamsta. Tostaseks e ole ollut olemassa täysn tyydyttävä monmuotosuuden mttareta, a työn tavotteena on kehttää yleskäyttönen menetelmä lukulukukoodattuen evoluutoalgortmen suhteellsen a absoluuttsen monmuotosuuden mttaamseen hakuavaruudessa. Kehtettyen mttareden tomntaa a käyttökelposuutta tarkastellaan kokeellsest ratkasemalla optmontongelma dfferentaalevoluutoalgortmlla. Toteutettuen mttareden tomnta perustuu keskhaontoen laskemseen populaatosta. Keskhaonnolle suortetaan skaalaus, oko alkupopulaaton ta nykysen populaaton suhteen, rppuen lasketaanko absoluuttsta va suhteellsta monmuotosuutta. Kokeellsessa tarkastelussa havattn kehtetyt mttart tomvks a käyttökelposks. Tavotefunkton venyttämnen koordnaattakseleden suunnassa e vakuta mttarn tomntaan. Myöskään tavotefunkton kertämnen koordnaatstossa e vakuta mttareden tuloksn. Estetyn menetelmän akakomplekssuus rppuu lneaarsest populaaton koosta, a mttarn tomnta on sten nopeaa suurakn populaatota käytettäessä. Suhteellnen monmuotosuus antaa vertalukelposa tuloksa rppumatta parametren lukumäärästä ta populaaton koosta.
ABSTRACT Lappeenranta Unversty of Technology Department of Informaton Technology Esa Ruuth Populaton Dversty Measurement n Floatng Pont Encoded Evolutonary Algorthms Master s thess 2003 53 pages, 11 fgures, 1 table and 6 appendces Supervsors: Professor, D.Sc. Joun Lampnen and Lecturer, Lc.Sc. Tmo Mantere Keywords: Populaton dversty, dfferental evoluton, evolutonary algorthms In ths thess a new method for populaton dversty measurement for floatng pont encoded evolutonary algorthms s developed and tested expermentally. Evolutonary algorthms are populaton-based methods, whch are used for solvng optmzaton problems. In evolutonary algorthms t s necessary to control populaton dversty, to assure that search s relable and on the other hand fast enough. Populaton dversty measurement s especally necessary when the dynamcal behavor of an evolutonary algorthm s studed. Populaton dversty measurement was consdered n search and obectve functon spaces. So far there has not been fully satsfactory ndcator for populaton dversty. The goal n ths thess s to develop a general method for populaton dversty measurement n floatng pont encoded evolutonary algorthms. Functonalty and usablty of developed ndcators are consdered expermentally by solvng optmzaton problems wth a dfferental evoluton algorthm. The developed ndcators operate by calculatng the standard devatons of the populaton. The standard devatons are then scaled regardng ntal or current populaton, dependng whether absolute or relatve dversty s calculated. By expermental consderaton the developed ndcators were found functonal and useful. Stretchng of obectve functon n the drecton of coordnate axes does not affect the operaton of the ndcator. Rotatng of the obectve functon does not affect the results of the ndcator. Tme complexty of the developed method depends lnearly on the populaton sze, thus the operaton of the ndcator s fast even wth large populatons. Relatve dversty gves comparable results regardless of number of dmensons or populaton sze.
SISÄLLYSLUETTELO 1 JOHDANTO 5 2 POPULAATION MONIMUOTOISUUDEN MITTAAMINEN 7 2.1 Monmuotosuuden merktys evoluutoalgortmessa 7 2.2 Montavoteoptmont 9 2.3 Populaaton monmuotosuus 12 2.3.1 Šmuc 12 2.3.2 Lopez Cruz et al. 13 2.3.3 Luukka a Saastamonen 14 2.4 Pareto-optmaalsen rntaman monmuotosuus 16 2.4.1 Spacng 16 2.4.2 Spread 17 2.4.3 Maxmum spread 17 3 DIFFERENTIAALIEVOLUUTIOALGORITMI 19 3.1 Populaaton alustus 20 3.2 Mutaato a rsteytys 20 3.3 Valnta 21 3.4 Raotteet 22 4 MONIMUOTOISUUTTA MITTAAVIEN MITTAREIDEN KEHITTÄMINEN 25 4.1 Alkupopulaaton monmuotosuus 25 4.2 Suhteellnen a absoluuttnen monmuotosuus 28 5 MITTAREIDEN TOIMINNAN TARKASTELU 32 5.1 Testongelmat 32 5.1.1 Testfunkto Sphere 33 5.1.2 Testfunkto Ellpsod 1 34 5.1.3 Testfunkto Ellpsod 2 35 5.1.4 Testfunkto Rosenbrock 36 5.1.5 Testfunkto Schwefel 37 5.1.6 Testfunkto Grewank 38 5.2 Kokeellnen tarkastelu 39 6 TULOKSET 41 6.1 Testtapaus 1 41 6.2 Testtapaus 2 43 6.3 Testtapaus 3 44 6.4 Testtapaus 4 44 6.5 Testtapaus 5 45 6.6 Tulosten tulkntaa 46 7 JOHTOPÄÄTÖKSET 48 LÄHTEET LIITTEET 1
SYMBOLI- JA LYHENNELUETTELO A R ε η Ο( ) ρ Populaaton monmuotosuus, Populaton dversty Populaaton absoluuttnen monmuotosuus, Absolute dversty Populaaton suhteellnen monmuotosuus, Relatve dversty Toleranssraa kromosomn monmuotosuudelle, Tolerance for the chromosome dversty Monmuotosuusndeks, Dversty ndex Komplekssuusluokan yläraa, Upper lmt for complexty Populaaton monmuotosuusaste, Degree of populaton dversty a Kerron, oka lmasee valntaoperaaton vakutuksen populaaton c CR D d(u,v) F f( ) f(x * ) G G max k l NP P G monmuotosuuteen, Effect of selecton operaton on populaton dversty Kerron, oka lmasee varaato-operaatoden vakutuksen populaaton monmuotosuuteen, Effect of varaton operatons on populaton dversty Rsteytysvako, Crossover constant Ykslövektorn parametren (kromosomen) lukumäärä, Number of dmensons Kahden ykslön u a v välnen etäsyys, Dstance between two ndvduals u and v Mutaatovako, Mutaton constant Tavotefunkto, Obectve functon Funkton optmarvo, Optmum value Sukupolv, Generaton Sukupolven maksmmäärä, Maxmum number of generatons Indeks oukon Q ykslöön, Index to an ndvdual n set Q Tavotefunktoden lukumäärä, Number of obectve functons Populaaton koko, Populaton sze Sukupolven G populaato, Populaton of generaton G ' P G+1 Seuraavan sukupolven yrtepopulaato, Tral populaton for the next generaton 2
rand[0,1] U,G+1 u,,g+1 Var( ) V,G+1 v,,g+1 X,G x,,g X (L) X (U) Tasasest akautunut satunnasmuuttua välltä [0,1], Evenly dstrbuted random varable between [0,1] Yrtevektor, oka on muodostettu käyttäen kohdevektorna populaaton :ttä vektora, Tral vector Yrtevektorn :s parametr (kromosom), Chromosome of the tral vector Varanss, Varance Kohnavektor, oka on muodostettu käyttäen kohdevektorna populaaton :ttä vektora, Nosy vector Kohnavektorn :s parametr (kromosom), Chromosome of the nosy vector Sukupolven G populaaton :s ykslö, Indvdual Ykslön :s parametr (kromosom), Chromosome Ykslövektorn alaraa, Lower lmt for the ndvdual Ykslövektorn yläraa, Upper lmt for the ndvdual (L) x Ykslön :nnen kromosomn arvon alaraa, Lower lmt for the :th chromosome (U ) x Ykslön :nnen kromosomn arvon yläraa, Upper lmt for the :th Q Q chromosome E-domnotuen ratkasuden oukko, Set of non-domnated solutons E-domnotuen ratkasuden lukumäärä, Number of non-domnated solutons DE EA Dfferentaalevoluuto, Dfferental Evoluton Evoluutoalgortm, Evolutonary Algorthm 3
ALKUSANAT Tämä työ on tehty Lappeenrannan teknllsen ylopston Tetoteknkan osastolle. Ktän Tetoenkästtelyteknkan latosta, oka mahdollst tämän työn tekemsen. Haluan kttää myös Tetoenkästtelyteknkan latoksen henklökuntaa mukavasta työympärstöstä. Ktän työn ohaaaa a tarkastaaa, professor Joun Lampsta hyvästä ohauksesta a melenknnosta työtän kohtaan. Ktokset myös työn toselle tarkastaalle, lehtor Tmo Mantereelle. Ktän myös tekn. yo. Jan Rönkköstä saamastan avusta työn akana a DI Jarkko Vartasta työn okolukemsesta. 4
1 JOHDANTO Evoluutoalgortmt ovat menetelmä, olla pyrtään ratkasemaan optmontongelma luonnon evoluutota älttelevällä tavalla. Evoluutoalgortmt ovat populaatopohasa menetelmä, ossa alkupopulaato muodostetaan yleensä satunnasest. Populaaton okanen äsen, ykslö, on ratkasuvahtoehto ratkastavaan ongelmaan. Alkupopulaaton luomsen älkeen sen äsenlle suortetaan mutaato- a rsteytysoperaatota. Ykslölle lasketaan tavotefunkton arvot käyttämällä optmotavaa funktota. Parhaat ykslöt valtaan seuraavaan sukupolveen, a huonommat ykslöt karsutuvat. Nän hyven ykslöden omnasuudet perytyvät seuraavn sukupolvn, a huonot omnasuudet katoavat. Evoluutota atketaan kunnes optmaalnen ta rttävän hyvä ykslö löytyy, ennalta asetettu sukupolven maksmmäärä ta muu lopetusehto täyttyy. Evoluutoalgortmen käyttö on lsääntynyt vme vuosna, sllä nden toteuttamnen a käyttämnen on melko helppoa. Useden epälneaarsten optmontongelmen ratkasemnen perntesllä algortmella on hdasta, elle opa mahdotonta, sllä mahdollsten ratkasuvahtoehtoen lukumäärä kasvaa räähdysmäsest ongelmakoon kasvaessa. Evoluutoalgortmssa uudet yrtteet muodostetaan kunkn sukupolven parhasta ratkasusta, ollon pyrtään välttämään kakken mahdollsten ratkasuvahtoehtoen läpkäymnen. Perntesest suurn osa optmonnn tutkmuksesta a sovellukssta on keskttynyt ykstavoteongelmen ratkasemseen. Reaalmaalman ongelmsta suurn osa ssältää useamman kun yhden tavotteen. Tehokkaden montavoteoptmontmenetelmen puuttuessa on montavoteongelma tavallsmmn ratkastu muuntamalla ne ykstavoteongelmks. Tästä seuraa kutenkn se, että optmonnn tuloksena saadaan van yks ratkasu, vakka montavoteongelman ratkasuna tuls olla useta vahtoehtosa ratkasua, el nn sanottu Pareto-optmaalsten ratkasuden oukko. Evoluutoalgortmt ovat osottautuneet käyttökelposks myös montavoteoptmontongelmen ratkasemsessa, sllä populaatopohasna menetelmnä ne tuottavat useta ratkasua samalla kertaa. 5
Montavoteoptmonnn tulosten paremmuuden vertalu on ollut vme vuosna tutkoden knnostuksen aheena. Tarkotukseen on kehtetty useta erlasa mttareta, otka mttaavat Pareto-optmaalsen ratkasun hyvyyttä. Usesta er lähestymstavosta huolmatta e hyvää a yleskäyttöstä mttara ole onnstuttu kehttämään. Työssä kehtettävän mttarn tuls olla myöhemmn ylestettävssä mttaamaan Pareto-optmaalsten psteden akautumsta tavotefunktoavaruudessa. Useden aempen mttausmenetelmen ongelmana on ollut laskennallnen raskaus a komplekssuus, oka etenkn ongelmakoon kasvaessa aheuttaa ongelma. Lsäks nden antamat tulokset evät ole olleet nformatvsa, evätkä keskenään vertalukelposa. Tämän työn tavotteena on kehttää lukulukukoodatulle evoluutoalgortmlle sopva menetelmä monmuotosuuden mttaamseks hakuavaruuden pstelle. Ykstavoteongelmen tapauksessa populaaton monmuotosuuden tuls hävtä, kun taas montavoteongelmlla monmuotosuuden tuls sälyä rttävän suurena, sallen suppenemsen Pareto-rntamalle. Montavoteoptmonnssa monmuotosuuden tuls sälyä korkeana tavotefunktoavaruudessa. Kehtettyen menetelmen tomvuutta tarkastellaan kokeellsest ratkasemalla optmontongelma dfferentaalevoluutoalgortmlla. 6
2 POPULAATION MONIMUOTOISUUDEN MITTAAMINEN Evoluutoalgortmen tomnnan a dynaamsen käyttäytymsen mttaamseks on kehtetty useta erlasa mttareta. Tässä työssä kesktytään nästä van populaaton monmuotosuuden mttaamseen. Populaaton monmuotosuus kuvaa populaaton äsenten santa tosnsa nähden, a sen mttaamseen käytetään ykslöden välsä eroavasuuksa. Ykslöden keskttyessä penelle alueelle on nden monmuotosuus pen, a pänvaston. Monmuotosuuden mttaamseks on kehtetty useta hyvnkn erlasa mttareta, mutta stä huolmatta luotettavaa, nopeaa a monkäyttöstä mttara e ole onnstuttu luomaan. Tässä kappaleessa estellään muutama krallsuudessa estettyä monmuotosuuden mttareta lukulukukoodatulle evoluutoalgortmelle. Populaaton monmuotosuutta vodaan mtata sekä haku- että tavotefunktoavaruudessa. Ykstavoteongelmssa populaaton hakuavaruuden monmuotosuuden tuls vähentyä optmonnn edetessä a olla optmonnn lopussa mahdollsmman pen. Montavoteongelmssa pyrtään tavotefunktoavaruuden monmuotosuus sälyttämään korkeana koko optmonnn aan, sallen kutenkn suppenemnen Pareto-rntamalle. 2.1 Monmuotosuuden merktys evoluutoalgortmessa Tyypllsest evoluutoalgortmn valntaoperaato vähentää populaaton monmuotosuutta sten, että populaato suppenee (konvergotuu). Populaaton varanssa, Var(P), käyttäen tämä vodaan lmasta seuraavast: Var ' ( P ) a Var( P ), G + 1 = G +1 (1) ossa P G+1 on seuraavan sukupolven populaato, ' P G+1 on seuraavan sukupolven yrtteden populaato, a 1 on kerron, oka lmasee valntaoperaaton vakutuksen populaaton 7
monmuotosuuteen. Oletetaan, että melekkääst toteutettu valntaoperaato e vo lsätä monmuotosuutta, koska yleensä valtaan van parhata ykslötä. Tyypllsest a < 1, ollon valnta aheuttaa populaaton suppenemsen. Tavallsest varaato-operaatot, mutaato a rsteytys, suunntellaan lsäämään populaaton monmuotosuutta: Var ' ( P ) = c Var( P ), G+ 1 G (2) ossa c 1 on kerron, oka lmasee varaato-operaatoden vakutuksen populaaton monmuotosuuteen. Tyypllsest c > 1, ollon populaaton monmuotosuutta pyrtään lsäämään. Yhdstämällä (1) a (2) saadaan: Var ( P ) = a c Var( P ) G+ 1 G. (3) Populaaton tovotaan suppenevan globaaln optmn. Suppenemsehdoks vodaan edellsen perusteella päätellä: a c < 1. (4) Koska parhaden ratkasuden valnta yhdessä tavotefunkton kanssa määrää, että a 1, (5) nn evoluutoalgortmn varaato-operaatot tuls suunntella sten, että c 1. (6) Yhdstettäessä a a c, vakuttavat ne populaatoon seuraavast: os a c > 1 populaato haaantuu, os a c << 1 populaato suppenee lan nopeast, ekä hakuavaruutta käydä rttävän kattavast läp, 8
os 0 << a c < 1 populaato suppenee sopvalla nopeudella, haku on rttävän kattava a rttävän nopea. Täten c:n optmarvo, oka rppuu tavotefunkton omnasuukssta, a sten a:sta, on myös rppuva ratkastavasta ongelmasta. [Zah02] Jotta evoluutoalgortmn dynaamsta käyttäytymstä, a slle tärkeää populaaton monmuotosuutta votasn kokeellsest tutka, tarvtaan mttar populaaton monmuotosuudelle. Täysn tyydyttävä mttareta e ole tähän mennessä kyetty kehttämään lukulukukoodatulle evoluutoalgortmelle. Tarvttava mttareta ovat: absoluuttsen monmuotosuuden mttar, oka kuvaa kunka populaaton äsenet ovat akautuneet hakuavaruudessa. Suur absoluuttsen monmuotosuuden arvo tarkottaa hakuavaruudessa haallaan olevaa populaatota, a pen arvo penelle alueelle keskttynyttä populaatota. suhteellsen monmuotosuuden mttar, oka kuvaa kunka populaaton äsenet ovat akautuneet hakuavaruudessa suhteessa tosnsa. näden varaatot montavoteongelmen ratkasuoukon monmuotosuuden mttaamseen tavotefunktoavaruudessa. 2.2 Montavoteoptmont Merkttävä osa optmonnn tutkmuksesta a sovellukssta keskttyy pelkästään ykstavoteongelmen ratkasemseen, vakka reaalmaalman ongelmsta suurn osa ssältää useamman kun yhden tavotefunkton. Koska montavoteoptmonnssa tavotefunktota on useta, saadaan optmonnn tuloksena myös useta vahtoehtosa ratkasua. Pernteset optmontmenetelmät vovat parhammllaan löytää yhden ratkasun yhdellä smulontaolla, onka vuoks ne evät sovellu montavoteongelmen ratkasemseen. Evoluutoalgortmt ovat populaatopohasa menetelmä a vovat sten löytää useta 9
optmaalsa ratkasua yhdellä smulontaolla. Tämän vuoks evoluutoalgortmt sopvat hyvn montavoteongelmen ratkasemseen. [Deb02] Ylespäteven a tehokkaden montavoteoptmontmenetelmen puuttuessa on montavoteongelma tavallsmmn ratkastu muuttamalla ne ykstavoteongelmks. Tämä on tehty antamalla tavotefunktolle ennalta määrätyt panot, a yhdstämällä ne yhdeks tavotefunktoks. Tämän älkeen optmontongelma on votu ratkasta käyttämällä ykstavoteongelmen ratkasemseen kehtettyä algortmea. Ongelma tässä menettelyssä aheuttaa er tavotteden kesknäsen panotuksen, tavotteden suhteellsen tärkeyden lmasemnen a pror, sllä yhdellä panoyhdstelmällä saadaan van yks ratkasu. [Lam00] Tonen tapa ratkasta montavoteoptmontongelma on käyttää Pareto-optmonta. Pareto-optmonnssa e tarvta etukäteen määrteltyä panotuksa, a sen tuloksena saadaan kerralla kakk er ratkasuvahtoehdot. Ratkasun sanotaan olevan Pareto-optmaalnen mkäl ykskään hyväksyttävä ratkasu e domno stä. E-domnotu (Non-domnated) ratkasu tarkottaa, ette ole olemassa ratkasua, onka tavotefunkton arvosta vähntään yks on saatua ratkasua paremp, a loput tavotefunkton arvot yhtä hyvä ta parempa. Pareto-optmonnn antamat keskenään yhtä hyvät ratkasut muodostavat nn sanotun Pareto-optmaalsen rntaman (Pareto-front). Koska täydellsen Pareto-optmaalsen rntaman löytämnen tuntuu olevan mahdotonta mllään olemassa olevalla menetelmällä, on yleensä tyydyttävä aproksmomaan Pareto-optmaalsta rntamaa raatulla lukumäärällä Pareto-optmaalsa pstetä. [Lam00] Pareto-domnanss (Pareto domnance): Vektor U ssältää l tavotefunkton arvoa hakuavaruuden S psteelle X, sten U on tavotefunktoavaruuden pste U = {f 1 (X),,f l (X)}. Vektorn U * = {f 1 (X * ),,f l (X * )} sanotaan domnovan vektora U = {f 1 (X),,f l (X)} os a van os U * on osttan penemp kun U, el * * {,..., l}, f ( X ) f ( X ) { 1,..., l} f ( X ) f ( X ) 1 : <. 10
Vahvast tehollnen ratkasu (Strongly effcent soluton): * Ratkasu X S on vahvast tehollnen ratkasu, os e ole olemassa tosta ratkasua * * X S sten, että f ( X ) f ( X ) kaklla = 1,..., l a f ( X ) < f ( X ) vähntään yhdellä :llä. Hekost tehollnen ratkasu (Weakly effcent soluton): * Ratkasu X S on hekost tehollnen ratkasu, os e ole olemassa tosta ratkasua * X S sten, että f ( X ) < f ( X ) kaklla = 1,..., l. Vahvast tehollset ratkasut ovat hekost tehollsten ratkasuden aloukko. E-domnotu ratkasu (Non-domnated soluton): Montavoteongelma ratkastaessa algortmt aproksmovat Pareto-rntamaa raallsella määrällä erllsä ratkasua. Ratkasu on e-domnotu, mkäl mkään muu kysesen ratkasuoukon äsen e domno kysestä ratkasua. On huomattava, että saattaa olla olemassa sallttua ratkasua, otka vosvat domnoda kysesen ratkasuoukon pstetä, mutta ntä e van ole löydetty. Pareto-optmaalnen ratkasu (Pareto-optmal soluton): Pareto-optmaalsella ratkasulla tarkotetaan usen e-domnotua ratkasua. On kutenkn syytä tarkstaa mllasta määrtelmää Pareto-optmaalselle ratkasulle on käytetty, sllä termnologa vahtelee suurest krallsuudessa. Pareto-rntama (Pareto-front): Pareto-rntama on Pareto-optmaalsten ratkasuden muodostama pnta tavotefunktoavaruudessa. Nmtystä käytetään oskus myös dskreetstä oukosta Paretooptmaalsa ratkasua. Ideaalset psteet (Ideal ponts): Ideaalsen vektorn { * f * } f,..., 1 l komponentt saadaan mnmomalla okanen tavotefunkto ykstellen salltussa hakuavaruudessa S. [Lam00] 11
2.3 Populaaton monmuotosuus Barker a Martn [Bar00] määrttelvät omnasuudet, otka mnkä tahansa kahden ykslön u a v välsellä etäsyysfunktolla d(u,v) tulee olla: symmetrsyys: d(u,v) = d(v,u), e-negatvsuus: d(u,v) 0, nolla anoastaan denttslle ykslölle: d(u,v) = 0 van a os van u = v, NP addtvnen (addtve) sten, että d( u, v) ( u, v ) = = d 1 melvaltasa funktota, otka täyttävät edellä mantut ehdot., ossa d :t vovat olla He määrttelvät populaaton monmuotosuuden mttarn BM (G) kakken populaaton ykslöden välsten parettasten etäsyyksen summana aanhetkellä G: BM NP NP 1 ( G) d, G X 2 = 1 = 1 NP ( ) ( NP 1) X, =, G 2 d G, (7) ossa NP on populaaton koko, X, G a, G X ovat populaaton äsenä, a d G on kakken etäsyyksen keskarvo hetkellä G. Etäsyysfunktona vodaan käyttää mtä tahansa edellä mantut ehdot täyttävää funktota, esmerkks L1-norma. 2.3.1 Šmuc Šmuc [Šmu02] esttel dfferentaalevoluutoalgortmn populaaton pävttämseks menetelmän, onka tarkotuksena ol estää uuttumsta (Stagnaton) [Lam00a] a parantaa algortmn suppenemsnopeutta. Hän seuras populaaton tlaa mttaamalla sen monmuotosuutta. Työssä käytetty mttar mttaa nykysen populaaton keskmäärästä monmuotosuutta: Smuc ( G) = NP NP ( U ) ( L) ( X, G X, G ( X X ) = 1 = + 1 2 D ( NP 1) NP, (8) 12
ossa X,G a X,G ovat :s a :s D-dmensonen ykslö nykysessä sukupolvessa G. Muuttuat (U ) X a (L) X ovat ykslöden ylä- a alaraat. Tuloksena saadaan nykysen sukupolven äsenten välset keskmääräset normalsodut etäsyydet, otka kuvaavat ratkasun suppenemsta. Šmuc käytt monmuotosuuden laskemsta dfferentaalevoluutoalgortmn populaaton monmuotosuuden sälyttämseen pävttämällä populaatota monmuotosuuden laskessa määrtellyn toleranssraan al. Populaaton pävttämnen tapahtu korvaamalla populaaton satunnasa kromosomea satunnasest generodulla kromosomella, kutenkaan parhaan ykslön kromosomea muuttamatta. Monmuotosuutta laskettaessa oudutaan laskemaan kakken populaaton äsenten välset etäsyydet, oka on etenkn suura populaatota käytettäessä raskas a hdas operaato. Hattana vodaan ptää myös menetelmän tarvtsema ylmääräsä parametrea, kuten esmerkks monmuotosuuden toleranssraaa. Estettyen tulosten perusteella menetelmä näyttää tomvan a estävän algortmn tloen uuttumsta pentä populaaton kokoa käytettäessä. Yhtälössä (8) estetyn algortmn akakomplekssuus on luokkaa: ( NP 2 D G). Populaaton monmuotosuuden laskemseen tarvttava aka kasvaa eksponentaalsest populaaton koon kasvaessa. Sten se e sovellu kakken vakemmlle ongelmlle, oden ratkasemnen vaat hyvn suurta populaatota. 2.3.2 Lopez Cruz et al. Lopez Cruz et al. [Lop01] käytt populaaton monmuotosuutta hyväks dfferentaalevoluutoalgortmn mutaato- a rsteytysparametren säädössä. Parametren säätö tapahtuu aonakasest, a ratkastavan ongelman tlaa seurataan tarkkalemalla populaaton monmuotosuutta parhaan ykslön ympärllä. Tätä varten määrtellään monmuotosuusndeks (Dversty ndex): 13
η 1, = 0, x,, G os x muuton x, best, G, best, G > ε, (9) ossa x,best,g on sukupolven G populaaton parhaan ykslön :s kromosom, a ε on ennalta määrätty toleranss kromosomn monmuotosuudelle. Arvo η = 1 tarkottaa ss monmuotosta kromosoma. Populaaton monmuotosuus ( 0 ρ 1) lasketaan seuraavast: ρ = NP D = 1 = 1 best η ( D ( NP 1) ). (10) Monmuotosuusmttarn huonona puolena on se, että populaato oudutaan käymään läp kahdest, ensn monmuotosuusndeksä luotaessa, a tosen kerran varsnasta monmuotosuutta laskettaessa. Lsäks ptää määrttää toleranssraa ε, oka määrää sen onko kromosom monmuotonen va e. Mttar e sten ota huomoon monmuotosuuden määrää. Estetty monmuotosuusmttar on sten toleranssraan ylttäven kromosomen lukumäärä aettuna kakken kromosomen lukumäärällä Yhtälön (10) monmuotosuuden laskennan akakomplekssuus on luokkaa: ( NP D G). Monmuotosuuden laskemseen tarvttava aka kasvaa lneaarsest populaaton koon kasvaessa. 2.3.3 Luukka a Saastamonen Luukka a Saastamonen [Luu02] esttelvät uuden lähestymstavan populaaton monmuotosuuden sälyttämseks. Menetelmän tavotteena on mahdollstaa nopea suppenemnen a välttää ennenakasta suppenemsta. Menetelmässä käytetään sumeaa samankaltasuutta (Fuzzy smlarty) säätämään mutaatoastetta (Mutaton rate), oka 14
rppuu rsteytettävstä ykslöstä. Kahden ykslön välsen samankaltasuuden perusteella lasketaan mutaatoaste nden älkeläslle. Kahden geneettsest lähekkäsen ykslön älkeläselle tulee korkea mutaatoaste, a geneettsest tosstaan palon pokkeaven ykslöden älkeläselle mutaatoaste on matala. Perntesssä menetelmssä huomattavast muta paremman ykslön lmaantuessa populaatoon valtaan se useta kertoa seuraavn populaatohn, ollon sen vakutus koko populaatoon on lopulta huomattava. Tuloksena on lähes yhdenmukanen populaato, osta on arvattavast usen seurauksena ennenakanen suppenemnen. Samanlasuuteen perustuvassa mutaatoasteen säädössä huomattavan hyvän ykslön vakutuksesta syntyneet lähes denttset ykslöt aheuttavat keskenään rsteytyessään älkeläslleen erttän korkean mutaatoasteen. Korkean mutaatoasteen hattana vodaan ptää hyven ratkasuden mahdollsta hävämstä populaatosta. Tosaalta korkea mutaatoaste varmstaa korkean monmuotosuuden populaatossa, ollon hyven ratkasuden mahdollnen hävämnen populaatosta e vakuta ratkasevast saatavaan ratkasuun. Kahden ykslön X a Y samankaltasuus lasketaan seuraavast [Luu02]: SIM ( X, Y ) = 1 = 1 D = 1 D W W x y ( U ) ( L) ( x x ) r 1 r, (11) ossa x a y ovat X:n a Y:n :nnet muuttuat, (U ) x a (L) x ovat :nnen muuttuan ylä- a alaraat a W on ennalta määrätty pano. Lan vomakkaan mutaaton välttämseks on määrtelty korken sallttu mutaatoaste M m. Sten tehollnen mutaatoaste (Effectve mutaton rate) P r ( X, Y ) = SIM ( X, Y ) M m. (12) M m a r ovat kntetä käyttään määräämä arvoa, olle ulkasussa [Luu02] on käytetty arvoa M m = 0,9 a r = 0,2. Krottaen tekemen testen mukaan menetelmä tom muta 15
testattua menetelmä paremmn kolmessa tapauksessa nelästä. Menetelmän tehokkuudesta on olemassa van vähän kokeellsta tetoa. 2.4 Pareto-optmaalsen rntaman monmuotosuus Montavoteoptmonnn tuloksena saadut e-domnodut ratkasut aproksmovat todellsta Pareto-optmaalsta rntamaa tavotefunktoavaruudessa. Jotta saatu ratkasu ols hyvä, on e-domnotuen ratkasuden noudatettava mahdollsmman hyvn todellsta Paretooptmaalsta rntamaa. Ratkasun hyvyyteen vakuttaa sten e-domnotuen ratkasuden etäsyys Pareto-optmaalseen rntamaan a se, kunka hyvn saavutettu ratkasu kattaa koko Pareto-optmaalsen rntaman alueen. E-domnotuen ratkasuden tuls olla myös mahdollsmman tasasest akautuneta Pareto-optmaalseen rntamaan nähden. Molempen omnasuuksen mttaamseen on kehtetty useta menetelmä, sekä nn sanottua yhdstelmämttareta, otka mttaavat molempa omnasuuksa. Tässä työssä kästellään kutenkn van e-domnotuen ratkasuden kattavuutta todellseen Paretooptmaalseen rntamaan nähden monmuotosuutta mttaamalla. Seuraavaks on estelty muutama ylesmmn käytettyä Pareto-optmaalsen rntaman kattavuutta mttaava menetelmä. 2.4.1 Spacng Schott [Sch95] kehtt mttarn, ossa lasketaan peräkkästen e-domnotuen ratkasuden välset suhteellset etäsyydet: spacng = 1 Q ( d d ) Q = 1 2, (13) k ossa Q on e-domnotuen ratkasuden oukko, d = mn k Q k = f m f m a d on M m 1 etäsyyden keskarvo d = = d 1 Q Q. Etäsyys d on sten penn :nnen a mnkä tahansa 16
muun e-domnodun ratkasun välsen tavotefunktoden arvoen erotuksen summa. Mttar mttaa er d :n arvoen keskhaontoa, a mtä penemp sen arvo on, stä tasasemmn ratkasut ovat akautuneet. Sten penemp arvo tarkottaa parempaa ratkasua. Mttar tuottaa hyödyllstä tetoa saavutettuen e-domnotuen ratkasuden akautumsesta. Spacng-mttarn akakomplekssuus on luokkaa Ο( Q 2 ). [Deb01] 2.4.2 Spread Deb et al. [Deb02] kehttvät monmuotosuuden mttaamseks menetelmän [Deb01]: spread M Q e d m + m= 1 = 1 = M e d m + m= 1 d Q d d, (14) ossa e d m on m:nnen tavotefunkton Q:n etäsmmän psteen Eukldnen etäsyys todellsen Pareto-optmaalsen rntaman etäsmpään psteeseen, M on tavotefunktoden lukumäärä, d on Q:n peräkkästen ykslöden välnen Eukldnen etäsyys, a d on kakken d :den keskarvo. Mttarn pen arvo tarkottaa suurta monmuotosuutta. Spread-mttarlla vodaan mtata van korkentaan kakstavoteongelmen monmuotosuutta, oka raottaa mttarn käyttöä. Lsäks sen laskemseks tulee tetää todellsen Pareto-optmaalsen rntaman äärmmäsmmät psteet. [Deb01] 2.4.3 Maxmum spread Ztzler esttel vätöskrassaan [Zt99] e-domnodun oukon äärpsteden lävstään ptuuteen perustuvan tavan mtata monmuotosuutta [Deb01]: maxmum spread = M m= 1 2 Q Q = = f m mn f m 1 1 max. (15) 17
Kahden tavotefunkton tapauksessa mttar vastaa e-domnodun oukon kahden tosstaan etäsmmän psteen välstä Eukldsta etäsyyttä. Deb estt krassaan [Deb01] myös normalsodun verson kysesestä mttarsta: maxmum spread = 1 M M m= 1 Q max f = 1 F m max m mn f F Q = 1 mn m m 2, (16) ossa max F m a mn F m ovat todellsen Pareto-optmaalsen rntaman m:nnen tavotteen maksm- a mnmarvot. Kumpkaan mttaresta e ota kantaa äärpsteden välssä oleven psteden akautumseen. [Deb01] 18
3 DIFFERENTIAALIEVOLUUTIOALGORITMI Raner Storn:n a Kenneth Prce:n kehttämä dfferentaalevoluutoalgortm [Sto95] on eräs uusmmsta evoluutopohassta menetelmstä. Kysesen algortmn toteutus a käyttö on yksnkertasta, a se tarvtsee van vähän parametrea tomakseen: D NP CR F dmensoden lukumäärä el kromosomen lukumäärä ykslössä, määräytyy käytettävän ongelman mukaan, populaaton koko, rsteytysvako, todennäkösyys olla kromosom otetaan yrtevektorn kohnavektorsta, mutaatovako, käytetään erotusvektorn panottamseen. Edellsten lsäks algortmn sovelluskohtanen lopetusehto vaat usemmten anakn yhden käyttään asettaman parametrn. Dfferentaalevoluutossa populaato (Populaton) P G muodostuu ykslöstä (Indvdual) X,G, otka ovat vahtoehtosa ratkasua ongelmaan. Populaaton ykslöt ovat reaallukuvektoreta, oden kukn parametr x,,g vastaa ykslön yhtä kromosoma. Dfferentaalevoluutoalgortmssa arvoa kästellään koko suortuksen aan lukulukuna. Populaaton koko pysyy vakona, a se koostuu NP:stä reaalarvosesta vektorsta X,G, ossa tarkottaa populaaton äsentä a G sukupolvea: P = X, G = 1,..., NP, G 1,..., G G = max. (17) Jokanen vektor ssältää D reaalarvosta parametra, kromosoma: X, G = x,, G = 1,..., NP, = 1,..., D. (18) Kullekn ykslölle lasketaan tavotefunkton f(x) avulla tavotefunkton arvo, oka kertoo ykslön hyvyyden. Ykslön kromosomea optmomalla saadaan mnmotua 19
tavotefunkton arvoa. Evoluutota atketaan kunnes saavutetaan rttävän hyvä ratkasu, ennalta asetettu sukupolven maksmmäärä ta muu lopetusehto täyttyy. [Lam01] Dfferentaalevoluutoalgortmn tomnta selvää kuvasta 2. Käytetty dfferentaalevoluutoalgortmn verso on DE/rand/1/bn, ossa rand tarkottaa, että mutaaton kohde valtaan satunnasest, 1 on erotusvektoreden lukumäärä, bn vttaa käytettyyn rsteytystapaan. [Sto97] 3.1 Populaaton alustus Ennen varsnasen optmonnn alottamsta tulee populaato alustaa. Alkupopulaato P G=0 muodostetaan yleensä satunnasest, sllä tavallsest e ole muuta tetoa optmn sannsta kun ongelman muuttuen raat. ( U ) ( L) ( L) [ 0,1] ( x x ) + x = 1,..., NP, 1 D P0 = x,,0 = rand =,...,, (19) ossa (U ) x a (L) x ovat ylä- a alaraa muuttualle x a rand [0,1] tarkottaa tasasest akautunutta satunnaslukua välllä [0.0,1.0] okaselle :lle. [Lam01] 3.2 Mutaato a rsteytys Ensmmäsestä sukupolvesta lähten nykysen populaaton P G vektoreta valtaan a yhdstellään satunnasest, a nän saadaan yrtevektoreta seuraavaa sukupolvea P G+1 varten. Aluks valtaan kohdevektor X,G, oka on ensmmäsellä kerroksella populaaton ensmmänen äsen. Kohdevektorn lsäks valtaan populaatosta satunnasest kaks vektora X r1,g a X r2,g, osta muodostetaan erotusvektor. Mutaatota varten valtaan velä kolmas satunnanen vektor X r3,g. Erotusvektor kerrotaan mutaatovakolla F, a nän 20
panotettu erotusvektor summataan mutaatota varten valtun vektorn X r3,g kanssa. Saatua vektora kutsutaan kohnavektorks, a rsteytys tapahtuu valtsemalla kukn kromosom todennäkösyydellä CR kohnavektorsta yrtevektorn U,G+1. Yrtevektor muodostuu ss kohde- a kohnavektoreden kromosomesta. Yrtepopulaato P G+1 = U,G+1 = u,,g+1 muodostetaan seuraavast: u,, G+ 1 v,, G+ 1 = x, r G + F ( x r G x r G ) os rand [0,1] CR = k 3,, 1,, 2, = x,, G muuton, (20) ossa = 1,,NP, = 1,,D, k {1,,D}, satunnanen parametrn ndeks, valtaan erkseen okaselle :lle r 1, r 2, r 3 {1,,NP}, valtaan satunnasest sten, että: r 1 r 2 r 3, CR [0,1], F (0,1+], vakota kontrollparametrea. Populaato käydään ärestyksessä läp kunnes kakk populaaton ykslöt ovat olleet vuorollaan kohdevektorna. [Lam01] 3.3 Valnta Yrtevektorlle lasketaan tavotefunkton arvo, a stä verrataan kohdevektorn tavotefunkton arvoon. Seuraavan sukupolven populaato P G+1 valtaan nykysestä populaatosta P G a yrtepopulaatosta P G+1 seuraavan valntasäännön mukaan: X, G+ 1 U, = X, G+ 1 G = u,, G+ 1 os f muuton ( U ) f ( X ), G+ 1, G. (21) Jokasta yrtepopulaaton ykslöä verrataan stä vastaavan nykysen populaaton ykslön kanssa. Yrtevektora verrataan van yhteen populaaton äseneen. Kakk seuraavan sukupolven ykslöt ovat yhtä hyvä ta parempa kun vastaavat ykslöt nykysessä sukupolvessa. [Lam01] 21
Montavoteoptmonnn tapauksessa valntamenettely eroaa edellä estetystä, a se perustuu kappaleessa 2.2 määrteltyyn Pareto-domnanssn kästteeseen: X, G+ 1 = U X, G+ 1 ; G os muuton k { 1,..., l} : f ( U ) ( X ) k, G+ 1, G, (22) ossa l on tavotefunktoden lukumäärä a k tavotefunkton ndeks. Yrtevektor valtaan ss atkoon, os sen kakken tavotefunktoden arvot ovat paremmat ta yhtä hyvät kun vastaavan nykysen populaaton äsenen arvot. [Lam01a] 1) Start comparng vectors U,G+1 and X,G. 1) Obectve functon values for X,G are kept stored n the program varables n order to avod unnecessary re-evaluaton here. k = 1 Evaluate k:th obectve funct on, f k (U,G+ 1). f k (U,G+ 1) f k (X,G) YES k = k + 1 NO Last obectve functon? k = l NO Select vector X,G, the current populaton mem ber. YES 2) Select vector U,G+1, the tral vector. 2) Obectve functon values for the tral U,G+ 1 wll be stored n the program varables. End of comparson. Kuva 1. Pareto-optmontn perustuva valntamenettely. [Lam01a] 3.4 Raotteet Mutaaton a rsteytyksen älkeen on oleellsta tarkstaa, että tuotettuen kromosomen arvot ovat salltulla alueella. Parametrelle on yleensä määrätty ylä- a alaraat x (U) a x (L), oden 22
23 välssä kromosomn arvon tulee olla. Nätä raoa kutsutaan usen laatkkoraotteks. Raotteta rkkovat kromosomt vodaan esmerkks korvata satunnasella raotteden mukasella arvolla: (23), ossa = 1,,NP, = 1,,D. Laatkkoraotteden lsäks ongelmassa vo olla myös raotefunktota, oden kästtelyyn on olemassa useta menetelmä [Lam01b]. [Lam01] [ ] ( ) > < + = + + + + muuton u x u x u os x x x rand u G U G L G L L U G 1,, ) ( 1,, ) ( 1,, ) ( ) ( ) ( 1,, 0,1
DE/rand/1/bn 1. Kästeltävä kohdevektor 2. Valtaan satunnasest kaks muuta vektora 3. Kolmas satunnasest valttu vektor, mutaaton kohde ykslö 1 ykslö 2 ykslö 3 ykslö 4 ykslö 5 ykslö 6 tavotef. arvo 2.53 3.31 3.23 2.26 2.72 2.39 parametr 1 0.26 0.46 0.97 0.14 0.57 0.68 Nykynen parametr 2 0.65 0.85 0.43 0.75 0.83 0.54 populaato parametr 3 0.20 0.62 0.55 0.73 0.87 0.47 parametr 4 0.77 0.50 0.38 0.30 0.32 0.27 parametr 5 0.65 0.88 0.90 0.34 0.13 0.43 + - Rsteytys: Todennäkösyydellä CR valtaan parametr kohnavektorsta, muuten kohdevektorsta erotusvektor panotettu erotusvektor 0.32 0.26 0.10 0.08-0.11-0.09 0.20 x F 0.16 0.54 0.43 + + kohnavektor 0.94 0.62 0.38 0.43 0.86 Mutaato: Lsätään erotusvektor panotettuna F:llä kolmanteen satunnasest valttuun vektorn Valnta: Valtaan yrtevektorn a kohdevektorn välllä se, olla penemp tavotefunkton arvo yrtevektor Tavotefunkton arvo: 3.60 0.94 Lasketaan tavotefunkton arvo yr- DE:n muuttuat 0.65 dmenso D 5 0.38 tevektorlle populaaton koko NP 6 0.77 mutaatovako F 0.80 0.86 rsteytysvako CR 0.50 ykslö 1 ykslö 2 ykslö 3 ykslö 4 ykslö 5 ykslö 6 tavotef. arvo 2.53 parametr 1 0.26 Seuraavan parametr 2 0.65 sukupolven parametr 3 0.20 populaato parametr 4 0.77 parametr 5 0.65 Kuva 2. Dfferentaalevoluutoalgortmn tomnta. Tavotefunktona on esmerkssä käytetty f(x) = x1 + x2 + x3 + x4 + x5. [Lam01] 24
4 MONIMUOTOISUUTTA MITTAAVIEN MITTAREIDEN KEHITTÄMINEN Populaaton monmuotosuuden mttaamseen kehtetyt menetelmät ovat usen laskennallsest lan raskata käytännön sovellutuksssa käytettäväks. Tämän työn tarkotuksena on kehttää käyttökelponen menetelmä hakuavaruuden populaaton absoluuttsen a suhteellsen monmuotosuuden mttaamseks lukulukukoodatussa evoluutoalgortmessa. Tavotteena on tehdä mttarsta laskennallsest kevyt, otta se ols käyttökelponen käytettäessä myös suura populaatota. Lsäks mttarn tuls olla yleskäyttönen, otta stä votasn hyödyntää laaast. Myös mttareden antamen tulosten tuls olla vertalukelposa er ongelmlla. 4.1 Alkupopulaaton monmuotosuus Evoluutoalgortmessa alkupopulaato alustetaan tavallsest tasasen akauman satunnasluvulla. Tällön vodaan aatella populaaton olevan tasasest akautunut hakuavaruudessa, a populaaton yhden parametrn keskhaonta A vodaan estmoda yhtälöllä: x A = x ( U ) ( L) 12, (24) ossa (U ) x a (L) x ovat ylä- a alaraa, oden välstä kysenen parametr vo saada arvoa populaatota alustettaessa. Yhtälöstä (24) nähdään, ette yksttäsen parametrn keskhaonta rpu psteden lukumäärästä, el populaaton koosta NP. Er parametren saamat arvot vovat ss vahdella välllä (U ) x a (L) x, oten yksttäsen parametrn keskhaonta tulee skaalata keskhaontoen vakutuksen tasaamseks. Skaalaus vodaan tehdä esmerkks akamalla keskhaonta A kysesen parametrn suurmman a penmmän arvon erotuksella. Tasasest akautuneen alkupopulaaton 25
tapauksessa vodaan aatella parametrn suurmman a penmmän arvon olevan samat kun parametrn raat (U ) x a (L) x. Täten skaalaukselle saadaan: A ' = x ( U ) A x ( L). (25) Sottamalla yhtälö (24) yhtälöön (25) saadaan alkupopulaaton yhden parametrn skaalatuks keskhaonnaks ' A = 1 12. (26) Yhdstämällä kakken parametren skaalatut keskhaonnat nelöön korottamalla, summaamalla, a ottamalla nelöuur saadusta arvosta, saadaan alkupopulaaton monmuotosuus D 2 ' 2 alkupopula ato = A = D = = 1 1 12 D 12. (27) Yhtälöstä (27) nähdään, että nän määrtelty alkupopulaaton monmuotosuus rppuu van parametren lukumäärästä D. Käytetyllä populaaton koolla NP e sten ptäs olla merktystä alkupopulaaton monmuotosuuteen. Mttaamalla alkupopulaaton monmuotosuutta käyttämällä useta parametren arvoa a populaaton kokoa, a vertaamalla saatua arvoa teoreettseen alkupopulaaton monmuotosuuden arvoon, havattn populaaton koon kutenkn vakuttavan alkupopulaaton monmuotosuuteen, kuten kuvasta 3 nähdään. Vakutus on suurn penä populaaton kokoa käytettäessä, a suurlla populaatolla käyttäytymnen noudattaa teoreettsta malla. Penllä populaatolla, kun NP < 50, mtatut alkupopulaaton monmuotosuudet olvat korkeampa kun teoreettset monmuotosuudet. Luultavmpana syynä tähän on se, että penä populaatota käytettäessä ykslöt evät populaatota alustettaessa akaudu tasasest hakuavaruuteen, vaan hakualueen reunolle ää tyhä alueta. Suurella populaatolla on taas todennäköstä, että ykslötä osuu alustettaessa myös hakuavaruuden reunolle. 26
+ +! #"$$$ % &"$ '()* (( ( Kuva 3. Alkupopulaaton monmuotosuus parametren lukumäärän funktona. Jotta myös penä populaaton kokoa käytettäessä alkupopulaaton monmuotosuus noudattas teoreettsta malla, vodaan slle tehdä koraus kertomalla se sopvalla kertomella: ' alkupopula ato = NP 1 NP alkupopula ato. (28) Koska korauskertomen vakutus on suur penllä NP:n arvolla a pen suura populaatota käytettäessä, vodaan stä käyttää kaklla NP:n arvolla. Kuvassa 4 on esmerkk korauskertomen vakutuksesta alkupopulaaton monmuotosuuden arvoon er kokoslla populaatolla, kun parametren lukumääränä on 100. 27
! Kuva 4. Alkupopulaaton monmuotosuus populaaton koon funktona, parametren lukumäärän ollessa 100. 4.2 Suhteellnen a absoluuttnen monmuotosuus Suhteellsen a absoluuttsen monmuotosuuden mttart perustuvat keskhaontoen laskemseen parametrettan populaatosta. Populaato koostuu NP ykslöstä, osta okasessa on D parametra. Populaatota vodaan sten ptää on sarakkeden lukumäärä a D rven lukumäärä. NP D matrsna, ossa NP Alkupopulaaton oletettn edellä olevan tasasest akautunut, a sen keskhaontaa estmotn yhtälöllä (24). Optmonnn edetessä populaato suppenee koht optmn tuottava arvoa. Tällön keskhaontoen laskemseen e voda enää käyttää tasaakauman keskhaonnan odotusarvoa, vaan on käytettävä todellsta populaatosta laskettua normaalakauman keskhaontaa. Keskhaonnat lasketaan populaaton okaselle rvlle NP = 1 ( x x ), A = = 1,..., D NP 2, (29) 28
ossa x on populaaton :nnen parametrrvn arvoen keskarvo. Kun keskhaonnat on laskettu kaklle parametrrvelle, saadaan nstä D-pakkanen vektor A, oka ptää ssällään kakk keskhaonnat. Saadut keskhaonnat on skaalattava, sllä nden suuruusluokka vo vahdella suurest, a sten nden vakutus lopputulokseen ols er suurunen. Valttava skaalaustapa vakuttaa mttarn antamaan arvoon, a uur skaalaus on erona suhteellsen a absoluuttsen monmuotosuuden laskemsessa. Suhteellsta monmuotosuutta laskettaessa kunkn parametrrvn keskhaonta aetaan saman populaaton kysesen parametrrvn suurmman a penmmän arvon erotuksella. Jokanen keskhaonta on ss skaalattu stä vastaavan rvn suurmmalla mahdollsella haonnalla. Skaalauksessa on lsäks otettava huomoon, että ' A :n laskemsessa käytetty akaa saattaa ossakn tapauksssa saada arvon 0. Koska 0:lla akamsta e ole määrtelty, asetetaan akaan tullessa 0:ks kysenen skaalattu keskhaonta ' A 0:ks: A A ' ' = max ( x = 0 ) mn ( x ) A = 1, = 1,, D, D, os max( x ) mn( x ), os max( x ) = mn( x ). (30) Vektor ' A ssältää sten skaalatut keskhaonnat. Vektorn ' A elementt vodaan yhdstää yhdeks luvuks ottamalla stä L2-norm. Tämä tapahtuu korottamalla vektorn elementt ' A nelöön, summaamalla ne, a ottamalla nelöuur: ' ' ' 2 ' 2 R = A = A1 + A2 + + A ' 2 D = D = 1 A ' 2. (31) Alkupopulaaton monmuotosuutta tutkttaessa havattn parametren D lukumäärän vakuttavan sen monmuotosuuteen. Jotta suhteellsen monmuotosuuden arvot olsvat vertalukelposa käytettäessä er D:n arvoa, suortetaan slle yhtälön (27) mukasest koraus: 29
R = 12 D ' R. (32) Saatu suhteellsen monmuotosuuden mttar antaa sten tasasest akautuneelle alkupopulaatolle arvon 1 kaklla D:n arvolla. Koska kyse on estmaatsta, on alkupopulaaton suhteellnen monmuotosuus käytännössä heman yl ta alle arvon 1. Absoluuttsen monmuotosuuden laskemnen pokkeaa suhteellsen monmuotosuuden laskemsesta lähnnä skaalaustavan perusteella. Absoluuttsessa monmuotosuudessa yhtälöllä (29) lasketut keskhaonnat aetaan alkupopulaaton kunkn parametrn suurmman a penmmän arvon erotuksella. Sten akaa pysyy samana kakssa sukupolvssa parametrettan: A A = max ( x, G = 1) mn ( x, G = 1) '' = 1,, D. (33) Saadut skaalatut keskhaonnat yhdstetään ottamalla vektorsta suhteellstakn monmuotosuutta laskettaessa: '' A L2-norm, kuten A = A '' '' 2 '' 2 = A1 + A2 + + A '' 2 D = D = 1 A '' 2. (34) Skaalatut Absoluuttnen Populaato NP D Keskhaonnat keskhaonnat monmuotosuus X 1,1 X 2,1 X NP,1 A 1 A 1 X 1,2 A 2 A 2 A X 1,D X NP,D A D A D Kuva 5.Absoluuttsen monmuotosuuden laskemnen. 30
Suhteellnen a absoluuttnen monmuotosuus lasketaan okaselle sukupolvelle G. Molempen arvoen laskemsessa käytetään samoa keskhaontoa, a van mttareden skaalaustapa eroaa tosstaan. Sten molemmat monmuotosuudet okaselle sukupolvelle laskevan algortmn akakomplekssuus on luokkaa ( NP D G). Suhteellsen a absoluuttsen monmuotosuuden laskemseen tarvttava aka kasvaa lneaarsest populaaton koon kasvaessa. Se on sten huomattavast paremp kun Šmuc:n esttämän monmuotosuusmttarn eksponentaalnen komplekssuus a samaa luokkaa Lopez Cruz et al. :n menetelmän kanssa. Monmuotosuuksen laskemnen on nopeaa, a mttar sop käytettäväks myös suura populaatota vaatven ongelmen kanssa. 31
5 MITTAREIDEN TOIMINNAN TARKASTELU Mttareden tomntaa tarkasteltn ratkasemalla tunnettua testongelma dfferentaalevoluutoalgortmlla, a mttaamalla suhteellsta a absoluuttsta monmuotosuutta ongelmanratkasun akana. Mttart laskevat suhteellsen a absoluuttsen monmuotosuuden okasen sukupolven populaatolle, oten kysesten arvoen kehtystä on mahdollsta seurata a arvoda optmonnn etenemsen suhteen. 5.1 Testongelmat Menetelmän tomnnan testaamsta varten valttn hyvn tunnettua a palon käytettyä testongelma. Tunnetun geneettsten algortmen testaamseen käytetty testsara on De Jong:n testsara [DeJ75], oka koostuu vdestä ongelmasta. De Jong:n sarasta valttn käytettäväks kahta sen ensmmästä ongelmaa, Sphere:ä a Rosenbrock:a. Lsäks valttn useta muta tarkotukseen sopva testongelma, otka estellään myöhemmn tässä kappaleessa. Testfunktoden omnasuudet vakuttavat suurest optmontalgortmen kykyyn löytää globaal optm. Tetyt omnasuudet vovat aheuttaa ollekn algortmelle suura vakeuksa, vakka toslle algortmelle nstä e ole hattaa. Funktoden tärkemmät omnasuudet ovat: Jatkuvuus a epäatkuvuus: Funkto on atkuva, mkäl sen kuvaaa on yhtenänen käyrä tarkasteltavana olevalla alueella. Funkton on ss oltava atkuva okasessa tarkasteltavan väln psteessä. Kuperuus a koveruus: Käyrä on kupera, mkäl sen okaseen psteeseen prretty tangentt on kokonaan käyrän alapuolella. Vastaavast käyrä on kovera, os sen okaseen psteeseen prretty tangentt on kokonaan käyrän yläpuolella. 32
Ykshuppusuus (unmodaalsuus) a monhuppusuus (multmodaalsuus): Funkto on ykshuppunen, mkäl sllä e ole globaaln optmn lsäks lokaalea optmeta. Monhuppusella funktolla on globaaln optmn lsäks vähntään yks lokaal optm. Skaalautuvuus: Funkton sanotaan olevan skaalautuva, mkäl funkto soveltuu käytettäväks mllä tahansa määrällä muuttua, el parametren määrällä D. Separotuvuus: Funkto on separotuva, os se vodaan esttää yhden muuttuan funktoden summana. 5.1.1 Testfunkto Sphere Sphere on De Jong:n testsaran ensmmänen a helpon funkto. Funkto on symmetrnen, skaalautuva, atkuva, konveks a ykshuppunen. Yksnkertasuutensa vuoks funkto soveltuu myös käytettävän algortmn ylesen tehokkuuden arvontn. [Yur94] f ( ) N = 1, N = = 1 x x 2 (35) x [ 5.12, 5.12] Funkton globaal mnmarvo on 0, a se satsee orgossa. 33
Kuva 6. Testfunkto Sphere. 5.1.2 Testfunkto Ellpsod 1 Testfunkto Ellpsod 1 on edellsen testfunkton varaato. Se on koordnaatston akseleden suuntanen ellpsod, ossa parametrkohtanen mutaatoaskeleen säätämnen on tarpeen. Funkton muuttuat ovat rppumattoma tosstaan. 2 ( x + 3 x ) + ( x ) 2 f ( x x = 1,2 ) = 1 1 2 3 2 (36) x [ 5.12, 5.12] Ellpsod 1:n globaal mnmarvo on 0, a se satsee orgossa. 34
Kuva 7. Testfunkto Ellpsod 1. 5.1.3 Testfunkto Ellpsod 2 Funkto Ellpsod 2 on kuten Ellpsod 1, mutta ellpsoda on kerretty koordnaattakseleden suhteen. Tämä aheuttaa sen, että funkton muuttuat ovat rppuvasa tosstaan. Muuttuen rppuvuuden vuoks e rtä, että hakua suortetaan van koordnaattakseleden suuntasest, vaan haun on kyettävä etenemään kakkn suuntn. Tällasta kakkn suuntn etenevää hakua kutsutaan rotaatonvarantks. 2 ( x + 3 x ) + ( x + ) 2 f ( x x = 1,2 ) = 1 2 2 3 1 (37) x [ 5.12, 5.12] Globaal mnmarvo funktolle Ellpsod 2 on 0, a se satsee orgossa. 35
Kuva 8. Testfunkto Ellpsod 2. 5.1.4 Testfunkto Rosenbrock Funkto Rosenbrock on klassnen optmontongelma. Globaal optm satsee ptkässä, kapeassa paraboln muotosessa laaksossa. Laakson löytämnen on helppoa, mutta suppenemnen globaaln optmn on vakeaa. Jotta globaal optm löydetään, on algortmn kyettävä hakemaan kakkn mahdollsn suuntn, e van pelkästään koordnaattakseleden suuntasest. Kakkn suuntn yhtä tehokkaast hakua suorttavaa menetelmää kutsutaan rotaatonvarantks, koska ongelman kertämnen koordnaattakseleden suhteen e vakeuta kysesellä menetelmällä globaaln optmn löytämstä. Rosenbrock:sta on olemassa kahden muuttuan verso (Rosenbrock) a ylestetty skaalautuva verso (Generalzed Rosenbrock). Rosenbrock: f 2 2 ( x ) = 100 ( x x ) + ( x ) 2 = 1,2 1 2 1 x [ 2.048, 2.047] 1 (38) Generalzed Rosenbrock: f 2 ( + 1 ) N 1 2 2 ( x ) = 100 ( x x ) + ( x ) = 1, N 1 = 1 (39) x [ 5.12, 5.12] 36
Kummankn funkton globaal mnmarvo on 0, a se saavutetaan parametren arvolla x = 1. [Wh96], [Yur94] Kuva 9. Testfunkto Rosenbrock. 5.1.5 Testfunkto Schwefel Schwefel:n funkto on petollnen, sllä globaal mnm satsee hakuavaruuden suhteen etäällä seuraavaks parhaasta lokaalsta mnmstä. Nnpä vaarana saattaa olla suppenemnen väärään suuntaan. Funkto on skaalautuva. [Poh94] f ( x = 1, N ) = x sn ( x ) (40) x [ 512, 511] Globaal mnm satsee psteessä x = 420,9687, a funkton globaal mnmarvo rppuu käytetystä parametren määrästä ollen 418, 9829 N. [Wh96] 37
Kuva 10. Testfunkto Schwefel. 5.1.6 Testfunkto Grewank Grewank:n funkto on skaalautuva, a sllä on useta laaalle levnnetä lokaalea mnmpstetä. f ( x x N 2 N = 1, N ) = cos + 1 = 1 4000 = 1 x (41) x [ 512, 511] Grewank:n funkton globaal mnmarvo on 0, a se satsee orgossa. Funkton lokaalen mnmen lukumäärä kasvaa eksponentaalsest dmensoden lsääntyessä. Tettyä algortmea käytettäessä globaaln mnmn löytämnen tulee helpommaks dmensoden lsääntyessä. [Wh96], [Loc03] 38
Kuva 11. Testfunkto Grewank. 5.2 Kokeellnen tarkastelu Kehtettyen mttareden tomntaa tarkasteltn kokeellsest ratkasemalla testongelma dfferentaalevoluutoalgortmlla a mttaamalla monmuotosuutta. Suortettuen kokeden tavotteena ol saada alustava kästys mttareden tomnnasta a nssä mahdollsest esntyvstä ongelmsta. Monmuotosuuden mttart toteutettn C-kelsenä funktona, ota kutsuttn olemassa olevasta C-kelsestä dfferentaalevoluutoalgortmn ohelmasta. Valmna olleeseen dfferentaalevoluuto-ohelmaan ouduttn tekemään penä muutoksa, kuten alkupopulaaton parametren penmmän a suurmman arvon etsmnen, sekä suhteellsen a absoluuttsen monmuotosuuden tulostamnen tedostoon a näytölle. Populaaton suhteellsta a absoluuttsta monmuotosuutta mttaavan mttarn C- lähdekelnen ohelma löytyy ltteestä 1. Kunkn testaon tulokssta prrettn kolme kuvaaaa, osta ensmmäsessä on suhteellnen a absoluuttnen monmuotosuus sukupolven funktona, tosessa sama puollogartmsta astekkoa käyttäen a kolmannessa paras tavotefunkton arvo f(x) sukupolven funktona puollogartmsella astekolla. Nden funktoden kohdalla, olla globaaln optmn arvo e ole 0, käytettn kolmannessa kuvaaassa parhaan tavotefunkton arvon a funkton optmarvon erotusta f(x f(x * ) sukupolven funktona puollogartmsella astekolla. 39
Dfferentaalevoluuton kontrollparametrt pyrttn valtsemaan sten, että saadaan helpost ratkeava tapauksa, sekä vaketa tapauksa, ossa on ongelma löytää optmratkasu ta optmont epäonnstuu. Rsteytysvakoks CR valttn arvo 1,0, a mutaatovakolle F valttn arvo 0,5. Rsteytysvakon CR arvoon 1,0 päädyttn, koska tällön dfferentaalevoluuton haku on rotaatonvarantt, tosn sanoen haku pääsee tapahtumaan kakkn mahdollsn suuntn yhtä tehokkaast. Tästä on hyötyä etenkn ongelmssa, ossa muuttuat ovat rppuvasa tosstaan. Testauksessa käytetyt parametren lukumäärän D a populaaton koon NP yhdstelmät käytetyllä testfunktolla on estetty taulukossa 1. Taulukko 1. Testtapaukset testfunktottan, kakssa CR = 1,0 a F = 0,5. Testtapaus 1: Testtapaus 2: Testtapaus 3: Testtapaus 4: Testtapaus 5: Testfunkto D = 2 D = 10 D = 20 D = 20 D = 20 NP = 40 NP = 100 NP = 50 NP = 100 NP = 200 Sphere X X X X X Ellpsod 1 X Ellpsod 2 X Rosenbrock X X X X X Schwefel X X X X X Grewank X X X X X Testfunktota Ellpsod 1 a 2 käytettn van ensmmäsessä testtapauksessa, koska nden antamat tulokset osottautuvat odotetulla tavalla vastaavks kun funkton Sphere, a sten ol tarpeetonta tarkastella ntä käyttäen muta D:n a NP:n arvoa. Kaklla mulla testfunktolla suortettn kakk testtapaukset. Testtapaukset pyrttn valtsemaan sten, että kokeellsesta tarkastelusta saatava hyöty ols mahdollsmman suur, a er testtapauksa votasn verrata keskenään. 40
6 TULOKSET Tässä kappaleessa tarkastellaan testaoen tuloksa, a analysodaan keskesmpä nstä havattava omnasuuksa. Kuvaaat testaosta ovat lttessä 2-6. 6.1 Testtapaus 1 Helpommalla testtapauksella, parametren lukumäärän ollessa 2 a populaaton koon ollessa 40, ovat tulokset lähmpänä deaalsta a tulosten tulknta melko suoravvasta. Suhteellnen monmuotosuus lähtee non arvosta 1, kuten kuuluukn suhteellselle monmuotosuudelle tehdyn skaalauksen vuoks. Tyypllsest suhteellnen monmuotosuus laskee heman a pysyy haonnan puttessa lkman vakona, pysytellen non 0,8:n pakkella, kunnes se laskee huomattavast ta katoaa kokonaan. Muutoksen syynä on laskentatarkkuuden loppumnen. Testfunktolla Sphere laskentatarkkuuden loppuessa suhteellnen monmuotosuus asettuu non 0,4:ään, kun taas molemmlla Ellpsod-funktolla se katoaa kokonaan. Testfunkton Ellpsod 1 tulokssta (lte 2, kuva 2) nähdään, että funkton venyttämnen koordnaattakseleden suunnassa e vakuta mttarn tomntaan. Samon testfunkton Ellpsod 2 tulokssta (lte 2, kuva 3) huomataan, ette funkton venyttämnen melvaltasessa suunnassa ta funkton kertämnen koordnaattakseleden suhteen vakuta mttaren antamn tuloksn. Suhteellnen monmuotosuus saattaa myös kasvaa huomattavast uur ennen katoamstaan, kuten esmerkks Rosenbrock:n a Schwefel:n funktoden kohdalla on käynyt. Lsäks Schwefel:n funkton kohdalla suhteellnen monmuotosuus käyttäytyy musta funktosta poketen, sllä sen arvo lähtee aluks kasvamaan, onka älkeen se kääntyy laskuun a saavuttaa hetkeks normaaln tason a lopuks kohoaa vomakkaast ennen katoamstaan. Suhteellsen monmuotosuuden kasvamnen ohtuu luultavast haun uuttumsesta yhteen ta useampaan lokaaln optmn, ota Schwefel:n funktolla on runsaast. Ennen suhteellsen monmuotosuuden katoamsta esntyvä vomakas kasvu ohtunee puolestaan globaaln optmn löytymsestä. Grewank:n funktolla suhteellnen 41