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

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

Genetiska Algoritmer. 10 mars 2014

Genetisk programmering i Othello

Regression med Genetiska Algoritmer

Symboler och abstrakta system

Genetiska Algoritmer

genetiska algoritmer

Genetiska algoritmer

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

Kapitel 13. Genetiska algoritmer

HKGBB0, Artificiell intelligens

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

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

EVOLUTIONENS DRIVKRAFTER ARTBILDNING

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

Linjärprogramming. EG2205 Föreläsning 7, vårterminen 2015 Mikael Amelin

Pedagogisk planering Bi 1 - Individens genetik

GenJam En musikalisk genetisk algoritm?

Anpassningar: i variabla miljöer & Livshistorier och evolutionär fitness Kap. 9&10

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

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

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

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.

Karl Holm Ekologi och genetik, EBC, UU. ebc.uu.se. Nick Brandt. Populationsgenetik

BERÄKNINGSMETODER FÖR DEN FRAMTIDA TÅGPLANEPROCESSEN

An#bio#karesistens Kan det vara e2 sä2 a2 undervisa om naturligt urval?

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

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

EVOLUTIONÄR LEVELDESIGN LEVELDESIGN MED GENETISKA ALGORITMER

Den evolutionära scenen

Bättre krossmaskiner kan tas fram genom optimering av en given krossprocess utifrån bergmaterialets fragmenteringsuppträdande

HI1024 Programmering, grundkurs TEN

SF2715 Tillämpad kombinatorik, 6hp

Optimeringslära Kaj Holmberg

Metriska rum, R och p-adiska tal

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

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

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

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

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

Optimeringslära Kaj Holmberg. Lösningar/svar. Iteration 2: x 2 s

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

Simulering av evolutionär anpassing En studie om hur arters anpassningsförmåga varierar med mutationsfrekvens.

Sammanfattning Arv och Evolution

Programmering eller Datalogiskt tänkande

Källkodning. Egenskaper hos koder. Några exempel

Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen

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

Träd. Sats. Grafer. Definition. En fullständig graf har en båge mellan varje par av noder. Definition

Genetik. - cellens genetik - individens genetik. Kap 6

TNSL05 Optimering, Modellering och Planering. Föreläsning 4

HI1024 Programmering, grundkurs TEN

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Tentamen Datastrukturer (DAT036)

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

Föreläsning 5: Kardinalitet. Funktioners tillväxt

Hardy-Weinberg jämnvikt Processer som minskar genetisk variation: Inavel Genetisk drift

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.

Interaktion med den genetiska algorithmen GenJam

TAOP86/TEN 1 KOMBINATORISK OPTIMERING MED

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

Genetik II. Jessica Abbott

FARLIGA TANKAR EVOLUTIONEN

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

TDIU01 - Programmering i C++, grundkurs

EVOLUTIONÄR ALGORITM FÖR VÄGPLANERING I DATORSPEL

0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

N = {i}: noder (hörn) Graf: G = (N, B) Definitioner. Väg: Sekvens av angränsande bågar. Cykel: Väg som startar och slutar i samma nod.

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18

TAOP33/TEN 2 KOMBINATORISK OPTIMERING GRUNDKURS

Skrivning för biolog- och molekylärbiologlinjen, genetik 5p.

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på layout, ett GUI-baserat program Frågor

Trädstrukturer och grafer

Samband och förändringar Olika proportionella samband, däribland dubbelt och hälften.

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson

TDDB56 DALGOPT Algoritmer och Optimering Tentamen , 8 13

Speciell användning av heltalsvariabler. Heltalsprogrammering. Antingen-eller-villkor: Exempel. Speciell användning av heltalsvariabler

Genetiskt Programmerad Musik

Föreläsning 1. Introduktion och sökning i graf. Vad är en algoritm?

HI1024 Programmering, grundkurs TEN

LABORATION 4 OBJEKTORIENTERAD PROGRAMMERING I C++ I

Programmering II (ID1019) :00-11:00

Datastrukturer och Algoritmer D0041D

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

GENETISK PROGRAMMERAD MUSIK OCH

Introduktion till programmering och Python Grundkurs i programmering med Python

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

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

