NeuroHaku monikerroksisen perceptron-neuroverkon epälineaarinen optimointi

Samankaltaiset tiedostot
MS-A0205/MS-A0206 Differentiaali- ja integraalilaskenta 2 Luento 7: Lagrangen kertojat. Pienimmän neliösumman menetelmä.

Tchebycheff-menetelmä ja STEM

Johdatus tekoälyn taustalla olevaan matematiikkaan

3.5 Generoivat funktiot ja momentit

Painokerroin-, epsilon-rajoitusehtoja hybridimenetelmät

Epälineaaristen pienimmän neliösumman tehtävien ratkaiseminen numeerisilla optimointimenetelmillä (valmiin työn esittely)

1. Luvut 1, 10 on laitettu ympyrän kehälle. Osoita, että löytyy kolme vierekkäistä

TIES592 Monitavoiteoptimointi ja teollisten prosessien hallinta. Yliassistentti Jussi Hakanen syksy 2010

Monte Carlo -menetelmä

Painotetun metriikan ja NBI menetelmä

Tavoitteet skaalaavan funktion lähestymistapa eli referenssipiste menetelmä

Jaksolliset ja toistuvat suoritukset

4. A priori menetelmät

Työn tavoitteita. 1 Johdanto. 2 Ideaalikaasukäsite ja siihen liittyvät yhtälöt

Mat Lineaarinen ohjelmointi

3 Tilayhtälöiden numeerinen integrointi

6. Stokastiset prosessit (2)

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi

HASSEN-WEILIN LAUSE. Kertausta

FDS-OHJELMAN UUSIA OMINAISUUKSIA

Mat /Mat Matematiikan peruskurssi C3/KP3-I Harjoitus 2, esimerkkiratkaisut

ABTEKNILLINEN KORKEAKOULU

4. Datan käsittely lyhyt katsaus. Havaitsevan tähtitieteen peruskurssi I, luento Thomas Hackman

Geneettiset algoritmit ja luonnossa tapahtuva mikroevoluutio

7. Modulit Modulit ja lineaarikuvaukset.

Eräs Vaikutuskaavioiden ratkaisumenetelmä

Markov-prosessit (Jatkuva-aikaiset Markov-ketjut)

on määritelty tarkemmin kohdassa 2.3 ja pi kohdassa 2.2.

3. Datan käsittely lyhyt katsaus

VERKKOJEN MITOITUKSESTA

Uuden eläkelaitoslain vaikutus allokaatiovalintaan

Taustaa. Sekventiaalinen vaikutuskaavio. Päätöspuista ja vaikutuskaavioista. Esimerkki: Reaktoriongelma. Johdantoa sekventiaalikaavioon

1 0 2 x 1 a. x 1 2x c b 2a c a. Alimmalta riviltä nähdään että yhtälöyhmällä on ratkaisu jos ja vain jos b 3a + c = 0.

Puupintaisen sandwichkattoelementin. lujuuslaskelmat. Sisältö:

FYSA220/2 (FYS222/2) VALON POLARISAATIO

Rahastoonsiirtovelvoitteeseen, perustekorkoon ja vakuutusmaksukorkoon liittyvät laskentakaavat ja periaatteet

Tietojen laskentahetki λ α per ,15 0,18 per ,15 0,18 per tai myöhempi 0,20 0,18

Kokonaislukuoptimointi

ER-kaaviot. Ohjelmien analysointi. Tilakaaviot. UML-kaaviot (luokkakaavio) Tietohakemisto. UML-kaaviot (sekvenssikaavio) Kirjasto

Jaetut resurssit. Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit. Mitä voi mennä pieleen? Resurssikilpailu ja estyminen

PPSS. Roolikäyttäytymisanalyysi Tämän raportin on tuottanut: MLP Modular Learning Processes Oy Äyritie 8 A FIN Vantaa info@mlp.

Mittausvirhe. Mittaustekniikan perusteet / luento 6. Mittausvirhe. Mittausepävarmuus ja siihen liittyvää terminologiaa

Aamukatsaus

Asennus- ja käyttöohjeet. Videoterminaali

Työn tavoitteita. 1 Johdanto. 2 Ideaalikaasukäsite ja siihen liittyvät yhtälöt

SU/Vakuutusmatemaattinen yksikkö (6)

Sähkön- ja lämmöntuotannon kustannussimulointi ja herkkyysanalyysi

Kynä-paperi -harjoitukset. Taina Lehtinen Taina I Lehtinen Helsingin yliopisto

SU/Vakuutusmatemaattinen yksikkö (5)

Palkanlaskennan vuodenvaihdemuistio 2014

in 2/ InHelp palvelee aina kun apu on tarpeen INMICSIN ASIAKASLEHTI

Tilastollisen fysiikan luennot

Kansainvälisen konsernin verosuunnittelu ja tuloksenjärjestely

1. YLEISKATSAUS MYYNTIPAKKAUKSEN SISÄLTÖ. ZeFit USB -latausklipsi Käyttöohje. Painike

Segmentointimenetelmien käyttökelpoisuus

Yrityksen teoria. Lari Hämäläinen S ysteemianalyysin. Laboratorio. Teknillinen korkeakoulu

BL20A0600 Sähkönsiirtotekniikka

= m B splini esitys. B splini esitys. Tasaiset B splinit

Luento 6 Luotettavuus Koherentit järjestelmät

COULOMBIN VOIMA JA SÄHKÖKENTTÄ, PISTEVARAUKSET, JATKUVAT VARAUSJAKAUMAT

A = B = T = Merkkijonon A osamerkkijono A[i..j]: n merkkiä pitkä merkkijono A:

Yksikköoperaatiot ja teolliset prosessit

Paperikoneiden tuotannonohjauksen optimointi ja tuotefokusointi

Rahastoonsiirtovelvoitteeseen ja perustekorkoon liittyvät laskentakaavat. Soveltaminen

Tchebycheff-menetelmä ja STEM

AB TEKNILLINEN KORKEAKOULU

d L q i = V = mc 2 q i 1 γ = = p i. = V = γm q i + QA i. ṗ i + Q A i + Q da i t + j + V + Q φ

POPULAATION MONIMUOTOISUUDEN MITTAAMINEN LIUKULUKUKOODATUISSA EVOLUUTIOALGORITMEISSA

Mekaniikan jatkokurssi Fys102

TULEVAISUUDEN KILPAILUKYKY VAATII OSAAVAT TEKIJÄNSÄ. Suomen Ammattiin Opiskelevien Liitto - SAKKI ry

5. Datan käsittely lyhyt katsaus. Havaitsevan tähtitieteen peruskurssi I, luento Thomas Hackman

KUVIEN LAADUN ANALYSOINTI

Hallin ilmiö. Laatija - Pasi Vähämartti. Vuosikurssi - IST4SE. Tekopäivä Palautuspäivä

Mat Tilastollisen analyysin perusteet, kevät 2007

Työssä tutustutaan harmonisen mekaanisen värähdysliikkeen ominaisuuksiin seuraavissa

Sähkökiukaan kivimassan vaikutus saunan energiankulutukseen

Timo Tarvainen PUROSEDIMENTIIANALYYSIEN HAVAINNOLLISTAMINEN GEOSTATISTIIKAN KEINOIN. Outokumpu Oy Atk-osasto

Kanoniset muunnokset

AMMATTIMAISTA KIINTEISTÖPALVELUA JO 50 VUODEN AJAN

Saatteeksi. Vantaalla vuoden 2000 syyskuussa. Hannu Kyttälä Tietopalvelupäällikkö

Raja-arvot. Osittaisderivaatat.

1, x < 0 tai x > 2a.

Kuntoilijan juoksumalli

Epätäydelliset sopimukset

Lohkoasetelmat. Lohkoasetelmat. Lohkoasetelmat: Mitä opimme? Lohkoasetelmat. Lohkoasetelmat. Satunnaistettu täydellinen lohkoasetelma 1/4

Moderni portfolioteoria

Mat Tilastollinen päättely 7. harjoitukset / Tehtävät. Hypoteesien testaus. Avainsanat:

Työllistääkö aktivointi?

