Source: https://masterchemoinfo.u-strasbg.fr/Documents/Fouille_de_donnees/Cours/algo-genetique.pdf