Föreläsning 980303 Evolutionary computing. Vad ska hända idag? w Kort översikt över området w Genetiska algoritmer Huvudalgoritmen Exempelproblem Organismrepresentation.

Slides:



Advertisements
Liknande presentationer
Föreläsning 3 25 jan 2010.
Advertisements

Idéer för ett bredare entreprenörskap
Hur kan vi arbeta mot mobbning. eller Hur kan vi arbeta för vänskap
Talföljder formler och summor
Att tydliggöra de långsiktiga målen i Lgr -11 och kunskapskravens fem övergripande förmågor för elever, föräldrar och pedagoger.
IPad grundkurs.
Formulär Tänkte nu gå igenom vad ett formulär är och hur man kan skapa dem i Access.
X-mas algebra Är du redo? Klicka!!.
Evolution.
PowerPoint av Bendik S. Søvegjarto Koncept, text och regler av Skage Hansen.
Libris som mobilapplikation • Målgrupp • Specifikt mobil • Relaterat till researchprocessen • Kan sträcka sig en bit in i framtiden • Smartphones.
F3 Matematikrep Summatecknet Potensräkning Logaritmer Kombinatorik.
void hittaMax(int tal[], int antal, int *pmax) { int i; ??=tal[0]; for(i=1;i??) ??=tal[i]; } int main() { int v[]={1,2,3,4,2}; int.
Evolution -evolutionsläran förklarar hur livet uppstod och hur det levande hela tiden förändras.
KURS ht-11 Välkommen! Ann-Sofie, Anette, Curta, Håkan, Karin
hej och välkomna EKVATIONER Ta reda på det okända talet.
FL4 732G70 Statistik A Detta är en generell mall för att göra PowerPoint presentationer enligt LiUs grafiska profil. Du skriver in din rubrik,
Ruttplanering Vad är det??.
Numeriska beräkningar i Naturvetenskap och Teknik
Funktioner och programorganisation
Programmeringsteknik Föreläsning 13 Skolan för Datavetenskap och kommunikation.
Funktionen SA10-Grupper. Följande typer av grupper finns: - Grupp i kurs hör alltid ihop med en kurskod - Grupp i program hör alltid ihop med en programkod.
Studenter Lär Av Studenter ”SLAS”
Föreläsning 2 21 jan 2008.
Föreläsning 7 Analys av algoritmer T(n) och ordo
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
Inferens om en ändlig population Sid
Matematisk statistik och genletning
Grundläggande programmering
Kontinuerliga system: Differentialekvationer
Algoritm analys och rekursiva metoder kap 5,7
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
Studenter Lär Av Studenter ”SLAS” Karim Daho Januari 2007.
MaB: Andragradsekvationer
Programmering B PHP Lektion 2
Sektorn för Socialtjänst
Föreläsning 11 Arrayer.
Pathfinding. –Vad är det? –Sökning från A till B.
Från binära till hexadecimala
Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö.
Vektorer (klassen Vector) Sortering
S3C. Separat antagning – ett lärosätesperspektiv
Metoder för att räkna addition och subtraktion
Frågor om elevinflytande till elever i åk 3 – 9 i grundskolan
Grundläggande programmering
Problemlösning Veckodagsproblemet Gissa talet Siffersumman.
Genetiska algoritmer – Evolution i en digital värld.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Föreläsning 11 J-uppgiften. Nästa period ägnas åt J-uppgiften. Den är individuell, dvs man jobbar på egen hand med uppgiften (inte tillsammans med labbkompisen).
En mycket vanlig frågeställning gäller om två storheter har ett samband eller inte, många gånger är det helt klart: y x För en mätserie som denna är det.
Sammanfattning av varumärkesundersökning
Evolution Sid
Logikprogrammering 21/10 Binära träd
En guide för arbeten i SO
Ingenjörsmetodik IT & ME 2008
Jonny Karlsson PROCESSPROGRAMMERING Föreläsning 8 ( )‏ Innehåll:  Introduktion till Java EE (Enterprise Edition)  Enterprise Java Beans.
Simulering Introduktion Exempel: Antag att någon kastar tärning
Projekt 5.3 Gilpins och Ayalas θ-logistiska modell A Course in Mathematical Modeling - Mooney & Swift.
Mångfald inom en art Population och art. Vad är skillnaden?
Digitalteknik 7.5 hp distans: 4.6 Adderare 4.45 Adderare Addition av två tal innebär att samma förfarande upprepas för varje position i talet. För varje.
Genetiska Algoritmer En översikt Vetenskapsmetodik - CDT Pablo Santibanez Jara, Ulrika Hjälmgården,
Föreläsning 11 Logik med tillämpningar Innehåll u Generell resolution u Kapitel i Ben-Ari.
Evolutionen.
Negativa tal – några exempel
Fysikexperiment, 5p1 Random Walk 36 försök med Random walk med 1000 steg. Beräknad genomsnittlig räckvidd är  1000  32. Visualisering av utfallsrum.
1 Ingenjörsmetodik IT & ME 2007 Föreläsare Dr. Gunnar Malm.
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 14.
Lathund för Marknadsplatsens sökfunktion. Översikt Detta är en lathund för Marknadsplatsens nya sökfunktion. Vi börjar med en kort genomgång av de olika.
Systematisk problemlösning enligt EPA-modellen -MÖJLIGHETER OCH UTMANINGAR.
Digitala tal och Boolesk algebra
Presentationens avskrift:

Föreläsning Evolutionary computing

Vad ska hända idag? w Kort översikt över området w Genetiska algoritmer Huvudalgoritmen Exempelproblem Organismrepresentation Fitnessevaluering

Vad är evolutionary computing? w Grundstommen: Population av individer och/eller lösningar Fitness funktion som kan jämföra individer Urvalsoperator - selection operator Mutation Rekombination för att skapa nya individer

Notationer som används w Individ, kromosom, sträng w Genotyp w Gen w Allele w Population w Fitness w Genetiska operatorer w Urvalstryck w Genetisk drift w Generation

Historia w 1957 använder biologen Fraser en dator för att simulera evolution. w 1958 experimenterar Bremmermann med simulerad evoultion över binära genotyper och studerar mutation noga. w 1962 publicerar Bremmermann resultat som använder simulerad evolution där han diskuterar konvergens i förtid och förespråkar mutation framför ”parning”. w 1962 publicerar Holland en artikel om adaptiva system (grunden till genetiska algoritmer) w 1963 börjar Rechenberg och Schwefel att samarbeta med fllygplansvingarna (grunden till evolutionära strategier) w 1966 publicerar Fogel son bok om simulerad evolution (grunden till evolutionell programmering) w 1985 Hålls första konferensen som inriktar sig mot GA samtidigt som teorier om genetisk programmering börjar växa fram.

Genetiska algoritmer (GA) w Holland och hans studenter spred metoden vidare under 80-talet. w Genetisk programmering är en speciell variant av GA och är den metod som kanske är mest ”inne” nu.

Evolutionella strategier w Rechenberg, 60-talet w Flygplansvinge w Avviker eftersom urvalet görs efter det att ny avkomma skapats.

Evolutionell programmering w Fogel, 60-talet w Saknar en kombinerings- operator, dvs ingen avkomma skapas. w Ny population uppstår genom mutering.

Den genetiska algoritmen ÀVälj lämplig representation av individerna och hitta en passande objekt funktion. ÁSkapa en startpopulation. ÂBeräkna fitnessvärdet för alla individer. ÃStanna om termineringsvillkoret är uppfyllt. Ä Skapa nya individer mha urval, kombineringsstrategier tillsammans med genetiska operatorer. ÅTa bort gamla individer ur populationen ÆBeräkna fitnessvärdet för de nya individerna och stoppa in dem i populationen. ÇGå till steg 4.

Jämförelse med andra optimerings- metoder: w GA bearbetar en kodad representation och söker i representationens rymd i stället för originaldomänen. w GA använder global information från hela sökrymden eftersom den använder en population av lösningar istället för en punkt. w Sökningen sker med stokastiska operatorer istället för deterministiska. w Den enda informationen som GA behöver är objektfunktionen. Behöver inte derivator t.ex.

Vilka typer av problem kan GAs lösa? w Funktionsoptimering Traditionell forskning störst inom detta område w Bildbehandling Jämka bilder tagna vid olika tillfällen ”Fantombilder” w Kombinatoriska problem Knapsack problemet, Traveling salesperson w Designuppgifter Ofta en blandning av optimering och kombinering w Maskininlärning Klassifierare

Exempel 1 - Funktionsoptimering

Exempel 2 - ”Ryggsäcksproblemet” w Finns begränsning på hur tung ryggsäcken kan vara (11042 viktenheter). w Ska fyllas så mycket som möjligt Maximera vinsten Bara ett objekt av varje typ

Representation av organismer w Alla parametrar i en genetisk algoritm måste kodas till en sträng. w Alla individer i en population har samma storlek (antal tecken) och alla bitarna i strängen har värden från samma alfabet. w Största delen av teorin som finns är utvecklad för binära strängar (dvs alfabetet är {0, 1}). w Andra kodningar kräver andra typer av genetiska operatorer.

Nackdelar med binärkodning w ”Olagliga individer” (illegal individuals) w Hammingklyftan (Hammingcliff) w Hammingklyftan kan undvikas med hjälp av Graykodning G = 000 E = 010 F = 011 H = 001 A = 110B = 111 C = 100D = 101 f(A) = 0 f(B) = 30 f(C) = 14 f(D) = 0 f(E) = 22 f(F) = 0 f(G) = 28 f(H) = 26 w Punkterna A, F och D klättrar mot B w Punkterna E, C och H klättrar mot G

Ursprungsproblem : Graykodat : Omvandling: g 0 = b 0 g i = b i  b i-1 för i = 1..n Tex (110) b = (101) g G = 000 E = 011 F = 010 H = 001 A= 101B = 100 C = 110 D = 111 Hammingrum (alla grannoder skiljer sig bara en bit): G = 000 F = 010 E = 011 H = 001 C = 110 D = 111 B = 100 A = 101 w D klättrar mot E w E klättrar mot H w F och H klättrar mot G w C, G och A klättrar mot B f(A) = 0 f(B) = 30 f(C) = 14 f(D) = 0 f(E) = 22 f(F) = 0 f(G) = 28 f(H) = 26

Representation för våra exempel w Optimeringsproblemet: Binärkodning, 10 bitar 3 för heltal och 7 för decimaltal Noggrannheten i svaret beroende av antalet bitar w Knapsack-problemet 50 bitar (en för varje typ av objekt) 1 om i ryggsäcken annars 0 Problem med övervikten ej löst!

Initiering av populationen w Kan vara slumpmässig eller icke-slumpmässig w Viktiga faktorer att tänka på: Genetisk mångfald ”Jämna” evalueringsvärden. –Om man har outliers så kan dessa ta över populationen (prematur konvergens)

Slumpmässig initiering: w ”Vanlig” slumpmässig ger en likformigt fördelad startpopulation Lätt att implementera Liten risk för prematur konvergens w Utökad slumpmässig initiering För varje individ i populationen slumpas ett givet antal fram och den bästa av dessa väljs

Icke-slumpmässig initiering: w Används när man har specifik kunskap om problemet. Man kan till exempel lägga till redan kända ”bra” individer –individerna kan ta över populationen om de är för bra i relation till de andra vikta slumpfunktionen så att en viss del av sökrymden blir mer representerad –man måste se till att mångfalden finns kvar ta fram intressanta punkter med hjälp av någon algoritm som man sedan utgår ifrån –algoritmen som används kanske missar globala optima pga att de söker sig till vissa delar av sökområdet

Fitnessevaluering w Fitnessvärdet talar om hur ”bra” en individ är Bör ge högre värden till de individer som representerar ”bra” lösningar. Får inte vara allt för stora variationer för att kunna behålla genetisk spridning. w Används vid urval av de som ska skapa nästa generation w Bygger ofta på objektfunktionen w Fitnessvärdet måste vara positivt Eftersom urvalsprocessen baserar sig på sannolikheter proportionellt mot fitnessvärdet

Raw fitness w Om objektfunktionen F är icke-negativ så kan man använda den direkt. f(x) = F(x) w Annars definieras raw fitness på följande sätt: w Stora variationer i populationen medför att de bästa favoriseras så att de kan ta över w Om skillnaderna är för små sker urvalet i princip slumpmässigt

Normalisering av fitnessvärden w Windowing w Linear normalisation w Linear scaling

Normalisering av fitnessvärden w Sigma truncation w Power law scaling (k nära 1)

Illegala individer w Kan uppkomma vid slumpmässig initiering och/eller vid skapandet av den nya generationen. w Några sätt att lösa problemet: Ta bort de illegala och skapa nya tills rätt antal lagliga skapats. +Lätt att implementera. –Olagliga individer kan innehålla genetiskt material som är bra. –Kan finnas väldigt många illegala individer i en sökrymd vilket gör att denna metod blir ineffektiv.

Fler sätt att lösa problemet: w Reparera individen så att den blir laglig. w Straffunktioner (penalty functions) Vanligaste alternativet f’=f+p eller f’=p(f) Om straffet för högt: –GA kommer att ägna stor tid åt att evaluera olagliga individer –Första lagliga individen kommer antagligen att ta över hela populationen Om straffet för lågt –GA kan komma att hitta en lösning som är en olaglig individ.

w Mer om straffunktioner: Låt straffunktionen stå för hur dålig individen är och f = c - p, c konstant. Straffunktioner som uppskattar i vilken omfattning villkoren överskridits är bättre än de som bara kolla antal villkor. Kan skapas utifrån ”the expected completion cost”. Dvs hur mycket skulle det kosta att göra individen laglig. w Knapsack-problemet Om vikten för stor dra av en konstant gånger övervikten. f = f - c(w - M)