genetiska algoritmer

Relevanta dokument
Genetiska algoritmer. Henrik Hansson Rapport, CDT212 Mälardalens Högskola

Genetiska Algoritmer. 10 mars 2014

Genetisk programmering i Othello

Grundläggande Idéer Algoritmens komponenter Numerisk optimering Genetisk Programmering. Genetiska Algoritmer

HKGBB0, Artificiell intelligens

Genetiska algoritmer. vem raggar på vem? Petter Bergqvist, kogvet 2

Regression med Genetiska Algoritmer

Fördjupningsuppgift 729G43 Linköpings Universitet alelo408. Genetisk börshandel. Att hitta mönster i börsmarknaden med genetiska algoritmer

Genetiska algoritmer

Genetiska Algoritmer

Interaktion med den genetiska algorithmen GenJam

GenJam En musikalisk genetisk algoritm?

Sammanfattning Arv och Evolution

Genetik en sammanfattning

Genetiska algoritmer hur påverkar dess parametrar evolutionen? ANDERS SANDSTRÖM och MARKUS ÖSTBERG

DYNAMISK SVÅRIGHETSGRAD MED GENETISK ALGORITM. En jämförelse mellan två tekniker för att snabba upp processen

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som

Agent som lär sig. Maskininlärning. Genetiska algoritmer. Typer av återkoppling. ! Introduktion. ! Genetiska algoritmer!

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som

Kapitel 13. Genetiska algoritmer

Handledare: Mikael Goldmann

Linköpings Universitet Sonnerfjord HKGBB0, Artificiell Intelligens danso393 Fördjupningsuppgift Vt Genetiska algoritmer i flygtrafikledning

Symboler och abstrakta system

Evolution. Hur arter uppstår, lever och försvinner

Tensta Gymnasium Per Anderhag 2005 Biologi A Naturligt urval Selektionstryck på Björkmätare 1

Uppdelning av ett artificiellt neuralt nätverk

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar.

Genetik, Gen-etik och Genteknik

Slump och statistik med Scratch. Se video

Inledande programmering med C# (1DV402) Summera med while"-satsen

Evolution. Hur arter uppstår, lever och försvinner


Uppgift 1 (14p) lika stor eller mindre än den förväntade poängen som efterfrågades i deluppgift d? Endast svar krävs, ingen motivering.

Strategier för urval av sjöar som ska ingå i den sexåriga omdrevsinventeringen av vattenkvalitet i svenska sjöar

Artificiell Musik? AI som kompositör

Kort Sammanfattning av Schack MAS

Genetisk variation är livsviktig för vitaliteten och ganska snabbt även en förutsättning för överlevnaden hos en art.

Laboration 2. Artificiell Intelligens, Ht Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink

Uppgifter 6: Kombinatorik och sannolikhetsteori

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Evolution. Hur arter uppstår, lever och försvinner

Ontologier. Cassandra Svensson

Vad man bör tänka på när man har en liten ras? Erling Strandberg, professor vid institutionen för husdjursgenetik, SLU, Uppsala

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Utveckling av artificiell intelligens med hjälp av Genetiska tekniker och Artificiella neurala nätverk Philip Ruuska Boquist

Grunderna i stegkodsprogrammering

Grundläggande datavetenskap 4p

EVOLUTIONENS DRIVKRAFTER ARTBILDNING

Slump och statistik med Scratch

Den evolutionära scenen

Tillämpbarheten av Learning Backtracking Search Optimization Algoritmen vid Lösning av Sudokuproblemet

TDP Regler

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

SF2715 Tillämpad kombinatorik, 6hp

TDDC77 Objektorienterad Programmering

Artificiell intelligens som utvecklingsverktyg

F2 Datarepresentation talbaser, dataformat och teckenkodning

AI TILL BRÄDSPEL En jämförelse mellan två olika sökalgoritmer vid implementation av AI till brädspelet Pentago.

Jämförelse av skrivtekniker till cacheminne

Huntingtons sjukdom forsknings nyheter. I klartext Skriven av forskare För de globala HS medlemmarna. Att få barn: bilda familj

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap

Procedurella Texturer

Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande!

Optimering av boids med genetiska algoritmer Mattias Sossna

Tolkning av resultat för genetiskt test av LPN1

Urvalsmetoder: Stratifierat urval (kap 9.5)

Datoraritmetik. Från labben. Från labben. Några exempel

