Tuesday, April 6, 2010

GAlib: The Genetic Algorithms API

I came across this excellent C++ library for programming Genetic Algorithms: GAlib.

It offers a really simple interface to program any type of GA's. Any GA comes with 3 design issues:
  • Deciding the encoding
  • Deciding the genetic operators
  • Deciding the evaluator function
GAlib comes with many inbuilt representations and operators for almost all kinds of GA-related problems. The evaluator function is, predictably, left for the user to define.
GAlib comes with inbuilt genome representations like binary strings(1-D, 2-D and 3-D), arrays(1-D, 2-D and 3-D), lists, and trees.
Also inbuilt are various GA paradigms like 'simple', 'steady-state', and 'incremental'.
For each representation, GAlib includes various operators for crosssover, mutation and selection, etc.
GAlib also gives you freedom to create your own representations and operators if you wish so.

Personally, I found it quite helpful in my projects, and would recommend it to anyone looking to study genetic algorithms.
Cheers.