Sender: |
|
Date: |
Mon, 4 Jul 2005 22:44:19 +0900 |
Reply-To: |
|
Subject: |
|
From: |
|
Content-Type: |
multipart/mixed; boundary="=_4419ab60dcd4e446297fe7d05f50e7d4" |
MIME-Version: |
1.0 (Generated by Pantomime 1.2.0) |
Organization: |
Alife Lab |
Comments: |
|
Parts/Attachments: |
|
|
Hi to all,
Well, I am already back and trying out the new ECJ version. This time
I am able to run ECJ without any errors, but it seems there is still a
problem with Uniform and Ephemeral Random Constants. In my runs,
Uniform doesn't set up the ERCs values (they are always 0 during the
run). I have checked Uniform.java, and I think the problem is that
resetNode() is not called after protoClone(), as it happens in the
other builders. I have changed this, and you can find my changed
version attached to this email. After this change it seems to be
working fine. <Uniform.java>
I have now another problem, however: Before ECJ 13, I had implemented
a Statistics class for serializing the best individuals in each
generation. With ECJ 12, I was just using a standard
ObjectOutputStream to serialize the individual to an external file,
but this doesn't seem to work with ECJ 13 anymore - now Java complains
that some classes are not serializable, and throws an exception. I
have changed my class to use the new writeGenotype(..) method instead,
but now I am getting this error message:
FATAL ERROR:
No node in the function set can be found that is equivalent to the
node ERC[d4602857950892639882|0.5198876159976902|] when performing
writeRootedTree(EvolutionState, GPType, GPFunctionSet, DataOutput).
My ERC class is just a copy of ec.app.regression.func.RegERC. Is this
a bug in ECJ or am I doing something wrong? Should I be using a
different method for writing the individual to a file?
Best regards,
Artur Matos.
|
|
|