public Pair <Cromozom, Cromozom> Recombina(Cromozom parinte2) { var copil1 = new Cromozom(); var copil2 = new Cromozom(); for (var i = Config.MarimeGena - 1; i >= 0; i--) { var ran = Config.RandomGenerator.Next(); if (ran % 2 == 0) { copil1.Gena.Add(this.Gena[Config.RandomGenerator.Next(Config.MarimeGena - 1)]); copil2.Gena.Add(parinte2.Gena[Config.RandomGenerator.Next(Config.MarimeGena - 1)]); } else { copil2.Gena.Add(this.Gena[Config.RandomGenerator.Next(Config.MarimeGena - 1)]); copil1.Gena.Add(parinte2.Gena[Config.RandomGenerator.Next(Config.MarimeGena - 1)]); } } copil1.Reglare(); copil2.Reglare(); return(new Pair <Cromozom, Cromozom>(copil1, copil2)); }
public void InitPopulatie() { ListaCromozomi = new List <Cromozom>(Config.MarimePopulatie); for (var i = 0; i < Config.MarimePopulatie; i++) { var cromozom = new Cromozom(); cromozom.CreateRandom(); ListaCromozomi.Add(cromozom); } }