How exactly are mutation and cross-over applied in the context of a genetic algorithm based on real numbers (as opposed to just bits)? I think I understood how those two phases are applied in a canonical context where chromosomes are strings of bits of a fixed length, but I'm not able to find examples for other situations. What would those phases look like on the domain of real numbers?
Mutation and crossover in a genetic algorithm with real numbers
genetic algorithms;genetic programming
This is a question that you could have figured out yourself fairly easy if you would have googled 'genetic algorithm example'. ExampleYou have a genome with certain genes:genome = { GeneA: value, GeneB: value, GeneC: value }So take for example:genome = { GeneA: 1, GeneB: 2.5, GeneC: 3.4 }A few examples of mutation could be:Switch around two genes: { GeneA: 1, GeneB: 3.4, GeneC: 2.5 }Add/substract a random value from a gene: { GeneA: 0.9, GeneB: 2.5, GeneC: 3.4 }Suppose you have two genomes:genome1 = { GeneA: 1, GeneB: 2.5, GeneC: 3.4 }genome2 = { GeneA: 0.4, GeneB: 3.5, GeneC: 3.2 }A few examples of crossover could be:Taking the average: { GeneA: 0.7, GeneB: 3.0, GeneC: 3.3 }Uniform (50% chance): { GeneA: 0.4, GeneB: 2.5, GeneC: 3.2 }N-point crossover: { GeneA: 1, | CROSSOVER POINT |  GeneB: 3.5, GeneC: 3.2 }You can be pretty imaginative when developing mutation and crossover methods.