Package ai.libs.jaicore.experiments
Class ExperimentRunner
- java.lang.Object
-
- ai.libs.jaicore.experiments.ExperimentRunner
-
- All Implemented Interfaces:
ai.libs.jaicore.basic.ILoggingCustomizable
public class ExperimentRunner extends java.lang.Object implements ai.libs.jaicore.basic.ILoggingCustomizable
This class is used to run experiments.
-
-
Constructor Summary
Constructors Constructor Description ExperimentRunner(IExperimentSetConfig config, IExperimentSetEvaluator conductor, IExperimentDatabaseHandle databaseHandle)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
conductExperiment(ExperimentDBEntry expEntry)
Conducts a single experimentjava.lang.String
getLoggerName()
void
randomlyConductExperiments()
Conducts an unbound number of randomly chosen experiments from the grid.void
randomlyConductExperiments(int maxNumberOfExperiments)
Conducts a limited number of not yet conducted experiments randomly chosen from the grid.void
setLoggerName(java.lang.String name)
-
-
-
Constructor Detail
-
ExperimentRunner
public ExperimentRunner(IExperimentSetConfig config, IExperimentSetEvaluator conductor, IExperimentDatabaseHandle databaseHandle) throws ExperimentDBInteractionFailedException
-
-
Method Detail
-
randomlyConductExperiments
public void randomlyConductExperiments(int maxNumberOfExperiments) throws ExperimentDBInteractionFailedException, java.lang.InterruptedException
Conducts a limited number of not yet conducted experiments randomly chosen from the grid.- Parameters:
maxNumberOfExperiments
- Limit for the number of experimentsreload
- Whether or not the experiment setup should be reloaded between two experiment runs.- Throws:
ExperimentDBInteractionFailedException
java.lang.InterruptedException
IllegalExperimentSetupException
-
randomlyConductExperiments
public void randomlyConductExperiments() throws ExperimentDBInteractionFailedException, java.lang.InterruptedException
Conducts an unbound number of randomly chosen experiments from the grid.- Parameters:
reload
- Whether or not the experiment setup should be reloaded between two experiment runs.- Throws:
IllegalExperimentSetupException
ExperimentDBInteractionFailedException
java.lang.InterruptedException
-
conductExperiment
public void conductExperiment(ExperimentDBEntry expEntry) throws ExperimentDBInteractionFailedException, ExperimentAlreadyStartedException, java.lang.InterruptedException
Conducts a single experiment- Parameters:
exp
-- Throws:
ExperimentAlreadyExistsInDatabaseException
ExperimentDBInteractionFailedException
ExperimentAlreadyStartedException
java.lang.InterruptedException
-
getLoggerName
public java.lang.String getLoggerName()
- Specified by:
getLoggerName
in interfaceai.libs.jaicore.basic.ILoggingCustomizable
-
setLoggerName
public void setLoggerName(java.lang.String name)
- Specified by:
setLoggerName
in interfaceai.libs.jaicore.basic.ILoggingCustomizable
-
-