private void StartPop() { Genoms = new Genom[PopulationSize]; _tmpGenoms = new Genom[PopulationSize]; for (int i = 0; i < Genoms.Length; i++) { Genoms[i] = new Genom(RandomGenomCode(GenomLength)); _tmpGenoms[i] = new Genom(); } }
private bool[] Recombine(Genom one, Genom two, out bool[] resultTwo) { bool[] codeOne = new bool[GenomLength]; bool[] codeTwo = new bool[GenomLength]; int skip = r.Next(0, GenomLength); for (int i = 0; i < GenomLength; i++) { if (i > skip) { codeOne[i] = two.Code[i]; codeTwo[i] = one.Code[i]; } else { codeOne[i] = one.Code[i]; codeTwo[i] = two.Code[i]; } } resultTwo = codeTwo; return(codeOne); }