Logo

My Presentation

Link to my presentation: http://dl.dropbox.com/u/322193/PyCon2011_GAGP_talk.pdf

Link to PyCon 2011 video of my talk: http://pycon.blip.tv/file/4879765/

Sample Code used in Presentation

Weather Prediction Example: https://bitbucket.org/efloehr/evolve_weather/src

This is a “painting” GA similar to EvoLisa and others.  I only had a few hours to work on it before the talk, but it’s incomplete.  The structure is there, but not all the mutation/crossover features. Plus it is limited to an unchanging amount of polygons. Check back MONDAY after I’ve had more time to work on it (or hack away!): https://bitbucket.org/efloehr/evoguido/src

General GAGP Docs and Resources

John Koza’s Genetic Programming site: http://www.genetic-programming.com/

A Field Guide to Genetic Programming: http://dces.essex.ac.uk/staff/rpoli/gp-field-guide/

Introduction to Genetic Programming: http://www.obitko.com/tutorials/genetic-algorithms/index.php

The Genetic Programming Notebook: http://www.geneticprogramming.com/index.html

http://www.talkorigins.org/faqs/genalg/genalg.html

PyEvolve

PyEvolve is the Python libary I use and demostrated in my talk.

http://www.pyevolve.com/ (forwards to current release)

http://pyevolve.sourceforge.net/0_6rc1/

Benchmark with PyPy: http://pyevolve.sourceforge.net/wordpress/?p=1189

Some other libraries PyEvolve will use if available:

matplotlib: http://matplotlib.sourceforge.net/

vpython (visual): http://www.vpython.org/

pydot: http://code.google.com/p/pydot/

Other Python GAGP Libraries

I prefer PyEvolve, but haven’t tested all or most of these.  Perhaps you will find one of these others to your liking if pyevolve isn’t for you.

SciPy GA module: http://www.scipy.org/documentation/apidocs/scipy/scipy.ga.html

pyGene: http://www.freenet.org.nz/python/pygene/

ecspy: http://pypi.python.org/pypi/ecspy

DEAP: http://code.google.com/p/deap/

pyStep: http://pystep.sourceforge.net/

Also check out other non-GAGP optimization algorithm libraries at http://www.scipy.org/Topical_Software (see the Optimization section)

BoxCar2D

This is a GA that become popular on Reddit and Hacker News a few months ago.  It was inspired by an even older GA that became popular on Reddit a few years ago.

http://boxcar2d.com/

http://www.qubit.devisland.net/ga (The older inspiration)

Karl Sims Virtual Creatures

Karl Sims evolved creatures using GAGP in the early-1990′s on a Connection Machine 5.  His presentation at Siggraph was one of the reasons I became interested in GAGP.

http://www.karlsims.com/evolved-virtual-creatures.html

http://www.karlsims.com/papers/siggraph94.pdf

EvoLisa

Much like the boxcar GA, EvoLisa and variants made the online rounds a few years ago:

http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/

Search on “Mona Lisa Genetic Algorithm” for lots of variants.

Other Applications

Human-Competitive Awards, a contest that awards prizes to GAGP solutions that approach or exceed human capability: http://www.human-competitive.org/

Antenna Design: http://ti.arc.nasa.gov/projects/esg/research/antenna.htm

Robocode AI: http://jgap.sourceforge.net/doc/robocode/robocode.html

Trajectory Design: http://engr.purdue.edu/people/…/VavHow_08.pdf

Composing Music: http://drum.lib.umd.edu/bitstream/1903/7474/1/icmc95.pdf

Comics

With Power Comes Responsibility: http://xkcd.com/534/

But Don’t Expect Miracles: http://xkcd.com/720/