(neuro) Evolutionary Computing
introductie in...
Evolutionary Computing
30 MINUTEN.
EVOLUTIONARY COMPUTING
- introductie
- EA representatie
- EA schematisch
- EA individuele stappen
- EA pseudo algoritme (recap)
- EA voorbeeld
- terms (recap)
- (indien tijd) neuro-evo
- voorbeelden / videos
introDUCTIE
- theory of evolution
- sterk versimpeld
- toch hele krachtige probleemoplosser
METAFOOR
EVOLUTIONARY ALGORITHM
SCHEMATISCH
GENETIC ALGORITHM SCHEMA (1)
GENERATION
GENETIC ALGORITHM SCHEMA (2)
GENETIC ALGORITHM SCHEMA (2)
GENERATION
EVOLUTIONARY ALGORITHM
REPRESENTATIE
REPRESENTATIE
[3, 785, 456, 691] // EA moet een wiskundige functie oplossen.
// genotype v. individu zijn 4 getallen.
"alvo328zk6326d" // EA moet leren om bepaald woord te spellen.
// genotype v. individu is een string.
[ // EA moet een complexe som oplossen.
[9, 1, 2, 3, 4] // genotype v. individu is een getallen matrix.
[6, 8, 2, 0, 6]
]
1970598604 // EA moet een cijferslot combinatie leren.
// genotype v. individu is een nummer
// EA moet uiteindelijk een goed stel hersenen
// leren / ontwikkelen voor een lopende robot.
fitness functie
64
REPRESENTATIE
fitness functie
- Berekent hoe de fitness van een individu in een populatie.
- heeft in de natuur geen objectieve definitie maar natuurlijk: overleven, interessant zijn voor het andere geslacht etc.
EVOLUTIONARY ALGORITHM
DE VERSCHILLENDE STAPPEN
INITIALISATIE (v. populatie)
- randomization
- good defaults (als je die informatie beschikbaar hebt)
PARENT SELECTION
- de betere individuen selecteren (kwaliteit verbeteren)
- bijna altijd probabilistisch
- selection mechanisms
- roulette wheel
- tournament
- elitism
- ...
RECOMBINATION
CROSSOVER
- nodig voor diversiteit, mogelijkheid tot verbetering van fitness
- 1 point
- n-point
- uniform (random copy)
RECOMBINATION: MUTATION
- nodig voor diversiteit, mogelijkheid tot verbetering van fitness
- probabilistic
- multiple
- ...
SURVIVOR SELECTION
- De fitness van nieuwe individuen wordt berekend adhv de fitness functie.
- De slechtste individuen (oplossingen) sterven.
- selectiemethoden:
- tournament
- roulette wheel
- elitism
- ...
stop conditions
- After a max number of generations
- When a certain goal has been reached
- When the best solution hasn't changed in x generations
EVOLUTIONARY ALGORITHM
PSEUDO algorithm
GENETIC ALGORITHM SKELETON (1)
BEGIN INITIALIZE population with random candidate solutions; EVALUATE each candidate; REPEAT UNTIL (TERMINATION CONDITION is satisfied) DO 1 SELECT parents; 2 RECOMBINE pairs of parents; 3 MUTATE the resulting offspring; 4 EVALUATE new candidates; 5 SELECT individuals for the next generation; OD END
GENETIC ALGORITHM SKELETON (2)
- Generate a random population of genomes
- Rank the genomes according to their fitness
- Select / Mate / Mutate population
-
repeatFrom(2) unless solution.isGood()
EVOLUTIONARY ALGORITHM
VOORBEELD
HELLO (WORLD) EA ALGORITME
"hello"
"lZ54G"
"aZl4o"
"Hel2z"
"ktl67"
"zc93R"
"lZ54G" 5
"aZl4o" 4
"Hel2z" 3
"ktl67" 5
"zc93R" 5
"lZ54G" + "Hel2z" crossover: "lZl2z" + "He54G" 4 3 mutation:
"lZl2o" + "Het4G" 3 3
terms
- search space
- encoding / representation
- population
- generation
- individual
- genetic drift
- parent selection
- parents
- crossover / recombination
- mutation
- offspring
- survivor selection
- genotype
- fenotype
NEURO EVOLUTION
NEURAL NETWORKS + EVOLUTIONARY COMPUTING
NEURO EVOLUTION
NEURAL NETWORKS + EVOLUTIONARY COMPUTING
NEURO EVOLUTION
NEURAL NETWORKS + EVOLUTIONARY COMPUTING
NEURO EVOLUTION
NEURAL NETWORKS + EVOLUTIONARY COMPUTING
EXAMPLES
VIDEOS
https://youtu.be/GOFws_hhZs8?t=255 (survivor gradient)
https://www.youtube.com/watch?v=z9ptOeByLA4&feature=youtu.be&t=66 (soft robotics)
https://www.youtube.com/watch?v=pgaEE27nsQw&feature=youtu.be&t=48 (muscle based locomotion)
https://www.youtube.com/watch?v=qv6UVOQ0F44 (mar I/O)
https://vimeo.com/20509456 (starcraft realtime)
(neuro) evolutionary computing
By michahell
(neuro) evolutionary computing
very very very short introduction
- 612