Genetiska algoritmer

Relevanta dokument
Symboler och abstrakta system

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

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

genetiska algoritmer

Genetiska Algoritmer. 10 mars 2014

Genetiska Algoritmer

Datastrukturer och algoritmer

Regression med Genetiska Algoritmer

Genetisk programmering i Othello

CS - Computer science. Datateknik Informationsbehandling Datalogi Datavetenskap (ÅA 2008)

Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Algoritmer och problemlösning

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret Lektion 1

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

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

COMPUTABILITY BERÄKNINGSBARHET. Källa: Goldschlager, Lister: Computer Science A Modern Introduction 2. upplaga 1988, Prentice Hall

HKGBB0, Artificiell intelligens

Tekniska beräkningar. Vad är tekn beräkningar? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

Beräkningsvetenskap. Vad är beräkningsvetenskap? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

Beräkningsvetenskap introduktion. Beräkningsvetenskap I

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

GenJam En musikalisk genetisk algoritm?

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

Fortsättningskurs i programmering F 2. Algoritmer i Programutveckling Hugo Quisbert Problemexempel 1

Språket Python - Del 1 Grundkurs i programmering med Python

Sammanfattning Arv och Evolution

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

Laboration: Whitebox- och blackboxtesting

Program & programmering

Kapitel 13. Genetiska algoritmer

Datorlaboration 4. Pedigree-analys

Evolution, del 2: Evolutionsprocesser och förändringar i det genetiska materialet. Jessica Abbott Forskare Evolutionär Ekologi

Föreläsning 9: NP-fullständighet

Använda kunskaper i biologi för att granska information, kommunicera och ta ställning i frågor som rör hälsa, naturbruk och ekologisk hållbarhet.

Installera Anaconda Python

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Den evolutionära scenen

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Genetik en sammanfattning

Handledare: Mikael Goldmann

LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I

Problemlösning. Planering av program. Konstruktion. Programmeringsmetaforer. Problemlösning. Programmering = Problemlösning

KAN SKADLIGA GENER UTROTAS?

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Evolution, del 1: Evolution och naturlig selektion. Jessica Abbott Forskare Evolutionär Ekologi

0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ

Introduktion till programmering SMD180. Föreläsning 8: Listor

Föreläsning 11. Giriga algoritmer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Tentamen: Programutveckling ht 2015

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

PROGRAMMERINGSMETODIK

Pedagogisk planering Bi 1 - Individens genetik

729G04 Programmering och diskret matematik. Föreläsning 7

Träd och koder. Anders Björner KTH

Imperativ programmering

Start v. Programspråk. Poäng. 03 Institution Institutionen för datavetenskap 7.5. Antal registrerade (män/kvinnor) 59 (54/5)

Objektorienterad programmering E. Algoritmer. Telefonboken, påminnelse (och litet tillägg), 1. Telefonboken, påminnelse (och litet tillägg), 2

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

1. Varje bevissteg ska motiveras formellt (informella bevis ger 0 poang)

Ickelinjära ekvationer

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Offentlig kryptering

KUNG. TEKNISKA HÖGSKOLAN. Laboration. Programmering av LEGO-robot

Föreläsning 1. Introduktion. Vad är en algoritm?

Interaktion med den genetiska algorithmen GenJam

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Datorteknik TSIU02 Lab 2 Morsesändare v0.7

Introduktion till programmering

Föreläsning 11. Giriga algoritmer

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

Datastrukturer och algoritmer

Algoritmer och interaktiv Python

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

TDIU01 - Programmering i C++, grundkurs

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Dataabstraktion. TDDD73 Funktionell och imperativ programmering i Python Föreläsning 12. Peter Dalenius Institutionen för datavetenskap

Artificiell Musik? AI som kompositör

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

Föreläsning 3 Programmeringsteknik och C DD1316. Innehåll i listor. Uppdateringsoperatorer. +,* och listor. Listor. Indexering

Optimeringslara = matematik som syftar till att analysera och. Optimeringslara ar en gren av den tillampade matematiken.

