public override void Generate()
{
// randomize the root
genes[0].Generate();
// generate the rest of the head
for (int i = 1; i < headLength; i++)
{
genes[i] = genes[0].CreateNew();
}
// generate the tail
for (int i = headLength; i < length; i++)
{
genes[i] = genes[0].CreateNew(GPGeneType.Argument);
}
}