Geneettiset algoritmit ja luonnossa tapahtuva mikroevoluutio



Samankaltaiset tiedostot
FYSA220/2 (FYS222/2) VALON POLARISAATIO

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

Jaksolliset ja toistuvat suoritukset

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

Uuden eläkelaitoslain vaikutus allokaatiovalintaan

Asennus- ja käyttöohjeet. Videoterminaali

Monte Carlo -menetelmä

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

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

Esitä koherentin QAM-ilmaisimen lohkokaavio, ja osoita matemaattisesti, että ilmaisimen lähdöstä saadaan kantataajuiset I- ja Q-signaalit ulos.

LIGNIININ RAKENNE JA OMINAISUUDET

Kuluttajahintojen muutokset

FDS-OHJELMAN UUSIA OMINAISUUKSIA

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

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

Tchebycheff-menetelmä ja STEM

Johdatus tekoälyn taustalla olevaan matematiikkaan

Luento 6 Luotettavuus Koherentit järjestelmät

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

ABTEKNILLINEN KORKEAKOULU

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

6. Stokastiset prosessit (2)

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

3D-mallintaminen konvergenttikuvilta

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

3.5 Generoivat funktiot ja momentit

Markov-prosessit (Jatkuva-aikaiset Markov-ketjut)

Kuntoilijan juoksumalli

3. Datan käsittely lyhyt katsaus

Puupintaisen sandwichkattoelementin. lujuuslaskelmat. Sisältö:

Ilkka Mellin (2008) 1/24

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

asettamia ehtoja veroluonteisesta suhdannetasausjärjestelmästä. komitean mietintöön. Esityksessä on muutama ratkaisevan heikko kohta.

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.

A250A0100 Finanssi-investoinnit Harjoitukset

ANTIBIOOTTIEN POISTO VEDESTÄ ADSORPTIOLLA

Yksikköoperaatiot ja teolliset prosessit

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

3 Tilayhtälöiden numeerinen integrointi

Rahastoonsiirtovelvoitteeseen, perustekorkoon ja vakuutusmaksukorkoon liittyvät laskentakaavat ja periaatteet

JYVÄSKYLÄN YLIOPISTO Taloustieteiden tiedekunta

Kuinka väestö sijoittuu siirryttäessä tietoyhteiskuntaan?

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

HASSEN-WEILIN LAUSE. Kertausta

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

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

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

Turingin kone on kuin äärellinen automaatti, jolla on käytössään

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

Palkanlaskennan vuodenvaihdemuistio 2014

7. Modulit Modulit ja lineaarikuvaukset.

Aamukatsaus

AMMATTIMAISTA KIINTEISTÖPALVELUA JO 50 VUODEN AJAN

Mat Lineaarinen ohjelmointi

Painotetun metriikan ja NBI menetelmä

Työllistääkö aktivointi?

Soile Kulmala. Yksikkökohtaiset kalastuskiintiöt Selkämeren silakan kalastuksessa: bioekonominen analyysi

Sähköstaattinen energia

Sähkökiukaan kivimassan vaikutus saunan energiankulutukseen

VERKKO-OPPIMATERIAALIN LAATUKRITEERIT

KUVIEN LAADUN ANALYSOINTI

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

PUTKIKELLON SUUNNITTELU 1 JOHDANTO 2 VÄRÄHTELEVÄN PALKIN TEORIAA. dm Q dx = (1) Matti A Ranta

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

Eräs Vaikutuskaavioiden ratkaisumenetelmä

AquaPro Bedienungsanleitung Operating instructions Gebruiksaanwijzing Käyttöohje FIN Rev.0607

Kansainvälisen konsernin verosuunnittelu ja tuloksenjärjestely

Hakemikaoen on liitettävä asiakirja. Jolla valitsijayhdistys on

Valmistelut INSTALLATION INFORMATION

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

SEKAELEMENTIT ABSOLUUTTISTEN SOLMUKOORDINAATTIEN MENETELMÄSSÄ

Ilmari Juva. Jalkapallo-ottelun lopputuloksen stokastinen mallintaminen

Säilörehun korjuuajan vaikutus maitotilan talouteen -lyhyen aikavälin näkökulma

Paperikoneiden tuotannonohjauksen optimointi ja tuotefokusointi

Maanhintojen vikasietoisesta mallintamisesta

= E(Y 2 ) 1 n. = var(y 2 ) = E(Y 4 ) (E(Y 2 )) 2. Materiaalin esimerkin b) nojalla log-uskottavuusfunktio on l(θ; y) = n(y θ)2

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

Mekaniikan jatkokurssi Fys102

Paikkatietotyökalut Suomenlahden merenkulun riskiarvioinnissa

Tavoitteet skaalaavan funktion lähestymistapa eli referenssipiste menetelmä

KOKONAISRATKAISUT YHDESTÄ PAIKASTA

JYVÄSKYLÄN YLIOPISTO JULKISEN JA YKSITYISEN SEKTORIN VÄLISET PALKKAEROT SUOMESSA 2000-LUVULLA

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

Moderni portfolioteoria

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

Fysiikkaa työssä. fysiikan opiskelu yhteistyössä yritysten kanssa

Mat Lineaarinen ohjelmointi

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

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

BL20A0600 Sähkönsiirtotekniikka

4. A priori menetelmät

VERKKOJEN MITOITUKSESTA

Epätäydelliset sopimukset

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

Reaaliarvoinen funktio f : on differentioituva pisteessä x, jos f:lle on siinä voimassa kehitelmä. h h. eli. Silloin

3.3 Hajontaluvuista. MAB5: Tunnusluvut

Mat Lineaarinen ohjelmointi

Usean muuttujan funktioiden integraalilaskentaa

Kanoniset muunnokset

Hyrynsalmen kunta, jäljempänä kunta. Laskutie 1, HYRYNSALMI. Kohde sijaitsee Hallan Sauna- nimisessä kiinteistössä.

Transkriptio:

Mat-2.108 Sovelletun matematkan erkostyöt Geneettset algortmt ja luonnossa tapahtuva mkroevoluuto 11.5.2005 Teknllnen korkeakoulu Systeemanalyysn laboratoro Oll Stenlund 47068f

1 Johdanto 3 2 Geneettset algortmt 4 2.1 Tomntaperaate 4 2.2 Bolognen tausta 5 2.3 Valnta 5 2.3.1 Sjotukseen perustuva valnta 6 2.3.2 Rulettvalnta 6 2.3.3 Stokastnen valnta 6 2.3.4 Pakallnen valnta 6 2.3.5 Katkasuvalnta 6 2.3.6 Turnausvalnta 7 2.4 Rsteytys 7 2.4.1 Dskreett rsteytys 7 2.4.2 Reaallukursteytys 7 2.4.3 Bnäärrsteytys 8 2.5 Mutaato 9 2.6 Uudelleensjotus 9 2.6.1 Globaal uudelleensjotus 9 2.6.2 Pakallnen uudelleensjotus 10 2.7 Menetelmen kenotekosuus 10 2.8 Matemaattnen tarkastelu 11 3. Esmerkkejä 13 3.1 Geenn levämsnopeus populaatossa 13 3.1.1 Parametren valnta 13 3.1.2 Tulokset 14 3.1.3 Johtopäätökset 17 3.2 Esmerkk redusotumattomasta monmutkasuudesta 17 3.2.1 Parametren valnta 18 3.2.2 Tulokset 18 3.2.3 Johtopäätökset 20 4 Yhteenveto 21 5 Vtteet 23 Ltteet 24 Tärkemmät Matlab-koodttedostot, john on tehty muutoksa 24 2