Uppgifter i TDDC75: Diskreta strukturer Kapitel 8 Ordning och oändlighet

Inledande programmering med C# (1DV402) Introduktion till programmering

Programmeringsteknik med C och Matlab

kl Tentaupplägg

tidskrift för politisk filosofi nr årgång 9

Programmeringsmetodik DV1 Programkonstruktion 1. Moment 4 Om rekursion. PK1&PM1 HT-06 moment 4 Sida 1 Uppdaterad

Dataabstraktion. TDDD73 Funktionell och impterativ programmering i Python Föreläsning 12. Peter Dalenius Institutionen för datavetenskap

Algoritmer, datastrukturer och komplexitet

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

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

Transkript:

GA Genetiska algoritmer Warwick Tucker Matematiska institutionen Uppsala universitet warwick@math.uu.se 1

Reseproblem Reseproblem Du önskar att resa inom Europa genom att besöka London, Paris, Rom, Stockholm och Wien. Om du vet biljettpriserna mellan dessa städer, hur hittar du den billigaste resan? 2

Reseproblem Reseproblem Du önskar att resa inom Europa genom att besöka London, Paris, Rom, Stockholm och Wien. Om du vet biljettpriserna mellan dessa städer, hur hittar du den billigaste resan? 2-a

Naturvetardagarna, Uppsala, 021129 Reseproblem Reseproblem Du önskar att resa inom Europa genom att besöka London, Paris, Rom, Stockholm och Wien. Om du vet biljettpriserna mellan dessa städer, hur hittar du den billigaste resan? städer möjliga resor 5 120 10 362.800 100 2-b

Naturvetardagarna, Uppsala, 021129 Reseproblem En svensk semesterresa... (24.978 orter) 3

Reseproblem Naturvetardagarna, Uppsala, 021129 En svensk semesterresa... (24.978 orter)... hur manga olika fardv agar finns det? 3-a

Tillämpningar av TSP Tillämpningar av TSP 4

Tillämpningar av TSP Tillämpningar av TSP Borrning i kretskort (65.000 hål) 4-a

Tillämpningar av TSP Tillämpningar av TSP Borrning i kretskort (65.000 hål) Reseplanering för lastbilsfrakt och pakethämtning 4-b

Tillämpningar av TSP Tillämpningar av TSP Borrning i kretskort (65.000 hål) Reseplanering för lastbilsfrakt och pakethämtning Utbyggnad/planering av kraftnät 4-c

Tillämpningar av TSP Tillämpningar av TSP Borrning i kretskort (65.000 hål) Reseplanering för lastbilsfrakt och pakethämtning Utbyggnad/planering av kraftnät Även små förbättringar ger stora vinster. Vi behöver mer effektiva algoritmer! 4-d

Algoritmer Vad är en algoritm? 5

Algoritmer Vad PSfragär replacements en algoritm? ingredienser recept cements ingredienser ugn redskap indata recept ugn redskap kaka mjukvara hårdvara kaka utdata 5-a

Algoritmer Vad PSfragär replacements en algoritm? ingredienser recept cements ingredienser ugn redskap indata recept ugn redskap kaka mjukvara hårdvara kaka utdata En algoritm är ett recept! 5-b

Algoritmer Vad PSfragär replacements en algoritm? ingredienser recept cements ingredienser ugn redskap indata recept ugn redskap kaka mjukvara hårdvara kaka utdata En algoritm är ett recept! Implementerat som ett program 5-c

Algoritmer Vad PSfragär replacements en algoritm? ingredienser recept cements ingredienser ugn redskap indata recept ugn redskap kaka mjukvara hårdvara kaka utdata En algoritm är ett recept! Implementerat som ett program Oberoende av språk 5-d

Algoritmer Vad PSfragär replacements en algoritm? ingredienser recept cements ingredienser ugn redskap indata recept ugn redskap kaka mjukvara hårdvara kaka utdata En algoritm är ett recept! Implementerat som ett program Oberoende av språk Strikta regler för indata/utdata 5-e

