Thanks a lot.

Indeed they are, it is a nice mailing list. Actually I got from there the background of the typed GP concepts.

Enjoy Rome.

On Thu, Dec 17, 2009 at 1:52 PM, Sean Luke <[log in to unmask]> wrote:
It's good to see you got it working.  Sorry I couldn't respond in time -- I'm presently in Rome this semester and my turnaround is much slower than normal.

I used to have a variant of Artificial Ant which did typed GP for a demo example, but sadly I can't find it anywhere.  FWIW, if you search the ECJ mailing list archives you'll also find a lot of examples and discussion about strongly typed GP.


On Dec 17, 2009, at 12:11 PM, alibaba wrote:

Hi all again.

I added the restrinctions that i needed (see bellow). I this thread will be useful to somebody.

Regards. = 16 = = ncAND_or_rule = and = 2 = or = rule = = ncAND_and_rule = and = 2 = and = rule = = ncAND_rule_rule = and = 2 = rule = rule = = ncOR_or_rule = or = 2 = or = rule = = ncOR_and_rule = or = 2 = and = rule

##Not used = = ncOR_rule_rule = or = 2 = rule = rule = = ncAND_and_and = and = 2 = and = and

##Not used = = ncOR_and_and = or = 2 = and = and = = ncRule = rule = 0

gp.fs.0.size = 7

gp.fs.0.func.0 = = ncAND_or_rule

gp.fs.0.func.1 = = ncAND_and_rule

gp.fs.0.func.2 = = ncAND_rule_rule

gp.fs.0.func.3 = = ncOR_or_rule

gp.fs.0.func.4 = = ncOR_and_rule

gp.fs.0.func.5 = = ncOR_rule_rule

gp.fs.0.func.6 = = ncRule

On Tue, Dec 15, 2009 at 5:32 PM, alibaba <[log in to unmask]> wrote:
Hi All,

Thanks for keep on reading.

I have found what I was looking for on this thread: The "nil" GPType in GPNodeConstraints. I am indeed trying to add the constraints that my model needs and I'm coming across some troubles.

Let me contextualize the problem. I'm generating a tree of AND and OR non-terminal nodes and a RULE-function as terminal nodes. I want to add some constrains so the generated tree follows this two rules:
 1) The root of the tree must be an AND function.
 2) At least one of the childs of the non-terminal nodes must be or a terminal-node (RULE) or an AND node.

I'm trying to add the described constrains like this:

First, I define the GPTypes as follows:

gp.type.a.size = 4 = nil   # This one might not be necessary = rule = and = or gp.type.s.size = 0

To fulfill 1) I added the follow tree constrain: = and

To fulfill 2) I added the follow node constrains: = 10
#--------------------# = = ncAND = and = 2 = rule = or
#--------------------# = = ncRULE = rule = 0
#--------------------# = = ncOR = or = 2 = rule = and

Then I add each constrains to the functions of the function set:

gp.fs.0.func.0 = = ncOR
gp.fs.0.func.1 = = ncRULE
gp.fs.0.func.2 = = ncAND

Note that with this constrains I am being more restrictive that what I have defined in 2), and actually it doesn't work because, as it is obvious, it never finish due there is always a non-terminal node as child in and The problem here is that I need and to be some times AND and some others RULE, so the GP program will eventually finish.

And I will like to set and some times to RULE and some others to AND to fully satisfy 2)

Is there any way? How can I do such things.

Thanks in advance.

On Tue, Dec 15, 2009 at 10:08 AM, alibaba <[log in to unmask]> wrote:


First of all, thanks for reading.

I need to add some Constraints to my GP program so each function that I have can only accept a specific subset of children. For this, should specify this on the params files or I have to add some checks on the checkConstraints method for each GPNode.

Does anybody know an example on the web about this that I can follow?

Thanks in advance.