Genetic Algorithm Analyzer Framework



What is GAAF?


This project is a tool for analyzing Genetic Algorithms (GA for short).

There exist a lot of different ways to implement a GA, and many times, one implementation work better than other for a very specific problem. The question is: how can we find the best implementation for a particular problem??, theory can say a lot of things, but one still needs a way to test it. This framework allow to interchange the diferent steps of a genetic algorithm, thus you can test the same problem using diferent types of selection, crossover and mutation algorithms, even further, it will allow to choose between diferent data encodes wherever it could be posible. Ofcourse it must allow to easly change different parameters of the algorithms like the probabilities of the operators; the use of politics like elitism, paralellism, etc; the seed for the random number generation; particular details of the operators implementation; etc.

And it must allow to track the information you are interested in, like the rate of change of the best fitness and average fitness, the average steps used in each run, etc.

Because some problems could be very slow to solve even for a fast computer, the framework must supply a way for manage different runs and inform about the status of each one, so the user can test diferent algorithms without having to wait the end of a previus one.

This is not a library for other programs for use GA, althought it would be great once you find the right algorithm to generate such a library, so maybe one day we could implement this feature.

This is not a program intended for resolve problems with GA's but for studying GA's, although evidently you have to be capable to resolve problems with it, this is not the main goal.

It has been develope with Java in a very modular fashion, so new genetic steps can be easly created and inserted in the framework, the reflection package has been specially usefull for this purpouse. The idea is that even not only the steps could be interchangeables but also details as the steps management. New GA techniques and ideas are Constantly developed so it must include a way to change the very operation of the framework. The user interface is implemented with Swing. althought it could be created a diferent kind of interface (maybe a text based one) and easly integrated in GAAF



Actual Status


The Project Page

CVS

I want to Thanks for the support to:

SourceForge Logo