#header-inner {background-position: right !important; width: 100% !important;}

## 11/9/14

### Genetic Algorithms.

Disclaimer.

i am not Expert in Artificial Intelligence Field of Computer Sciences, but i try to guess after reading Wikipedia.

Use (or not) at Your own risk.

Critic is welcome & asked for.

Introduction.

In the computer science field of artificial intelligence, a genetic algorithm (GA) is method of finding optimal solutions.

Candidate Solutions.

In a genetic algorithm, a population of candidate solutions (called individuals, creatures, or phenotypes) to an optimization problem is evolved toward better solutions.

Each candidate solution has a set of properties (its chromosomes or genotype) which can be mutated and altered.

Candidate solutions, whether code parts or mathematical functions or other, might be represented as objects with properties (which can be objects as well).

Selection & Evolution.

The evolution usually starts from a population of randomly generated individuals, and is an iterative process, with the population in each iteration called a generation.

In each generation, the 'fitness' of every individual in the population is evaluated by a function.

The more fit individuals are selected from the current population, and each individual's genome is modified (recombined and possibly randomly mutated) to form a new generation.

It is worth tuning parameters such as the mutation probability, crossover probability and population size to find reasonable settings for the problem class being worked on. A very small mutation rate may lead to genetic drift. A recombination rate that is too high may lead to premature convergence of the genetic algorithm. A mutation rate that is too high may lead to loss of good solutions, unless elitist selection is employed.

Termination.

This generational process is repeated until a termination condition has been reached.

Common terminating conditions are:

- A solution is found that satisfies minimum criteria,
- Fixed number of generations reached,
- Allocated budget (computation time/money) reached,
- The highest ranking solution's fitness is reaching or has reached a plateau such that successive iterations no longer produce better results,
- Manual inspection,
- Combinations of the above.

Source: Wikipedia.