December 2009


Options: Use Monospaced Font
Show HTML Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Tue, 15 Dec 2009 17:32:57 +0100
text/plain (2864 bytes) , text/html (13 kB)
Hi All,

Thanks for keep on reading.

I have found what I was looking for on this thread: The "nil" GPType in
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
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:

> Hello!
> 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.