About GP.Lab

Hi there and welcome to the GP.Lab blog.

So what's "GP.Lab"?

It's a Genetic Programming Workbench and a work in progress. Besides being a fun, non-profit software research project its main goal is to investigate machine learning (Genetic Programming in particular) and its applications to automatically solve a range of problems.

GP.Lab implements a modular architecture: Individual tasks or problems are essentially plug-ins to the core app containing everything related to the specific problem to be solved such as
  • Specific operators  (Robot steering commands, access to data sources)
  • A visualization appropriate for the task
  • Additional logic required to evaluate programs (e.g. a simulation environment)
The core app implements basic functionality such as the core GP kernel algorithm, methods for managing the GP population, as well as a bunch of statistical tools to provide insight into the simulated evolutionary process.

Initial Set of Tasks

At this point GP.Lab includes implementations for the following problems:
  1. Symbolic regression (Math. functions)
  2. Santa Fe Trail problem
  3. RoboRail
  4. Collector
Tasks #1 and #2 are commonly used in machine learning and already described in detail in numerous places. Both are neither terribly interesting nor complex - which is great when using them as a test bed for developing and extending the core functionality of GP.Lab!

The RoboRail and Collector tasks are essentially about controlling robots in simulated environments. The goal is to automatically find robust solutions for path finding and item collecting tasks.

Additional modules are currently in various stages of planning/implementation/testing.

Some Links

If you would like to learn more about Genetic Algorithms - and Genetic Programming in particular - you might want to read this wikipedia article or check out these books:

The project has a dedicated YouTube channel at youtube.com/user/virtualspecies demonstrating some of the GP.Lab modules currently available.

Where do we go from here?

Future posts will cover in more detail the Genetic Programming implementation used by GP.Lab, individual tasks, and more. The app itself will also be made available for download.

At this point there are no plans to open up the source code of GP.Lab, though.

Share and Enjoy!


Popular posts from this blog

GP.Lab: Public Preview

The GP.Lab Genetic Programming Kernel (continued)