Provmoment: Ladokkod: Tentamen ges för: tentamen TX091X TNBAS12. Namn: (Ifylles av student) Personnummer: (Ifylles av student)

Nymfkakaduans färgvariationer och mutationer

Tentamensinstruktioner. När Du löser uppgifterna

Algoritmer, datastrukturer och komplexitet

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

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

Föreläsning 12+13: Approximationsalgoritmer

Digitalt lärande och programmering i klassrummet

Talföljer och cirklar: Algoritmer, geometri och mönster 2 av 4

Transkript:

Genetiska Algoritmer

1 Grundläggande Idéer 2 3 4 Exempel

Parallell optimering inspirerad av biologisk evolution

Parallell optimering inspirerad av biologisk evolution Population av hypoteser Urvalprocess Lokal variation

Population av individer

Population av individer Urval av de bäst fungerande individerna

Population av individer Urval av de bäst fungerande individerna Variation skapar nya individer

Population av individer Urval av de bäst fungerande individerna Variation skapar nya individer Nya generationer skapas iterativt

1 Grundläggande Idéer 2 3 4 Exempel

Hur kodas hypoteserna?

Hur kodas hypoteserna? Kromosomer Binära strängar

Hur kodas hypoteserna? Kromosomer Binära strängar 0 1 1 1 0 0 1 0 1 1 0 Egenskap 1 Egenskap 2 Egenskap 3 4

Hur kodas hypoteserna? Kromosomer Binära strängar 0 1 1 1 0 0 1 0 1 1 0 Egenskap 1 Egenskap 2 Egenskap 3 4 Genotyp Den faktiska lagringen (kromosomerna) Fenotyp Individens egenskaper (tolkningen)

Exempel: Optimalt val av kanter i en graf

Exempel: Optimalt val av kanter i en graf Kanterna kodas som en bit-sträng

Exempel: Optimalt val av kanter i en graf Kanterna kodas som en bit-sträng

Måste allt lagras som bit-strängar?

Måste allt lagras som bit-strängar? Varianter: Andra heltal än 0/1

Måste allt lagras som bit-strängar? Varianter: Andra heltal än 0/1 Reella tal

Måste allt lagras som bit-strängar? Varianter: Andra heltal än 0/1 Reella tal Variabel längd

Måste allt lagras som bit-strängar? Varianter: Andra heltal än 0/1 Reella tal Variabel längd Trädstrukturer

Fitness-funktionen Mått på hur bra hypotesen är

Fitness-funktionen Mått på hur bra hypotesen är f : kromosom R

Fitness-funktionen Mått på hur bra hypotesen är f : kromosom R Exempel:

Fitness-funktionen Mått på hur bra hypotesen är f : kromosom R Exempel: Total väglängd i en graf

Fitness-funktionen Mått på hur bra hypotesen är f : kromosom R Exempel: Total väglängd i en graf Felet vid funktionsanpassning

Fitness-funktionen Mått på hur bra hypotesen är f : kromosom R Exempel: Total väglängd i en graf Felet vid funktionsanpassning Prestanda för en simulerad robot

Fitness-funktionen Mått på hur bra hypotesen är f : kromosom R Exempel: Total väglängd i en graf Felet vid funktionsanpassning Prestanda för en simulerad robot Antal vunna partier (spel)

Fitness-funktionen Mått på hur bra hypotesen är f : kromosom R Exempel: Total väglängd i en graf Felet vid funktionsanpassning Prestanda för en simulerad robot Antal vunna partier (spel) Evalueringen av fitnessfunktionen är ofta den beräkningskrävade delen av en genetisk algoritm

Urval

Urval Grundidé: Behåll individer med hög fitness

Urval Grundidé: Behåll individer med hög fitness Roulette selection Sannolikheten att överleva proportionell mot f

Urval Grundidé: Behåll individer med hög fitness Roulette selection Sannolikheten att överleva proportionell mot f Ranking selection Urval baserat på ordningsnummer istället för fitness-värde.

Urval Grundidé: Behåll individer med hög fitness Roulette selection Sannolikheten att överleva proportionell mot f Ranking selection Urval baserat på ordningsnummer istället för fitness-värde. Tournament selection Slumpmässiga par bildas och den med högst fitness överlever