Tarkastellaan kuvan 8.1 (a) lineaarista nelitahoista elementtiä, jonka solmut sijaitsevat elementin kärkipisteissä ja niiden koordinaatit ovat ( xi

Ilmari Juva. Jalkapallo-ottelun lopputuloksen stokastinen mallintaminen

r i m i v i = L i = vakio, (2)

TYÖVOIMAKOULUTUKSEN VAIKUTUS TYÖTTÖMIEN TYÖLLISTYMISEEN

Mittausepävarmuus. Mittaustekniikan perusteet / luento 7. Mittausepävarmuus. Mittausepävarmuuden laskeminen. Epävarmuuslaskelma vai virhearvio?

- Keskustelu symbolein. i

Galerkin in menetelmä

Matematiikan ja tilastotieteen laitos Johdatus diskreettiin matematiikkaan (Syksy 2008) 4. harjoitus Ratkaisuja (Jussi Martin)

3.3 Hajontaluvuista. MAB5: Tunnusluvut

Yrityksen teoria ja sopimukset

Vesipuitedirektiivin mukainen kustannustehokkuusanalyysi maatalouden vesienhoitotoimenpiteille Excel sovelluksena

Transkriptio:

Arja Lavonen NeuroHaku monkerrokssen perceptron-neuroverkon epälneaarnen optmont Tetoteknkan pro gradu -tutkelma Teteellnen laskenta 4. syyskuuta 2005 Jyväskylän ylopsto Tetoteknkan latos Jyväskylä

Tekjä: Arja Lavonen Yhteystedot: emal: arhelavo@cc.jyu.f Työn nm: NeuroHaku monkerrokssen perceptron-neuroverkon epälneaarnen optmont Ttle n Englsh: NeuroSearch nonlnear optmzaton of multlayer perceptron neural network Työ: Tetoteknkan pro gradu -tutkelma Svumäärä: 74 Lnja: Teteellnen laskenta Tvstelmä: Resurssnhaku vertasverkossa on haastavaa, koska verkossa e ole kesktettyä hakemstoa, josta hakuja vos tehdä. Resurssn löytämseks on kehtetty mona hakualgortmeja. Yks tällanen hakualgortm on NeuroHaku, joka käyttää monkerrosperceptronneuroverkkoja. Tässä tutkelmassa kästellään lyhyest vertasverkkoja, neuroverkkoja ja NeuroHaun tomntaa. Tutkmuksen käytännön osassa selvtetään, mten er optmontmenetelmät sopvat monkerrosperceptron-neuroverkon optmontn. Käytettyjä menetelmä ovat suorahakumenetelmät ja evoluutoalgortmt. Englsh abstract: Fndng a resource n Peer-to-Peer (P2P) network s challengng because there sn t any ndex where to search from. Many search algorthms have been developed to fnd the resources. One of these algorthms s NeuroSearch, whch uses multlayer perceptron neural networks. In ths thess Peer-to-Peer networks, neural networks and the functon of NeuroSearch are descrbed. In the practcal part of thess t s studed how dfferent optmzaton methods sut for optmzng multlayer perceptron neural networks. Drect search methods and evolutonary algorthms are used for optmzaton. Avansanat: neuroverkko, vertasverkko, optmont, Powelln menetelmä, evoluutoalgortmt, geneettset algortmt, evoluuto-ohjelmont, evoluutostrategat, MLP Keywords: neural network, peer-to-peer, optmzaton, Powell s method, evolutonary algorthms, genetc algorthms, evolutonary programmng, evoluton strateges, MLP Copyrght c 2005 Arja Lavonen All rghts reserved.

Ssältö 1 Johdanto 1 1.1 Tutkmusongelma............................... 1 1.2 Cheese Factory -tutkmusryhmä....................... 1 1.3 Tutkelman rakenne.............................. 2 2 Vertasverkosta 3 2.1 Asakas-palveln -mall............................ 3 2.2 Hybrd vertasverkko............................. 4 2.2.1 Bt Torrent -verkko.......................... 5 2.3 Puhdas vertasverkko............................. 7 2.4 Vertasverkot tulevasuudessa......................... 8 3 Neuroverkosta 9 3.1 Neuroverkon rakenne............................. 9 3.2 Neuroverkon oppmnen........................... 10 3.2.1 Ohjattu oppmnen.......................... 11 3.2.2 Mukautuva oppmnen........................ 11 4 Optmonnsta 12 4.1 Mtä optmont on?.............................. 12 4.2 Termejä ja määrtelmä............................ 13 4.2.1 Objektfunkto, rajotefunkto ja muuttujat.............. 13 4.2.2 Globaal ja lokaal optm...................... 13 4.2.3 Mnmont ja maksmont...................... 13 4.2.4 Unmodaalsuus........................... 14 4.3 Erlasa optmonttehtävä.......................... 14 5 Optmontmenetelmä 16 5.1 Epälneaarnen optmont........................... 17 5.1.1 Powelln menetelmä......................... 17 5.1.2 Powelln tonen menetelmä...................... 19

5.1.3 Zangwllen menetelmä........................ 20 5.2 Evoluutoalgortmt.............................. 21 5.2.1 Mutaato............................... 23 5.2.2 Rekombnaato............................ 24 5.2.3 Valnta................................ 25 5.2.4 Geneettset algortmt......................... 26 5.2.5 Evoluutostrategat.......................... 28 5.2.6 Evoluuto-ohjelmont........................ 29 6 Resurssen hakuongelma 31 6.1 Resurssen hakuongelman formalsont................... 31 6.1.1 Ssääntuloparametrt ja funkto.................... 31 6.1.2 Muut muuttujat ja funktot...................... 32 6.1.3 Algortm............................... 33 6.1.4 Ongelman rajotteta......................... 34 7 NeuroHaku 35 7.1 Ssääntuloparametrt............................. 35 7.2 Rakenne.................................... 40 7.3 Panokertomen määräämnen........................ 40 7.4 Aemmat tutkmukset............................. 42 8 Tutkmusympärstö 43 8.1 Mtattavat suureet............................... 43 8.2 Java-luokat.................................. 43 8.3 Käytetyt menetelmät............................. 44 8.3.1 Rekombnaato............................ 44 8.3.2 Mutaato............................... 44 8.3.3 Valnta................................ 44 8.4 Käytetyt latteet................................ 45 8.5 Neuroverkon optmont suorahakumenetelmllä............... 45 9 Tutkmustuloksa 47 9.1 Ykspstersteytys............................... 48 9.1.1 Eltstnen valnta........................... 48 9.1.2 Todennäkösyyteen perustuva valnta................ 49

9.1.3 Turnajasvalnta............................ 51 9.2 Kakspste-rsteytys.............................. 52 9.2.1 Eltstnen valnta........................... 52 9.2.2 Todennäkösyyteen perustuva valnta................ 55 9.2.3 Turnajasvalnta............................ 56 9.3 Mutaaton vomakkuuden ja rsteytysasteen vakutus............ 57 9.3.1 Ykspstersteytys........................... 57 9.3.2 Kakspstersteytys.......................... 59 9.4 Yhteenveto tutktusta menetelmstä..................... 60 9.4.1 Yhteenveto ykspstersteytyksestä.................. 60 9.4.2 Yhteenveto kakspstersteytyksestä................. 62 9.5 Johtopäätökset................................. 63 10 Loppupäätelmät 65 10.1 Yhteenveto.................................. 65 10.2 Tulevasuus.................................. 65 Lähteet 67

1 Johdanto 1.1 Tutkmusongelma Tässä tutkmuksessa selvtetään, mten er optmontmenetelmät sopvat monkerrokssen perceptron (engl. mult-layer perceptron, MLP)-neuroverkon optmontn. Tutkmustapauksena käytetään MLP:hen perustuvaa NeuroHaku-neuroverkon optmonta. NeuroHakua käytetään vertasverkossa päättämään, mtä kautta kyselyt levävät vertasverkossa, perustuen vertasverkkosolmun ssältämään lokaaln tetämykseen. NeuroHaussa on käytössä evoluuto-ohjelmontn pohjautuva optmontalgortm. Optmont ve melko kauan akaa ja se vo jossan tapauksessa pysähtyä myös kesken, joten evoluuto-ohjelmont e näyttäs olevan paras mahdollnen optmontalgortm NeuroHaun tapauksessa. Optmont haluttasn saada tommaan nopeammn sälyttäen slt rttävä ftnessarvo. Tehtävän ol pyrkä löytämään NeuroHakuun sopvamp optmontalgortm, jotta laskenta-akaa saatasn huomattavast vähennettyä. 1.2 Cheese Factory -tutkmusryhmä Pro gradu -aheen san Jyväskylän ylopston vertasverkkoja tutkvalta Cheese Factory [8] tutkmusryhmältä. Ryhmä tutk vertasverkkojen tetolkennettä ja vertasverkkojen käyttäytymstä resurssen hajautetussa haussa sekä vertasverkkojen tehokasta käyttöä. Projektn WWW-svulla hanketta kuvataan seuraavast: Hankkeessa tutktaan laskennan hajauttamsta uselle, tasa-arvoslle laskentaykskölle. Tämän tyyppstä laskentaa kutsutaan vertasverkkolaskennaks. Vertasverkkolaskennassa e ole lankaan Master-ykskköä, joka huolehts järjestelmän tomnnasta, vaan myös kakk ylläptoon tarvttavat tomnnallsuudetkn (esm. tehtäven jako) on hajautettu. Ratkasun etuna on vkasetosuus, skaalautuvuus sekä ylläpdon helppous. Hattana on taas hallnta-algortmen monmutkasuus ja suuremp resurssen tarve. [1] 1

1.3 Tutkelman rakenne Luvussa kaks kästellään vertasverkkoja ja er verkkoarkktehtuureta. Luvussa kolme käydään läp neuroverkkoja, nden rakennetta ja oppmsta. Lukuun neljä on koottu perustetoa optmonnsta: termejä, määrtelmä ja erlasa optmonttehtävä. Luvussa vs estellään tutkmuksessa käytetyt optmontmenetelmät. Luvussa kuus käydään läp resurssen hakuongelma vertasverkossa. Luvussa setsemän kästellään NeuroHakua, mtä se tekee, mten se on rakentunut ja mten se tom. Luvussa kahdeksan on kuvattu tutkmusympärstö. Lukuun yhdeksän on koottu tutkmuksessa saadut tulokset. Vmesessä luvussa estetään loppupäätelmät. 2

2 Vertasverkosta Vertasverkot (engl. Peer-to-Peer, P2P) tunnetaan pääasassa tedostojen, etenkn muskktedostojen, jakamsesta. Tunnetumpa vertasverkkoja käyttävä sovelluksa ovat Napster [25], Gnutella [12] ja KaZaA [17]. Vertasverkkoja vodaan kutenkn käyttää myös esmerkks hajautettuun laskentaan [19]. Myös monet pkavestnohjelmsta perustuvat vertasteknkkaan [32]. Skype-vertasverkon [30] nternet-puhelut on myös ala, joka lsää jatkuvast suosotaan vertasverkossa. Vertasverkko on vanha keksntö. Ensmmänen dokumentt, jossa kästeltn tetojen vahtamsta kahden tetokoneen välllä, julkastn jo vuonna 1969. Vuosen saatossa vertasverkot kutenkn unohtuvat, sllä asakas-palveln -mall sop hyvn lähes kakkn tarpesn. Vuonna 1999 nykymuotoset vertasverkot nousvat puheenaheeks Napstern myötä. Napster ol vertasverkko, joka mahdollst käyttäjlle tehokkaan ja lmasen tavan kopoda tedostoja tonen tosltaan. Etenkn mp3-muskn jako tek stä merkttävän sovelluksen, jonka myötä tedostojen jakamsen ajatus levs nopeast ja synnytt mona klpaleva ohjelma. [32] Seuraavassa estellään olemassa oleva vertasverkkoarkktehtuureta, josta puhtaassa vertasverkossa tom NeuroHaku. 2.1 Asakas-palveln -mall Asakas-palveln arkktehtuurssa verkko rakentuu palvelmsta ja asakaskonesta. Palveln on verkon keskenen osa. Se tarjoaa kaken verkon ssällön ja palvelut. Asakas vo van pyytää palvelmelta jotan tedostoa ta palvelua. Asakas e pysty tarjoamaan mulle verkon konelle mtään oma resurssejaan. [29] Rajanveto asakkaan ja palvelmen vällle e välttämättä kutenkaan ole han yksnkertasta. Asakas-palveln -mallssa asakkaan ja palvelmen roolt vovat vahtua tlanteen mukaan. Esmerkks postn luvun akana sähköpostjärjestelmä tom palvelmena ja työasema on asakas. Sähköpostpalveln muuttuu kutenkn asakkaaks, kun se välttää posta eteenpän ja keskustelee tosen postpalvelmen kanssa. [32] Kuvassa 2.1 on estetty asakas-palveln arkktehtuurn rakennetta. Ensn asakas tekee haun palvelmelle, mnkä jälkeen palveln lähettää tedon stä, löytykö haettua resurssa. 3

Kuva 2.1: Asakas-palveln arkktehtuur Jos resurss löyty, asakas pyytää sen käyttöön palvelmelta. 2.2 Hybrd vertasverkko Vertasverkolla tarkotetaan verkkoa, joka muodostuu hajautetusta vertassolmusta. Jokanen solmu tom sekä palvelmena että asakkaana. Tosn kun asakas-palveln -mallssa solmu vo nyt tarjota palveluja mulle solmulle sekä kuluttaa muden solmujen tarjoama palveluta. Vertassolmuja kutsutaan usen vertasks. Hybrdn vertasverkon erottaa puhtaasta vertasverkosta se, että hybrdssä vertasverkossa on olemassa keskussolmu, joka ptää krjaa verkon ssällöstä ta palvelusta. Jos tämän solmun postaa, osa verkon resurssen tedosta hävää sen mukana. [29] Resurssn haku hybrdssä vertasverkossa on estetty kuvassa 2.2. Ensmmäsenä vertasen krjautuessa verkkoon, tedot hänen resurssestaan reksterödään hakemstoon. Hakemsto ptää ss yllä tetoa kaksta verkossa olevsta resurssesta. Kun vertanen haluaa etsä jonkn tetyn resurssn, lähettää se haun hakemstoon. Hakemstolta tulee vastaus, löytyykö resurssa ja jos löytyy, nn mssä se sjatsee. Tämän jälkeen resurssa vodaan käyttää suoraan kahden vertasen välllä. Hybrdssä mallssa on useta teknsä hekkouksa. Ensnnäkn keskuspalveln on välttämätön järjestelmän tomnnalle, mkä tekee stä todella vkaantumsalttn. [32] Keskuspalveln on myös verkon pullonkaula, sllä suurn osa lkenteestä kulkee snne. Lsäks hybrdssä vertasverkossa palvelmen hankkmnen on kalls lattestonvestont. 4

Kuva 2.2: Resurssn hakemnen hybrdssä vertasverkossa 1990-luvun lopulla kehtetty Napster ol hybrdä vertasverkkoa käyttävä sovellus. Verkossa ol keskussolmu, joka tom hakemstona. Käyttäjän krjautuessa verkkoon, kaksta hänen jakamstaan tedostosta men teto hakemstoon. Tedoston sjanttedon hakemnen verkossa tapahtu ss hakemston kautta ja tedoston lataamnen suoraan vertasten välllä. [15] Nykysn Napster on maksullnen sovellus, jonka kautta vo ostaa muskka. Napster on yhtestyössä vden suuren levymerkn ja satojen tsenästen levyntekjöden kanssa. [25] Pkavestnohjelmat käyttävät myös vertasverkossaan kesktettyjä hakemstoja, joden avulla käyttäjät löytävät tosensa. Vestmen käyttämä tomntamall onkn hyvn samantapanen kun Napstern. Pokkeuksena on kutenkn Internet Relay Chat (IRC), joka käyttää asakas-palveln arkktehtuura. [32] 2.2.1 Bt Torrent -verkko Bt Torrent -verkko [3] on hybrdmalln luokteltava vertasverkko, jonka ertysprteenä on monlähdelataus. Monlähdelataus tom kutenkn myös puhtassa vertasverkossa, esmerkks KaZaAssa. Tedostojen koponnn nopeuttamseks kehtetyssä monlähdelatauksessa samaa tedostoa vodaan ladata yhtäakaa monesta er lähteestä. Yksnkertasn tapa toteuttaa tämä on etsä verkosta useta samaa tedostoa jakava käyttäjä ja pyytää heltä er pala kysesestä tedostosta. [32] Kehttynen muoto monlähdelatauksesta on Bt Torrent -toteutus. Bt Torrent -verkossa 5

Kuva 2.3: Resurssn hakemnen Bt Torrent -verkossa on kolme roola: semen (engl. seed), jäljtn (engl. tracker) ja parv (engl. swarm). Semen, el yks verkon vertanen, jakaa koko tedostoa. Jäljtn, joka on kesktetty palveln, taas ptää krjaa sementedostosta: moneenko osaan se on jaettu ja kuka käyttäjstä kopo mtäkn palasta. Asakas on käyttäjä, joka kopo tedoston tselleen. Parveks taas kutsutaan samasta tedostosta knnostuneden asakkaden ja sementen joukkoa. Parveen kuuluu ss monta vertasta. [32] Kuvassa 2.3 on estetty resurssn hakua Bt Torrent -verkossa. Ensn vertanen kertoo jäljttmelle haluavansa jonkn tedoston. Jäljttmellä on teto stä, moneenko palaan tedosto on jaettu ja kellä nuo palat on. Jäljtn palauttaa vertaselle tedon, keneltä se vo pyytää palan tedostoa. Tämän jälkeen vertanen pyytää tedostonpalan toselta vertaselta ja kyseessä oleva vertanen lähettää palan. Vertanen lmottaa myös jäljttmelle, mnkä palan se on ladannut. Tätä jatketaan nn kauan, kunnes kaklla on täydellnen kopo tedostosta. Asakkaan ottaessa yhteyttä jäljttmeen, hänelle kerrotaan, mkä on harvnasn pala tedostosta ja mssä se sjatsee. Tämän jälkeen asakas ottaa yhteyttä toseen asakkaaseen ja pyytää sltä tedoston palasta. Nän srrettävä tedosto kootaan pala palalta. [32] Jokanen Bt Torrent -parven asakas sekä kopo tedostoa tselleen että lähettää stä samalla mulle. Nän ollen tedostojen srto tapahtuu tavallsta vertasverkkoa huomattavast tehokkaammn. [32] 6

Kuva 2.4: Resurssn haku puhtaassa vertasverkossa 2.3 Puhdas vertasverkko Puhtaassa vertasverkossa kakk solmut ovat samanarvosa ja ne vovat jakaa resurssejaan toslle solmulle. Määrtelmän mukaan puhdas vertasverkko on kyseessä sllon, kun vertasverkosta vodaan postaa mkä tahansa solmu lman, että verkon tomnta stä mtenkään kärs. [29] Puhtaassa vertasverkossa verkon krttnen pste on ss postettu. Tetolkenne on myös mahdollsta salata, mutta stä e juurkaan käytetä. Nyt ongelmaks tulee kutenkn hakutomntojen vakeus yhtenäsen hakemston puuttuessa. Tähän on haettu ratkasua verkon tulvtukseen perustuvlla algortmella. Verkon solmun hakessa jotan resurssa, lähettää se kyselyn kaklle naapurelleen, jotka lähettävät kyselyn edelleen eteenpän omlle naapurelleen. Tulvtus on hyvn raskas verkon tomnnan kannalta, mnkä taka kehttyneemmlle vahtoehdolle ols selväst tarvetta. [32] Resurssn hakua puhtaassa vertasverkossa on estetty kuvassa 2.4. Solmu lähettää ensn haun etsmästään resursssta naapursolmulleen, joka lähettää stä edelleen eteenpän. Jos haettu resurss löytyy, lähettää resurssn omstava solmu resurssn sjanttedot takasn. Kun teto resurssn sjannsta on saatu, vodaan resurssa käyttää. Tedostonjakamseen tarkotetusta ohjelmsta Gnutella [12] on puhdas vertasverkkosovellus. Kun käyttäjä lttyy Gnutellan verkkoon, hän tuo verkkoon mukanaan haluamansa resursst jaettavks. Verkossa käyttäjä vo anonyymst etsä ja käyttää muden käyttäjen jakama resursseja. Myös KaZaA [17] ja Skype [30] ovat puhtata vertasverkko-ohjelma. 7

2.4 Vertasverkot tulevasuudessa Vertasverkkojen kehttyessä knntetään entstä enemmän huomota salaukseen. Lkenteen salaamsen lsäks anonyymn retttämseen perustuvat ratkasut ovat herättäneet knnostusta. Tarkotuksena on kehttää verkko, jonka käyttäjen tunnstamnen ols lähes mahdotonta ta vaats anakn valtava ponnstuksa ja kansanvälstä yhtestyötä. [32] Internetn käyttöä anonyymst on tutkttu ptkään. Freenet [11] on ohjelmsto, joka on kehtetty nternetssä lkkumsen anonymteetn turvaamseks. Freenet mahdollstaa kenen tahansa julkasta materaala, kommunkoda ja etsä tetoa nternetstä täysn anonyymst. Tetokone-lehden [32] arvon mukaan yhteskunta tulee puuttumaan vertasverkkohn jossan vaheessa. Tämä on varmast avan totta, sllä pratsm on vertasverkkojen yks huolestuttavmmsta prtestä. Vertasverkot ovat kutenkn saaneet nn valtavan suoson, että nden muuttamnen e tule olemaan helppoa. Pratsm ja tekjänokeudet ovat kutenkn van pen osa vertasverkkoja. Pratsmn ktkemseks tehdään jatkuvast työtä. Tutktaan, mten esmerkks muskka votasn jakaa kontrollodust, jollon tekjänokeusongelma e tuls, mutta jakelu ols edelleen helppoa. Lsäks vertasverkossa on paljon muta hyvä omnasuuksa. Esmerkks Lnuxn jakelu vertasverkossa on hyödyllnen käyttötapa. Myös uusa käyttökohteta vertasverkolle kehtetään jatkuvast. Internet-puhelut ovat jo nyt arkpävää ja tulevasuudessa tulee varmast mahdollseks TV-lähetysten streamng-jako. Myös laskentagrdt tulevat todennäkösest tommaan tulevasuudessa P2P-perustasest. 8

3 Neuroverkosta Neuroverkkojen (engl. neural network) perusdeana on matka hmsen avojen neuronen rakennetta ja tomntaa matemaattsest. Neuroverkko on ss avojen matemaattnen mall, joka jäljttelee matemaattsest hmsen oppmsprosessa. [36] 3.1 Neuroverkon rakenne Neuroverkko koostuu joukosta yksnkertasa solmuja (neuroneja), joden välllä on ltoksa. Vasemmalla kuvassa 3.1 on kuvattu neuronn rakennetta. Neuronn tulee syöttetä, jotka on kuvassa estetty matemaattsn symbolen. Jokanen syöte kerrotaan omalla panokertomellaan. Tämän jälkeen neuron tekee luvulla jotan operaatota, yksnkertasmmllaan laskee ne van yhteen, kuten kuvassa 3.1. Kuvan tapauksessa syötteden ja panokertomen tulojen summa on suoraan neuronn ulostulo O. Neuronssa vo kutenkn olla myös aktvaatofunkto, joka muodostaa tuloksen ja ulostulo saadaan vasta stten. [14] Aktvaatofunkton tarkotuksena on muuttaa tulos halutunlaseks. Neuroverkolta vodaan haluta ulostulona vakka van luku välltä [0,1]. Tällön aktvaatofunktona vos olla esmerkn tapauksessa ja panokertomen tulojen summaa. [10], mssä! #" tarkottaa syötteden Neuron e velä yksnään ole tehokas laskentaykskkö. Neuroneja yhdstämällä saadaan akaseks neuroverkko, kuten kuvassa 3.1 okealla näkyy. Jotta neuroverkko toms halutulla tavalla, tulee neuront ryhmtellä ja yhdstää ntä tosnsa. Ryhmttely toteutetaan luomalla Kuva 3.1: Yksttäsen neuronn rakenne ja neuronesta muodostettu neuroverkko. [31] 9

Kuva 3.2: Neuroverkon kerrokset [10] neuroverkkoon kerroksa, jotka stten yhdstetään tosnsa. Se, mten kerrokset yhdstetään, on tapauskohtasta ratkastavan ongelman kanssa. Peraatteessa neuroverkolla on kuvan 3.2 kaltanen rakenne. Osa neuronesta on rajapntana ulkomaalmaan saamalla seltä syöttetä. Osa taas tom rajapntana antamalla ulostulon. Loput neuronesta ovat näkymättömssä. [28] Neuroverkko vodaan toteuttaa yks- (van ssään- ja ulostulokerros) ta useampkerrokssena (ssään- ja ulostulokerros sekä plokerros). Plokerroksa vo olla myös useampa kun yks. Ykskerrokssella neuroverkolla vodaan kuvata van lneaarsa funktota ja tämän taka käytännön sovellukset vaatvatkn usen vähntään kakskerrokssen verkon. Kerroksen lsäämnen lsää verkon laskentakapasteetta. Myös neuronen lukumäärä kerrokslla ja aktvaatofunktot valtaan ana tehtäväkohtasest. [36] Monkerrosperceptron-neuroverkolla tarkotetaan useampkerrokssta neuroverkkoa, jonka neuront ovat nmeltään Perceptroneja. Alunpern Perceptronlla tarkotettn neurona, joka olett syötteden olevan bnäärlukuja ja joka anto ulostulona van nolla ta ykkösä. [31] Nykysn MLP-verkko tarkottaa kutenkn neuroverkkoa, jonka neuront antavat jatkuva arvoja, jossa on useta kerroksa ja jossa e hyväksytä takasnkytkentöjä [28]. Tonen neurontyypp, Adalne, on lneaarnen ssältäen yhden kerroksen panokertoma ja sallen myös jatkuva-arvoset syötteet. [31] 3.2 Neuroverkon oppmnen Kun neuroverkko on saatu rakennettua, vodaan alottaa sen opettamnen. Ensmmäset panokertomet valtaan sattumanvarasest, mnkä jälkeen alkaa opetus-oppms-prosess. Neuroverkon opettamseen on kaks tapaa: ohjattu oppmnen (engl. supervsed learn- 10

ng) ja mukautuva oppmnen (engl. unsupervsed learnng ta adaptve learnng). Ohjatussa oppmsessa vodaan käyttää hyväks neuroverkon ulostuloa. Mukautuvassa oppmsessa neuroverkko tom pelkken ssääntuloparametren avulla. Suurn osa neuroverkosta käyttää ohjattua oppmsta. NeuroHausta löytyy prtetä sekä ohjatusta että mukautuvasta oppmsesta. 3.2.1 Ohjattu oppmnen Neuroverkon ohjattu oppmnen perustuu verkon neuronen välsten panokertomen asetteluun. Ohjatussa oppmsessa tedetään sekä ssääntuloparametrt että ulostulo. Opettamnen alotetaan syöttämällä ssääntuloparametrt ja asettamalla panokertomet, mnkä jälkeen verkolle syötetään opetusdata. Opetusdatan perusteella saadaan ulostulo, jota verrataan ennalta päätettyyn ta haluttuun ulostuloon. Tämän jälkeen käydään neuroverkko läp takapern ja panokertomen arvoja muutetaan ulostulojen ja haluttujen tavotearvojen vrheen perusteella. Opetusta tostetaan nn kauan, kunnes ulostulo on tarpeeks lähellä haluttua ulostuloa. [36] 3.2.2 Mukautuva oppmnen Mukautuvassa oppmsessa neuroverkolle annetaan van ssääntuloparametrt. Ulostulosta e ss ole mtään tetoa etukäteen. Verkon on tse päätettävä, mnkä prteden mukaan se ryhmttelee dataa. [28] Mukautuvassa oppmsessa e käytetä hyväks mtään ulkopuolsta tetoa ulostulosta, vaan neuroverkko tarkkalee ssäsest tomntaansa. Verkko ets ssääntuloparametresta säännöllsyyksä ta trendejä ja tekee muutoksa neuroverkon funkton mukaan. [28] Mukautuvaa oppmsta käytetään huomattavast vähemmän kun ohjattua oppmsta. On olemassa kutenkn paljon tlanteta, jossa täsmällstä opetusdataa e ole olemassa: esmerkks pelessä peltlanteet muuttuvat jokasen vuoron seurauksena. Nässä tlantessa e voda käyttää ohjattua oppmsta. Tärken mukautuvan oppmsen menetelmä on professor Teuvo Kohosen kehttämä tseorgansotuva prrekartta (engl. Self-organzng Feature Map, SOM). SOMa vodaan käyttää monn tehtävn kuten datan klusterontn, ryhmttelyyn ta korrelaatoden etsmseen. [31] 11

4 Optmonnsta Luvussa käydään läp optmonnn peruskästtetä. 4.1 Mtä optmont on? The fundamental problem of optmzaton s to arrve at the best possble decson n any gven set of crcumstances. [37] Perusajatuksena optmonnssa on, että ongelmalle löydetään paras mahdollnen ratkasu annetussa olosuhtessa. Yleensä tämä halutaan tehdä velä mahdollsmman nopeast. Optmontongelma löytyy kakkalta: talouselämässä pyrtään maksmomaan yrtyksen saamaa vottoa, lkenteessä pyrtään löytämään lyhn ta nopen rett kahden kaupungn välllä, jopa lentokoneen sven muodon suunnttelussa tarvtaan optmonta. Alettaessa ratkasta optmontongelmaa, pyrtään se ensn esttämään matemaattsena mallna. Ana matemaattsten mallen käyttö e kutenkaan ole suoraan mahdollsta. Päätöksentekotlanteessa nhmllnen tekjä vo olla nn vomakas, että matemaattsesta mallsta saatu ratkasu e sovkaan ratkasuks. Matemaattsest muotoltuna optmontongelmassa on yleensä funkto, jota mnmodaan ta maksmodaan tettyjen rajotteden suhteen. Optmonttehtävä on ylesest muotoa: &% %$ ' (*),+rajotten mnmo.0/1)+-3254? kaklle687:9;!<=<=<> " /@)+-A7B4 kaklle687:9;!<=<=<> DC (4.1) mssä(e F.0/ ja? / ovat funktotag :stäg :ään. + ( Optmonttehtävässä (4.1) on tavotteena löytää sellanen pste, jossa funkto saa mahdollsmman penen arvon (mnmarvon), kun rajotteet.h/ ja? / ovat vomassa. Seuraavaks käydään tarkemmn läp optmontn lttyvä termejä ja määrtelmä. 12

Kuva 4.1: Lokaaleja ja globaaleja optmeja. 4.2 Termejä ja määrtelmä 4.2.1 Objektfunkto, rajotefunkto ja muuttujat Optmonttehtävän (4.1) optmotavaa funktota(.0/ kutsutaan objektfunktoks ja funktota ja? / rajotefunktoks ta rajotteks. Rajotteet. / ovat epäyhtälörajotteta ja rajotteet? / yhtälörajotteta. Vektorn+ komponentt+i7j)kl M FK#!!< <!< FK;- ovat tehtävän muuttuja. 4.2.2 Globaal ja lokaal optm Pste+LN on optmonttehtävän globaal optm, jos(*)+8nd-32o(*),+- kaklla+qpsrt< PsteKEN taas on lokaal optm, jos on olemassauwvx4 sten, että(*)+8nd-32o(*)+l- kaklla+yp R, jollaz[z+]\y+ln Z[Z^25U_< Molemmssa tapauksssa S on sallttu alue el rajotteden lekkausjoukko. Kuvassa 4.1 on estelty lokaaleja ja globaaleja optmeja. 4.2.3 Mnmont ja maksmont Mnmont tarkottaa objektfunkton penmmän arvon etsmstä rajotteden ollessa vomassa. Maksmodessa etstään suurnta arvoa. Tässä työssä tarkastellaan tästä eteenpän van maksmonttehtävä. Mnmonttehtävän vo muuttaa maksmonttehtäväks objektfunk- 13

ton etumerkkä vahtamalla. El jos tehtävänä on mnmoda(, nn tehtävä on maksmonttehtävänä maksmoda funkto\`(. 4.2.4 Unmodaalsuus Yhden muuttujan funkton( acb Dd e sanotaan olevan unmodaalnen välllä, jos jollekn psteellek N Pf)b DdM- pätee:(*)kg- vällläahb FK N - adost vähenevä ja adost kasvava välllä),k N Dd e< Funkton unmodaalsuutta tarkasteltavalla välllä vaadtaan monessa optmontmenetelmässä oletuksena. 4.3 Erlasa optmonttehtävä Optmonttehtävä vodaan jaotella nden omnasuuksen perusteella. Seuraavassa on lueteltu erlasa optmonttehtävä Mettsen [23] mukaan. 1. Lneaarnen optmont (engl. lnear programmng) on tehtävä, jonka objektfunkto ja kakk rajotteet ovat lneaarsa. 2. Epälneaarnen optmont (engl. mathematcal programmng, nonlnear programmng) tarkottaa tehtävää, jossa joko objektfunkto ta anakn yks tehtävän rajottesta on epälneaarnen. 3. Kvadraattnen optmont on epälneaarnen ongelma, jossa on kvadraattnen (tosen asteen yhtälöön ta polynomn perustuva) objektfunkto ja lneaarset rajotteet. 4. Geometrsella optmonnlla tarkotetaan tehtävää, jonka objektfunkto ja rajotteet ovat posynomeja el muotoa j /lkg Am / n o kg K D/o o 5. Kokonaslukuoptmonnn tehtävän muuttujat rajotetaan sten, että ne vovat saada van kokonaslukuja. 6. Jatkuva optmont on kokonaslukuoptmonnn vastakohta, el muuttujat vovat saada myös desmaalarvoja. 7. Kombnatorsesta optmonnsta puhutaan sllon, kun tehtävällä on sallttuja ratkasuja äärellnen määrä. 14

8. Montavoteoptmonnn tehtävässä on useamp kun yks objektfunkto. Objektfunktot vovat olla keskenään rstrdassa, mutta stä huolmatta ntä kakka optmodaan yhtä akaa. Objektfunktot ja rajotteet vovat olla mtä tahansa edellä kuvattuja tyyppejä. 9. Epäsleällä optmonnlla tarkotetaan stä, että jokn ongelman funktosta e ole dfferentotuva. 10. Globaalssa optmonnssa etstään tehtävän globaala optma. 11. Dynaamsesta optmonnsta puhuttaessa takotetaan pkemmnkn ratkasuperaatetta kun mtään ertystä optmonttehtävää. Dynaamnen optmont soveltuu monvahesn päätöksentekoprosessehn, jos tehtävä on jaksollnen ja jossa sama rakenne tostuu er vahessa. 12. Optmsäätötehtävää kuvataan kahdenlaslla muuttujlla: säätömuuttujlla ja tlamuuttujlla. Säätömuuttuja määrttelee systeemn kulun vaheesta toseen, kun taas tlamuuttuja määrää systeemn käyttäytymsen er vahessa. Tavotteena on löytää säätömuuttujlle sellaset arvot, että objektfunkto mnmotuu monen vaheen jälkeen tettyhn tla- ja säätömuuttujlle asetettuhn rajottesn. 13. Stokastsessa optmonnssa anakn osa parametresta ssältää satunnasuutta. 14. Determnstnen optmont on stokastnen vastakohta, el satunnasuutta e ole ollenkaan. NeuroHaun tapauksessa optmontongelma kuuluu luokkn 2, 6, 8, 9, 10 ja 13. Objektfunktona on neuroverkon ftness (hyvyys), joka on määrtelty luvussa 7.3 ja joka käyttäytyy epälneaarsest. Objektfunkto e ole myöskään dfferentotuva, joten kyseessä on epäsleä optmonttehtävä. Ongelman muuttujna ovat panokertomet, jotka vovat saada desmaalarvoja. Montavoteoptmonttehtävän NeuroHausta tekee se, että ftness koostuu kahdesta tavotteesta: löydettyjen resurssen määrää pyrtään maksmomaan ja hakuun käytettyjä paketteja mnmomaan. Ongelman ftness-funkto käyttäytyy stokastsest, el er evaluaatokerrokslla samat muuttujat vovat saada er ftness-arvoja. Haastavuutta tehtävään tuo myös se, että NeuroHaulla halutaan löytää globaal optmpste. 15

5 Optmontmenetelmä Optmontmenetelmät vodaan jakaa lneaarsn ja epälneaarsn menetelmn. Optmonttehtävän ratkasuun vodaan käyttää myös valmta ohjelma kuten LINDO [22] ja CPLEX [9] lneaarsten tehtäven ratkasuun, GINO [13] ja LINGO [22] epälneaarslle tehtävlle ta WWW-NIMBUS [38] montavotetehtävlle. Lneaarsessa optmonttehtävässä sekä objektfunkto että kakk rajotteet ovat ss lneaarsa. Lneaarset optmonttehtävät ovat melko yksnkertasa. Mkäl rajotteta e ole monta, vo lneaarsen kaksmuuttujasen tehtävän ratkasta jopa graafsest. Monmutkasempn tehtävn vodaan käyttää erlasa valmta algortmeja, esmerkks Smplex-algortma [33]. Epälneaarnen optmont on monmutkasempaa kun lneaarnen, koska objektfunkto ta anakn yks rajottesta on epälneaarnen. Myös epälneaarselle optmonnlle on kehtetty oma ratkasumenetelmä. Epälneaarsa menetelmä ovat mm. elmnont-, nterpolont-, suorahaku-, dervaattoja käyttävä- ja sakkofunktomenetelmä. Menetelmät on kehtetty erlaslle epälneaarslle tehtävlle. [23] Elmnontmenetelmät soveltuvat yhden muuttujan funkton mnmontn ja nssä on peraatteena etsä hakuavaruudesta ensn funktolle unmodaalnen väl, jota stten elmnodaan esmerkks puolttamalla välä. Interpolontmenetelmen deana taas on approksmoda tehtävän objektfunktota polynomlla, jonka mnmkohta on helppo löytää. Myös nterpolontmenetelmssä tulee funktolle ensn etsä unmodaalnen väl, jota tarkastellaan. Myös nterpolontmenetelmät sopvat yhden muuttujan funkton mnmontn. [23] Suorahakumenetelmä ja dervaattohn perustuva menetelmä vodaan käyttää usean muuttujan rajottamattomaan optmontn. Suorahakumenetelmät generovat suunta, john optmont etenee. Alkeellsmmat suorahakumenetelmät, kuten satunnasten suunten menetelmä, ovat melko tehottoma, mutta kehttynemmät menetelmät, esmerkks Powelln menetelmä, pystyvät jopa yhtä hyvn tuloksn kun dervaattoja käyttävät menetelmät. Dervaattohn perustuvat menetelmät käyttävät optmonnssa nmensä mukaan apuna objektfunkton dervaattaa. Dervaatta helpottaa optmonta, mutta sen laskemnen on usen hyvn työläs ja akaavevä operaato. [23] Sakkofunktomenetelmssä on peraatteena, että objektfunktota sakotetaan, jos se postuu salltulta alueelta ta edes pyrk sen reunalle. Tämä tehdään lsäämällä objektfunktoon 16

sakkoterm. Sakkofunktomenetelmät soveltuvat usean muuttujan funkton rajotteseen tehtävään. [23] Evoluutoalgortmt ovat tomnnaltaan melko erlasa kun lneaarset- ta epälneaarset optmontmenetelmät. Evoluutoalgortmt ovat saaneet vakutteta bologasta ja ne jäljttelevät tomnnaltaan evoluutota perustuen populaatohn, mutaatohn, rsteytykseen ja jälkeläsn. Tässä työssä kesktytään evoluutoalgortmehn ja epälneaarssta menetelmstä suorahakumenetelmn, koska ne vakuttvat sovelammlta NeuroHaun optmontongelmaan. Evoluutoalgortmesta ja suorahakumenetelmstä kerrotaan lsää seuraavssa luvussa. 5.1 Epälneaarnen optmont Seuraavassa estellään kolme suorahakumenetelmää, jota tutkmuksessa käytettn Neuro- Haun optmontn. 5.1.1 Powelln menetelmä Powelln menetelmä on lokaal suorahakumenetelmä. Suorahakumenetelmssä e käytetä apuna funkton dervaattanformaatota. Powelln menetelmä on kutenkn kehttynen ns. pattern search -menetelmä, ja tehokkuudessaan se pystyy klpalemaan dervaattoja käyttäven menetelmen kanssa. Menetelmä pohjautuu Powelln [26] kahteen teoreemaan: Olkoon( kvadraattnen sten, että(*)kg-p7qk#rskutvd Kut m. Teoreema 5.1 Mnmotaessa tosen asteen kvadraattsta funktota(*),kg- peräkkänw :ssä konjugaattsessa suunnassa mnm löydetään vmestäänw :llä askeleella rppumatta alotuspsteestä. Teoreema 5.2 JosKEx on kvadraattsen funkton(*)kg- mnm avaruudessa, joka ssältää suunnany, jakz on myös saman avaruuden mnm, nn suunta)k {\K#xM- on konjugaattnen suunnany kanssa. Todstukset löytyvät Powelln artkkelsta. Näden teoreemen pohjalta saadaan seuraava algortm [39]: 1. Olkoot A M! <!<!< L koordnaattsuunnat ja}tx alotuspste. 2. Laske~ funkton(*) }8F Mt ~D z - kun ƒ7:9;!< <!< Fw } 75}F ztx~f L sten, että se mnmo, ja määrtä. 17

Kuva 5.1: Pattern search- suunnan muodostamnen. 3. Aseta L 7 zg, ˆ7 9;!<!< < wš\ 9 ja aseta LŒ7 )}ƒ\ž}xm-. 4. Valtse~ sten, että se mnmo funkton(*)}t8ti~) }LA\Š}xM-F-. Aseta}8x 75}8x ti~) }Lp\ }8xD- ja alota uus teraato kohdasta 2. Algortmn ptää velä lsätä lopetusehto. Algortm vodaan joko lopettaa generaatoden lukumäärän perusteella ta stten, kun algortmlla saadut kaks peräkkästä optmpstettä ovat ennalta valtun Vq4 päässä tosstaan. Powelln menetelmä alotetaan mnmomalla objektfunktota koordnaattakselen suuntn. Alotuspsteestä lähdettäessä parannetaan ss yhtä muuttujan arvoa kerrallaan nn paljon kun mahdollsta. Seuraavasta psteestä lähdettäessä parannetaan seuraavan muuttujan arvoa ja nn edelleen. Nän jatketaan, kunnes kakk muuttujat on käyty läp. Tätä kutsutaan kokeluvaheeks. Kokeluvaheen jälkeen seuraa ns. pattern search -vahe. Tällön muodostetaan uus etenemssuunta kokeluvaheen perusteella ja mennään uuteen psteeseen. Pattern search -suunnan muodostumsta kaksdmensosessa tapauksessa on estetty kuvassa 5.1. Jokasen pattern search -vaheen jälkeen yks koordnaattsuunnsta korvataan pattern search -suunnalla. Menetelmä löytää psteen+, jota mnmo objektfunkton(. Powell vättää, että tämä tapahtuuw kerroksen kuluessa, josw hakusuuntaa ovat konjugaattsa ja kun objektfunkto on kvadraattnen. Väte e kutenkaan pdä pakkaansa, kuten Zangwll [39] on osottanut. Zangwllen artkkelssa estetään vastaesmerkk, jossa Powelln menetelmä e konvergo mnmn knä. 18

U valtaan(*)kl F g D ;-A7J)K`\Š pt H- tž)@\ K t At H- tž)k t 3\ H- teeks)9 ; 9;!9 ; - Jos funktoks ja alotusps- e Powelln menetelmällä päästä funkton( )KL E D H-A7J) 4 D4 4Hmnmn, joka ols psteessä. [39] Powelln menetelmän suurmpana ongelma on, että yksulotteset mnmonnt konjugaattsn suuntn tuls tehdä tarkast, mkä on mahdotonta numeersten menetelmen äärellsyydestä/epätarkkuudesta johtuen. Powelln menetelmä edellyttää myös, että hakusuunten tuls olla lneaarsest rppumattoma. Tämä e kutenkaan täyty, jos optmaalnen askelptuus johonkn hakusuuntaan on 0. [23] 5.1.2 Powelln tonen menetelmä Powell kehtt tosen menetelmän, joka ottaa huomoon ensmmäsessä menetelmässä havatut vrheet. Ensmmänen menetelmä saatto joskus muodostaa lneaarsest rppuvat suunnat, jotka evät vrtä koko avaruutta. Korjatakseen tämän Powell esttää, että e ole vsasta hyväksyä jokasta menetelmän antamaa suuntaa uudeks hakusuunnaks. Zangwll on muotollut Powelln tosesta menetelmästä yksnkertastetun verson [39]: 1. Olkoot koordnaattsuunnat!< <!<, alotuspste} x 9q Vš4 ja kerron Y 7 9 7 annettu. 9;!<=<><= w Oletetaan myös, että suunnat on normalsotu sten, että,. AsetaU 7 9. Mene teraatoonœ arvollaœ 7 9. 2. Iteraatoœ : (a) Laske~ sten, että se mnmo funkton(t) } määrtä} 7O} F t ~. (b) Määrtäž F tx~ - kun Œ7 9; <!<!<M w, ja 7 Ÿ} \5} x ja!g 7 ) } \q} x - ž. Laske~ _g (*)} t ~!g _g - funkton mnmks ja aseta} x g 7B} _g 7B} tx~ _g _g. 7 max{~ Z ˆ7 9;!<=<><= w }. Tapaus (): Jos~ U ž, olkoon g 7 kun 7, g 7 _g, ja asetau g 7 ~ U ž q. ~ U ž g Tapaus g 7 O7 9;!<=<><= w 7OU (): Jos, olkoon, kun ja aseta. (c) Olkoon~ 3. Josœ 75w, lopeta. Muuten mene askeleeseen 2 arvollaœ 7 œƒt59. 19

} ~ w 5.1.3 Zangwllen menetelmä Zangwlle on myös kehttänyt oman menetelmänsä postaakseen Powelln ensmmäsessä menetelmässä havatut epäkohdat. Algortm on seuraava [39]: 1. Olkoot, ˆ7 9;!<!< < w koordnaattsuunnat ja oletetaan, että ne on normalsotu. Alkuaskel: Olkoon lähtöpste} x jaw normalsotua suuntaa ~ x (*)} x tª~ x - }!g x 7š} x tª~ x Aseta«p7:9 Olkoon tehtävän mnmo optmratkasu ja ja mene teraatoonœ arvollaœu7 9. 2. Iteraatoœ :} _g,,,w = 1,... ja«on annettu. (a) Askel (): Olkoonž tehtävän mnmo(*)}, Œ7 9!<!<!<M w annettu..!g t žt - optmratkasu. Pävtä«. «* «zt59 12 «9 jos«=w Josž 7 4. Olkoon} x 7±} _g t žt JosžJ7 4., tosta askel(). Jos askel() tostetaanw kertaa peräkkän, lopeta. Tällön pste} _g on optm. sten, että se mnmo tehtävän(t) } F t -. Aseta} 7O} F t ~. Olkoon _g 7J)} \f} _g -FẼ } \f} _g ~ _g (*)} tj~. _g _g - Määrtä _g 7B} tx~ tehtävän _g _g mnmo optmratkasuks ja aseta. Aseta g 7B g, ˆ7:9;!< <!< w. (b) Askel (): Kun 7²9;!< <!< Fw, laske~ Mene kohtaan (2)œ :n arvollaœ³to9. Menetelmässä askeleessa () edetään jaksollsest koordnaattsuunnat läp. Joka kerta, kun palataan askeleeseen () valtaan uus koordnaattsuunta palaamalla # :een Jokaw t 9 :n jälkeen. :llä kerralla, kun käytetään askelta () käytetään myös samaa koordnaattsuuntaa. Algortmssa«osottaa käytettävää koordnaattsuuntaa. Jos askel () tostetaanw kertaa peräkkän, nn kakkw koordnaattsuuntaa on käyty läp ja pste on pysynyt samana. Tällön optmpste on löydetty. [39] 20