Denna pdf-fil är nedladdad från Illustrerad Vetenskaps webbplats ( och får ej lämnas vidare till tredjepart.

Totalt finns det alltså 20 individer i denna population. Hälften, dvs 50%, av dem är svarta.

EVOLUTIONÄR LEVELDESIGN LEVELDESIGN MED GENETISKA ALGORITMER

Uppgift 1 ( Betyg 3 uppgift )

Föreläsning G70, 732G01 Statistik A

Hästhopp. Detta är en övning som tränar olika problemlösningsstrategier och statistik. Den lämpar sig för år 4 och uppåt

Micro:bit. Börja skapa egna program

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.

Three Monkeys Trading. Tärningar och risk-reward

JavaScript del 5 Funktioner

Vinjetter TDDC91 Datastrukturer och algoritmer

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

Likhetstecknets innebörd

2D 4D. Flaskracet. strävorna

EXJOBBSOPPOSITION. Rapportförfattare: Hanif Farahmand Mokarremi Ashkan Jahanbakhsh

Föreläsning G70 Statistik A

kl Tentaupplägg

GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Genetiskt Programmerad Musik

Uppgift 1 ( Betyg 3 uppgift )

F2 Binära tal EDA070 Datorer och datoranvändning

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Tentamen i Programmering grundkurs och Programmering C

Digital- och datorteknik

Shannon-Fano-Elias-kodning

Genetik. Så förs arvsanlagen vidare från föräldrar till avkomma. Demokrati och struktur inom och mellan anlagspar

Datorsystemteknik DVG A03 Föreläsning 3

NEUROEVOLUTION MED TÄVLINGSINRIKTAD SAMEVOLUTION I FLERA MILJÖER MED ÖKANDE KOMPLEXITET

Genetik. - cellens genetik - individens genetik. Kap 6

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

HF0010. Introduktionskurs i datateknik 1,5 hp

Transkript:

Introduktion till genetiska algoritmer CT3620 Vetenskapsmetodik 2005-10-21 Ylva egerfeldt ydt01001@student.mdh.se

SAMMANFATTNING enna rapport är tänkt som en introduktion till genetiska algoritmer. Först förklaras ämnet översiktligt, inklusive en kort historik. Sedan följer en mer ingående beskrivning av de olika ingående begreppen: Senare i rapporten tar jag också upp ett exempel: 8 damer-problemet, vilket kan lösas med hjälp av en genetisk algoritm. Slutligen kommer en liten diskussion där jag tar upp några fördelar med genetiska algoritmer samt lite om vilken typ av problem som de kan lösa. 1

Innehållsförteckning Inledning... 3 Introduktion till genetiska algoritmer... 4 Utseende hos en generell genetisk algoritm... 4 Ingående begrepp i en GA... 5 Kromosom... 5 Fitnessfunktion... 5 Selektionsmetoder... 6 Slumpmässig selektion... 6 Turneringsselektion... 6 Rangbaserad selektion... 6 Elitism... 7 Crossover-metoder... 8 Single Point Crossover... 8 Two Point Crossover... 8 Uniform Crossover... 8 Mutation... 9 Slumpmässig mutation... 9 Inordermutation... 9 Permutationsmutation... 9 Mutation med flyttalsrepresentation... 9 Ett exempel på ett problem: 8 damer-problemet... 10 Kromosomrepresentation... 10 Fitnessfunktion... 10 Selektionsmetod... 10 Crossover-metod... 10 Mutationsmetod... 11 Elitism... 11 Avslutande diskussion... 11 Referenser... 12 2

INLENING Genetiska algoritmer (G.A.) tillhör området artificiell intelligens och är det första evolutionary computing-paradigmet (algoritmer som bygger på evolutionsteorin) som utvecklades och användes. en som utvecklade det var amerikanen John Henry Holland (född 1929), som var professor i psykologi, datavetenskap och elektroteknik. [Wikipedia] Han har skrivit ett antal böcker och en av de mest omtalade var just hans bok om genetiska algoritmer, Adaptation in Natural and Artificial Systems. Genetiska algoritmer är inspirerade av arwins evolutionsteori [Obitko]. etta innebär att man kan lösa ett problem genom att skapa en population av olika (mer eller mindre bra) lösningar, vilka kallas kromosomer eller individer. Kromosomerna består i sin tur av gener. Varje gen är en del av ett lösningsförslag och en kromosom ger en komplett potentiell lösning. Sedan låter man en ny generation lösningar utvecklas från den gamla genom att man väljer ut flera par av individer vilka får korsas med varandra så att de får en avkomma. etta kallas crossover och precis som i naturen är det (oftast) bara de bästa individerna som lyckas fortplanta sig. Hur bra en individ är bestäms av något som kallas fitnessvärde och följaktligen har individer med bättre fitnessvärde en större chans att få para sig än individer med sämre. Fitnessvärdet räknas ut med hjälp av en fitnessfunktion, vilken är domän och problemspecifik När en avkomma har skapats finns det också en chans att denna muteras, precis som i naturen. etta innebär att det sker en genförändring hos individen. enna kan antingen vara positiv och då leder den till att den förändrade genen med hög sannolikhet förs vidare genom generationerna, eller negativ, vilket innebär att sannolikheten för att genen ska föras vidare är väldigt låg. En positiv genförändring innebär ett bättre fitnessvärde och att kromosomen har större chans att bli vald för reproduktion. Man kan även säga att kromosomen i fråga kommer närmare den lösning som man är ute efter (om man vet hur denna ser ut). et omvända förhållandet gäller för negativa genförändringar. Efter att mutation skett på vissa utvalda individer ersätts den gamla populationen med alla individer från den nya generationen och eventuellt får även några gamla individer vara med i den nya populationen. e nya individerna får också fitnessvärden och så fortsätter urvalet och fortplantningen tills ett visst villkor är uppfyllt. Man kan inte alltid veta om algoritmen är nära att hitta lösningen, men för vissa problemtyper så kan man säga att om den bästa kromosomen förblir oförändrad genom ett stort antal generationer så är man nära. I vissa fall kan man bestämma att detta är villkoret för att algoritmen ska stoppas. Mer om stoppvillkor följer senare. 3

INTROUKTION TILL GENETISKA ALGORITMER Utseende hos en generell genetisk algoritm Nedan följer pseudokod för en generell genetisk algoritm. Sedan kommer en översiktlig förklaring till koden och i nästa avsnitt mer ingående förklaringar på de olika delarna. Genetisk algoritm 1) Initiera startpopulationen P(0). 2) Sätt G = 0. 3) Gör tills stoppvillkoret har uppnåtts. a)beräkna fitness för varje individ. b)välj ut individer till föräldrapar, beroende av fitness. c)skapa avkomma A(G) med hjälp av Crossover-funktion (med viss sannolikhet)och selektion. d)mutera avkomma (med viss sannolikhet). e)välj ut individer till ny population P(G + 1), från den gamla P(G) och alla A(G). f)sätt G = G + 1. 4) Returnera den bästa lösningen (individen med bäst fitness). [Obitko] Startpopulationen P(0) tillhör generation 0 och brukar oftast slumpas fram. etta innebär att de ingående kromosomerna får slumpmässiga utseenden och fitnessvärden. En kromosom består av gener och hur det kan se ut förklaras i nästa avsnitt. Variabeln G håller reda på vilken generation algoritmen har hunnit till. Stoppvillkoret kan vara antingen att det har dykt upp en tillräckligt bra lösning bland individerna (kromosomerna) i populationen, att det har skapats ett visst antal generationer, eller att den bästa individen, under ett visst antal generationsbyten, inte har förbättrats. et sistnämnda villkoret används lättast tillsammans med Elitism, vilket innebär att man hela tiden kopierar den eller de bästa individerna (oförändrade) från en generation till nästa. På så vis riskerar man inte att förlora den bästa lösningen. Antalet föräldrapar man väljer ut är beroende av populationens storlek och hur man vill lösa problemet. Föräldrarna väljs genom olika Selektionsmetoder, vilka förklaras i nästa avsnitt. A(G) är avkomman som skapades av föräldrar tillhörande generation G. enna avkomma skapas med hjälp av en crossover-funktion, vilken kombinerar gener från båda föräldrarna för att skapa en ny kromosom. Vilka olika typer av crossover-funktioner som finns förklaras i nästa avsnitt. När en ny population skapas tar man med alla barnen och noll eller flera från föräldragenerationen, beroende på om man tillämpar elitism och vilken urvalsmetod man använder. I nästa avsnitt följer djupare förklaringar av de ingående delarna i en genetisk algoritm. 4