Exempel 1 Kan vi alltid hitta effektiva algorimer? 6

Exempel 1 Kan vi alltid hitta effektiva algorimer? Exempel 1: (Hitta ett telefonnummer) Indata: en persons namn Utdata: personens telefonnummer Algoritm: halveringsmetoden på telefonkatalogen 6-a

Exempel 1 Kan vi alltid hitta effektiva algorimer? Exempel 1: (Hitta ett telefonnummer) Indata: en persons namn Utdata: personens telefonnummer Algoritm: halveringsmetoden på telefonkatalogen Hur många sidor kan vi hantera? 6-b

Naturvetardagarna, Uppsala, 021129 Exempel 1 Kan vi alltid hitta effektiva algorimer? Exempel 1: (Hitta ett telefonnummer) Indata: en persons namn Utdata: personens telefonnummer Algoritm: halveringsmetoden på telefonkatalogen Hur många sidor kan vi hantera? sidor bisektioner 1.000 10 1.000.000 20 33 333 6-c

Naturvetardagarna, Uppsala, 021129 Exempel 2 Exempel 2: (Permutationer) Indata: en lista med heltal Utdata: en lista med alla möjliga permutationer Algoritm: generera samtliga permutationer 7

Naturvetardagarna, Uppsala, 021129 Exempel 2 Exempel 2: (Permutationer) Indata: en lista med heltal Utdata: en lista med alla möjliga permutationer Algoritm: generera samtliga permutationer 7-a

Naturvetardagarna, Uppsala, 021129 Exempel 2 Exempel 2: (Permutationer) Indata: en lista med heltal Utdata: en lista med alla möjliga permutationer Algoritm: generera samtliga permutationer Hur långa listor kan vi hantera? 7-b

Naturvetardagarna, Uppsala, 021129 Exempel 2 Exempel 2: (Permutationer) Indata: en lista med heltal Utdata: en lista med alla möjliga permutationer Algoritm: generera samtliga permutationer Hur långa listor kan vi hantera? längd permutationer 5 120 10 3.628.800 15 20 7-c

Exempel 3 Exempel 3: (Stopproblemet) Indata: ett datorprogram Utdata: JA om programmet någonsin slutar, NEJ annars Algoritm: det finns ingen! 8

Exempel 3 Exempel 3: (Stopproblemet) Indata: ett datorprogram Utdata: JA om programmet någonsin slutar, NEJ annars Algoritm: det finns ingen! PROGRAM 1 input: N (positive) while N > 1 do N := N 2 end PROGRAM 2 input: N (positive) while N > 1 do if N is even N := N / 2 else N := 3N + 1 end 8-a

Hagelkornsproblemet Program 2 Hagelkorn 9

Hagelkornsproblemet Program 2 Hagelkorn 2 1 9-a

Naturvetardagarna, Uppsala, 021129 Hagelkornsproblemet Program 2 Hagelkorn 2 1 3 1 9-b

Naturvetardagarna, Uppsala, 021129 Hagelkornsproblemet Program 2 Hagelkorn 2 1 3 1 4 1 9-c

Naturvetardagarna, Uppsala, 021129 Hagelkornsproblemet Program 2 Hagelkorn 2 1 3 1 4 1 5 1 9-d

Naturvetardagarna, Uppsala, 021129 Hagelkornsproblemet Program 2 Hagelkorn 2 1 3 1 4 1 5 1 6 1 9-e

Naturvetardagarna, Uppsala, 021129 Hagelkornsproblemet Program 2 Hagelkorn 2 3 4 5 6 7 1 1 1 1 1 1 9-f

Naturvetardagarna, Uppsala, 021129 Hagelkornsproblemet Program 2 Hagelkorn 2 3 4 5 6 7 1 1 1 1 1 1 8 1 9-g

Naturvetardagarna, Uppsala, 021129 Hagelkornsproblemet Program 2 Hagelkorn 2 3 4 5 6 7 8 9 1 1 1 1 1 1 1 1 9-h

