What is an experiment module?
Each experiment in SharpNEAT is represented by an implementation of the IExperiment interface, such an implementation is what I call an experiment module since it aggregates everything needed to run an experiment in SharpNEAT into one ‘module’ that can be plugged into SharpNEAT. The most notable property on IExperiment is PopulationEvaluator which returns an IPopulationEvaluator that is used to evaluate genomes within the population. Apart from this there are properties for specifying the number of input/ouput nodes the experiment requires, default search parameters, explanatory text for the experiment, etc.