Ingående begrepp i en GA Kromosom Varje population består som tidigare nämnts av kromosomer. En kromosom representeras ofta av en binär sträng, där varje bit motsvarar en gen. (exempel i Figur 1.) Varje gen motsvarar en liten del av en potentiell lösning till problemet, fast det kan också vara så att alla generna tillsammans representerar ett heltal. Kromosom 1 110010100101 Kromosom 2 010101011000 Figur 1. Ett exempel på hur binära kromosomer kan se ut Kromosomernas längder kan, men behöver inte nödvändigtvis vara lika, beroende på vilket problem man försöker lösa. En kromosom kan också representeras av en sträng av heltal eller av flyttal. (Figur 2 visar ett exempel på en kromosom med flyttalsrepresentation.) Ett exempel på ett problem som kan lösas med hjälp av en G.A. med flyttalskromosomer: Att hitta maxvärdet hos en funktion, t.ex. f(w,x,y,z) = (wx y) * z Figur 2 nedan visar hur en kromosom för detta problem kan se ut. Cellerna motsvarar gener och möjliga värden på w, x, y och z, i den ordningen (uppifrån). -1,567231 2,5 17,2397 3 Figur 2. Ett exempel på EN kromosom med flyttalsrepresentation (3 ingående gener) Fitnessfunktion Varje kromosoms värde, eller fitness, bestäms av en s.k. fitnessfunktion. Hur man väljer att denna ska se ut beror på vilken typ av problem det är man ska lösa. et är mycket viktigt att man väljer en fitnessfunktion som verkligen modellerar problemet man ska lösa. [Engelbrecht2002] Vi återgår till exemplet om maxvärdet hos funktionen f(w,x,y,z) = (wx y) * z. För detta problem kan fitnessfunktionen bli mycket enkel. Man räknar helt enkelt ut funktionens värde för varje kromosom. å blir det naturligt så att kromosomer med högre fitness ger en bättre lösning än de med lägre. et är dock tillåtet för en genetisk algoritm att ha en fitnessfunktion där lägre värden är bättre. 5

