Hi all, I understand Genetic algorithms aside form why crossover helps things, it has no guarantee of getting the best characteristics of each chromosome.(adsbygoogle = window.adsbygoogle || []).push({});

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 im representing my number?

Code (Text):

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));

}

**Physics Forums | Science Articles, Homework Help, Discussion**

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# Genetic Algorithms, Why does random crossover work?

**Physics Forums | Science Articles, Homework Help, Discussion**