F - PowerPoint PPT Presentation

1 / 29
About This Presentation
Title:

F

Description:

Evolutionary computing Vad ska h nda idag? Kort versikt ver omr det Genetiska algoritmer Huvudalgoritmen Exempelproblem Organismrepresentation Fitnessevaluering ... – PowerPoint PPT presentation

Number of Views:45
Avg rating:3.0/5.0
Slides: 30
Provided by: Datavet
Category:
Tags: knapsack | problem

less

Transcript and Presenter's Notes

Title: F


1
Föreläsning 980303
  • Evolutionary computing

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

3
Vad är evolutionary computing?
  • 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

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

5
Historia
  • 1957 använder biologen Fraser en dator för att
    simulera evolution.
  • 1958 experimenterar Bremmermann med simulerad
    evoultion över binära genotyper och studerar
    mutation noga.
  • 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.
  • 1962 publicerar Holland en artikel om adaptiva
    system (grunden till genetiska algoritmer)
  • 1963 börjar Rechenberg och Schwefel att samarbeta
    med fllygplansvingarna (grunden till evolutionära
    strategier)
  • 1966 publicerar Fogel son bok om simulerad
    evolution (grunden till evolutionell
    programmering)
  • 1985 Hålls första konferensen som inriktar sig
    mot GA samtidigt som teorier om genetisk
    programmering börjar växa fram.

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

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

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

9
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.

10
Jämförelse med andra optimerings-metoder
  • GA bearbetar en kodad representation och söker i
    representationens rymd i stället för
    originaldomänen.
  • 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.
  • Sökningen sker med stokastiska operatorer
    istället för deterministiska.
  • Den enda informationen som GA behöver är
    objektfunktionen. Behöver inte derivator t.ex.

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

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

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

15
Nackdelar med binärkodning
  • Olagliga individer (illegal individuals)
  • Hammingklyftan (Hammingcliff)
  • Hammingklyftan kan undvikas med hjälp av
    Graykodning

f(A) 0 f(B) 30 f(C) 14 f(D) 0 f(E)
22 f(F) 0 f(G) 28 f(H) 26
  • Punkterna A, F och D klättrar mot B
  • Punkterna E, C och H klättrar mot G

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

E 011
F 010
G 000
H 001
B 100
A 101
17
Representation för våra exempel
  • Optimeringsproblemet
  • Binärkodning, 10 bitar
  • 3 för heltal och 7 för decimaltal
  • Noggrannheten i svaret beroende av antalet bitar
  • Knapsack-problemet
  • 50 bitar (en för varje typ av objekt)
  • 1 om i ryggsäcken annars 0
  • Problem med övervikten ej löst!

18
Initiering av populationen
  • Kan vara slumpmässig eller icke-slumpmässig
  • 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)

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

20
Icke-slumpmässig initiering
  • 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

21
Fitnessevaluering
  • 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.
  • Används vid urval av de som ska skapa nästa
    generation
  • Bygger ofta på objektfunktionen
  • Fitnessvärdet måste vara positivt
  • Eftersom urvalsprocessen baserar sig på
    sannolikheter proportionellt mot fitnessvärdet

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

23
Normalisering av fitnessvärden
  • Windowing
  • Linear normalisation
  • Linear scaling

24
(No Transcript)
25
Normalisering av fitnessvärden
  • Sigma truncation
  • Power law scaling (k nära 1)

26
(No Transcript)
27
Illegala individer
  • Kan uppkomma vid slumpmässig initiering och/eller
    vid skapandet av den nya generationen.
  • 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.

28
Fler sätt att lösa problemet
  • Reparera individen så att den blir laglig.
  • Straffunktioner (penalty functions)
  • Vanligaste alternativet
  • ffp eller fp(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.

29
  • 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.
  • Knapsack-problemet
  • Om vikten för stor dra av en konstant gånger
    övervikten. f f - c(w - M)
Write a Comment
User Comments (0)
About PowerShow.com