Urval Grundidé: Behåll individer med hög fitness Roulette selection Sannolikheten att överleva proportionell mot f Ranking selection Urval baserat på ordningsnummer istället för fitness-värde. Tournament selection Slumpmässiga par bildas och den med högst fitness överlever Elitism Garanterad överlevnad för de bäst rankade individerna

Mutationer Små slumpmässiga ändringar Korsningar Blandning av individernas egenskaper

Mutationer

Mutationer Gör slumpmässiga ändringar i kromosomerna

Mutationer Gör slumpmässiga ändringar i kromosomerna Vald kodning spelar stor roll

Korsningar

Korsningar Välj två individer med hög fitness Byt delar av kromosomerna med varandra

Korsningar Välj två individer med hög fitness Byt delar av kromosomerna med varandra One-point crossover

Korsningar Välj två individer med hög fitness Byt delar av kromosomerna med varandra One-point crossover Multi-point crossover

Tillämpning på vanliga optimeringsproblem

Tillämpning på vanliga optimeringsproblem Antag att vi söker max f(x, y)

Tillämpning på vanliga optimeringsproblem Antag att vi söker max f(x, y) Kodning: kromosom med två reella tal

Tillämpning på vanliga optimeringsproblem Antag att vi söker max f(x, y) Kodning: kromosom med två reella tal Varje individ är en punkt i planet

Tillämpning på vanliga optimeringsproblem Antag att vi söker max f(x, y) Kodning: kromosom med två reella tal Varje individ är en punkt i planet Mutation Spridning parallellt med koordinataxlarna

Tillämpning på vanliga optimeringsproblem Antag att vi söker max f(x, y) Kodning: kromosom med två reella tal Varje individ är en punkt i planet Mutation Spridning parallellt med koordinataxlarna Korsning Nya punker med x från en förälder och y från en annan

Exempel: Optimerad kodgenerering vid kompilering

Exempel: Optimerad kodgenerering vid kompilering ACOVEA Analysis of Compiler Options via Evolutionary Algorithms

Exempel: Optimerad kodgenerering vid kompilering ACOVEA Analysis of Compiler Options via Evolutionary Algorithms System för att hitta de optimala kompilatorinställningarna för ett givet C-program

Exempel Genetisk programmering

Exempel Genetisk programmering Användning av GA för att skapa program automatiskt

Exempel Genetisk programmering Användning av GA för att skapa program automatiskt Hur representeras programmen?

Exempel Genetisk programmering Användning av GA för att skapa program automatiskt Hur representeras programmen? Hur mäter man fitness?

Exempel Genetisk programmering Användning av GA för att skapa program automatiskt Hur representeras programmen? Hur mäter man fitness? Hur gör man mutationer?

Exempel Genetisk programmering Användning av GA för att skapa program automatiskt Hur representeras programmen? Hur mäter man fitness? Hur gör man mutationer? Hur gör man korsningar?

Exempel Representation av programmen

Exempel Representation av programmen Vanliga språk är inte lämpliga

Exempel Representation av programmen Vanliga språk är inte lämpliga Träd med operatorer

Exempel Representation av programmen Vanliga språk är inte lämpliga Träd med operatorer Instruktionslista

Exempel Exempel Funktionsanpassning

Exempel Exempel Funktionsanpassning Representation av programmet + * abs 17 x x

Exempel Exempel Funktionsanpassning Representation av programmet + * abs 17 x x Mutationer

Exempel Exempel Funktionsanpassning Representation av programmet + * abs 17 x x Mutationer Korsningar

Exempel Målfunktion Target 1 0.75 0.5 0.25 0 0 0.5 1 1.5 2 2.5 3 3.5

Exempel Funnen lösning 1 Target GP 0.75 0.5 0.25 0 0 0.5 1 1.5 2 2.5 3 3.5

Exempel / 0.539 + 0.41 1 * * / + * + X * * * + X X 0.023 X X X * * + X 0 1 / + 0.97 0 X X X 0.8

Exempel / 0.539 + 0.41 1 * * / + * + X * * * + X X 0.023 X X X * * + X 0 1 / + 0.97 0 Bloating Ansamlandet av onödiga delar i kromosomer med variabel längd X X X 0.8