Selektionsmetoder Selektion innebär urval, vilket man behöver göra när man ska välja ut föräldrar och när man ska välja vilken kromosom som ska muteras. Selektionsmetod innebär sättet man gör urvalet på. Här följer en beskrivning av några olika selektionsmetoder: Slumpmässig selektion etta är egentligen ingen lämplig selektionsmetod för en genetisk algoritm eftersom denna metod väljer föräldrar helt slumpmässigt, utan att ta hänsyn till kromosomernas fitness. Och en av grundidéerna med genetiska algoritmer är att individernas chans att få föröka sig ska vara större för individer med bättre fitness. Turneringsselektion enna form av urval innebär att man slumpmässigt väljer ut x individer, vilka sedan får turnera mot varandra. etta medför i praktiken att den individ som har bäst fitness av dessa blir vald. Man brukar göra en turnering per förälder som ska väljas ut och det är möjligt för samma individ att bli vald flera gånger. En individ kan alltså bli både pappa och mamma till sin avkomma, men om detta ska vara tillåtet eller inte är upp till programmeraren. Rangbaserad selektion enna urvalsmetod bygger på att man rangordnar alla fitnessvärden enligt följande metod. en kromosom som har sämst fitness får värdet 1 och den näst sämsta värdet 2 o.s.v. ärefter använder man proportionell selektion (se sid. 7) på dessa värden istället för på fitnessvärdena. Ett exempel på när detta kan vara bra är om man har en kromosom vars fitnessvärde är extremt mycket högre än alla andras. Chansen är då stor att det nästan bara blir den kromosomen som blir vald hela tiden. Rangordningen gör dock att skillnaderna mellan fitnessvärdena inte längre är så stora, eftersom den nämnda bästa kromosomen nu har ett värde som bara ligger 1 ifrån den näst bästas värde. Urvalet blir på så vis oberoende av den ursprungliga fitnessen. [Obitko] 6

