ECJ-INTEREST-L Archives

February 2006

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:
Mehdi Khoury <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Tue, 7 Feb 2006 07:20:47 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (56 lines)
Hello,

I have been reading the ECJ-Interest list for a while, and I find it 
really interesting...
I hope that my question is not too stupid, but I really have problems 
using ADFs.
I am trying to solve a system of n equations using an ADF implementation. 

I managed to represent it as the following tree :
Master Tree
     |
Result Producing Branch
   |        |         |
ADF0       ADF1  ... ADFn

If I generate a system containing 3 variables like : 
(X1 = a variable given from a learning sample)
X2 = X1 + X1
X3 = X1 * X2

Where ADF0 corresponds to the equation establishing the value of X2 and 
contains the X1 + X1 , and ADF1 corresponds to the value of X3 ands 
contains X1*X2...

My problem is that, as ADF0 returns the value of X2 and  ADF1 returns the 
value of X3,  I would like the result prucing branch to take these 2 
inputs and return both values to the GP problem. So I have my ADF 
returning a different type of variable (single variable) than the one used 
in the GPproblem (multiple variables)...

Here is what I did:
Having an operator AND(ADF..,ADF..) in the function set of the result 
producing branch, that would concatenate the result of each ADF into a 2 
dimensional array, and an operator ONLY(ADF..) that would take the result 
of one  ADF and return it under the format of the 2 dimensional array as 
well... 
Problem : 
- The result producing branch gives me a very complicated tree of 
unecessary lenght with a lot of ONLY and AND... Is there any way to just 
have one operator that would take n ADF as input , and return a 2-
dimensional array of correponding size? And then limit the result 
producing tree structure as having only one function with n Adfs. 
In preparation for such an operator, I have added in the koza.params file 
branching up to nc20 (20 variables!).

REsult-Producing Tree
          |
      ADFsReceptor -> return a 2-dimensional array of floats
      /     |    \
   Adf0   Adf1 .. Adfn -> every adf returns one float

Is the idea flawed ? Would you have any advice about how to implement the 
ADFsReceptor?

Thanks !

ATOM RSS1 RSS2