private GenerateChildren ( IList |
||
parents | IList |
|
strategy | Func |
|
geneSet | string | |
Résultat | IEnumerable |
private IEnumerable<Individual> GenerateChildren(
IList<Individual> parents,
Func<Individual, Individual, string, Individual> strategy,
string geneSet)
{
int count = 0;
while (count < parents.Count)
{
int parentAIndex = _random.Next(parents.Count);
int parentBIndex = _random.Next(parents.Count);
if (parentAIndex == parentBIndex)
{
continue;
}
var parentA = parents[parentAIndex];
var parentB = parents[parentBIndex];
yield return strategy(parentA, parentB, geneSet);
count++;
}
}