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++;
}
}