Proportionell selektion enna urvalsoperator kallas även rouletthjulsselektion och innebär att de individer som har bättre fitnessvärde har proportionellt större chans att bli valda. Tanken här är att man har ett rouletthjul där varje kromosom har sin sektion, vilkens storlek är proportionell mot kromosomens fitness. Sedan tänker man sig att man kastar en kula i rouletthjulet och den kromosom vars sektion kulan stannar på blir vald. Figur 3 visar tydligt att den kromosom som har bäst fitness och därmed störst roulettsektion, har lättast att bli vald. Kromosom 1 Kromosom 2 Kromosom 3 Kromosom 4 Kromosom 5 Figur 3. Ett exempel på rouletthjulsprincipen med fem kromosomer med olika fitnessvärden Elitism Som tidigare nämnts innebär elitism att man hela tiden sparar den eller de bästa kromosomerna. etta innebär att dessa kopieras från en generation till nästa, vilket kan göra att algoritmen snabbare konvergerar mot lösningar som matchar det man är ute efter. Men å andra sidan kan elitismen göra att algoritmen fastnar i ett lokalt maximum (eller minimum) och aldrig hittar den bästa lösningen. ock används elitism ofta i genetiska algoritmer, så det måste uppfattas som mer positivt än negativt. 7

Crossover-metoder Crossover innebär som tidigare nämnts att två kromosomer korsas med varandra och skapar en avkomma. Någon form av crossover brukar nästan alltid genomföras i en genetisk algoritm, på de utvalda föräldrarna. et brukar dock finnas en liten sannolikhet att ingen crossover genomförs, vilket då innebär att kromosomerna kopieras som de är till nästa generation. et finns olika typer av crossover-metoder och nedan presenteras några av dem: Single Point Crossover En slumpmässig genposition på kromosomsträngen väljs ut och delar in föräldrakromosomerna i två halvor. Sedan får det ena barnet en kopia av den ena förälderns första halva, följd av den andra förälderns andra halva. För det andra barnet blir det tvärtom. Figur 4 visar hur det kan gå till för binära kromosomer. 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 0 1 1 1 0 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 1 Figur 4. Ett exempel på Single Point Crossover mellan binära kromosomer Two Point Crossover enna crossover-metod fungerar som Single Point Crossover förutom att det är runt två punkter man byter plats på gener. Uniform Crossover en här crossover-metoden leder till större variationer hos avkomman, eftersom den inte har en speciell crossover-punkt utan flera, vilka bestäms slumpmässigt. 8

Mutation Om man endast använder crossover när man skapar nya kromosomer, finns det en risk att man missar några bra lösningar på grund av att det var svårt att kombinera ihop dessa från endast de gener som finns i nuvarande population. Man kan också säga att algoritmen utforskar för lite. En lösning på detta är mutation. etta innebär att vissa gener hos vissa kromosomer (som nyligen har skapats) väljs ut för att förändras (muteras) på något sätt. Mutation är bra på så vis att den får algoritmen att utforska mer och ger en större variation på kromosomerna. Men för mycket mutation är dock inte bra heller. å blir algoritmen slumpmässig på grund av allt för många förändringar av gener. et är alltså bäst att ha en ganska låg sannolikhet för att kromosomer ska muteras. Men forskning har visat att om man startar en genetisk algoritm med en hög mutationssannolikhet, som sedan minskar exponentiellt med antalet generationer, så får man en säkrare och snabbare algoritm. [Engelbrecht2002] Man kan också säga att det ofta är bättre att mutera individer med dålig fitness än de vars fitness är bra, eftersom man inte vill riskera att försämra de bästa individerna. Mutation är också viktig när initialpopulationen saknar en viktig bit av lösningen. [Luger2002] et finns olika mutationsmetoder. Nedan följer en beskrivning av några av dem: Slumpmässig mutation enna mutationsmetod gäller binärt representerade kromosomer och fungerar så att gener slumpmässigt väljs ut för mutation. Själva mutationen består av att man inverterar det valda värdet (1 blir 0 och tvärtom). Inordermutation enna mutationsmetod gäller också binärt representerade kromosomer och fungerar som slumpmässig mutation förutom att de gener som muteras befinner sig inom ett område som avgränsas av två punkter. essa punkter bestäms slumpmässigt. Permutationsmutation enna typ av mutation kan man använda till permutationsproblem..v.s. problem där det gäller att kombinera ihop vissa saker i rätt ordning. Varje kromosom i ett sådant problem består av olika heltal och mutationen görs genom att man väljer ut två heltal som får byta plats med varandra. Mutation med flyttalsrepresentation När man representerar en kromosom med en mängd olika flyttal, så brukar mutationen göras lite annorlunda: Man väljer ut några olika gener från kromosomen och muterar dessa genom att addera eller subtrahera ett litet flyttal från genens värde. 9

