Genetic Algorithms, Why does random crossover work?

Click For Summary

Discussion Overview

The discussion revolves around the effectiveness of random crossover in genetic algorithms, particularly in the context of finding square roots. Participants explore the mechanics of crossover, its potential benefits, and the challenges faced in achieving convergence within the algorithm.

Discussion Character

  • Exploratory
  • Debate/contested
  • Technical explanation

Main Points Raised

  • One participant describes a genetic algorithm for calculating square roots, expressing confusion over why random crossover seems to lead to circular results and infinite loops.
  • Another participant suggests that while most crossovers may not yield good results, there is a possibility of achieving interesting outcomes that smaller mutations might not reach.
  • Concerns are raised about the convergence of the algorithm, with one participant questioning how it can converge if the best traits are not consistently carried over through crossover.
  • A later reply emphasizes that there is no guarantee of convergence in genetic algorithms and discusses the evolutionary aspects of genetic variation and adaptation in nature.
  • It is suggested that the method of genetic variation and the translation of genetic make-up into behavior can evolve, impacting the effectiveness of the algorithm.
  • Participants note that if the algorithm is repeatedly generating the same populations, it may lose the trial-and-error aspect that is crucial for improvement.

Areas of Agreement / Disagreement

Participants express differing views on the effectiveness and reliability of random crossover in genetic algorithms. There is no consensus on whether crossover guarantees convergence or if it merely introduces randomness without ensuring the best traits are preserved.

Contextual Notes

Participants mention potential limitations in the fitness function and representation of numbers, which may affect the algorithm's performance. The discussion highlights the complexity of genetic algorithms and the need for careful consideration of genetic variation methods.

NotASmurf
Messages
150
Reaction score
2
Hi all, I understand Genetic algorithms aside form why crossover helps things, it has no guarantee of getting the best characteristics of each chromosome.
Ie say you had a genetic algorithm to calculate square roots, fitness = 1(Abs(NumToFindRoot of-(Guess*Guess))
and your guess was a binary string 00100111001 where the bottom half represents the decimals and the top half the integer part. say our initial population was

110011= 51
001010= 20
111000 =7
001011= 52

now select using tournament or roulette method:

111000 =7
001010 =20
and cross them:
111010= 23
then mutate
110010 =19

Now say we keep repeating this:

111000=7
cross->
110011=51
equals->
111111=63
mutate->
111110 31
---------
001010 20
cross
110011 51
equals
001011 52
mutate
000011 = 48

Continue repeating with population of 3, assuming we trying to find square root of 16

000011 = 48
111110 = 31
110010 = 19
----------
010010 = 18
111000 = 7
001010 = 20
---------
010000 = 2
101010 = 21
110010 =19
-------
010110 = 26
100010 = 17
010000 =2
Seems to be getting circular. Am I going about this wrong? can someone explain why random crossover can actually work?
My code just infinite loops, so i found a GA online and modified it to do this job and it still infinite loops, unless the fitness function needs to be a lot more in depth perhaps? I'm thinking my issue is that there isn't a "close to square root" because of the way I am representing my number?
Code:
for (int i = 0; i <30; i++)
            {
                Individual indiv1 = tournamentSelection(pop);
                Individual indiv2 = tournamentSelection(pop);
                Individual newIndiv = crossover(indiv1, indiv2);
                newPopulation.saveIndividual(i, newIndiv);
            }

            for (int i = elitismOffset; i < newPopulation.size(); i++)
            {
                mutate(newPopulation.getIndividual(i));
            }
 
Last edited:
Technology news on Phys.org
I don't understand your example, but in general most crossovers won't give good results - but there is a small chance to get an interesting result that would be hard to reach with smaller mutations.
 
but even with those, the premise seems flawed. It seems to just randomly reach instead of converge since the best traits arnt carried over, how does it converge? Can someone explain?
 
NotASmurf said:
but even with those, the premise seems flawed. It seems to just randomly reach instead of converge since the best traits arnt carried over, how does it converge? Can someone explain?

There isn't any guarantee of convergence.

In nature, it is not only specific genetic make-up that evolves; the method of translating genetic make-up into behavior and the method of creating genetic variation evolves. For example, if your system represented "animals" that needed to adapt to producing the square root of a number that slowly varied (e.g. 16, 25, 19, 22...) then your species of animals might go extinct if there were competing species that used different methods of creating genetic variation or translated the bits in the genetic representation into an algorithm differently.

Intuitively, if the parent animals did a fairly good job of estimate sqr(k) then a good system of reproduction would assure that many of their descendants also did a fairly good job - or at least had a better than completely random chance of doing as well or better than their parents. You could try introducing some genes that affect how two individuals are crossed.

Genetic programming is trial-and-error with some heuristics thrown-in that hope to make it better than completely random trial-and-error. If your program is repeating the same populations over and over again, you have lost the trial-and-error aspect.
 

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
Replies
7
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K