Population GetRandomMembersFromPopulation(Population p, int num) { Population organisms = new Population(p.Capacity); for (int i = 0; i < num; i++) { int index = p.GetIndexOfRandomMember( ); Organism p0 = p[index]; organisms.AddOrganism(p0); } return(organisms); }
Organism tournament() { int num_competitors = 8; Population competitors = this.GetRandomMembersFromPopulation(this.CurrentGeneration.population, num_competitors); this.SortPopulation(competitors, this.direction); float choose_best = 0.90F; if (rand.NextDouble() < choose_best) { return(competitors[0]); } else { int index = competitors.GetIndexOfRandomMember(); Organism p0 = competitors[index]; return(p0); } }
Population GetRandomMembersFromPopulation( Population p, int num) { Population organisms = new Population( p.Capacity ); for (int i=0;i<num;i++) { int index = p.GetIndexOfRandomMember( ); Organism p0 = p[ index ]; organisms.AddOrganism( p0 ); } return organisms; }