Skip to content

Diversity Preservation in Minimal Criterion Coevolution through Resource Limitation

Latest
Compare
Choose a tag to compare
@jbrant jbrant released this 29 Mar 23:32
9d0ae53

This is the code accompanying the GECCO 2020 paper, Diversity Preservation in Minimal Criterion Coevolution through Resource Limitation.

The project that runs the published MCC experiments is titled "MCC_Executor". This is the contained within the source code zip/tar files. For a description of each execution parameter, refer to MCC Parameters. The following exemplar executes a single run of MCC resource limition with a configuration identical to that in the paper. It assumes that the experiment is being run from the solution directory (i.e. one level up from the MCC_Executor project). Seed agents are given to ensure that each run starts from a common baseline, though a random population can be generated by setting the GenerateAgentPopulation parameter to true. Note that the seed agents are themselves randomly generated, so the bootstrap process (which evolves competent agents that can satisfy the non-trivial MC of maze navigation) must execute regardless.

MCC_Executor.exe maze_navigation \
ExperimentSource=file \
NumRuns=1 \
ExperimentConfigDirectory=./MCC_Executor/MazeNavigation/ExperimentConfigurations/ \
OutputFileDirectory=../ExperimentResults/ \
SeedAgentFile=./MCC_Executor/MazeNavigation/SeedAgents/SeedAgents_Acyclic_20_Genomes_10_Size_2_Waypoints_2_Walls_5_LR.xml \
SeedMazeFile=./MCC_Executor/MazeNavigation/SeedAgents/GeneratedMaze_10_Genomes_10_Height_10_Width_2_Waypoints_2_Walls.xml \
ExperimentNames="MCC-LimitedResources"
StartFromRun=1
IsDistributedExecution=false

MCC Parameters

The below table enumerates all MCC experiment parameters and their function/purpose.

Parameter Description
ExperimentSource Source for the experiment configuration (file or database). The default selection is file; however, MCC can also be executed from a configuration persisted to an RDBMS (the schema is contained within the ExperimentEntities project).
NumRuns Number of runs of MCC to execute.
ExperimentConfigDirectory Directory containing experiment configuration files (these are the XML files under /MCC_Executor/MazeNavigation/ExperimentConfigurations). This must be specified if ExperimentSource is set to file (which is the default).
OutputFileDirectory The directory in which to persist experiment CSV output files containing experiment results.
SeedAgentFile XML file containing seed agent genomes. If this parameter is not specified, a random population will be generated.
SeedMazeFile XML file containing seed maze genomes. Mazes are not generated by default, so this must be specified.
ExperimentNames Comma-delimited list of experiments to execute (or just single experiment). The experiment name must match the name of the experiment configuration file.
StartFromRun Run number at which to begin execution. This is useful when executing multiple runs of the same MCC experiment in parallel.
IsDistributedExecution This should almost always be set to false. It enables behavior very specific to the HPC environment in which the initial MCC experiments were executed (such as additional logic for interfacing with Slurm, interfacing with external processes for moving data off the cluster, etc.) and is likely of little use in any other environment.