I am using ECJ 15. I have designed a GP using ECJ that should create a program that controls a soccer agent. I am just unsure that I have designed it correctly. #Below is one of my functions I have used to create my move function set: public class ballfar extends GPNode { public String toString() { return " if(ball != null && ball.m_distance > 0.7) " + "{" + " if( ball.m_direction != 0 )" + " m_krislet.turn(ball.m_direction); " + " else " + " m_krislet.dash(10*ball.m_distance); " + "justKicked = false;" + "}"; } public void checkConstraints(final EvolutionState state, final int tree, final GPIndividual typicalIndividual, final Parameter individualBase) { super.checkConstraints(state,tree,typicalIndividual,individualBase); if (children.length!=2) state.output.error("Incorrect number of children for node " + toStringForError() + " at " + individualBase); } public void eval(final EvolutionState state, final int thread, final GPData input, final ADFStack stack, final GPIndividual individual, final Problem problem) { children[0].eval(state,thread,input,stack,individual,problem); children[1].eval(state,thread,input,stack,individual,problem); } } I put the code that the main robot class needs in the toString() method because I didn't know if there was anyway to print out the code within GPNodes from the finished tree of the individual. When the best individual is found I copy the tree from the out.stat file then play one game of soccer with it. The performance of the tree is calculated according to how well the soccer agent's play. This performance is used to calculate the fitness of the next generation. Am I doing this in the correct way?? Will the GP be able to learn which functions produce a program using this method??? __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com