Evolving a Path-Finding Algorithm

Rick Strom has a nice page showing how he used genetic programming to create a path-finding algorithm. This is real genetic programming, which differs from a genetic algorithm in that GP evolves an actual behavior tree of (potentially) arbitrary size, while a GA evolves the optimal parameters for a complex but pre-existing function.

GP is generally less accessible than GA programming and virtually all GP code is implemented in LISP. Strom's code is in C++ and thus may be appealing to a broader audience.