1 Johdanto Geneettsllä algortmella tarkotetaan luonnossa tapahtuvan elöden muuntelun pohjalta kehtettyjä algortmeja. Nssä ykslöt el ratkasukanddaatt kuvataan geneettsellä nformaatolla, jonka perusteella lasketaan kunka hyvä ratkasu on kyseessä jonkn tetyn ftness-funkton avulla. Valtut ykslöt jatkavat sukua ja uusen sukupolven syntyä smulodaan, jollon uusen ykslöden permään kohdstetaan luonnon menetelmen pohjalta kehtettyjä muuntelumenetelmä kuten rsteytys ja mutaato. Ratkasun tovotaan löytyvän uussta sukupolvsta, jotka vovat tarjota parempa ratkasukanddaatteja. Luonnossa vastaavaa algortma kutsutaan nmellä mkroevoluuto, joka tarkottaa elänlajen ta tarkemmn sanottuna ns. perusryhmen ssällä tapahtuvaa muuntelua. Mkroevoluuton laajennushypoteesa el että kakk elänlajt ovat syntyneet mkroevoluuton mekansmlla yhtesestä es-sästä kutsutaan makroevoluutoks. Nykyään oppkrjossa pdetään lähes tsestään selvänä, että maalmankakkeus ja kakk elävä on mljardeja vuosa vanhaa. Maapallolla sanotaan olleen soluja yl 3,5 mljarda vuotta ja että maapallo muodostu n. 4,5 mljarda vuotta stten [5]. Elänlajen sanotaan kehttyneen tosstaan hyvn ptkän ajan kuluessa [6]. Sanotaan, että jos emme ymmärrä evoluutota, mellä e ole mahdollsuutta ymmärtää ympärllämme levttäytyvää elollsta maalmaa ja hmsen anutlaatusuutta [7]. Fosslanesto kutenkn myönnetään töksähteleväks, jossa elänlajen vähttästä muutosta yhtesestä es-sästä e havata [7]. Tyypllsest evoluutokrjallsuudessa todstellaan makroevoluutota luonnossa havatulla mkroevoluutolla. Elöden monmuotosuuden maapallolla vätetään ss syntyneen luonnon omlla mekansmella: luonnonvalnnalla, rsteytyksellä ja mutaatolla. Elämän oletetaan syntyneen elottomasta, vakka mtään todsteta sellasesta e ole. Kukaan e ole myöskään pystynyt määrttelemään mtä elämä on [4]. Täytyy myös mustaa, että jos evoluutosta yleensäkn haluttasn jonknlanen kaken synnyn teora, täytys sama mekansm toma myös elottoman luonnon puolella. Geneettsssä algortmessa käytetään yleensä oletusta, että jokn valntaedun saava omnasuus ols lähestyttävssä sellaslla kehtysaskellla, että valntaetu pkku hljaa kasvas. Luonnossa kutenkn valntaedun saava rakenne joko tom ta e. Tämän kaltasa rakenteta kutsutaan redusotumattoman monmutkasks rakenteks, josta yhdenkn osan pos ottamnen lakkauttaa koko rakenteen tomnnan ja valntaetu menetetään. Geneettsssä algortmessa käytetään myös usen van yksulottesa tavotteta, kun luonnossa tarvttasn monen tavotteen yhtäakasta huomomsta, mkä vaatskn jo älykästä suunntteljaa [8]. Luonnossa olevat äärmmäsen monmutkaset rakenteet ssältävät valtavast nformaatota, joka tarvtaan nden tuottamseen. Jos tämän nformaaton yrtetään selttää syntyneen luonnon omlla algortmella, tulee vastaan suura ongelma, koska on osotettu, että luonnon omat algortmt evät kykene tuottamaan ns. täsmennetyn monmutkasta nformaatota, jota on kakessa elävässä [10]. Geneettsä algortmeja on käytetty monlla aluella kuten matematkka, lääketede ja talous. Sovelluksa löytyy mm. VLSI-pren suunnttelu, töden ajotus, molekyylen suunnttelu, portfoloden optmont, kuven kästtely ja koneoppmnen [6]. Tässä työssä on tarkotus estellä geneettsssä algortmessa algortmessa usemmn käytetyt 3

menetelmät ja pohta heman nden kenotekosuutta ja eroja verrattuna luonnon omn mekansmehn. Menetelmen bologsta taustaa katsotaan myös pkasest ja johdetaan geneettsten algortmen perusteoreema. Lsäks smulodaan mten nopeast valntaedun saanut ykslö levää koko populaatoon ja mten geneettset algortmt käyttäytyvät redusotumattoman monmutkasssa ongelmssa. Nätä ongelma smulodaan Matlablla. Smulonnssa käytetään valmsta Matlab-algortmesta muokattuja versota [11]. 2 Geneettset algortmt 2.1 Tomntaperaate Geneettset algortmt ovat etsntäalgortmeja, jotka perustuvat luonnonvalntaan ja genetkkaan. Etsntäalgortmt jaetaan perntesest laskenta-algortmehn, numeersn algortmehn ja satunnasuuteen perustuvn algortmehn. Laskenta-algortmt jaetaan suorn ja epäsuorn algortmehn. Epäsuorat algortmt etsvät funkton lokaaleja äärarvoja asettamalla sen gradentn nollaks. Suorat menetelmät puolestaan etsvät lokaala äärarvoa kulkemalla ptkn funkton mahdollsest monulottesta pntaa sen gradentn suuntaan. Numeerset algortmt perustuvat hmsen tomntaan el käydään läp kakk mahdollset avaruuden arvot yks kerrallaan. Tämä on kutenkn erttän hdasta, ekä sovellu vähänkään sompn ongelmn. Satunnasuuteen perustuvat algortmt etsvät äärarvoja avaruudesta satunnasuuden avulla. [1] Geneettnen algortm on satunnasuuteen perustuva algortm, joka pyrk suosmaan populaaton kyvykkämpä ykslötä ja hävttämään vähten kyvykkäät uusssa sukupolvssa. Tämä tapahtuu seuraavan sukupolven synnyttäjen valnnan avulla. Geneettset algortmt ovat soketa, koska ne evät käytä gradentteja ta vastaava suunnan näyttäjä edetäkseen koht äärarvoa. Ne evät ss tedä mssä suunnassa ratkasuavaruudessa on mahdollnen äärarvo. Ykslötä kuvataan usen merkkjonolla ta bttjonolla. Geneettnen algortm jaetaan neljään osaan, jota ovat valnta, rsteytys, mutaato ja uudelleensjotus. Valnnassa sukupolvesta valtaan parhammat ykslöt uuden sukupolven synnyttämseen, jollon huonommat ykslöt jätetään huomotta. Nämä ykslöt käyvät läp mahdollsen rsteytyksen, joka tarkottaa valttujen sä- ja ätykslöden perntötekjöden yhdstelyä tetyn peraatteen mukaan uusen jälkelästen perntötekjöden luomsessa. Uudelleensjotus tarkottaa vanhempen synnyttämen jälkelästen sjotusta takasn alkuperäseen populaatoon. Operaatoden järjestystä vodaan kuvata seuraavast: 1. Alkupopulaaton luomnen 2. Seuraavan sukupolven synnyttäjen valnta ykslöden ftness-arvojen perusteella ja jälkelästen syntymnen 3. Rsteytys jälkeläslle 4. Mutaato jälkeläslle 5. Jälkelästen ftness-arvojen laskenta ja sjotus alkuperäseen populaatoon 6. Paluu kohtaan 2. 4

2.2 Bolognen tausta Jokasessa elävän elämen ta hmsen solussa on nuklenhappoja. Nämä hapot ssältävät nformaatota el solun tomnnan ohjeet, jonka mukaan solussa valmstetaan mm. erlasa proteneja. Solujen jakautuessa nformaatomolekyylt kopotuvat uusn jälkeläsn. Nuklenhappoja on kahdenlasa: Deoksrbonuklenhappoa el DNA:ta ja rbonuklenhappoa el RNA:ta. DNA-molekyyl el kromosom koostuu mljoonsta ossta, jota kutsutaan nukleotdeks, jotka puolestaan koostuvat fosfaattosasta, sokerosasta ja emäsosasta. Fosfaatt- ja sokerosat ovat kakssa nukleotdessä samoja, mutta emäksä on neljä erlasta: adenn (A), sytosn (C), guann (G) ja tymn (T). DNA-molekyylssä on kaks rnnakkasta juostetta nukleotdejä. Nämä juosteet knnttyvät tosnsa emäsosen kohdalla vetysdokslla. Kutenkn van adenn-sytosn ja guann-tymn sdoksa vo muodostua. Protenen valmstuksessa nformaatoykskkönä tomvat kolmen peräkkäsen emäksen muodostamat ryhmät. Nän saadaan teorassa 4 3 64 er amnohappoa, josta protent koostuvat. Käytännössä elössä esntyy yleensä van 20 er amnohappoa. Perntötekjä el geen on palanen DNA:ta, joka suorttaa jonkn tehtävän. Yks geen vo ohjata monen er amnohapon valmstusta. Keskmttanen geen on ptuudeltaan n. 1500 nukleotda. Tämän emäkset 1500 vovat olla kästtämättömän suuressa 4 er järjestyksessä. Ihmssolussa on 23 para kromosomeja, jossa geent sjatsevat. Kromosomt muodostavat vastnpareja, josta tonen pertään sältä ja tonen ädltä. Geenen pakkaa kromosomssa kutsutaan lokukseks. Genomks kutsutaan koko elön geneettstä materaala el kakka kromosomeja. Ihmsen genom ssältää n. 2 900 000 000 emäspara [4] ja hmsellä on kymmenä tuhansa geenejä. Tettyä geenjoukkoa kutsutaan genotyypks ja ykslön geenen aheuttamaa fyysstä ja henkstä ulkomuotoa fenotyypks. [2] 2.3 Valnta Jokasessa sukupolvessa valtaan ykslöt, jotka tuottavat seuraavan sukupolven ykslöt. Ne valtaan yleensä ftness-arvoltaan parhampen ykslöden joukosta, mutta valntatapoja on useta. Luonnonvalnta perustuu satunnasuuteen, kutenkn nn, että paremmlla ykslöllä on suuremp todennäkösyys tulla valtuks. Geneettsssä algortmessa käytetään kutenkn usen kenotekosa valntatapoja. Ylesmpä valntatapoja ovat sjotukseen perustuva valnta (Rank-based ftness assgnment), rulettvalnta (Roulette wheel selecton), stokastnen valnta (Stochastc unversal samplng), pakallnen valnta (Local selecton), katkastu valnta (Truncaton selecton) ja turnausvalnta (Tournament selecton). Luonnossa esntyy er valntatyyppejä er tlantessa. Nätä ovat tasapanottava, suuntaava ja hajottava valnta. Tasapanottava valnta pyrk postamaan mutatodut ykslöt, jotka pyrkvät muuttamaan populaaton fenotyyppjakaumaa pospän keskvertofenotyypstä. Tasapanottava valnta pyrk ss vakauttamaan populaatota. Suuntaava valnta pyrk suosmaan tettyyn suuntaan menevä muutoksa. Tämä on mahdollsta usen vasta sllon, kun ympärstöolosuhtessa on tapahtunut muutos. Hajottava valnta pyrk suosmaan äärpätä el populaaton tyypllsestä fenotyypstä selväst pokkeava ykslötä. [3] 5

