Good usage of Genetic Algorithms

From DmWiki

Table of contents

Draft

The Meaning and Good Usage of Genetic Algorithms

Introduction

Take a fresh look at Genetic Algorithms and consider not only the right parameters but the algorithms, the selections procedures and the change operators

Using a Genetic Algorithm

The genetic algorithms are like a realy huge hammer, every problem does not need a hammer to be solved

When to use it

NP-hard and so on

When not to use it

some simple problems does not need GA, moreover, some hard problems are efficiently adressed by other methods more adapted

Genetic Algorithms

Definition

Definition of the common/classical approach

Example(s)

Simple examples to understand, such as the "stealer (need to find the real name in english)"

Limitations

Changing genotypes are hard to adress, most of all, the application of GA to Continuous variables are a real disaster with a simple GA. It is not meant to, discussion here and explanation

Evolutionnary Strategies

Definition

1+1,1.1,mu+lambda,mu.lambda,CMA evolutionnary strategies algorithms : for continous variables (ideal for neural networks for instance)

Example(s)

application to neural networks, eventually other directly applicable to video games, such as boid optimization problems

Genetic Programming

Definition

The genetic programing generates programs/trees as a genotype. It is a complex but very important field in computer science in the next years

Theoretical and practical approach

Discuss about the steps in genetic algorithm and try to propose the optimal way of tuning it to general problematics so that the programmer can have better results

Initialisation procedure

initializing the population does have importance since prior information can help avoiding bad areas or concentrating in good areas


Selection operators

The use of the selection procedures are to be discussed as the basic methods considered are not usualy the right ones. We all can do better starting from here

Reproduction operators

Selecting is an important part, so as for the reproduction, since there exist many more methods thant just the 2 classical operators that are not usually well understood yet.

Whatever could be missing

References

the most classical and informative references i know about




DevMaster navigation