Adaptive Fitness Functions for Dynamic Growing/Pruning of Program Trees