ECJ-INTEREST-L Archives

June 2013

ECJ-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Proportional Font
Show HTML Part by Default
Condense Mail Headers

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

Print Reply
Content-Type:
text/plain; charset="us-ascii"
Date:
Fri, 7 Jun 2013 09:52:47 +0800
Reply-To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Subject:
From:
Sean Luke <[log in to unmask]>
Content-Transfer-Encoding:
8bit
In-Reply-To:
MIME-Version:
1.0 (Apple Message framework v1085)
Sender:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Parts/Attachments:
text/plain (16 lines)
On Jun 6, 2013, at 8:23 PM, Bojan Janisch wrote:

> is there a way to set probabilities to a GPNode. So that this GPNode may occur 
> with a probability of X percent in the GPTree. The background to my question is
> that I have a GPNode called "not" for my rules. Like the name says it negates 
> a condition for example "not Object()" means that there has to be no objects in
> session. 

There is no way to guarantee the probability of appearance of nodes in a tree.  And if you think about it the general case is impossible: how would you guarantee that all leaf nodes appear with 0% probability, for example?  Strong typing also seriously complicates the issue.

However you can hack things.  First, you'll need a tree builder which generates nodes with a certain node probability distribution.  The best choice here is PTC2 (which ECJ has).  Second, you'll need to figure out how to guarantee that crossover and/or mutation operators guarantee this distribution.  This is much harder.

In general I would recommend against trying to guarantee node distribution during breeding: you're very seriously constraining what kinds of trees you can generate.

Sean

ATOM RSS1 RSS2