2.3.1 Sjotukseen perustuva valnta Sjotukseen perustuvassa valnnassa annetaan ykslölle uudet ftness-arvot tosella tavalla laskettujen ftness-arvojen perusteella. Ykslöt järjestetään alkuperästen ftnessarvojen mukaseen paremmuusjärjestykseen ja uudet arvot annetaan pelkästään tuon järjestysnumeron perusteella kullekn. Uus ftness-arvo vo määräytyä lneaarsest järjestysnumeron mukaan ta epälneaarsest suosen penä järjestysnumerota. Ykslön valntatodennäkösyys on sen ftness-arvon suhde ftness-arvojen summaan. 2.3.2 Rulettvalnta Rulettvalnnassa annetaan ykslölle stä suuremp todennäkösyys tulla valtuks kun nden ftness-arvo edellyttää. Valntatodennäkösyys on ykslön ftness-arvon suhde kakken ykslöden ftness-arvojen summaan. Tämä on ss sama kun rulettpöydässä annettasn kullekn ykslölle nden ftness-arvon suurunen kolo. 2.3.3 Stokastnen valnta Stokastsessa valnnassa annetaan samalla tavalla ykslölle valntatodennäkösyydet kun rulettvalnnassa. Todennäkösyyksen suuruset janat asetetaan peräkkän ja ykslöt valtaan asettamalla kampamasest valntaponttert (N kpl) janojen päälle. Pontteren kohdalla olevat N ykslöä valtaan. Pontteren etäsyys tosstaan on 1/N. Lsäks satunnasuus on mukana valnnassa nn, että ensmmänen pontter asetetaan satunnasest vällle [0, 1/N], jonka mukaan sjottuvat myös muut ponttert. Tämä on estetty kuvassa 1. Nän saadaan valttua N ykslöä, joden hajonta on kampapontteren ansosta suuremp kun rulettvalnnassa. Kuva 1 Stokastnen valnta, jossa valtaan kampapontteren kohdalla olevat N=6 ykslöä. a1,,an ovat ykslöden valntatodennäkösyyksä ja x valtaan satunnasest välltä [0, 1/N]. 2.3.4 Pakallnen valnta Pakallsessa valnnassa ykslöt valtaan pakallsuuden perusteella. Ensn valtaan lsääntyven paren toset puolskot jollan tosella valntatavalla. Toset puolskot valtaan kunkn puolskon lähympärstöstä satunnasest. Tätä varten ykslöllä täytyy olla jonknlanen maanteteellnen sjant. Lähympärstöks vodaan valta ermuotosa ja kokosa ympärstöjä. 2.3.5 Katkasuvalnta Katkasuvalnnassa ykslöt järjestetään ftness-arvonsa mukaan järjestykseen. Lsääntymseen valtaan ennaltavaltun suhdeluvun mukaan sen osottama osuus ykslöstä nn, että ykslötä aletaan valtsemaan järjestyslstan paremmasta päästä. 6

2.3.6 Turnausvalnta Turnausvalnnassa valtaan populaatosta satunnasest tetty määrä N ykslötä. Nästä ykslöstä valtaan paras seuraavan sukupolven vanhemmaks. Tämä tostetaan kunnes on valttu haluttu määrä seuraavan sukupolven vanhmpa. Turnausvalnnassa vo helpost tulla valtuks huonokn ykslö, jos N on pen. 2.4 Rsteytys Rsteytyksellä (rekombnaato) tarkotetaan permän uudelleenyhdstelyä el sekottamsta suvullsessa lsääntymsessä. Uudelleenyhdstely vo tapahtua sekä geenen välllä että myös geenen ssällä. Rsteytys e luo uutta geneettstä materaala, vaan se anoastaan yhdstelee jo olemassaolevaa. Nän syntyy uusa geenyhdstelmä, jotka ovat yhdstelmä vanhempen jo olemassaolevsta geenyhdstelmstä. Geenen ssäsessä rsteytyksessäkn syntyy van jo olemassaoleva geenen palasen yhdstelmä, mutta e uusa geenn osa. Luonnossa geenen ssänen rsteytys on erttän harvnanen [9]. Permää vodaan yhdstellä kahdesta ta useammasta vanhemmasta. Erlaset geneettsssä algortmessa esntyvät rsteytysalgortmt vodaan jakaa dskreettehn, reaalluku- ja bnäärrsteytyksn. 2.4.1 Dskreett rsteytys Dskreetssä rsteytyksessä yhdstetyt permät saavat jokaseen muuttujapakkaan arvon jommaltakummalta vanhemmalta. Arvo valtaan satunnasest joka pakkaan erkseen yhtäsuurella todennäkösyydellä kummaltakn vanhemmalta. El 0 P1 P2 X X a X (1 a ), {1,2,..., a 0,1, N}, 0 jossa X tarkottaa yhdstetyn permän geenä pakassa, geenä pakassa, N geenpakkojen lukumäärää. Pn X vanhemman n permän a arvotaan jokaseen pakkaan erkseen ja sen arvoks vo tulla joko 0 ta 1 yhtäsuurella todennäkösyydellä. Jälkelästen mahdollset permät sjatsevat -ulottesen hyperkuuton kulmssa. 2.4.2 Reaallukursteytys Reaallukursteytystä käytetään, kun permän muuttujen arvoja kuvataan reaalluvulla. Välrsteytyksessä (Intermedate recombnaton) permän muuttujen arvot otetaan vanhempen arvojen välstä ta läheltä ntä: 0 P1 P2 X X a X (1 a ) 1 {1,2,..., N}, a d,1 d jossa a valtaan satunnasest, jokaselle pakalle oma arvo välltä [ d, 1+d]. d:n arvona vodaan käyttää esm. d=0,25, jollon jälkelästen arvot vovat olla heman vanhempen arvojen väln ulkopuolella. Jälkelästen permä on ss heman vanhempen permää suuremman hyperkuuton ssällä. 7

Vvarsteytys (Lne recombnaton) on muuten sama kun välrsteytys, mutta jokaselle permän pakalle käytetään samaa satunnaslukua a. Laajennetussa vvarsteytyksessä (Exted lne recombnaton) jälkelästen permämuuttujen arvot sjatsevat jossakn kohdassa vanhempen permäarvojen välsellä suoralla, kutenkn nn, että suuremmalla todennäkösyydellä lähellä vanhempa: P2 P1 0 P X 1 X X X sr a, P1 P2 X X {1,2,..., N}, a u 2 ku 0,1, s 1, 1 jossa k on tarkkuusvako, jonka arvo on tyypllsest 4:n ja 20:n välllä, u on satunnasluku välltä [0,1], s on joko -1 ta 1. r on maksmaskeleen ptuus ja a sanoo kunka suur osa stä otetaan. s määrää van suunnan. 2.4.3 Bnäärrsteytys Bnäärrsteytyksessä permän muuttujen arvot ovat bnäärsä. Bnäärrsteytystä kutsutaan myös nmellä crossover. Pstersteytyksessä (Sngle-pont / double pont / mult-pont crossover) valtaan satunnasest rsteytyskohta, jotka sjottuvat permämuuttujen väln nn, että nllä jaetaan permä useks osks. Rsteytyskohta täytyy olla vähntään yks. Jälkelästen permäks tulee vanhempen permä yhdstettynä nn, että permän osat, jotka rsteytyskohdat erottavat, otetaan ana vuorotellen kummaltakn vanhemmalta. Jos A ja B ovat vanhempen permät, nn kakspstersteytys yhdstää vanhempen permät jälkeläsn a ja b esm. seuraavalla tavalla: A: X1 X2 X3 X4 X5 X6 X7 B: Y1 Y2 Y3 Y4 Y5 Y6 Y7 a: X1 X2 Y3 Y4 Y5 Y6 X7 b: Y1 Y2 X3 X4 X5 X6 Y7 Tasasessa rsteytyksessä (Unform crossover) jokasen permämuuttujan arvo arvotaan kummalta vanhemmalta se saadaan. Tällön vo muodostaa ns. maskn, jossa on teto kustakn permämuuttujasta kummalta vanhemmalta se otetaan. Sekotusrsteytyksessä (Shuffle crossover) rsteytyskohten katkasemat permäosen palaset otetaan satunnasest kummaltakn vanhemmalta, e ss vuorotellen nn kun pstersteytyksessä. 8

