public void NextGenClick(object sender, RoutedEventArgs routedEventArgs) { Individu[] newPop = new Individu[Population.MAXINDIVIDUS]; for (int i = 0; i < Population.MAXINDIVIDUS; i++) { int rnd = MidiComposer.GetRandom(0, 100); Individu newInd; if (rnd < Population.CROSSOVER) { Individu parent1 = SelectParent(); Individu parent2 = SelectParent(); newInd = new Individu(parent1, parent2); } else { Individu parent = SelectParent(); newInd = new Individu(parent); } newInd.Mutate(); newPop[i] = newInd; } Generation mg = new Generation(newPop); Survival(); Gens.Add(mg); //populations[nbPopulation] = new Population(nbPopulation + 1, newPop); }
public void Generate(int countgens, int len, int min, int max) { var r = new Random(); for (var i = 0; i < countgens; i++) { var temp = r.Next(min, max); var result = DecToBin(temp - min, len); Gens.Add(result); } }
public void CreateClick(object sender, RoutedEventArgs routedEventArgs) { Individu[] individus = new Individu[Population.MAXINDIVIDUS]; for (int i = 0; i < Population.MAXINDIVIDUS; i++) { individus[i] = new Individu(); } Generation gen = new Generation(individus); Gens.Add(gen); }
public void LoadPopulation(string filename) { XmlTextReader xr = new XmlTextReader(filename); XmlSerializer xs = new XmlSerializer(typeof(Generation[])); Generation[] lol = ((Generation[])xs.Deserialize(xr)); int test = lol.First().NumGeneration + 1; Generation.GenerationCpt = test; Individu.NbIndividus = test * 10; Gens.Clear(); foreach (Generation gen in lol) { Gens.Add(gen); } }