ECJ-INTEREST-L Archives

October 2008

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:
Robert Baruch <[log in to unmask]>
Reply To:
ECJ Evolutionary Computation Toolkit <[log in to unmask]>
Date:
Thu, 23 Oct 2008 14:38:58 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (30 lines)
Hi Sean,

Thanks for the advice and the explanation. In looking through the  
code, my first idea had been to extend MasterProblem and use that as  
eval.masterproblem, but my teeth did some grinding when I found out  
that the master code requires eval.masterproblem to be exactly equal  
to MasterProblem.  I could not augment the standard evil overlord with  
more evil overlordness of my own. (Shouldn't MasterProblem be a final  
class, then?)

So my next idea had been to hack MasterProblem as you suggested, but I  
really hated doing that, because then when the next ECJ version came  
out (and they've been coming out relatively fast and furious), I'd  
have to remember the changes I made. I could always stick with the  
current ECJ version, but I'm one of those upgrade addicts.

Finally, I settled on creating a custom Exchanger, that being the next  
stage after evaluation, and fix up the fitnesses in the prebreeding  
exchange phase. Not ideal, but it's the very next phase after  
evaluation, and at least it would work for future ECJ versions.

IMHO, the best thing would be to fix up MasterProblem, but I also  
didn't look at it closely enough to determine whether that would work  
under both synchronous and asynchronous evaluation. I defer to your  
far greater knowledge of the code :)

Thanks, and I look forward to hearing your verdict!

--Rob

ATOM RSS1 RSS2