Hagelkornsproblemet Program 2 Hagelkorn 27 9232 1 10

Hagelkornsproblemet Program 2 Hagelkorn 27 9232 1 Startvärdet 27 har 111 hagelkorn! 10-b

Problemtyper Problemtyper inga algoritmer PSfrag replacements långsamma algoritmer snabba algoritmer 11

Problemtyper Problemtyper inga algoritmer PSfrag replacements långsamma algoritmer snabba algoritmer Vi kan inte alltid hitta effektiva algoritmer! 11-a

Problemtyper Problemtyper inga algoritmer PSfrag replacements långsamma algoritmer snabba algoritmer Vi kan inte alltid hitta effektiva algoritmer! Faktum är att vi ibland inte ens kan hitta långsamma algoritmer... 11-b

Algoritmtyper Finns det något hopp? 12

Algoritmtyper Finns det något hopp? Exakta algoritmer Måste finna exakta lösningar inom ändlig tid Brukar kräva djup insikt om problemet Kan vara oacceptabelt långsamma 12-a

Algoritmtyper Finns det något hopp? Exakta algoritmer Måste finna exakta lösningar inom ändlig tid Brukar kräva djup insikt om problemet Kan vara oacceptabelt långsamma Approximativa (heuristiska) algoritmer Brukar hitta bra lösningar inom ändlig tid Brukar kräva liten insikt om problemet Kan vara snabba 12-b

Approximativa algoritmer Approximativa algoritmer finns i två varianter: 13

Approximativa algoritmer Approximativa algoritmer finns i två varianter: 1. Alltid snabba, vanligtvis bra lösningar 2. Vanligtvis snabba, alltid bra lösningar 13-a

Approximativa algoritmer Approximativa algoritmer finns i två varianter: 1. Alltid snabba, vanligtvis bra lösningar 2. Vanligtvis snabba, alltid bra lösningar Genetiska algoritmer (GA) Introducerades av John Holland under 1960-talet Baseras på teorin för ärftlighet (Mendel 1823-1884) Simulerar evolutionen hos en population Approximativa algoritmer av typ 1 13-b

Genetiska algoritmer En typisk genetisk algoritm 14

Genetiska algoritmer En typisk genetisk algoritm 1. Skapa en initialpopulation. 14-a

Genetiska algoritmer En typisk genetisk algoritm 1. Skapa en initialpopulation. 2. Utvärdera alla individers hälsotillstånd. 14-b

Genetiska algoritmer En typisk genetisk algoritm 1. Skapa en initialpopulation. 2. Utvärdera alla individers hälsotillstånd. 3. Utse en ny population för avel, baserat på individernas hälsa. 14-c

Genetiska algoritmer En typisk genetisk algoritm 1. Skapa en initialpopulation. 2. Utvärdera alla individers hälsotillstånd. 3. Utse en ny population för avel, baserat på individernas hälsa. 4. Tillämpa genetiska operatorer på medlemmarna i avelspopulationen. 14-d

Genetiska algoritmer En typisk genetisk algoritm 1. Skapa en initialpopulation. 2. Utvärdera alla individers hälsotillstånd. 3. Utse en ny population för avel, baserat på individernas hälsa. 4. Tillämpa genetiska operatorer på medlemmarna i avelspopulationen. 5. Konstruera en ny generation bestående av avkomman. 14-e

Genetiska algoritmer En typisk genetisk algoritm 1. Skapa en initialpopulation. 2. Utvärdera alla individers hälsotillstånd. 3. Utse en ny population för avel, baserat på individernas hälsa. 4. Tillämpa genetiska operatorer på medlemmarna i avelspopulationen. 5. Konstruera en ny generation bestående av avkomman. 6. Om generationen är tillräckligt frisk slutar vi. Annars återvänder vi till punkt 2. 14-f

Naturvetardagarna, Uppsala, 021129 Genetiska algoritmer 1. Kräver en representation (kodning) av individer som beror på det specifika problemet. Varje kromosom utgörs av flera gener från ett särskilt alfabet, t.ex.. 15

