evolution the only process with a track-record of developing intelligent minds the process......
Post on 20-Dec-2015
218 Views
Preview:
TRANSCRIPT
evolution
the only process with a track-record of developing intelligent minds
the process...
• “blind” & long timescale but...robust, adaptable, minimal requirements
natural evol – timescale (1)
4000 MYA self-replicating RNA
3500 MYA bacteria & proto-photosynthesis
3000 MYA cyanobacteria “pollute” atmosphere with oxygen
1200 MYA sexual reproduction arises
1000 MYA multi-cellular organisms
505 MYA vertebrates
475-450 MYA plants & arthropods on land
300ish MYA insects diversify, land-based reptiles, ferns
150 MYA proto-birds
125 MYA small modern mammal
110 MYA dinosaurs
natural evol – timescale (1)
65 MYA mass extinction no.5 (dinosaur extinction)
primate order starts
30 & 15 MYA primates diverge
700 KYA common ancestor humans & Neanderthals
150 KYA mitochondrial eve (90-200kya)
100 KYA modern humans
50 KYA human expansion
35 KYA symbolism in humans
3 KYA iron tools
AD 0001 human population 150 million
AD 1853 human population 1 billion
AD 2010 human population exceeds 7 billion
natural evolution
fundamentals
• genomes & phenomes
• parental selection
• mutation & recombination
humans from genes
• DNA (4 bases ATCG, a digital code)
• 23 x 2 chromosomes (volumes of design)
• DNA → amino acid → protein → organ → human body
• body construction complex,many gene interactions
artificial evolution
• genomes & phenomes(pipe bends, aerofoils & software)
• parent selection
• mutation & recombination
• timescales
• a “blind & selfish” process
AI evolution
• Alife
• population evolution
• other genetic algorithms
population evolution
an example
a sample world
genomes & phenomes
• binary genome
• rule based phenomes
• rules specified using sensors & effectors
Sensors & Effectors
Sensors Effectorstarget-distancetarget-directionobstacle-distanceobstacle-direction
collect-targetturn-rightturn-leftmove-forward
A Sample Rule
IF target-direction = left and obstacle-direction left THEN turn-left
converting ‘genes’ to rules01000011 IF target-direction = forward THEN move-forward
00 target-distance01 target-direction10 obstacle-distance11 obstacle-direction
00 =01 <10 >11
0 1 0 0 0 0 1 1
00 forward01 right10 left11 backward
00 collect-target01 turn-right10 turn-left11 move-forward
crossover & mutation
Parent 1 genotype: 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0
Parent 2 genotype: 1 1 0 1 1 0 0 0 1 0 0 1 0 1 1 1
Mutation profi le: - - - - - - - - - 1 - - - - - -
Offspring genotype: 0 1 0 0 1 0 0 0 1 1 1 1 1 0 1 0
Offspring rule
IF target-direction = left and obstacle-direction left THEN turn-left
encoded rules (previous example)
Parent 1
IF target-direction = forward or target-distance left THEN turn-left
Parent 2
IF obstacle-direction < left and obstacle-distance < right THEN move-forward
Offspring
IF target-direction = left and obstacle-direction left THEN turn-left
genome modification
• cross-over & mutation rate parameters– consider max/minimal mutation– consider max/minimal cross-over
• evolving parameter values
the process
Create initial population
Convert individuals to rulesets
Test & score rulesets
Select parents&
generate new population
parent selection (basic example)
ID F sum-F
fred 20 20 (20+0)
sue 15 35 (15+20)
bill 19 54 (19+35)
sally 34 88 (34+54)
nancy 3 91 (3+88)
steve 9 100 (9+91)
...etc...
if random( 100 ) => 7676 > 54 and 76 <= 88, 76 is in Sally’s sum-F bucket so Sally chosen
selection strategies
• elitism
• weak & strong selection
• population toroids– clusters– wandering mates
• puberty & old-age
toriod
toriod clusters
X
toriod - wandering
** * **
X * *
testing
• single tests & sets of tests
• static tests & progressive tests
• evolving tests
• solution & test - predator / prey
• predator/prey with toriods, etc
peformance profiles
average performance
variance
graphs borrowed from Peter Andras, Newcastle University
rule interpretation1. Rules: {ante => conseq} use First Firing
2. Rules: {ante => conseq / weight} use max weightNB: may also use certainty factors or fuzzy logic
3. Rules : {ante => effector / weight}use effector with max accumulated weightNB: may also use certainty factors or fuzzy logic
4. Rule networks…{N: ante => conseq || on-fail-goto}
5. {N: ante => conseq, weight, threshold => on-success-goto || on-fail-goto}
6. activity nets{ f( g(a,b), h(c,d)) / Г }…etc
summary #1
you need well constructed...
• problem encoding (world, sensors, effectors, fn.s, etc)NB: if you don't know what is/isn't important then over supply
• phenome construction (avoid ambiguity)
• evolutionary operators (xover, mutate...)
• test strategy & fitness evaluation (be prepared to "tune" fitness function to improve performance)
• mate selection
summary #2
elitism, over-strong selection => quick elimination of "weaker" performers. May also remove useful but "sleeping" genes from population.
=> early convergence
summary #3
narrow spread of performances=> convergence (ie: little genetic variation)
large spread of the performancescheck: problem encoding, genetic operators & selection strategy
ditto for too fast/slow increase in average performance
try questions from page 24 of...
http://www.staff.ncl.ac.uk/peter.andras/evocompappl.ppt
tutorial example
details
• 60 bit genome
• 20 * 3 bit N/S/W/E moves (+ 4 n/a moves)
• tester judges progression to SE corner
typically sensitive to...
• population size
• selection strategy
• etc
in lisp...
(defun evolve ()
(report-header)
(create-initial-population)
(dotimes (n *no-generations*)
(generate-phenomes)
(tester)
(report n)
(when (last-generation...) ...)
(setf *population* (breeder))
))
top related