Print

Print


Jesus, ECJ has guaranteed duplicability.  If you load from the same
parameters, you'll get the same results.  So it's not unexpected that
the same parameter file will give you the same results.  Ordinarily you
run ECJ ten times on the command line, something like this in tcsh
(we'll use the numbers 1 through 10 as our seeds):

foreach i (1 2 3 4 5 6 7 8 9 10)
        java ec.Evolve \
                -file ec/app/regression/erc.params \
                -p seed.0=$i \
                -p stat.file=stat.${i}.out
end

If you've chosen to try to get ECJ to run ten times inside a single
Java process, you'll still need to change the random number generator
seed.  If you're doing this via make(), you should be able to do
something like this:

make(new String[] {"-file", "ec/app/regression/erc.params", "-p",
"seed.0="+seed, "-p", "stat.file=stat."+seed+"out"});

...etc.

Alternatively if you're setting everything up in your own version of
make(), you just after you load the parameter file into the parameter
database, physically set the seed.0 parameter, something along these
lines:

parameters.set("seed.0", ""+seed);

Programmatically-set parameters override all others in the database.

Sean