| Home | Projects | Images | Miscellaneous | Contact | Sitemap

What are Genetic Algorithms?

Genetic Algorithms (GA) are a class of non-linear, adaptive, heuristic and partly parallel methods for optimizing problems. They base on they're natural example of evolution and are typically being used as Black-Box methods. In nature, on many generations populations evolve following the principles of natural selection and the "survival of the fittest" which were first postulated by Charles Darwin in his book The Origin of Species. By copying and imitating the principles of nature, Genetic Algorithms can generate and evolve 'populations' which only purpose it is to solve a problem which has been set to them.

 

Genetic Algorithms do not need gradient information or other problem specific knowledge for their problem. This is the reason why the are being used in fields that are either not really well understodd yet, or fields where the complete modelling simply isn't possible (may it be because of mathematical or computational problems).

 

Uh ... sounded quite theoretical, didn't it? Well, it isn't. It's fun. Are you still ...


... interested?

By chance, I wrote my diploma thesis on "Genetic Algorithms for Optimizing Molecular Structures". It can be read online in HTML-format (no images though) or you can get it as PDF-format


chevreux_diplom_GA.pdf

or online in HTML format


Both in german, I'm sorry. I didn't have the time to translate that yet (and probably will never have).

 

In this work the influence of different parameters of Genetic Algorithms are evaluated with respect to their speed and performance while searching for an optimal solution to a non-trivial problem. Parameters investigated are:


generational forms (Simple GA wit/without elitism, Steady State GA)
replacement size
population size
abort criteria (bitconvergence, threshholds , stop windows)
number of parents
mutation
crossover (multiple crossover points, N-point, randomwalk, uniform)
behaviour of crossover operators with small, rising and big populations
selection schemes (roulette multi-spin, roulette single-spin, tournament, uniform)
scaling schemes (none, ranking)
minimizing window functions (dynamic reversed fitness, positive scores 1 div, ceil sub score)
widening of the search focus (adaptive mutation, double prevention)

Optimizing the structure of a molecule has been taken as an example for the non-trivial problem. Additionally, a method has been developed to increase the efficacity of Genetic Algorithms (pyramidal cultures) so that complex problems can be solved on relatively small computers in an acceptable time.




© 1997-2009 by Bastien Chevreux