5.2 Evoluutoalgortmt Evoluutoalgortmt (engl. evolutonary algorthms, EA) ovat saaneet vakutteta bologasta ja evoluutoteorasta ja ne perustuvat populaatohn, mutaatohn, rsteytykseen ja jälkeläsn. Evoluutoalgortmt jäljttelevät tomnnaltaan evoluutota. Ykslöt lsääntyvät ja saavat jälkeläsä, josta hekommat kuolevat ja parhaat selvävät. Nämä jälleen lsääntyvät ja uussta jälkelässta taas osa kuolee ja osa sälyy hengssä. Evoluutoalgortmessa on käytössä "evoluutokerrokset", jota kutsutaan myös sukupolvks (engl. generaton) ta generaatoks. Evoluutokerrokslla tapahtuu mm. lsääntymstä ja hekompen karsntaa. Evoluutoalgortmessa ykslön sanotaan koostuvan geenestä, jotka ovat optmonttehtävän muuttujat. Ykslö on yleensä kuvattu vektorna. Geenen perusteella ykslölle lasketaan ftness- el hyvyysarvo, jonka perusteella evoluuto etenee. Vanhemmat ovat ykslötä, joden geenejä muuttamalla saadaan akaan jälkeläsä. Seuraavalla evoluutokerroksella jälkeläset ovat vanhempa. Evoluutokerrosten akana ykslöt ja nden ftness-arvot muuttuvat ja lähestyvät tehtävän optmpstettä. Evoluutoalgortmen perusdea selvää kuvasta 5.2. Vanhempen geenessä on koodattuna jotan omnasuuksa, joden perusteella saadaan laskettua nden ftness (hyvyys). Vanhemmat lsääntyvät, jollon hedän geennsä sekottuvat, kopotuvat ja muuntuvat. Tässä vaheessa vo tapahtua myös er evoluutoalgortmsta rppuen mutaatota, rsteytymstä ta kahdentumsta. Muutettujen geenen ansosta jälkeläsllä on heman erlaset omnasuudet kun hedän vanhemmllaan. Jälkeläslle lasketaan myös ftness, joka vo erota paljonkn vanhempen ftnessestä. Jälkelässtä van osa selvytyy ja pääsee jatkamaan evoluutoketjua. Se, mten valnta jälkelässtä tehdään, rppuu jälleen käytettävästä evoluutoalgortmsta. Bologassa myös ympärstöllä on vakutusta ykslöden hengssäsälymseen. Ana paras ykslö e sälykään hengssä, vaan se vo kuolla jonkn ennalta arvaamattoman tapauksen seurauksena. Suurn osa evoluutoalgortmen toteutukssta on peräsn kolmesta tosaan mustuttavasta, mutta tsenäsest kehtetystä menetelmstä: geneettsstä algortmesta (engl. genetc algorthms, GA), evoluutostrategosta (engl. evolutonary strateges, ES) ja evoluuto-ohjelmonnsta (engl. evolutonary programmng, EP). Nämä menetelmät perustuvat erlasn geneettsn operaatohn, kuten mutaatoon (engl. mutaton), rsteytykseen (engl. crossover) ja valntaan (engl. selecton). Seuraavassa estellään ensn ylesest geneettset operaatot ja sen jälkeen nden käyttöä er evoluutoalgortmessa. 21