Naturvetardagarna, Uppsala, 021129 Genetiska algoritmer 1. Kräver en representation (kodning) av individer som beror på det specifika problemet. Varje kromosom utgörs av flera gener från ett särskilt alfabet, t.ex. 2. Hälsan skall mäta hur nära en individ är att lösa problemet. Kan viktas mer eller mindre aggressivt.. 15-a

Naturvetardagarna, Uppsala, 021129 Genetiska algoritmer 1. Kräver en representation (kodning) av individer som beror på det specifika problemet. Varje kromosom utgörs av flera gener från ett särskilt alfabet, t.ex. 2. Hälsan skall mäta hur nära en individ är att lösa problemet. Kan viktas mer eller mindre aggressivt. 3. Ändra skalan så att populationens totala hälsopoäng blir 100. Dela ett ruletthjul i proportionerliga delar och snurra.. Individen som kommer upp väljs ut för avel. 15-b

Genetiska algoritmer 4. Två elementära typer: korsning och mutation. ag replacements 00101101011 korsning 00101101001 10011001001 10011001011 ag replacements mutation 00101101011 00111101011 Olika kodningar av det genetiska materialet kräver olika genetiska operatorer. 16

Genetiska algoritmer 4. Två elementära typer: korsning och mutation. ag replacements 00101101011 korsning 00101101001 10011001001 10011001011 ag replacements mutation 00101101011 00111101011 Olika kodningar av det genetiska materialet kräver olika genetiska operatorer. 6. Stoppkriterium, t.ex. Flera generationer utan hälsoförbättring. Ett specifikt mål har uppnåtts. 16-a

Genetiska algoritmer Styrkan med genetiska algoritmer 17

Genetiska algoritmer Styrkan med genetiska algoritmer De är väl anpassade för många beräkningskrävande problem. 17-a

Genetiska algoritmer Styrkan med genetiska algoritmer De är väl anpassade för många beräkningskrävande problem. Adaptiva; fortsätter att prestera bra i en föränderlig miljö. 17-b

Genetiska algoritmer Styrkan med genetiska algoritmer De är väl anpassade för många beräkningskrävande problem. Adaptiva; fortsätter att prestera bra i en föränderlig miljö. Kräver endast begränsad matematisk förståelse av problemet. 17-c

Genetiska algoritmer Styrkan med genetiska algoritmer De är väl anpassade för många beräkningskrävande problem. Adaptiva; fortsätter att prestera bra i en föränderlig miljö. Kräver endast begränsad matematisk förståelse av problemet. Mycket lämpade för parallellberäkningar. 17-d

Genetiska algoritmer Ett litet exempel Utveckla en sträng av tecken tills de bildar en given fras, t.ex. 18

Genetiska algoritmer Ett litet exempel Utveckla en sträng av tecken tills de bildar en given fras, t.ex. my name is warwick tucker 18-a

Genetiska algoritmer Ett litet exempel Utveckla en sträng av tecken tills de bildar en given fras, t.ex. my name is warwick tucker Frasen består av 25 tecken, inklusive blanka. 18-b

Genetiska algoritmer Ett litet exempel Utveckla en sträng av tecken tills de bildar en given fras, t.ex. my name is warwick tucker Frasen består av 25 tecken, inklusive blanka. Genalfabetet består av 26 gemener och en blank: 27 olika tecken. 18-c

Genetiska algoritmer Ett litet exempel Utveckla en sträng av tecken tills de bildar en given fras, t.ex. my name is warwick tucker Frasen består av 25 tecken, inklusive blanka. Genalfabetet består av 26 gemener och en blank: 27 olika tecken. Antalet olika kromosomer med längd 25 är således: 18-d

Naturvetardagarna, Uppsala, 021129 Genetiska algoritmer Ett litet exempel Utveckla en sträng av tecken tills de bildar en given fras, t.ex. my name is warwick tucker Frasen består av 25 tecken, inklusive blanka. Genalfabetet består av 26 gemener och en blank: 27 olika tecken. Antalet olika kromosomer med längd 25 är således: 18-e