Ett exempel på ett problem: 8 damer-problemet etta problem är välkänt och passar bra för att lösas med en genetisk algoritm. Beskrivning: Man har en vanlig schackspelplan (8 x 8 rutor) och åtta damer, vilka får röra sig enligt vanliga schackregler. Problemet är hur man ska placera ut dessa damer så att ingen av dem attackerar någon annan. [Russel/Norvig] Figur 5 visar ett (misslyckat) försök till en lösning på detta. Figur 5. Ett exempel på 8 damer-problemet. Färgmarkeringarna visar vilka damer som blir attackerade av någon annan. Kromosomrepresentation I detta problem utgör varje kromosom ett sätt att placera ut alla åtta damerna på schackbrädet. Eftersom en av reglerna man måste följa är att ingen dam får stå i samma kolumn som en annan, brukar man göra så att varje dam står i en egen kolumn. Sedan kan man låta varje gen representeras av vilken rad som varje dam står på. Figur 6 visar ett exempel på en sådan kromosom (och motsvarar Figur 5). 1 3 6 2 4 8 5 7 Figur 6. Kromosomen som motsvarar damuppställningen i Figur 5. Fitnessfunktion En tänkbar fitnessfunktion för detta problem kan vara en funktion som räknar ut hur många damer som inte blir attackerade av, eller attackerar, någon annan. etta medför att algoritmen kan ha som stoppvillkor att minst en kromosom med fitness 8 har skapats. Selektionsmetod Jag har valt rangbaserad selektion, för att inte riskera att en kromosom dominerar över de andra. Crossover-metod Jag har valt Single Point Crossover för att det är en enkel metod som passar för problemet. 10

Mutationsmetod För detta problem har jag valt att använda en domänspecifik mutation. Jag sätter en låg sannolikhet för mutation för alla kromosomer och för varje utvald kromosom gör jag följande: Jag tar en slumpvis vald position på kromosomsträngen och slumpar fram ett nytt värde, mellan 1 8, på dess gen. Elitism Jag föredrar att använda elitism för det här problemet eftersom det oftast medför en positiv effekt och jag tror att algoritmen hittar en lösning snabbare med hjälp av detta. AVSLUTANE ISKUSSION I denna rapport har jag försökt ta upp de grundläggande begreppen som hör till ämnet genetiska algoritmer. Sist skulle jag vilja ta upp några fördelar med genetiska algoritmer: Man kan säga att genetiska algoritmer till stor del har sin styrka i Crossover-metoden. et beror på dess förmåga att kombinera stora block av gener som har utvecklats oberoende av varandra, för att skapa en ny lösning vilken med stor sannolikhet är bättre än dess förfäder. En genetisk algoritm passar bra för problem där sökrymden är alltför stor för att kunna gås igenom i sin helhet. en hittar oftast en bra lösning, men det är inte säkert att den är optimal. Algoritmen är ofta tidskrävande också. I praktiken har genetiska algoritmer haft en bred påverkan på lösningen av optimeringsproblem som t.ex. layoutproblem av kretskort och schemaläggning. [Russel/Norvig2003] Men det går ännu inte att peka ut något område där genetiska algoritmer utan tvekan är den bästa lösningen. Framtiden får utvisa hur det blir med den frågan. 11

REFERENSER [Engelbrecht2002] Andries P. Engelbrecht, Computational intelligence An introduction, sidorna 123-154, 2002. [Luger2002] George F Luger, ARTIFICIAL INTELLIGENCE Structures and Strategies for Complex Problem Solving, 4:e upplagan, sidorna 469-481, 2002. [Russel/Norvig] Stuart Russel och Peter Norvig, Artificial Intelligence A Modern Approach, 2:a utgåvan, sidorna 116-119, 2003. Referenser från Internet: [Obitko] Obitko, Marek. GENETIC ALGORITMS. Skriven på Czech Technical University, handledare: Assoc. Professor Pavel Slavík <http://cs.felk.cvut.cz/~xobitko/ga/> (11 okt 2005) [Wikipedia] Elektroniskt uppslagsverk, http://en.wikipedia.org/wiki/john_henry_holland/ (10 okt 2005) [Yen] Yen, Gory G, School of Electrical and Computer Engineering Intelligent Systems and Control Laboratory, http://www.okstate.edu/elecengr/faculty/yen/5773-lecture-06.pdf (11 okt 2005) Lästips en ovan nämnda länken [Obitko] är en mycket bra sida för den som vill lära sig mer om genetiska algoritmer på ett bra och pedagogiskt sätt. Sidan innehåller också körningsexempel, så man får se hur en G.A. arbetar. 12