Code:
void crossover(int mum, int dad)
{
int mumfirst, mumlast, dadfirst, dadlast;
struct prog *mump = &population[mum];
struct prog *dadp = &population[dad];
int worst1, worst2;
do worst1 = select_worst();
while (worst1 == mum || worst1 == dad || worst1 == best_prog);
do worst2 = select_worst();
while (worst2 == mum || worst2 == dad || worst2 == worst1 ||
worst2 == best_prog);
mumfirst = find_first(mump);
mumlast = subtree_end(mump->code, mumfirst);
dadfirst = find_first(dadp);
dadlast = subtree_end(dadp->code, dadfirst);
create_child(worst1, mump, mumfirst, mumlast, dadp, dadfirst, dadlast);
if (!correct)
create_child(worst2, dadp, dadfirst, dadlast, mump, mumfirst, mumlast);
}
hi everybody, this is a script to select direction for an object
Any body have any idea, how can i improve the program?
thanks