ECJ-INTEREST-L Archives

August 2005

ECJ-INTEREST-L@LISTSERV.GMU.EDU

Options: Use Monospaced 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
Mime-Version:
1.0 (Apple Message framework v622)
Sender:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Tue, 23 Aug 2005 17:53:23 -0400
Reply-To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Subject:
From:
Sean Luke <[log in to unmask]>
Content-Transfer-Encoding:
7bit
In-Reply-To:
Content-Type:
text/plain; charset=US-ASCII; format=flowed
Comments:
To: ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Parts/Attachments:
text/plain (123 lines)
On Aug 17, 2005, at 6:48 PM, Allan de Brueker wrote:

> I'm trying to go from arrays of FP numbers to single FP numbers to
> integers
> I would like to have operators on integers (+,-,*,/), operators on
> floats(+,-,*,/),  have declared them in seperate java files, two
> operators
> to switch between float and int (<=, >=) and I would like for my root
> to
> return an integer.

Let's see if I have this correct.  Your functions are (I made up some
names like i+):

int   <- i+(int,int)
int   <- i*(int,int)
int   <- i-(int,int)
int   <- i/(int,int)
float <- f+(float, float)
float <- f*(float, float)
float <- f-(float, float)
float <- f/(float, float)
int   <- <=(float)
float <- >=(int)
float <- gene()

That's what it sounds like from your description above, yet your <= and
 >= functions are quite different below.  You're introducing a third
type, 'nil', though it appears you only have two types (notionally the
names 'int' and 'float').  So what's up with the constraint called
'int2c'?  What kind of function prototype is it trying to represent?

Sean


> So Far I have got  the following:
>
> #return type of the tree
>
> gp.tc.0.returns = int
>  gp.tc.0.init = ec.gp.build.Uniform
>  gp.tc.0.init.min-size = 5
>  gp.tc.0.init.max-size = 15
>
> #3 atomic types
> gp.type.a.size = 3
> gp.type.a.0.name = float
> gp.type.a.1.name = int
> gp.type.a.2.name = nil
>
> #different constraints set with the different atomic types
> gp.nc.size = 6
>
> gp.nc.0 = ec.gp.GPNodeConstraints
> gp.nc.0.name = gene0
> gp.nc.0.return = float
> gp.nc.0.size = 0
>
> gp.nc.1 = ec.gp.GPNodeConstraints
> gp.nc.1.name = gene1
> gp.nc.1.return = nil
> gp.nc.1.size = 1
> gp.nc.1.child.0 = nil
>
>
> gp.nc.2 = ec.gp.GPNodeConstraints
> gp.nc.2.name = float2
> gp.nc.2.return = float
> gp.nc.2.size = 2
> gp.nc.2.child.0 = float
> gp.nc.2.child.1 = float
>
> gp.nc.3 = ec.gp.GPNodeConstraints
> gp.nc.3.name = int2c
> gp.nc.3.return = float
> gp.nc.3.size = 2
> gp.nc.3.child.0 = nil
> gp.nc.3.child.1 = nil
>
> gp.nc.4 = ec.gp.GPNodeConstraints
> gp.nc.4.name = int2
> gp.nc.4.return = int
> gp.nc.4.size = 2
> gp.nc.4.child.0 = int
> gp.nc.4.child.1 = int
>
>
> # We have ... functions in the function set.  They are:
> gp.fs.0.size = 11
>
> gp.fs.0.func.0 = ec.app.simpleclassifier.func.GetGeneFloat
> gp.fs.0.func.0.nc = gene0
>
> gp.fs.0.func.1 = ec.app.simpleclassifier.func.Add
> gp.fs.0.func.1.nc = float2
>
> gp.fs.0.func.2 = ec.app.simpleclassifier.func.Sub
> gp.fs.0.func.2.nc = float2
>
> gp.fs.0.func.3 = ec.app.simpleclassifier.func.Mult
> gp.fs.0.func.3.nc = float2
>
> gp.fs.0.func.4 = ec.app.simpleclassifier.func.Div
> gp.fs.0.func.4.nc =float2
>
> gp.fs.0.func.5 = ec.app.simpleclassifier.func.SmallerOrEqual
> gp.fs.0.func.5.nc = int2c
>
> gp.fs.0.func.6 = ec.app.simpleclassifier.func.GreaterOrEqual
> gp.fs.0.func.6.nc = int2c
>
> gp.fs.0.func.7 = ec.app.simpleclassifier.func.AddInt
> gp.fs.0.func.7.nc = int2
>
> gp.fs.0.func.8 = ec.app.simpleclassifier.func.SubInt
> gp.fs.0.func.8.nc = int2
>
> gp.fs.0.func.9 = ec.app.simpleclassifier.func.MultInt
> gp.fs.0.func.9.nc = int2
>
> gp.fs.0.func.10 = ec.app.simpleclassifier.func.DivInt
> gp.fs.0.func.10.nc = int2

ATOM RSS1 RSS2