Naturvetardagarna, Uppsala, 021129 Genetiska algoritmer Ett litet exempel Utveckla en sträng av tecken tills de bildar en given fras, t.ex. my name is warwick tucker Frasen består av 25 tecken, inklusive blanka. Genalfabetet består av 26 gemener och en blank: 27 olika tecken. Antalet olika kromosomer med längd 25 är således: Slumpmässig sökning utesluten! 18-f

Genetiska algoritmer Konstruktionen av vår genetiska algoritm: 19

Genetiska algoritmer Konstruktionen av vår genetiska algoritm: 1. Skapa initialpopulationen genom att skapa slumpkombinationer av gener från alfabetet Samtliga kromosomer skall ha längd 25. 19-a

Genetiska algoritmer Konstruktionen av vår genetiska algoritm: 1. Skapa initialpopulationen genom att skapa slumpkombinationer av gener från alfabetet Samtliga kromosomer skall ha längd 25. 2. Definiera hälsan hos en kromosom genom Om har en mer korrekt gen än så är dess hälsa dubbelt så god. 19-b

Genetiska algoritmer Konstruktionen av vår genetiska algoritm: 1. Skapa initialpopulationen genom att skapa slumpkombinationer av gener från alfabetet Samtliga kromosomer skall ha längd 25. 2. Definiera hälsan hos en kromosom genom Om har en mer korrekt gen än så är dess hälsa dubbelt så god. 3. Utse kromosomer för rekombination via ruletthjulsmetoden. 19-c

Genetiska algoritmer 4. Nya kromosomer skapas genom mutation samt korsning: ag replacements phutetrgdj_uht ti_ernufhdnsir korsning phutetufhdnsir ti_ernrgdj_uht 20

Genetiska algoritmer 4. Nya kromosomer skapas genom mutation samt korsning: ag replacements phutetrgdj_uht ti_ernufhdnsir korsning phutetufhdnsir ti_ernrgdj_uht Mutationen är en slumpmässig substitution: Sfrag replacements oeuryg_fyhrbe mutation oeuwyg_fyhrbe 20-a

Genetiska algoritmer 4. Nya kromosomer skapas genom mutation samt korsning: ag replacements phutetrgdj_uht ti_ernufhdnsir korsning phutetufhdnsir ti_ernrgdj_uht Mutationen är en slumpmässig substitution: Sfrag replacements oeuryg_fyhrbe mutation oeuwyg_fyhrbe 5. Producera tillräckligt med avkomma för att fylla hela nästa generation. 20-b

Genetiska algoritmer 4. Nya kromosomer skapas genom mutation samt korsning: ag replacements phutetrgdj_uht ti_ernufhdnsir korsning phutetufhdnsir ti_ernrgdj_uht Mutationen är en slumpmässig substitution: Sfrag replacements oeuryg_fyhrbe mutation oeuwyg_fyhrbe 5. Producera tillräckligt med avkomma för att fylla hela nästa generation. 6. Stoppkriterium: avsluta programmet så fort en helt korrekt kromosom har skapats. 20-c

Genetiska algoritmer Ansats: storlek hos populationen : 500 korsningskvot : 75% mutationskvot : 1,0% 21

Genetiska algoritmer time = 0 - average % genes correct : 3.552 best % genes correct : 20.00 best chromosome : ngzabbyztu aaywicmr bbpfx Ansats: storlek hos populationen : 500 korsningskvot : 75% mutationskvot : 1,0% time = 1 - average % genes correct : 6.072 best % genes correct : 20.00 best chromosome : ngzabbyztu aaywicmr g qqi time = 35 - average % genes correct : 90.184 best % genes correct : 96.00 best chromosome : my name is waywick tucker time = 36 - average % genes correct : 90.488 best % genes correct : 100.00 best chromosome : my name is warwick tucker 21-a