Kuva 5.2: Ylenen evoluutoalgortm. [2] 22

5.2.1 Mutaato Mutaatolla tuotetaan uusa jälkeläsä muuttamalla vanhempen geenejä satunnasest. Mutaaton avulla optmontalgortm ets funkton lokaala optmpstettä. Mutaaton toteutukseen on olemassa mona erlasa menetelmä, esmerkks Gaussnmutaato [16], Cauchy-mutaato [18] ja Lévy-mutaato [20]. Lsäks mutaatomenetelmä vodaan yhdstellä. Peraatteena kakssa on, että otetaan jokn satunnasluku, jolla kertomalla geenen arvoja muutetaan. Gaussn-mutaatossa käytetään, kuten nmkn kertoo, Gaussn normaaljakauman avulla tuotettua satunnaslukua. Cauchyn-mutaatossa normaaljakauma on korvattu Cauchyn jakaumalla. JälkeläsetKg / saadaan ss luotua Gaussn tapauksessa seuraavast: Ja Cauchyn-mutaatossa: K / 7 K/t µy)4!9_- (5.1) K / 7 K/ t )4!9_- (5.2) KaavossaµŽ) 4!9- on normaaljakautunut satunnasluku, ) 4!9- on Cauchyn-jakaumasta arvottu satunnasluku ja687:9; <!<!< Fw. Gaussn- ja Cauchyn-mutaatohn vodaan lsätä myös strategaparametr, joka määrttelee, kunka soja hyppyjä kullakn teraatokerroksella tehdään. Strategaparametr on usen tsemukautuva. Tällön mutaaton kaavoks saadaan: ¹ 7 ¹=º KH»),¼ µƒ/@)4 9-{t½¼µŽ) 4!9- - + ¹ 7 + ¹ t ¹U (5.3) (5.4) mssä¾g6 P½ ^9!<!<!< ÀTÁ. Parametrvektor on nyt ss tsemukautuva. KaavossaU on satunnanen luku, joka arvotaan jokaselle populaaton ykslölle mutaatomenetelmän jakauman perusteella: normaaljakauma Gaussn-mutaatossa ja Cauchyn-jakauman mukaan Cauchynmutaatossa.¼q7Â)Dà ^Ä wz- ja¼ 37Â)Ä 0wz-. Populaatovektor+ PÅG jaµy)4!9_- on normaaljakautunut satunnasluku. [18] Lévy-mutaatossa tuotetaan neljä jälkelästä käyttämällä neljää er Lévy todennäkösyyttä, mnkä jälkeen paras jälkelänen valtaan populaatoon. Myös Lévy-mutaatossa on käytössä strategaparametr. Jälkeläset saadaan seuraavlla kaavolla [18]: + / 7 +T / t /ÆÇ) žs7 9;<È4H- (5.5) 23

