Evolutionary Algorithms
Techniques that harness evolution Broad range of applications Genetic algorithms Darwinian Process A characteristic pattern Pattern can be copied Occasional variations Competition for limited territory Multifaceted environment Next round of variations based on success
Definitions Genotype Phenotype DNA Mutation (copy errors) Fitness Function
Genetic Representation Phenotype == Genotype Discrete, real, tree Growth and cellular differentiation
Genetic operators Crossover Mutation One point Multiple point P for a location is 0.01 (higher than nature)
Winston’s example Kookie flour sugar Chromosome: Mutation – choose a gene and change it Crossover – Fitness: Probability of survival related to quality of the cookie
Algorithm Create a population Mutate one or more genes producing new offspring Mate one or more pairs Remove from population by fitness Iterate!
Design constraints Number of chromosomes in population Mutation rate Cost of large numbers Low numbers slow evolution Mutation rate Too high can cause out of control systems Mating rules Fitness, proximity Can chromosome have multiple occurrences in a population?
With Kookie Selection rule It will work with mutation alone Higher qualities survive Randomly keep a small number unrelated to quality It will work with mutation alone Adding crossover improves convergence
Ranking Methods Fitness as relative quality: Rank Method Given qi as the quality measure of the i’th entity Fi = qi / (Sj qj) Rank Method Eliminates bias toward the “best” and reduces bias due to measurement scale Rank the candidates by fitness Choose a probability, p, of choosing the highest ranking Pi = p * (1.00 – ( P1 + P2 + P3 …Pi-1))
Ranking (cont.) Survival of the Most Diverse Need a diversity measure It is good to be different! Need a diversity measure Sort by the combination of diversity and quality The use rank method
Examples See Kosa Digital Design – encode FSA Analog Design Tree of build instructions Components as Genes: type Values Connections
CHC Algorithm Larry J. Eshelman Use crossover and elitist selection When converged population appears, then mutate! (Cataclysm)
Artificial Life Study aspects of “life” in a simulated environment Allow experiments we cannot do in real life Allows us to abstract from life and life properties Grow AI?
Self Replication John Von Neumann (1951) Cellular Automata Life – Turing computable Self replicator
Tierra System Thomas Ray Organism are built of instructions is a ”core” 32 instructions encoded in 5 bits Work by pattern matching Simulated enzymes and proteins
Spontaneous Generation Andrew Paragellis Instruction sequences Mutation Random seeding Self replicators emerged
Artificial Life Lab Rudy Rucker Boppers Artificial Life Lab Rudy Rucker
Boppers Simple bug-like creatures Turing Machine based <current state, read color, write color, new state, turn> Cycle is move in current direction Compute next state, write color and turn
Creatures Turmite Boids – Turboid Two dimension Turing machine actions based on locations of surrounding boids No internal state Turboid Hybrid of the two
Genetics Have chromosomes and are G.A. Chromosomes are highly structured Various areas of chromosome supply direct aspects of behavior!
Windrose
Turmite DNA IQ = number of states Turn table - size of windrose State (indexed by read color): Next State Table (8 * IQ) Turn Table (8 * IQ) Write Color Table (8 * IQ) Total size is 24 * IQ
Turmite Enzymes Body icon Trail Nodes Trail lines Base speed Bopper type Windrose IQ
Boids Based on Reynolds Boid Flocking rules Collision Avoidance Velocity Matching Flock Centering
Boid DNA 18 bytes for 11 varibles 4 byte size integers: WatchTwoFlag = watch one or two closest MaxSpeed CruiseDistance - distance from flock mate NearWallDistance - closest distance allowed
Boid DNA (cont.) 7 real parameters RealSpeed CopyWeight = fly parallel to neighbor CenterWeight = move to center of flock AttackWeight = attack other flock FleeWeight = run from other flock VeerWeight = fly away from wall Acceleration
TurBoid Features of both! DNA is like turmite First 18 bytes of DNA Turmite state table Boid parameters
Summary