I.1.3.3-Genetic algorithms (GA)

GAs traditionally use bit-strings to represent individuals. This method provides a more domain-independent approach.
GAs are often used as optimizers, but their capabilities are more general.
Figure 1.3 shows the algorithm for a typical GA.

    t = 0;
    initialize population P(t)
    evaluate P(t)
    until (done) {
        t = t + 1;
        parent_selection P(t);
        recombine P(t);
        mutate P(t);
        evaluate P(t);
        survive P(t);
    }
    

    fig. 1.3: genetic algorithm

Parent selection is done using a probabilistic function based on fitness (the better the fitness, the more likely for an individual to be selected as a parent). N children are created by recombining the N parents. They are mutated and survive, replacing their parents in the population.
In GAs recombination is the most important reproduction operator. Mutation is more of a background operation, and simply flips bits in the individuals with a low (fixed) probability. (Some researchers even argue that mutation is not necessary in GAs as recombination can produce the same results).