2.5 Mutaato Mutaato on muutos elön DNA:ssa. Luonnossa mutaatota tapahtuu spontaanst el lman tunnstettavaa syytä. Mutta myös kenotekosest vodaan aheuttaa mutaatota mm. kemkaalella ja sätelyllä. Van mutaaton avulla vodaan saada uutta geneettstä materaala, koska rsteytys van yhdstelee jo olemassaolevaa. Mutaatot jaetaan kolmeen tyyppn, jotka ovat postvset, neutraalt ja negatvset mutaatot. Postvset mutaatot parantavat elön sopeutumsta tetyssä olosuhtessa. Tämä vo lmetä esmerkks jonkn omnasuuden menettämsenä olosuhtessa, jossa stä on valnnan kannalta etua ykslölle. Negatvset mutaatot hekentävät ykslön selvytymsmahdollsuuksa tosn ykslöhn nähden. Tällön ne evät pääse ylestymään populaatossa. Neutraalt mutaatot ovat mutaatota, jota e vo luoktella postvsks ta negatvsks. Ne saattavat ylestyä populaatossa, koska valnta e huomaa ntä. Mutaatot ovat kutenkn yleensä negatvsa, joten valnta kars ne pos. Mutaatot vovat lmetä esm. vrheellsnä rakentena, jonkn rakenteen suurentumsena ta ruumnosen muuttuneena lukumääränä. Mutaato vo tapahtua pstemutaatona, joka muuttaa yhtä DNA:n rakennuspalkkaa el nukleotdä. Tämä e kutenkaan ana muuta koodattavaa amnohappoa, koska monta er emäskolmkkoa vo koodata samaa amnohappoa. Tällön on kyse hljasesta mutaatosta. Mutaatota vo tapahtua myös kromosomtasolla. DNA:n pätkä vo vahtaa pakkaa, tuhoutua, kahdentua ta jokn uus pätkä lmestyä. Mutaatonopeus täytyy ertellä geneettseen ja fenotyypn mutaatonopeuteen. Geneettnen mutaatonopeus lmottaa todennäkösyyden, että DNA:n kahdentumsessa ta korjauksessa yks emäs muuttuu toseks rppumatta stä vakuttaako se ykslön fenotyyppn. Fenotyypn mutaatonopeus tarkottaa havantohn perustuvaa ykslön 9 lmasun muutosta. Pstemutaatotheyden arvodaan olevan n. 10 nukleotdä kohden [4]. 2.6 Uudelleensjotus Kun uuden sukupolven vanhemmat on valttu ja jälkeläset on tehty, ne täytyy sjottaa takasn alkuperäseen populaatoon. Tähän on monta erlasta käytettyä teknkkaa, jotka vahtelevat jälkelästen lukumäärän, ftness-arvon ja vanhempen pakallsuuden mukaan. Nämä teknkat jaetaan globaalehn ja pakallsn uudelleensjotuksn. 2.6.1 Globaal uudelleensjotus Globaallla uudelleensjotuksella (Global renserton) tarkotetaan jälkelästen sjottelua koko populaatoon, ekä van tettyyn pakallseen osaan. Globaalt menetelmät jaetaan puhtaaseen (Pure renserton), tasaseen (Unform renserton), eltstseen (Eltst renserton) ja ftness-arvon mukaseen (Ftness-based renserton) uudelleensjotukseen. Puhtaassa uudelleensjotuksessa vanhemmat tekevät jälkeläsä oman lukumääränsä verran ja jälkeläset sjotetaan takasn populaatoon suoraan vanhempen pakalle. Tasasessa menetelmässä jälkeläsä tehdään alle vanhempen lukumäärän ja sjotetaan vanhempen pakalle satunnasest. Eltstsessä menetelmässä jälkeläsä tuotetaan vähemmän kun vanhempa ja sjotetaan ftness-arvoltaan huonompen vanhempen 9

pakalle. Ftness-arvon mukasessa menetelmässä jälkeläsä tuotetaan enemmän kun vanhempa ja van parhammat jälkeläset uudelleensjotetaan populaatoon. Puhdas uudelleensjotus on yksnkertasn. Snä parhammat ykslöt vahdetaan useammn ja elävät usen van yhden sukupolven. Tosaalta huonot ykslöt vovat sälyä populaatossa montakn sukupolvea tulematta valtuks. Eltstnen menetelmä yhdstettynä ftness-arvon mukaseen on tehokkampa menetelmä. Snä ftnessarvoltaan parhammat jälkeläset sjotetaan ftness-arvoltaan huonompen vanhempen pakalle. 2.6.2 Pakallnen uudelleensjotus Pakallsessa uudelleensjotuksessa jälkeläset sjotetaan vanhempen pakallseen ympärstöön. Tämä vodaan toteuttaa monella er tavalla. Jälkeläset vodaan sjottaa satunnasest pakallseen ympärstöön ta vodaan korvata van huonommat ykslöt. Jälkelässtä vodaan sjottaa myös van ne, jotka ovat ympärstön hekompaa ykslöä parempa. Ta stten yksnkertasest paremp jälkelänen vo korvata hekomman vanhemman. 2.7 Menetelmen kenotekosuus Geneettsten algortmen menetelmät ovat suurelta osn kenotekosa verrattuna luonnossa tapahtuvaan elöden muunteluun ja lsääntymseen. Nssä on usen käytetty luonnolle verata tehosteta vanhempen valnnassa ja permän perytymsessä jälkeläslle, jotta parempa tuloksa saatasn akaan nopeammn. Valnnan suhteen van rulettvalntaa vodaan ptää luonnonmukasena, koska snä vanhemmat valtaan suoraan nden ftness-arvojen mukasella todennäkösyydellä, ekä snä ole mtään kenotekosa komponentteja kuten mussa valntatavossa. Luonnonvalnta e esmerkks osaa järjestää ykslötä paremmuusjärjestykseen kuten sjotukseen perustuvassa valnnassa ja katkasuvalnnassa. Stokastnen valnta on lähellä rulettvalntaa, mutta stokastsessa valnnassa olevat kampaponttert ovat kenotekosa. Luonnonvalnta e takaa kampapontteren aheuttamaa hajontaa valtuden ykslöden suhteen. Pakallsta valntaa sen sjaan tapahtuu myös luonnossa, jos ykslöt ovat erytyneet penemmks populaatoks, jotka evät kohtaa tosaan kovn usen. Valnnassa on myös kenotekosuutta, jos sama ykslö vo lsääntyä tsensä kanssa. Luonnossa rsteytys esntyy yleensä van kakspstesenä pstersteytyksenä [6]. Tämän taka dskreett rsteytys ja bnäärrsteytyksen tasanen rsteytys ovat kenotekosa, koska nssä arvotaan jokanen permämuuttuja erkseen. Myöskn Bnäärrsteytyksen sekotusrsteytys on myös luonnonvastanen, koska snä permän osat otetaan satunnasest jommaltakummalta vanhemmalta, kun luonnossa se tapahtuu vuorotellen. Reaallukursteytys on myös kenotekonen, koska DNA:ssa on van neljä erlasta emästä ja nden välmuotoja e luonnossa esnny. 9 Pstemutaatonopeus on luonnossa luokkaa 10 nukleotdä kohden. Geneettsssä algortmessa käytetään kutenkn usen jopa 0,1 mutaatotodennäkösyyksä, jotka ovat 10

monta suuruusluokkaa suurempa kun luonnossa. Lsäks oletetaan usen, että mutaato e vo rkkoa jo syntynyttä hyödyllstä omnasuutta. Uudelleensjotusmenetelmstä pakallsen ja tasasen menetelmän yhdstelmä on luonnonmukasn, koska snä otetaan huomoon ykslön maanteteellnen sjant jälkelästen synnyttämsessä ja jälkeläset sjotetaan takasn populaatoon satunnasest, jollon pakkansa menettävät ykslöt kuolevat. Kuolema tosn e tässä tapauksessa aheudu ykslön än mukaan, vaan se kohdstuu satunnasest ykslöhn. Yhdstelmä takaa kutenkn rttävän luonnonmukasuuden. Puhtaassa uudelleensjotuksessa jälkeläset ottavat vanhempen pakan, mkä on kenotekosta, koska snä vanhemmat evät vo tehdä kun yhdet jälkeläset, mnkä jälkeen ne kuolevat. Lsäks puhtaassa menetelmässä valtsematta jääneet ykslöt evät kuole ollenkaan. Eltstnen ja ftness-arvoon perustuvat uudelleensjotukset ovat kenotekosa, koska ne järjestävät ykslötä ftness-arvon mukaan. Uudelleensjotusmenetelmssä e ole myöskään otettu huomoon, että vanhemmat vosvat kerralla tehdä er määrän jälkeläsä ja että luonnossa populaaton koko yleensä kasvaa el syntyvyys on suurempaa kun kuollesuus. 2.8 Matemaattnen tarkastelu Tarkastellaan rsteytyksen ja mutaaton vakutusta uusn sukupolvn. Merktsemme ykslötä bnäärsnä lukujonona. Nätä merktsemme solla krjamlla ja penllä krjamlla yksttäsä lukujonon bttejä pakka-alandeksllä varustettuna. Esmerkks lukujono A = 0111000 vodaan esttää symbolsest A a1a 2a3a4a5a6a7, jossa jokanen btt kuvaa jotan ykslön omnasuutta. Nämä vodaan ajatella esm. geeneks. Tetyn bttjonon pakan mahdollsa geenarvoja 0 ja 1 kutsutaan alleeleks. Bttjonojen joukkoa kutsumme populaatoks, jota merktään lhavalla solla krjamella. Esm. A(t) ssältää ykslöt A, j=1,2,...,n ajanhetkellä ta sukupolvessa t. Tarvtsemme j myös kaavoja kuvataksemme er ykslöjoukkoja. Tällasessa kaavassa vomme käyttää 0:n ja 1:n lsäks tähteä (*), joka tarkottaa joko nollaa ta ykköstä tetyssä bttpakassa. Esm. kaavan H = *11*0** yks esmerkkbttjono on A = 0111000. Määrtellään kaavan aste ja ptuus. Kaavan aste o(h) (order) on knntettyjen pakkojen lukumäärä el tässä tapauksessa nollen ja ykkösen lukumäärä. Esm. o(h) = 3. Kaavan ptuus δ(h) on ensmmäsen ja vmesen knntetyn pakan etäsyys. Esm. δ (H) = 3. Populaatossa on tetyllä ajanhetkellä t jonkn tetyn kaavan H esmerkkejä m kappaletta. Tätä merktsemme m = m(h,t). Valnnassa tetty lukujono A tulee valtuks todennäkösyydellä f p. Seuraavassa sukupolvessa el hetkellä t+1, saamme f kaavan H esmerkken lukumääräks populaatossa j m( H, t) * n * f ( H ) m( H, t 1), (1) f j j 11

