RLPark 1.0.0
Reinforcement Learning Framework in Java

PredictionSweepDescriptor.java

Go to the documentation of this file.
00001 package rlpark.plugin.rltoys.experiments.parametersweep.prediction;
00002 
00003 import java.util.ArrayList;
00004 import java.util.List;
00005 
00006 import rlpark.plugin.rltoys.experiments.parametersweep.interfaces.Context;
00007 import rlpark.plugin.rltoys.experiments.parametersweep.interfaces.SweepDescriptor;
00008 import rlpark.plugin.rltoys.experiments.parametersweep.parameters.Parameters;
00009 
00010 public abstract class PredictionSweepDescriptor implements SweepDescriptor {
00011   private static boolean testingMode = false;
00012   private final PredictionProblemFactory[] problemFactories;
00013   private final PredictionLearnerFactory[] learnerFactories;
00014 
00015   public PredictionSweepDescriptor(PredictionProblemFactory[] problemFactories,
00016       PredictionLearnerFactory[] learnerFactories) {
00017     this.problemFactories = problemFactories;
00018     this.learnerFactories = learnerFactories;
00019 
00020   }
00021 
00022   @Override
00023   public List<? extends Context> provideContexts() {
00024     List<PredictionSweepContext> contexts = new ArrayList<PredictionSweepContext>();
00025     for (PredictionProblemFactory problemFactory : problemFactories)
00026       for (PredictionLearnerFactory learnerFactory : learnerFactories)
00027         contexts.add(createContext(problemFactory, learnerFactory));
00028     return contexts;
00029   }
00030 
00031   @Override
00032   public List<Parameters> provideParameters(Context context) {
00033     List<Parameters> parameters = ((PredictionSweepContext) context).provideParameters();
00034     if (testingMode)
00035       return PredictionParameters.adjustForLocalTesting(parameters);
00036     return parameters;
00037   }
00038 
00039   abstract protected PredictionSweepContext createContext(PredictionProblemFactory problemFactory,
00040       PredictionLearnerFactory learnerFactory);
00041 
00042   static public void setupTestingMode() {
00043     testingMode = true;
00044   }
00045 }
 All Classes Namespaces Files Functions Variables Enumerations
Zephyr
RLPark