next up previous
Next: The DARWIN Language Up: DARWIN - A Genetic Previous: DARWIN - A Genetic

What is DARWIN?

Programming a Genetic Algorithm solution to a problem is a tedious work, since it involves great deal of experimentation with different genome representations and GA operators. During the development process, a programmer has to constantly rewrite portions of the code to accommodate data representation changes and when experimenting with a different set of operators is needed, the only solution is totally rewriting them. As a result, the program is constantly evolving until a sufficiently good set of parameters is obtained. Up to that point it is not unusual to have hundreds of program executions.

The DARWIN Project has been designed to assist Genetic Algorithms programmers by providing a facility to generate most of the code and thus giving a chance to concentrate only on genome representation, operators and GA parameters. DARWIN is thus capable of properly identifying genome representation, generating most of the operators accordingly and providing all the necessary statistics and bookkeeping functionality.

In its most general, the DARWIN Project is a language and its compiler. The DARWIN language is designed to clearly distinguish Genetic Algorithm constructs - the genome and its operator set. A detailed presentation of the DARWIN language will be presented in the next section. The DARWIN language compiler has been designed to be a C cross-compiler. The target language is chosen to be C, since C is the most commonly used language with compilers present on the widest range of platforms. By generating standard C code, portability is ensured on the largest scale possible.


next up previous
Next: The DARWIN Language Up: DARWIN - A Genetic Previous: DARWIN - A Genetic
Gokturk Ucoluk 2003-09-15