public abstract Tuple <Chromosome, Chromosome> Cross(Chromosome parent1, Chromosome parent2, double crossoverProbability);
public abstract void Mutate(Chromosome original, double mutationProbability);