Efficiency of crossover in genetic algorithms

前端 未结 6 1604
野的像风
野的像风 2021-02-02 10:10

I\'ve implemented a number of genetic algorithms to solve a variety of a problems. However I\'m still skeptical of the usefulness of crossover/recombination.

I usually f

6条回答
  •  难免孤独
    2021-02-02 10:37

    It strongly depends on the smoothness of your search space. Perverse example if every "geneome" was hashed before being used to generate "phenomes" then you would just be doing random search.

    Less extreme case, this is why we often gray-code integers in GAs.

    You need to tailor your crossover and mutation functions to the encoding. GAs decay quite easily if you throw unsympathetic calculations at them. If the crossover of A and B doesn't yield something that's both A-like and B-like then it's useless.

    Example:

    The genome is 3 bits long, bit 0 determines whether it's land-dwelling or sea-dwelling. Bits 1-2 describe digestive functions for land-dwelling creatures and visual capabilities for sea-dwelling creatures.

    Consider two land-dwelling creatures.

        | bit 0 | bit 1 | bit 2
    ----+-------+-------+-------
    Mum | 0     | 0     | 1
    Dad | 0     | 1     | 0
    

    They might crossover between bits 1 and 2 yielding a child whose digestive function is some compromise between Mum's and Dad's. Great.

    This crossover seems sensible provided that bit 0 hasn't changed. If is does then your crossover function has turned some kind of guts into some kind of eyes. Er... Wut? It might as well have been a random mutations.

    Begs the question how DNA gets around this problem. Well, it's both modal and hierarchial. There are large sections which can change a lot without much effect, in others a single mutation can have drastic effects (like bit 0 above). Sometimes the value of X affects the behaviour tiggered by Y, and all values of X are legal and can be explored whereas a modification to Y makes the animal segfault.

    Theoretical analyses of GAs often use extremely crude encodings and they suffer more from numerical issues than semantic ones.

提交回复
热议问题