+ É/ 7 +z É/ t /ÆÇ) žs7 9;<ÈÊH- + É/ 7 +z É/ t /ÆÇ) žs7 9;<ÌË;- (5.6) + Í/ 7 + Í/ t /ÆÇ) žs7 <È4H- (5.7) ¹ 7 ¹>º KH»L)¼ µƒ/) 4!9-{tf¼µY)4!9_-F- (5.8) (5.9) mssä¾g6up ^9;!< <!< FÀTÁ jossaæç)žt-, ž on satunnasluku vastaten ž Lévy-jakaumaa arvolla 1.0, 1.3, 1.7 ja 2.0. Parametrn arvo = 1.0 vastaa Cauchyn- ja = 2.0 Gaussn-mutaatota. Muut muuttujat ovat samoja kun kaavossa (5.3) ja (5.4). Evoluutostrategossa ja evoluuto-ohjelmonnssa mutaatoon käytetään yllä mantun kaltasa menetelmä. Geneettsssä algortmessa sen sjaan käytetään heman erlasta mutaatota, josta on kerrottu tarkemmn luvussa 5.2.4. 5.2.2 Rekombnaato Rekombnaato el rsteytys on mutaaton ohella tonen tapa lsääntyä. Rekombnaatossa vanhempen geent sekotetaan rsteyttämällä. Tosn kun mutaatossa, nyt lsääntymseen tarvtaan ss vähntään kaks vanhempaa. Rsteytykseen on olemassa mona erlasa tapoja, yksnkertasn nstä on ykspstersteytys (engl. one-pont crossover). Ykspstersteytyksessä valtaan satunnasest kohtaî, josta Î tapahtuu seuraavast [4]: K{ 1K# <!<!<@K o K o g g<!<!< KuV t K{ K# L<!<!< K o o g E<!<!< 0ÐVfÎ^b lähten vanhempen geent vahdetaan. Olkoot+ jaï vanhemmat. Tällön rsteytys kohdasta ^ z<!< <F o o g E<!<!< 0uV 7 Ñ 0 L<!<!<F o K o g g<!<!<@kuv Kakspstersteytyksessä (engl. two-pont crossover) taas valtaan satunnasest kaks pstettä, joden välset geent vahdetaan. Olkoon satunnasest valtut psteet6 jaî, jollon rsteytys näyttää seuraavalta: K{ K# 8< <!< K/>K/Òg {< <!< K o 1K o <!<!<@KuVqt K{ K# <!<!<@K/, 0/lg E<!<!<F o ÕK o <!<!<@KuVfÎ^b Ñ 0 L<!<!<F Ó/Ô Ó/Òg E<!<!< o É o <!<!< ÓÐV 7 ^ L<!<!< 0/>K/Òg g<!<!< K o o <!<!< 0ÐV Psteden lukumäärää vodaan tästäkn velä kasvattaa, jollon kyseessä on monpstersteytys (engl. mult-pont crossover). Tällön valtaan satunnasest u :9 pstettä ja rsteytyksessä vahdetaan joka tonen psteden väln jäävä segmentt vanhempen kesken. [5] Tästä on esmerkk kuvassa 5.3, jossa on estetty 5-pstersteytys. 24

Kuva 5.3: 5-pstersteytys. Lsäämällä pstetä tästäkn, päästään tasaseen rsteytykseen (engl. unform crossover). Nyt e enää vahdeta segmenttejä, vaan tarkastellaan jokasta geenä erkseen. Jokasen geenn kohdalla arvotaan, vahdetaanko se vanhempen kesken va e. Matemaattsest lmastuna: b / 7 b^öø /,Ù V 1/2 bhú^ /,Ù 2 1/2 mssä M (mother) ja F (father) lmasevat satunnasest valttuja vanhempa jaù POac4!9 e on satunnasluku. [5] 5.2.3 Valnta Valnnan tarkotuksena on valta populaatosta ne, jotka selvävät seuraavalle evoluutokerrokselle. Valtut ovat ss seuraavassa generaatossa vanhempa. Valnta tehdään ykslöden ftnessen perusteella. Valntaan on olemassa mona erlasa menetelmä. Evoluutostrategalla on selkeäst omanlasensa valntamenetelmät, kun taas geneettsssä algortmessa ja evoluuto-ohjelmonnssa käytetään pääasassa todennäkösyyteen perustuva menetelmä. Geneettsllä algortmella valntaan on olemassa kaks hyvn suosttua toteutustapaa: rulettvalnta (engl. roulette selecton) ja determnstnen kokelu (engl. determnstc samplng). Rulettvalnnassa lasketaan jokaselle ykslölle todennäkösyys seuraavast: Û /Ü7 (/ Ý o ( o mssä (/ on ykslön 6 ftness-arvo. Tämän jälkeen vanhempen populaato valtaan satunnasest tämän todennäkösyyden perusteella. Determnstsessä kokelussa taas lasketaan jokaselle ykslölle6 arvo: /{7OÞˆµ ß)Û /,w{-zto9 25

mssäw on ykslöden lukumäärä populaatossa ja RND tarkottaa pyörstämstä kokonasluvuks. Tämän jälkeen valntaoperaato varmstaa, että jokanen ykslö tulee valttua vanhempen populaatoon juur / kertaa. [4] Myös turnajasvalnta (engl. tournament y selecton) perustuu todennäkösyyteen. Peraatteena on valta populaatosta satunnasest ony 7à ykslöä, josta paras selvää seuraavalle kerrokselle. Ylesmmn käytetty turnajaskoko, mutta myös muta vodaan käyttää. [5] Tonen tapa turnajasvalnnan toteuttamselle on valta populaatosta järjestyksessä kakk ykslöt yks kerrallaan ja ykslölle satunnasest populaatosta vastustajat. Tämän jälkeen tutktaan, montako vastustajaa ykslö vottaa, el moneen vastustajaan verrattuna sllä on paremp ftness. Jatkoon pääsevät ne ykslöt, jotka ovat menestyneet turnajasssa parhaten, el vottaneet enten vastustaja. Tässäkn tapauksessa turnajaskokoy vo vahdella, mutta ylesmmn käytetään arvoaŷ 7. [5] Kaklle todennäkösyyksn perustuvlla valntaoperaatolla anoa vaatmus on se, että todennäkösyyksen summan tulee olla 1. [5] Evoluutostrategossa käytetään ns. eltstsä valntamenetelmä, jollon e käytetä todennäkösyyksä, vaan parhaat ykslöt pääsevät automaattsest jatkoon. )À EA:ssa U0- on olemassa ) ÀT DU - kaks ) Àst U0- valntatapaa: + -valnta ja, -valnta, jota merktään ylesest. Ero - ja -valnnalla on snä, ketkä kakk valntaan osallstuvat.)à* DU0- -valnnassa van evoluutossa syntyneet jälkeläset (jota merktäänu mukana.)àutžu0- ) ovat -valnnassa taas valtaan sekä syntynestä jälkelässtä että hedän vanhemmstaan (jota merktäänà ). Tällön vanhemmat vovat sälyä hengssä ss useamman ) À* U evoluutokerroksen ajan. Molemmlla tavolla on sekä hyvät ja) À t U0- että huonot puolensa. -valntaa suostellaan reaalluku-parametren optmontn -valntaa kombnatorsn ongelmn. [2] 5.2.4 Geneettset algortmt Geneettset algortmt (engl. genetc algorthms, GA) ott ensmmäsen kerran käyttöön Holland 1960-luvulla. GAta estettn alunpern mukautuvan prosessn yleseks mallks, mutta nykysn suurn osa stä käyttävstä sovellukssta on optmonnn alalla. [6] GA:ssa ykslön sanotaan koostuvan kromosomesta. K{ M FK# _!< <!< FKWV jotka taas koostuvat geenestä. Kromosom onw :n ptunen vektor, jonka komponenttk{/ 26

ovat ss geenejä. Geeneks valtaan ratkastavan ongelman parametrt. GA:ssa geent kuvataan usen bnäärlukuna {0,1}. Kromosom vo tällön näyttää esmerkks tältä: <100010011>. Geent vodaan kuvata kutenkn myös reaallukuna, kuten Whtley, Domnc ja Das toteavat Genetc Algorthms teoksessa [4]. Kuten mudenkn evoluutoalgortmen, myös GA:n tomnta perustuu geneettsn operaatohn. GA:ssa nämä ovat: rekombnaato, mutaato ja valnta. [4] Geneettset algortmt eroaa musta evoluutoalgortmesta snä, että mutaato tehdään geenettän ja mutaatossa e käytetä strategaparametra. Evoluutostrategossa ja evoluuto-ohjelmonnssa mutatodaan kerralla koko ykslö ja mutaatosta käytetään hyvn usen strategaparametrn ssältävä versota. Ensmmäsenä tehdään rekombnaato, jossa vanhempen-populaaton (el edellseltä generaatokerrokselta jatkoon päässeden ykslöden) geenejä rsteytetään ja nän saadaan akaan uusa jälkeläsä. Rsteytyksessä vanhempen populaatosta otetaan kaks vanhempaa (ät ja sä), joden geent rsteytetään. GAssa rsteytykseen vodaan käyttää kakka luvussa 5.2.2 kuvattuja menetelmä. Käytetyn rsteytystapa lenee kakspstersteytys. [27] Geneettsten algortmen mutaato eroaa heman evoluutostrategossa ja evoluuto-ohjelmonnssa käytettävästä mutaatosta. Koska GA:ssa ykslö on tavallsest kuvattu bnäärlukuvektorna, rttää mutaatoks pelkkä geenen vahtamnen 1:stä 0:aan ta pänvaston. GA:ssa e myöskään mutatoda kerralla koko ykslöä kuten mussa evoluutoalgortmessa, vaan mutaato tehdään geenettän sten, että geenellä on tetty todennäkösyys tulla muutetuks. Valntaan GA:ssa käytetään pääasassa todennäkösyyteen perustuva menetelmä. Luvussa 5.2.3 kuvatusta menetelmstä suostumpa ovat rulettvalnta ja turnajasvalnta. [27] Geneettsten algortmen perusalgortm on seuraavanlanen: 1. «p7o4 2. Alusta populaato satunnasest 3. Arvo populaaton ykslöden ftness («" b;k _6«º 0b^bH«6Õá 4. whle ) do Rsteytä Mutato geenettän Arvo populaaton ykslöden ftness Valtse todennäkösyyteen perustuvalla valnnalla seuraavalle evoluutokerrokselle selvytyvät «ykslöt ++ 27

Geneettstä algortma vo säätää ratkastavan ongelman mukaan. Grefenstette mantsee [4]:ssä, että algortmn tomntaan vakuttavat mm. populaaton koko, kunka usen rsteytetään, mutaaton vomakkuus, kunka monta prosentta populaatosta saa vahtua yhdessä generaatossa ja valntaoperaato. 5.2.5 Evoluutostrategat Evoluutostrategat (engl. evoluton strateges, ES) ovat kehttäneet Rechenberg ja Schwefel 1970-luvun pulvälssä. Alunpern ES kehtettn ratkomaan vaketa dskreettejä sekä jatkuva parametren optmontongelma. [6] ES:ssä käytettävät geneettset operaatot ovat: valnta, mutaato ja rekombnaato. [2] Nästä ensmmäsenä tehdään rekombnaato, johon ES:ssä käytetään luvussa 5.2.2 esteltyjen rsteytysmenetelmen sjasta usen dskreettä rekombnaatota (engl. dscrete recombnaton) ta keskarvorekombnaatota (engl. ntermedate recombnaton). Dskreetssä rekombnaatossa valtaan satunnasest jokasen geenn kohdalla, kummalta vanhemmalta se kopodaan jälkeläselle. Keskarvorekombnaatossa jälkeläsen geen saadaan laskemalla vanhempen vastaaven geenen keskarvo. ES:ssä yhden jälkeläsen luomseen vodaan käyttää myös koko populaaton kakka ykslötä, jollon puhutaan panmctc-tapauksesta. [5] Rekombnaaton jälkeen tehdään mutaato, joka on valnnan lsäks tärken ES:n operaatosta. Mutaato-operaatot ovat ongelmarppuvasa ja nden okeanlasella suunnttelulla on krttnen vakutus koko algortmn tomntaan. Mutaatoon käytetään ylesest luvussa 5.2.1 kuvatusta menetelmstä strategaparametrn ssältävä versota. [2] Lopuks valntaoperaato valtsee ykslöstä osan jatkoon. Evoluutostrategoden valntamenetelmät eroaa geneettsten algortmen ja evoluuto-ohjelmonnn valntamenetelmstä. ES:ssä käytetään todennäkösyyteen perustuven menetelmen sjasta eltststä valntaa, jollon parhaat ykslöt pääsevät ss suoraan jatkoon. ES:ssä valntamenetelmä merktään) -. ES:n perusalgortm on seuraava [2]: 1. «p7o4 2. Alusta populaato satunnasest 3. Arvo populaaton ykslöden ftnesst («4. whle " b;k _6«º 0b^bH«6Õá ) do Rekombnaato Mutaato 28

Arvo populaaton ykslöden ftnesst Valtse) - -valnnalla ykslöt seuraavalle kerrokselle «++ Evoluutostrategat eroaa ss musta evoluutoalgortmesta rsteytyksen ja valnnan osalta. ES:ssä rsteytys toteutetaan dskreettnä ta keskarvorekombnaatona, jota e GA:ssa ja EP:ssa käytetä. Valntaan ES:ssä käytetään van eltstsä menetelmä, kun taan geneettsssä algortmessa ja evoluuto-ohjelmonnssa vodaan käyttää myös todennäkösyyteen perustuva valntamenetelmä. 5.2.6 Evoluuto-ohjelmont Evoluuto-ohjelmont (engl. evolutonary programmng, EP) synty yrtyksestä luoda tekoälyä. EP:n on luonut L. J. Fogel 1960-luvun alussa. Evoluuto-ohjelmonnlla pystyttn alunpern ratkomaan van dskreettejä ongelma. [6] 1980-luvun lopulla hänen pokansa D. B. Fogel laajens EP:tä tommaan myös jatkuven parametren optmontn. EP:llä on paljon yhtäläsyyksä ES:n ja GA:n kanssa, mutta tulee kutenkn mustaa että ne kakk on kehtetty täysn erllään. [5] Evoluuto-ohjelmont koostuu mutaatosta ja valnnasta. Snä e ss käytetä ollenkaan rekombnaatota, kuten ES:ssä ja GA:ssa, vaan se etenee täysn mutaaton varassa. Mutaato onkn EP:ssä keskenen geneettnen operaato. Mutaatoon vodaan käyttää kakka luvussa 5.2.1 esteltyjä menetelmä, mutta ylesmmn käytössä on Gaussn-tyyppnen mutaato, jolla saadaan sekä soja että penä hyppyjä. [5] Mutaaton jälkeen EP:ssä valtaan seuraavalle kerrokselle selvytyvät ykslöt. Valnta tehdään luvussa 5.2.3 kuvatulla todennäkösyyteen perustuvlla menetelmllä. Algortm on seuraava: 1. «p7o4 2. Alusta populaato satunnasest 3. Arvo populaaton ykslöden ftnesst («" b;k _6«º 0b^bH«6Õá 4. whle ) do Mutato Arvo populaaton ykslöden ftnesst Valtse «todennäkösyyteen perustuvalla valnnalla ykslöt seuraavalle kerrokselle ++ 29