Genetiska algoritmer time = 0 - average % genes correct : 3.552 best % genes correct : 20.00 best chromosome : ngzabbyztu aaywicmr bbpfx Ansats: storlek hos populationen : 500 korsningskvot : 75% mutationskvot : 1,0% Vi behövde endast kontrollera hälsan hos 500 36 = 18.000 kromosomer! time = 1 - average % genes correct : 6.072 best % genes correct : 20.00 best chromosome : ngzabbyztu aaywicmr g qqi time = 35 - average % genes correct : 90.184 best % genes correct : 96.00 best chromosome : my name is waywick tucker time = 36 - average % genes correct : 90.488 best % genes correct : 100.00 best chromosome : my name is warwick tucker 21-b

Evolutionära algoritmer Andra evolutionära metoder 22

Naturvetardagarna, Uppsala, 021129 Evolutionära algoritmer Andra evolutionära metoder Evolutionär programmering Kromosomrepresentation nära förknippat med problemformuleringen (t.ex. flyttal). Ingen korsning; Mutation med avtagande sannolikhet. 22-a

Naturvetardagarna, Uppsala, 021129 Evolutionära algoritmer Andra evolutionära metoder Evolutionär programmering Kromosomrepresentation nära förknippat med problemformuleringen (t.ex. flyttal). Ingen korsning; Mutation med avtagande sannolikhet Genetisk programmering Utvecklar hela program (vanligtvis skrivna i programmeringsspråket Lisp).. 22-b

Naturvetardagarna, Uppsala, 021129 Evolutionära algoritmer Andra evolutionära metoder Evolutionär programmering Kromosomrepresentation nära förknippat med problemformuleringen (t.ex. flyttal). Ingen korsning; Mutation med avtagande sannolikhet Genetisk programmering Utvecklar hela program (vanligtvis skrivna i programmeringsspråket Lisp). Klassifikationssystem Använder många olika adaptiva metoder för att skapa inlärning och evolution (t.ex. neurala nät, expertsystem).. 22-c

Slutsatser Slutsatser 23

Slutsatser Slutsatser Många problem saknar effektiva algoritmer. 23-a

Slutsatser Slutsatser Många problem saknar effektiva algoritmer. Approximativa algoritmer kan vara till stor hjälp. 23-b

Slutsatser Slutsatser Många problem saknar effektiva algoritmer. Approximativa algoritmer kan vara till stor hjälp. Genetiska algoritmer fungerar på en stor klass av svåra problem. 23-c

Naturvetardagarna, Uppsala, 021129 Referenser Referenser 1. Biermann, A. W. Great Ideas in Computer Science, 2nd Ed., MIT Press, 1998. 2. Flake, G. W. The Computational Beauty of Nature, MIT Press, 1999. 3. Harel, D. Computers Ltd. - What they really can t do, Oxford University Press, 2000. 4. Holland, J. H. Adaptation in Natural and Artificial Systems, University of Michigan Press, 1975. 5. Lagarias, J. C. The (1985), 3-23. problem and its generalizations, Amer. Math. Monthly 92:1 6. Michalewicz, Z. Genetic Algorithms + Data Structures = Evolution Programs, 3rd Ed., Springer-Verlag, 1999. 7. Mitchell, M. An Introduction to Genetic Algorithms, MIT Press, 1996. 24

Optimering 2 Yr.1 2 Yr.2 2 Yr.3 2 Yr.4 1 1 1 1 0 0 0 0 1 2 Yr.5 0 2 2 1 2 Yr.6 0 2 2 1 2 Yr.7 0 2 2 1 2 Yr.8 0 2 2 1 1 1 1 0 0 0 0 1 2 Yr.9 0 2 2 1 2 Yr.10 0 2 2 1 2 Yr.11 0 2 2 1 2 Yr.12 0 2 2 1 1 1 1 0 0 0 0 1 2 Yr.13 0 2 2 1 2 Yr.14 0 2 2 1 2 Yr.15 0 2 2 1 2 (0.295, 00.859) 2 2 1 1 1 1 0 0 0 0 1 2 0 2 1 2 0 2 1 2 0 2 1 2 0 2 25