How Computers Learn Genetic Algorithms and Evolutionary Programming Kamal Aboul-Hosn Cornell University
Why Genetic Algorithms? Consider development in nature “Survival of the fittest” Species suited for an environment thrive, species not suited die Apply this method to computer programs Genetic Algorithms: Basic units-bit strings Evolutionary Programming: Larger
How GA Works Start with an initial, randomly-generated population Evaluate the “fitness” of each member A function measuring the closeness to a desired value Determined by the problem being solved Create the next generation
The Next Generation More fit members should have a better chance of being in the next generation Chance of survival proportional to fitness Three steps: Selection Cross-Over Mutation
Example
GA-Walker Example Developed as class project by Matt Harren and Allen Wang Goal: Train a creature to walk as far as it can in a straight line Fitness Function? Distance travelled within a certain time
The Weasel Applet http: //home. pacbell. net/s-max/scott/weasel. html Things to consider: Population size Length of goal
Considerations in GA Initial size of population Too small: Not enough diversity to get solution quickly Too large: Too much to compute Size of goal A larger goal takes longer
Successes of GA Investment guiding for Barclays Global Investors, Fidelity, and Pan. Agora Asset Management Engine design for General Electric GM car painting-reduced changeovers by 50%
Another example http: //math. hws. edu/x. Java/GA/