If I do this, I will implement a check() method for the Individual class you are using. (Assuming you have one tree for every individual) In this check method, I traverse through the tree and keep track of occurances of each kind of node. If the tree does not satisfy you condition. I will mark it as "bad". You can remove "bad" individuals from your population in many places. Maybe pre-breed or post-breed. Other means are also possible, you don't need to strictly follow this. On Tue, Feb 25, 2014 at 1:43 AM, Francisco Lopez de la Franca < [log in to unmask]> wrote: > But, how do I do that? I mean, where do I check (in the code) that the > individual generated does not fulfill the requirement of appearing every > node at least once? > Thanks a lot. > > > 2014-02-24 19:56 GMT+01:00 Xiaomeng Ye <[log in to unmask]>: > > Or you can simply discard any non-conformed individuals, during any >> process (initialization, breeding). And keep generating new individuals >> until your population is filled with the individuals conforming to this >> rule. >> >> >> On Mon, Feb 24, 2014 at 1:13 PM, Sean Luke <[log in to unmask]> wrote: >> >>> Francisco, ECJ can't do this by default: and I really have no idea how >>> to require this constraint. You'll have to either enforce this rule in the >>> tree builder algorithm and/or the crossover mutation operators. >>> Alternatively you can assess the fitness of non-confirming individuals as >>> very low. >>> >>> Sean >>> >>> On Feb 24, 2014, at 6:57 AM, Francisco Lopez de la Franca < >>> [log in to unmask]> wrote: >>> >>> > Hello. >>> > >>> > I am new in ECJ. I'm going to use ECJ to find the solution of a second >>> degree equation, that is, x=(-b+sqrt(b^2-4ac))/(2a). >>> > I've implemented as FunctionSet the following nodes: add, sub, sqrt, >>> square, mul, div, neg, a, b, c, 2 and 4. >>> > I've followed the instructions described both in the tutorial4 in the >>> documentations provided with ECJ and the one in the ECJ manual. >>> > >>> > What I need and donot find the way, is to force to appear in the >>> result tree the nodes: a, b, c, 2, 4, -, +, sqrt, square, div and mul. That >>> is, to specify in some manner that the nodes must appear at least once. >>> Moreover, I'd like to know if it is possible to set that one node must >>> appear a number of times in the solution. >>> > >>> > I hope to have explained well. >>> > >>> > Thank you very much in advance. >>> > >>> > Regards. >>> >> >> >