private void Setup() { _population = new IDna <char> [TotalPopulation]; for (var i = 0; i < _population.Length; i++) { _population[i] = new PhraseDna(_target.Length); } }
public IDna <char> Crossover(IDna <char> partner) { var midpoint = Random.Next(Genes.Length); var child = new PhraseDna(Genes.Length); for (var i = 0; i < Genes.Length; i++) { if (i < midpoint) { child.Genes[i] = partner.Genes[i]; } else { child.Genes[i] = Genes[i]; } } return(child); }