ec
Class Evolve

java.lang.Object
  extended byec.Evolve

public class Evolve
extends java.lang.Object

Evolve is the main entry class for an evolutionary computation run.

An EC run is done with one of two argument formats:

java ec.Evolve -file parameter_file [-p parameter=value]*

This starts a new evolutionary run, using the parameter file parameter_file. The user can provide optional overriding parameters on the command-line with the -p option.

java ec.Evolve -checkpoint checkpoint_file

This starts up an evolutionary run from a previous checkpoint file.

Parameters

jobs
int >= 1 (default)
(The number of jobs to iterate. The current job number (0...jobs-1) will be added to each seed UNLESS the seed is loaded from the system time. The job number also gets added as a prefix (if the number of jobs is more than 1)).
nostore
bool = true or false (default)
(should the ec.util.Output facility not store announcements in memory?)
flush
bool = true or false (default)
(should I flush all output as soon as it's printed (useful for debugging when an exception occurs))
verbosity
int >= 0
(the ec.util.Output object's verbosity)
evalthreads
int >= 1
(the number of threads to spawn for evaluation)
breedthreads
int >= 1
(the number of threads to spawn for breeding)
seed.n
int != 0, or string = time
(the seed for random number generator #n. n should range from 0 to Max(evalthreads,breedthreads)-1. If value is time, then the seed is based on the system clock plus n.)
state
classname, inherits and != ec.EvolutionState
(the EvolutionState object class)
print-accessed-params
bool = true or false (default)
(at the end of a run, do we print out a list of all the parameters requested during the run?)
print-used-params
bool = true or false (default)
(at the end of a run, do we print out a list of all the parameters actually used during the run?)
print-unaccessed-params
bool = true or false (default)
(at the end of a run, do we print out a list of all the parameters NOT requested during the run?)
print-unused-params
bool = true or false (default)
(at the end of a run, do we print out a list of all the parameters NOT actually used during the run?)
print-all-params
bool = true or false (default)
(at the end of a run, do we print out a list of all the parameters stored in the parameter database?)


Field Summary
static java.lang.String A_CHECKPOINT
          The argument indicating that we're starting up from a checkpoint file.
static java.lang.String A_FILE
          The argument indicating that we're starting fresh from a new parameter file.
static java.lang.String P_BREEDTHREADS
          breedthreads parameter
static java.lang.String P_EVALTHREADS
          evalthreads parameter
static java.lang.String P_FLUSH
          flush announcements parameter
static java.lang.String P_PRINTACCESSEDPARAMETERS
           
static java.lang.String P_PRINTALLPARAMETERS
           
static java.lang.String P_PRINTUNACCESSEDPARAMETERS
           
static java.lang.String P_PRINTUNUSEDPARAMETERS
           
static java.lang.String P_PRINTUSEDPARAMETERS
           
static java.lang.String P_SEED
          seed parameter
static java.lang.String P_STATE
          state parameter
static java.lang.String P_STORE
          nostore parameter
static java.lang.String P_VERBOSITY
          verbosity parameter
static java.lang.String V_SEED_TIME
          'time' seed parameter value
 
Constructor Summary
Evolve()
           
 
Method Summary
static EvolutionState initialize(ParameterDatabase parameters, int randomSeedAdjustment)
          Initializes an evolutionary run given the parameters and a random seed adjustment (added to each random seed).
static ParameterDatabase loadParameterDatabase(java.lang.String[] args)
          Loads a ParameterDatabase from checkpoint if "-params" is in the command-line arguments.
static void main(java.lang.String[] args)
          Top-level evolutionary loop.
static void main2(java.lang.String[] args)
          The old entry method for an evolutionary run.
static EvolutionState possiblyRestoreFromCheckpoint(java.lang.String[] args)
          Restores an EvolutionState from checkpoint if "-checkpoint FILENAME" is in the command-line arguments.
static void startFresh(EvolutionState state, java.lang.String jobFilePrefix)
          Begins a fresh evolutionary run with a given state.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

P_PRINTACCESSEDPARAMETERS

public static final java.lang.String P_PRINTACCESSEDPARAMETERS
See Also:
Constant Field Values

P_PRINTUSEDPARAMETERS

public static final java.lang.String P_PRINTUSEDPARAMETERS
See Also:
Constant Field Values

P_PRINTALLPARAMETERS

public static final java.lang.String P_PRINTALLPARAMETERS
See Also:
Constant Field Values

P_PRINTUNUSEDPARAMETERS

public static final java.lang.String P_PRINTUNUSEDPARAMETERS
See Also:
Constant Field Values

P_PRINTUNACCESSEDPARAMETERS

public static final java.lang.String P_PRINTUNACCESSEDPARAMETERS
See Also:
Constant Field Values

A_CHECKPOINT

public static final java.lang.String A_CHECKPOINT
The argument indicating that we're starting up from a checkpoint file.

See Also:
Constant Field Values

A_FILE

public static final java.lang.String A_FILE
The argument indicating that we're starting fresh from a new parameter file.

See Also:
Constant Field Values

P_FLUSH

public static final java.lang.String P_FLUSH
flush announcements parameter

See Also:
Constant Field Values

P_STORE

public static final java.lang.String P_STORE
nostore parameter

See Also:
Constant Field Values

P_VERBOSITY

public static final java.lang.String P_VERBOSITY
verbosity parameter

See Also:
Constant Field Values

P_EVALTHREADS

public static final java.lang.String P_EVALTHREADS
evalthreads parameter

See Also:
Constant Field Values

P_BREEDTHREADS

public static final java.lang.String P_BREEDTHREADS
breedthreads parameter

See Also:
Constant Field Values

P_SEED

public static final java.lang.String P_SEED
seed parameter

See Also:
Constant Field Values

V_SEED_TIME

public static final java.lang.String V_SEED_TIME
'time' seed parameter value

See Also:
Constant Field Values

P_STATE

public static final java.lang.String P_STATE
state parameter

See Also:
Constant Field Values
Constructor Detail

Evolve

public Evolve()
Method Detail

possiblyRestoreFromCheckpoint

public static EvolutionState possiblyRestoreFromCheckpoint(java.lang.String[] args)
Restores an EvolutionState from checkpoint if "-checkpoint FILENAME" is in the command-line arguments.


loadParameterDatabase

public static ParameterDatabase loadParameterDatabase(java.lang.String[] args)
Loads a ParameterDatabase from checkpoint if "-params" is in the command-line arguments.


initialize

public static EvolutionState initialize(ParameterDatabase parameters,
                                        int randomSeedAdjustment)
Initializes an evolutionary run given the parameters and a random seed adjustment (added to each random seed). The adjustment offers a convenient way to change the seeds of the random number generators each time you do a new evolutionary run. You are of course welcome to replace the random number generators after initialize(...) but before startFresh(...)


startFresh

public static void startFresh(EvolutionState state,
                              java.lang.String jobFilePrefix)
Begins a fresh evolutionary run with a given state. The state should have been provided by initialize(...). The jobPrefix is added to the front of output and checkpoint filenames. If it's null, nothing is added to the front.


main

public static void main(java.lang.String[] args)
Top-level evolutionary loop. Feel free to modify this as you like in a subclass.


main2

public static void main2(java.lang.String[] args)
The old entry method for an evolutionary run. Loads either from a checkpoint file, or loads a parameter file and sets up from that.