ECJ-INTEREST-L Archives

April 2009

ECJ-INTEREST-L@LISTSERV.GMU.EDU

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

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

Print Reply
Subject:
From:
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Wed, 22 Apr 2009 12:18:45 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (69 lines)
OK, I got it to work. I'll post the solution because I know some of you,
frustrated that the typing doesn't work, can learn from this.


The idea, specific to my typing, is as follows:
-Each function (If, And, Or) has its own type (*-sort-of and nil for
terminals) that is returned in the nc.
-For every function a special set typing is added that basically state what
kind of arguments are allowed. For example an And can accept everything
except an If thus this set type (and-or-nil) has as members: nil,
and-sort-of, or-sort-of. An Or can only accept terminals, no special set
typing is used. The arguments are simply nil.

It's actually very simple. Maybe more documentation could be added because
figuring this out is not easy and took me a few days.

# Atomic typing
gp.type.a.0.name = if-sort-of
gp.type.a.1.name = nil
gp.type.a.2.name = or-sort-of
gp.type.a.3.name = and-sort-of
gp.type.a.size = 4

# Set Typing
gp.type.s.0.name = if-type
gp.type.s.0.size = 4
gp.type.s.0.member.0 = if-sort-of
gp.type.s.0.member.1 = nil
gp.type.s.0.member.2 = or-sort-of
gp.type.s.0.member.3 = and-sort-of
gp.type.s.1.name = or-nil
gp.type.s.1.size = 2
gp.type.s.1.member.0 = nil
gp.type.s.1.member.1 = or-sort-of
gp.type.s.2.name = and-or-nil
gp.type.s.2.size = 3
gp.type.s.2.member.0 = nil
gp.type.s.2.member.1 = or-sort-of
gp.type.s.2.member.2 = and-sort-of

gp.type.s.size = 3

gp.nc.0 = ec.gp.GPNodeConstraints
gp.nc.0.name = if-constraint
gp.nc.0.returns = if-sort-of
gp.nc.0.size = 3
gp.nc.0.child.0 = and-or-nil
gp.nc.0.child.1 = if-type
gp.nc.0.child.2 = if-type

gp.nc.1 = ec.gp.GPNodeConstraints
gp.nc.1.name = and-constraint
gp.nc.1.returns = and-sort-of
gp.nc.1.size = 2
gp.nc.1.child.0 = and-or-nil
gp.nc.1.child.1 = and-or-nil

gp.nc.2 = ec.gp.GPNodeConstraints
gp.nc.2.name = nc0
gp.nc.2.returns = nil
gp.nc.2.size = 0

gp.nc.3 = ec.gp.GPNodeConstraints
gp.nc.3.name = or-constraint
gp.nc.3.returns = or-sort-of
gp.nc.3.size = 2
gp.nc.3.child.0 = nil
gp.nc.3.child.1 = nil

ATOM RSS1 RSS2