Jossa f(h) on kaavan H esmerkken (hetkellä t) keskmääränen ftness-funkton arvo. Kun huomaamme, että koko populaaton ftness-funkton keskmääränen arvo vodaan f j krjottaa f, saamme kaavan H esmerkken kasvuyhtälöks n f ( H ) m( H, t 1) m( H, t). (2) f Tämä vodaan lmasta sanallsest nn, että tetyn kaavan H esmerkken lukumäärä kasvaa esmerkken ja koko populaaton keskmääräsen ftness-arvojen suhteessa. Tosn sanoen jos kaavan H esmerkken keskmääräset ftness-arvot ovat yl populaaton keskmääräsen ftness-arvon, esmerkken lukumäärän vodaan odottaa kasvavan. Jos oletamme, että tetyn kaavan H esmerkken keskmääränen ftness-arvo on cf verran yl koko populaaton keskmääräsen ftness-arvon yläpuolella. Saamme yhtälön (2) uudeks muodoks f cf m( H, t 1) m( H, t) (1 c) * m( H, t). (3) f Tämä vodaan krjottaa alkamaan ajanhetkestä t=0: m ( H, t) ) t m( H,0) * (1 c, (4) josta huomataan, että kyseessä on korkoa korolle kaava. Seuraavaks lsätään rsteytyksen ja mutaaton vakutus. Tässä oletetaan, että rsteytys tapahtuu anoastaan yhdessä kohdassa ja että tämä kohta valtaan satunnasest. Tarkastellaan kaavaa H, joka tuhoutuu rsteytyksessä, jos rsteytyskohta sattuu osumaan kaavan ensmmäsen ja vmesen knntetyn arvon väln. Tuhoutums- ja sälymstodennäkösyyksks saadaan p p d s ( H ) /( l 1) 1 p d (5) jossa l on kaavan H bttpakkojen lukumäärä. Esmerkks kaavan H tuhoutumstodennäkösyydeks saadaan 3/(7-1)=0,5. Ylesemmn vomme ajatella sälymstodennäkösyyden alarajaks ( H ) ps 1 pc, l 1 Jossa p c on rsteytyksen (crossover) tapahtumstodennäkösyys. Kun kaavan H sälymstodennäkösyys otetaan huomoon (2):ssa saamme f ( H ) ( H ) m( H, t 1) m( H, t) 1 pc. f l 1 (6) 12

Kun otetaan huomoon myös mutaato, kaavan H kakken knntettyjen pakkojen täytyy o( H ) selvtä mutaatosta sälyäkseen. Tämä tapahtuu todennäkösyydellä (1 ), jossa p m on mutaaton todennäkösyys tetyssä bttpakassa. Tätä vodaan aproksmoda penllä mutaatotodennäkösyyden arvolla lausekkeella 1 o ( H ) * pm. Kun tämäkn otetaan huomoon kaavan H esmerkken kasvukaavassa (6) saamme (penn tuloterm otettu pos) p m f ( H ) ( H ) m( H, t 1) m( H, t) 1 pc o( H ) pm. f l 1 Tätä kutsutaan kaavateoreemaks (Schema Theorem) ta geneettsten algortmen perusteoreemaks (Fundamental Theorem of Genetc Algorthms). [1] (7) 3. Esmerkkejä Tässä kappaleessa tutktaan esmerkellä mten geneettset algortmt tomvat kahdessa erlasessa tehtävässä. Algortmen parametrt pyrtään asettamaan mahdollsmman luonnonmukasks. Jälkmmäsessä esmerkssä tosn joudutaan asettamaan rsteytys- ja mutaatotodennäkösyyksks suurempa arvoja, jotta tuloksa saatasn nopeammn. 3.1 Geenn levämsnopeus populaatossa Tässä esmerkssä pyrtään selvttämään kunka nopeast ja mllä todennäkösyydellä tetty geen, joka antaa ykslölle valntaedun, levää populaatossa valntaetunsa ansosta. Geneettsen algortmn parametrt pyrtään valtsemaan mahdollsmman realstsks ja kenotekosuutta pyrtään välttämään. 3.1.1 Parametren valnta Ykslöden genomesta tutktaan van yhtä geenä, joka on osa dna:ta. Ykslö koostuu van yhden geenn lmentymästä, koska van yhden geenn levämstä tutktaan. Muut geent jätetään huomotta. Tästä syystä myös rsteytys jätetään pos, koska geenn ssänen rsteytys on hyvn harvnanen [9]. Lsäks sllä ols van hatallnen vakutus, koska valntaedun omaava geen van tuhoutus stä kautta. Mutaatotodennäkösyytenä 6 käytetään 10 geenä kohden, joten todennäkösyydeks yhtä bttä kohden tulee 6 10. Btten lukumääränä el geenn kokona käytettn 10 bttä. bttlkm Valntana käytetään rulettvalntaa, koska se on kaksta lähmpänä luonnon satunnasta valntaa. Snä uusen ykslöden vanhemmat valtaan satunnasest ykslön ftness-arvoon verrannollsella todennäkösyydellä. Tällön ertysest kyvykkäät ykslöt vovat tulla valtuks useaankn kertaan, mkä kertoo mm. nden ykslöden hyvstä lsääntymskyvystä ja kumppann vettelyomnasuukssta. Sllon tällasen ykslön geent levävät populaatossa nopeammn. Jokasessa sukupolvessa ykslöstä valtaan valntamenetelmällä 60 prosentta uusen ykslöden vanhemmks. Valtut ykslöt parutuvat, jollon lapsks tulevat täsmälleen samanlaset ykslöt kun vanhemmatkn. Jälkeläset, jota on ss ana vanhempa koht 13

kaks sjotetaan alkuperäseen populaatoon satunnaslle pakolle, jollon populaaton kokonaslukumäärä e lsäänny. Tässä ss käytetään puhtaan ja tasasen uudelleensjotuksen yhdstelmää. Tämä takaa rttävän suuren luonnonmukasuuden, ettevät valtsematta jääneet ykslöt jää elämään populaatoon ptkäks akaa. Ykslöt kuolevat nn että uuden sukupolven edustaja ottaa nden pakan populaatossa. Ykslöt vovat ss kuolla tulematta valtuks ollenkaan. Luonnossakaan kakk ykslöt evät pääse lsääntymään johtuen erlassta luonnollssta systä kuten huonot parnvettelytadot, saraudet ja ennenakanen kuolema. Tosaalta ykslö vo myös jatkaa elossa useta sukupolva ja tehdä useta jälkeläsä, mkä on kutenkn epätodennäköstä, jos ftnessarvot evät pokkea tosstaan kovn paljoa. Koska valntaprosentks on valttu 60%, ykslöden keskmääränen elnaka on n. 1 1. 7 sukupolvea. Valntaprosentt on 0.6 pyrtty valtsemaan nn, että vastas suunnlleen hmsen lsääntymsen akaskaaloja. Ihmnen tekee jälkeläsä suunnlleen kesk-ässä ja hmsen elnkä jatkuu yleensä velä relust jälkelästen teon jälkeenkn, mkä vaats yl 2:n sukupolven elnakaa ja valntaprosentks alle 50 prosentta. Täytyy kutenkn ottaa huomoon, että hmsstä varmast yl puolet tekee jälkeläsä kesk-ässä, joten valntaprosentt on nostettu 60:neen. 3.1.2 Tulokset Alussa populaatossa on van yks elö, jolla on normaala suuremp ftness-arvo el 1,2. Mulla ykslöllä on ftness-arvo yks. Tämän paremman geenn levämstä tutktaan. Geenn levämstä tutkttn nn että populaaton koko vahtel 20, 80 ja 300 välllä. Otoksena ol 30 smulonta kullakn populaatokoolla. Kuvassa 2 on laskettu kunka usen geen hävs ja levs koko populaatoon. Levnnesyysprosentt on lähes samansuurunen kaklla populaatolla el n. 30 prosentta. 14

Geenn levämstodennäkösyys Todennäkösyys 100 % 90 % 80 % 70 % 60 % 50 % 40 % 30 % 20 % 10 % Hävnneet Levnneet 0 % 20 80 300 Populaaton koko Kuva 2 Geenn levämstodennäkösyys koko populatoon er kokosssa populaatossa Geenn hävämsnopeus ol erttän nopea. Tästä tulokset kuvassa 3, jossa näkyy kunka monta sukupolvea keskmäärn geen ol mukana yhdelläkn ykslöllä ennen kun se hävs populaatosta. Hävämsajat ovat lähes samansuurusa rppumatta populaaton koosta. Geenn levämsaka koko populaatoon vahtelee selväst populaaton koon mukaan. Tulokset on estetty kuvassa 4, jossa on laskettu kunka monta sukupolvea keskmäärn kestää, että geen levää koko populaatoon. 15

Geenn hävämsaka 6,0 5,0 5,0 Sukupolven lukumäärä 4,0 3,0 2,0 3,4 3,9 1,0 0,0 20 80 300 Populaaton koko Kuva 3 Geenen keskmääränen hävämsaka populaatosta Geenn levämsaka 90,0 80,0 79,0 Sukupolven lukumäärä 70,0 60,0 50,0 40,0 30,0 20,0 10,0 35,7 59,4 0,0 20 80 300 Populaaton koko Kuva 4 Geenen keskmääränen levämsaka koko populaatoon 16

3.1.3 Johtopäätökset Geenn levämstodennäkösyydet olvat kakssa populaatossa lähes samansuurusa. Tulosten perusteella vodaan olettaa, että levämstodennäkösyys on samaa luokkaa rppumatta populaaton koosta. Tulokseen vakuttaa erttän paljon vanhempen valntaprosentt, joka ol 60 %. Jos prosentt ols ollut suuremp, levämstodennäkösyys ols kasvanut sen mukana, koska sllon valntaa ols käytetty enemmän, mkä suos ana parempa ykslötä. Tulokssta huomataan, että hyödyllsenkään geenn levämnen e ole tsestään selvää. Valnta kars huonoja ykslötä, mutta ana e valnta osu edes parempn ykslöhn, vaan on jopa todennäkösempää, että ne hävävät populaatosta kun että leväsvät. Geenn keskmääränen hävämsnopeus ol nopeaa. Jo ensmmässsä sukupolvssa valtsematta jäämnen ja kuolemnen on todennäköstä. Jos geen jää populaatoon pdemmäks akaa, se levää yleensä ana koko populaatoon, koska sllon valnta pääsee vakuttamaan tarpeeks monessa sukupolvessa ja tuo eslle paremman geenn paremmat selvytymsmahdollsuudet. Geenn levämsaka ol tutkmuksen tärken tulos. Levämsaka kasvaa keskmäärn vähän kerrallaan populaaton koon kasvaessa. Levämsnopeus e kasva kutenkaan samassa suhteessa populaaton kasvaessa. Vakka populaato 15-kertastuu 20:stä ykslöstä 300:aan, keskmääränen levämsaka van non kaksnkertastuu. Tämä johtuu stä, että kun populaatossa on parempaa geenä paljon tarjolla valnta ottaa stä yhä suuremman osan ja levämnen khtyy. Suurkn populaato täyttyy nän paremmalla geenllä nopeast, jos geen on levnnyt jo suurmpaan osaan stä. Levämsajan suuruus on merkttävä. Esm. 50 sukupolvea tekee hmsen tapauksessa jo non 50*30 v.=1500 vuotta. Yhden geenn ta omnasuuden levämnen koko populaatoon ottaa ss paljon akaa. Jos ajatellaan kehtysoppa, nn täytys myös laskea aka kunka kauan mens keskmäärn jonknlasen makroevolutvsen hyödyllsen muutoksen syntymseen luonnon algortmella. Tällasa e ole tostaseks tedossa yhtään. Kakk tunnetut mutaatoden akaansaamat muutokset ovat mkroevolutvsa el uusa rakenteta ta uutta nformaatota e ole syntynyt. Muutaman ykslön populaatossa levämnen vos tapahtua selväst nopeammnkn el muutamassa sukupolvessa. Penet populaatot ovat kutenkn käytännössä harvnasempa, koska esm. hmset lsääntyvät suurssa populaatossa el saman perheen hmset evät lsäänny keskenään. Myöskn penen populaaton myöhemp sekottumnen sompaan populaatoon saattas aheuttaa penen populaaton valntaedun omaaven ykslöden hävämsen. Penessä populaatossa on myös selväst epätodennäkösempää, että mtään hyödyllsä muutoksa syntys, koska ykslöden vähyyden taka mutaatota pääsee tapahtumaan van erttän harvon. 3.2 Esmerkk redusotumattomasta monmutkasuudesta Redusotumattomalla monmutkasuudella tarkotetaan rakennetta, josta yhdenkn osan postamnen ta osan tomntakyvyn menettämnen johtaa koko rakenteen tomnnan loppumseen. Tällasa rakenteta löytyy luonnosta lukematon määrä. Jo pelkästään hmsessä nätä on paljon. Esm.veren hyytymnen ta solujen lsääntymnen [8]. Jonkn rakenteen tomnnan loppumnen ykslöllä tulktaan sen valntaedun romahtamseen ja tosaalta jos rakenteesta puuttuu ykskn osa, ykslö e saa valntaetua ennen kun koko 17

rakenne on tomntakykynen. Tässä esmerkssä tarkastellaan mllä tavalla geneettset algortmt käyttäytyvät, kun nllä yrtetään smuloda redusotumattoman monmutkasten rakenteden mahdollsta muodostumsta. 3.2.1 Parametren valnta Esmerkssä joudutaan helpottamaan selväst jotakn parametrejä luonnonmukassta, jotta saatasn nopeammn tuloksa. Tutkmme genoma, joka muodostuu 3 geenstä. Tavoterakenne koostuu 3 tetystä geenstä, jotka muodostavat redusotumattoman monmutkasen rakenteen. Jokasessa kolmessa geenpakassa täytyy ss olla okea geen ennen kun ykslö saa valntaedun. Jos ykslöllä on van yks hyvä geen kolmesta el jokn nästä, ykslö saa van symbolsen 1,0001 ftness-arvon valntaedun. Jos ykslöllä on kaks hyvää geenä kolmesta, se saa arvon 1.0002. Valms kolmen geenn rakenne saa arvon 5. Muden ftness-arvo on yks. Symbolset ftness-arvot 1,0001 ja 1,0002 on valttu van ohjelmontteknsstä systä. Uusen ykslöden syntyessä vakuttaa rsteytys, jonka katkasukohdat osuvat ana van geenen rajolle. Katkasukohta on 2 nn kun luonnossakn yleensä [6]. Rsteytystodennäkösyyden valnnassa täytyy ottaa huomoon, että esm. hmsen geenen lukumäärää e tedetä, mutta sen arvodaan olevan kymmenen tuhansen luokkaa. Tämän taka kahden kohdan rsteytys e kovnkaan usen erota tosaan lähellä oleva geenejä tosstaan, kun ne perytyvät jälkpolvlle. Tosaalta e ole tetoa mten lähellä tosaan saman rakenteen geent yleensä tosaan sjatsevat genomssa. Rsteytystodennäkösyydeks on valttu suur todennäkösyys el 0,5 jokasta lsääntyvää para kohden, jotta saatasn paremmn eslle sen vakutus ykslöhn. Mutaatota on myös käytetty. Mutaatotodennäkösyys on 0,01 jokasta geenn bttä kohden el monta suuruusluokkaa suuremp kun luonnossa. Jokasella geenllä on bttejä 6, joka on selväst penemp kun luonnossa yleensä. Luonnossa keskmttasen geenn ptuus on n. 1500 koodkrjanta. Btten vähyydellä tässä esmerkssä pyrtään shen, että hyvä geenejä muodostus helpommn ja nopeammn mutaatoden ja populaaton satunnasen alkupopulaaton avulla. Populaatona käytetään 50 ykslön joukkoa, jonka lukumäärä e muutu. Tässäkn esmerkssä käytetään puhtaan ja tasasen uudelleensjotuksen yhdstelmää. Parametrt on valttu juur tähän populaatoon sopvks. Populaatokoon kasvattamnen lsäs selväst hyven geenen lukumäärää jo alotusvaheessa, koska geenn ptuus 2 6 64 on nn pen. Valntamenetelmänä on rulettvalnta, joka on kaksta luonnonmukasn. Lsäks sukupolvesta valttaven ykslöden valntaprosentt on tässäkn esmerkssä 60 %, koska se vakuttaa melko realstselta. 3.2.2 Tulokset Redusotumatonta monmutkasuutta tutkttn kerrallaan 100 sukupolvea 10 otoksella. Kuvassa 5 on laskettu ykslöden, jolla on vähntään 1 hyvä geen, keskmääränen lukumäärä 50 ykslön populaatossa. 18

Väh. 1 hyvän geenn ykslöden kesk.määr. lkm 10 9 8 7 Lukumäärä 6 5 4 3 2 1 0 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 Sukupolv Kuva 5 Vähntään 1 hyvän geenn ykslöden keskmääränen lukumäärä 50 ykslön populaatossa Yhtään valntaedun saavaa 3 hyvän geenn ykslöä e havattu tutkmuksen akana. Kahdenkn hyvän geenn ykslötä ol erttän vähän. Kuvassa 6 on kahden hyvän geenn ykslöden keskmääränen lukumäärä. Ntä löyty van muutamssa sukupolvssa hetkellsest. Tutkmuksessa laskettn myös kahden hyvän geenn keskmääränen sälymsaka ykslöllä muodostumsen jälkeen. Tulokseks saatn 1,9 sukupolvea. 19

Kahden hyvän geenn ykslöden kesk.määr. lkm 0,25 0,2 Lukumäärä 0,15 0,1 0,05 0 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 Sukupolv Kuva 6 Kahden hyvän geenn ykslöden keskmääränen lukumäärä 50 ykslön populaatossa 3.2.3 Johtopäätökset Kuvasta 4 huomataan, että yhden hyvän geenn ykslöden lukumäärä on melko runsas. Usen jo alotuspopulaato ssäls hyvän geenn ykslötä, mutta ntä muodostu myös mutaaton ja valnnan avulla lsää myöhemmn. Valnnassa yhden hyvän geenn ykslöllä on van symbolnen valntaetu, joten snä näden ykslöden suuremp ta penemp valnta on van sattumaa. Alussa keskmääränen lukumäärä kasvaa jonkn verran ja n. 40 sukupolven jälkeen alkaa laskemaan. Kyse on pääosn sattumasta. Kutenkn täytyy ottaa myös huomoon, että tetokoneen satunnasluvut evät ole täysn satunnasa, vaan ne vovat alkaa kertää kehää jossan vaheessa. Yhden hyvän geenn ykslöden suhteellsen suur lukumäärä ol odotettua, koska bttejä on van kuus, mkä tarjoaa van 64 erlasta geenä pakkaa kohden, kun ykslötä ol 50. Hyvä geenejä ol mahdollsta muodostua van mutaaton kautta, koska rsteytys kohdstuu van kokonasn geenehn. Tosaalta mutaato helpost myös rkkoo hyvän geenn, jos mutaato kohdstuu mhn tahansa hyvän geenn bttpakosta. Kahden hyvän geenn keskmääränen lukumäärä ol erttän pen. Van muutamssa kohdssa ntä muodostu. Tämä ol odotettua, koska geenen välnen rsteytys todennäkösest kohdstuu kahden hyvän geenn muodostumsen kannalta epäedullsest ta merktyksettömäst, vakka rsteytyksen todennäkösyys ol suur el 0,5. Myöskn jo muodostuneen kahden hyvän geenn ykslön keskmääränen sälymsaka on todella pen. Rsteytys rkkoo nopeast tällasen ykslön, jollon stä tulee usen kaks yhden hyvän geenn ykslöä. Jos algortmssa ols älyä, se näks hyvän kehtysvaheen matkalla kolmen hyvän geenn ykslöön ja lattas sen mustn, mutta tässä e nn käy nn kun e 20

luonnossakaan. Pänvaston algortmn omat mekansmt rsteytys ja mutaato hajottavat helpost hyvät ykslöt samalla tavalla kun ne muodostuvatkn, koska ne evät saa merkttävää valntaetua muhn nähden. Teorassa kahden hyvän geenn ykslötkn vovat levtä koko populaatoon, mutta se on melko epätodennäköstä ja erttän hdasta, koska ykslöllä e ole mnkäänlasta valntaetua muhn nähden. Jotta saatasn kolmen hyvän geenn ykslö, sen täytys melken syntyä kerralla mutaaton ja rsteytyksen yhtesvakutuksesta, koska kahden hyvän geenn ykslön sälymsaka on nn pen, että snä ajassa on erttän epätodennäköstä, että tapahtus tarvttava muutoksa. Jos kolmen hyvän geenn ykslö syntys, se e välttämättä pääss levämään koko populaatoon ja sekn vos hajota mutaaton ja rsteytyksen vakutuksesta nopeast. Luonnossa tosn rsteytys e vakuta yhtä rajulla tavalla, vaan jos tarvttavat geent ovat lähellä tosaan, ne evät välttämättä joudu eroon tosstaan rsteytyksen vakutuksesta. Sllon e myöskään rsteytys auta juurkaan kolmen hyvän geenn yhdstelmän muodostumsta. Tällön myös kolmen hyvän geenn ykslön täytys syntyä melken yhden sukupolven akana, jonka todennäkösyys on erttän pen ertysest luonnon äärmmäsen monmutkasssa rakentessa. Vodaan ss todeta, että on erttän epätodennäköstä, että redusomattoman monmutkasa rakenteta syntys luonnon omlla mekansmella. 4 Yhteenveto Tässä työssä on tarkasteltu geneettsä algortmeja ja nden eroavasuuksa luonnon mkroevoluutoon nähden. Geneettsten algortmen perusteoreema on johdettu ja tutkttu geenn levämstä populaatoon ja redusotumattoman monmutkasuuden syntyä geneettsllä algortmella. Geneettsstä algortmesta on lyhyest valotettu nden bologsta taustaa ja estetty ylesmmät algortmtyypt, jota krjallsuudesta löytyy. Näden suhdetta luonnon vastaavn algortmehn on pohdttu ja todettu, että suurn osa geneettsstä algortmesta on suuressa määrn kenotekosa ja ntä e vo suoraan verrata luonnon algortmehn. Van tetyt menetelmät ovat lähnnä luonnon algortmeja, jos lsäks parametrt asetetaan luonnon mukasks. Tällön kutenkaan e saada helpost tovottuja tuloksa, koska algortmen tommnen on sllon erttän hdasta ja tehotonta. Yleensä krjallsuudessa estetyt esmerkt geneettsstä algortmesta ovatkn menetelmltään ja parametreltaan hyvn tehokkaks optmotuja ja ongelmaa on helpotettu selväst, että tovottu ratkasu löytys nopeast. Myös ftness-funkto on tehty yleensä sellaseks, että valntaetu kasvaa koko ajan, kun lähestytään ratkasua. Ensmmäsessä esmerkssä tarkasteltn yksttäsen geenn levämsnopeutta koko populaatoon ja myöskn mllä todennäkösyydellä se tapahtuu. Anoastaan yhdellä ykslöllä ol alussa slle valntaedun antava geen. Menetelmät ja parametrt arvotn mahdollsmman luonnonmukasks. Geenn levämstä tutkttn kolmella erkokosella populaatolla. Levämstä ols vonut tutka usemmallakn kun kolmella populaatolla, mutta tulos ols ollut todennäkösest samaa luokkaa, koska levämstodennäkösyys rppuu enemmän vanhempen valntaprosentsta. Levämstodennäkösyydeks saatn n. 30 prosentta kaklla populaatolla. Populaaton koko e ss vakuta juurkaan levämstodennäkösyyteen, koska hyvän geenn omaava ykslö vo jäädä valtsematta helpost ja tonen ykslö vo ottaa sen pakan. Sama on hyvn todennäköstä luonnossa, jossa hyväkn ykslö vo kuolla ennenakasest monsta systä. Vanhempen valntaprosentlla ol tähän myös merkttävä vakutus. Hyvän geenn omaava ykslö 21

postu populaatosta hyvn nopeast van muutaman sukupolven akana, elle se päässyt levämään koko populaatoon. Hyvän geenn ykslön levämsajaks koko populaatoon saatn n. 30:n ja 80:n välllä oleva tuloksa. Vakka populaaton koko 15-kertastu, levämsaka van kaksnkertastu. Populaaton koon kasvattamnen vakuttaa ss melko htaast levämsajan kasvuun. Penssä populaatossa levämsaka on nopeamp, mutta se e tarjoa suurta etua, koska nssä tapahtuu puolestaan selväst vähemmän mutaatota. Tosessa esmerkssä tutkttn mllä tavalla geneettset algortmt käyttäytyvät redusotumattoman monmutkasssa ongelmssa. Esmerkssä otettn käyttöön myös rsteytys, joka kohdstu van geenen rajolle. Parametrt aseteltn ertysest rsteytys- ja mutaatotodennäkösyyksen osalta kenotekosemmks, että saatasn nopeammn tuloksa. Valntaedun saavalla ykslöllä ol oltava 3 hyvää geenä. Yhden hyvän geenn ykslötä muodostu satunnasen alkupopulaaton ja myös mutaatoden ansosta paljon johtuen geenen penestä bttmäärästä verrattuna populaaton kokoon. Mutaatot kutenkn myös rkkovat helpost hyvä geenejä, jos mutaato kohdstu geenn yhteenkn pakkaan. Kahden hyvän geenn ykslötä muodostu rsteytyksen vakutuksesta yhden hyvän geenn ykslöstä erttän vähän. Nekn, jotka muodostuvat tulvat myös rkotuks nopeast rsteytyksellä. Kahden hyvän geenn ykslön keskmääränen sälymsaka ol n. 2 sukupolven luokkaa. Kahden hyvän geenn ykslöden osalta tarvttasnkn älyä el hyvän kehtysvaheen tallettamsta jatkotomenptetä varten. Valntaedun saavan kolmen hyvän geenn ykslön täytyskn melken muodostua kerralla, että sellanen ylpäätään muodostus. Se on kutenkn erttän epätodennäköstä. Jos akaa ols ollut enemmän käytettävssä, ertysest vanhempen valntaprosentn suuruutta ols vonut analysoda tarkemmn. Myöskn koko geneettsen algortmn tomntaa ols vonut tehdä realstsemmaks nn, että syntyvyys- ja kuolema-algortmt ols erotettu tosstaan. Nän ols kumpaankn vonut arvoda helpommn realstsemmat parametrt. Bologseen taustaan e ole tässä työssä menty kovn syvälle, koska muuten shen perehtymseen mens paljon akaa. Lsäks hmsen tedon rajat tulevat vastaan. E edes tedetä montako geenä hmsellä on yhteensä, vaan arvot lkkuvat kymmenssä tuhansssa. Myöskään e tedetä mnkälasa valntaedun antava kehtysvaheta vos olla usessa luonnon redusotumattoman monmutkasssa rakentessa. Näden osalta erlaset teorat jäävätkn van arvalujen varaan. 22

5 Vtteet [1] Davd E. Goldberg Genetc Algorthms n Search, Optmzaton, and Machne Learnng The Unversty of Alabama [2] S. Aramo, A. Lekola, H. Saurola, J. Valste, P. Vtanen Lukon bologa kurss 1 WSOY 1993 [3] S. Scherer, R. Juncker Evoluuto krttnen analyys Datakrjat 2000 [4] K. Pälkkö Kehtysopn kulssesta KP-art Oy 2004 [5] Jyrk Heno, Matt Vuento Solubologa WSOY 2001 [6] Jarmo T. Alander Geneettsten algortmen mahdollsuudet TEKES 1998 [7] Ernst Mayr Evoluuto WSOY 2003 [8] http://www.trueorgn.org/genetcalgorthms1.asp [9] Petter Portn Pernnöllsyysteteen vuossata Teteessä tapahtuu 2000/3 [10] Wllam A. Dembsk Älykkään suunntelman dea Datakrjat 2002 [11] http://www.shef.ac.uk/~gapp/ga-toolbox/ 23

Ltteet Tärkemmät Matlab-koodttedostot, john on tehty muutoksa ga_061004.m: close all; NIND = 50; % Populaaton koko MAXGEN = 100; % Sukupolven lukumäärä GGAP = 0.6; % Vanhempen valtsemsprosentt NVAR = 18; % Muuttujen lukumäärä PRECI = 1; % Muuttujen bnäärosan ptuus % Intalse populaton Chrom = crtbp(nind, NVAR*PRECI); % Ensmmäsen ykslön alustus erlaseks kun muut %for =1:NVAR*PRECI % Chrom(1, ) = 0; % gen = 0; % sukupolvcounter % Evaluate ntal populaton ObjV = objfun_oll(chrom); for =1:MAXGEN % muuttujat er kehtysastesten ykslöden lukumäärlle count1() = 0; count2() = 0; count3() = 0; % Generatonal loop whle gen < MAXGEN % Assgn ftness-value to entre populaton FtnV = ObjV; % Select ndvduals for breedng SelCh = select('rws', Chrom, FtnV, GGAP); % Recombne selected ndvduals (crossover) SelCh = recombn('xovdp',selch,0.5); 24

% Perform mutaton on offsprng SelCh = mut(selch); % Evaluate offsprng, call objectve functon ObjVSel = objfun_oll(selch); % Rensert offsprng nto current populaton [Chrom ObjV]=rens(Chrom,SelCh,1,0,ObjV,ObjVSel); for count = 1:NIND f ObjV(count, 1) == 1.0001 % yhden hyvän geenn ykslön valntaetu count1(gen + 1) = count1(gen + 1) + 1; f ObjV(count, 1) == 1.0002 % kahden hyvän geenn ykslön valntaetu count2(gen + 1) = count2(gen + 1) + 1; f ObjV(count, 1) == 5 % kolmen hyvän geenn ykslön valntaetu count3(gen + 1) = count3(gen + 1) + 1; gen = gen+1 OBJFUN_oll.m: % Input parameters: % Chrom - Matrx contanng the chromosomes of the current % populaton. Each row corresponds to one ndvdual's % strng representaton. % f Chrom == [], then specal values wll be returned % swtch - f Chrom == [] and % swtch == 1 (or []) return boundares % swtch == 2 return ttle % swtch == 3 return value of global mnmum % % Output parameters: % ObjVal - Column vector contanng the objectve values of the % ndvduals n the current populaton. % f called wth Chrom == [], then ObjVal contans % swtch == 1, matrx wth the boundares of the functon % swtch == 2, text for the ttle of the graphc output % swtch == 3, value of global mnmum 25

functon ObjVal = objfun1(chrom,swtch); genlen = 6; % Dmenson of objectve functon Dm = 18; % Compute populaton parameters [Nnd,Nvar] = sze(chrom); % Check sze of Chrom and do the approprate thng % f Chrom s [], then defne sze of boundary-matrx and values f Nnd == 0 % return text of ttle for graphc output f Swtch == 2 ObjVal = ['DE JONG functon 1-' nt2str(dm)]; % return value of global mnmum elsef Swtch == 3 ObjVal = 0; % defne sze of boundary-matrx and values else % lower and upper bound, dentcal for all n varables ObjVal = 100*[-5.12; 5.12]; ObjVal = ObjVal(1:2,ones(Dm,1)); % f Dm varables, compute values of functon elsef Nvar == Dm % functon 1, sum of x^2 for = 1:Dm (Dm=30) % n = Dm, -5.12 <= x <= 5.12 % global mnmum at (x)=(0) ; fmn=0 %ObjVal = sum((chrom.* Chrom)')'; ObjVal = zeros(nnd, 1); for j=1:nnd for =1:Nvar f Chrom(j, ) == 1 ObjVal(j) = 1; = Nvar; f ObjVal(j, 1) == 0 ObjVal(j) = 5; % 1 hyvän geenn valntaetu 26

for j=1:nnd f (sum(chrom(j, 1:genlen)) == 0 sum(chrom(j, genlen+1:2*genlen)) == 0... sum(chrom(j, 2*genlen+1:3*genlen)) == 0) && ObjVal(j) ~= 5 ObjVal(j) = 1.0001; % 2 hyvän geenn valntaetu for j=1:nnd f ObjVal(j) ~= 5 && (sum(chrom(j, 1:2*genlen)) == 0 sum(chrom(j, genlen+1:3*genlen)) == 0... (sum(chrom(j, 1:genlen)) == 0 && sum(chrom(j, 2*genlen+1:3*genlen)) == 0)) ObjVal(j) = 1.0002; % ObjVal = dag(chrom * Chrom'); % both lnes produce the same % otherwse error, wrong format of Chrom else error('sze of matrx Chrom s not correct for functon evaluaton'); % End of functon xovmp.m: % XOVMP.m Mult-pont crossover % % Syntax: NewChrom = xovmp(oldchrom, Px, Npt, Rs) % % Ths functon takes a matrx OldChrom contanng the bnary % representaton of the ndvduals n the current populaton, % apples crossover to consecutve pars of ndvduals wth % probablty Px and returns the resultng populaton. % % Npt ndcates how many crossover ponts to use (1 or 2, zero % ndcates shuffle crossover). % Rs ndcates whether or not to force the producton of % offsprng dfferent from ther parents. functon NewChrom = xovmp(oldchrom, Px, Npt, Rs); genlen = 6; % geenn ptuus % Identfy the populaton sze (Nnd) and the chromosome length (Lnd) [Nnd,Lnd] = sze(oldchrom); 27

f Lnd < 2, NewChrom = OldChrom; return; f nargn < 4, Rs = 0; f nargn < 3, Npt = 0; Rs = 0; f nargn < 2, Px = 0.7; Npt = 0; Rs = 0; f snan(px), Px = 0.7; f snan(npt), Npt = 0; f snan(rs), Rs = 0; f sempty(px), Px = 0.7; f sempty(npt), Npt = 0; f sempty(rs), Rs = 0; Xops = floor(nnd/2); DoCross = rand(xops,1) < Px; odd = 1:2:Nnd-1; even = 2:2:Nnd; % Compute the effectve length of each chromosome par Mask = ~Rs (OldChrom(odd, :) ~= OldChrom(even, :)); Mask = cumsum(mask')'; % Compute cross stes for each par of ndvduals, accordng to ther % effectve length and Px (two equal cross stes mean no crossover) xstes(:, 1) = Mask(:, 3); % 3 geenn rekombnaato f Npt >= 2, xstes(:, 1) = cel(xstes(:, 1).* rand(xops, 1)); % 3 geenn rekombnaato xstes(:,2) = rem(xstes + cel((mask(:, 3)-1).* rand(xops, 1))....* DoCross - 1, Mask(:, 3) )+1; xstes = xstes * genlen; % Express cross stes n terms of a 0-1 mask Mask = (xstes(:,ones(1,lnd)) < Mask) ==... (xstes(:,2*ones(1,lnd)) < Mask); f ~Npt, shuff = rand(lnd,xops); [ans,shuff] = sort(shuff); for =1:Xops OldChrom(odd(),:)=OldChrom(odd(),shuff(:,)); OldChrom(even(),:)=OldChrom(even(),shuff(:,)); 28