public async Task RunExperiment(double reward) { // TODO: Enter parameter char[] condition = await Environment.GetSituationAsync(null, ChartPeriod.ZERO, 0, 0, 0, 0); throw new NotImplementedException(); List <Classifier> matchset = GenerateMatchset(condition); Dictionary <XcsAction, double> predictionArray = GeneratePredictionArray(matchset); XcsAction action = SelectAction(predictionArray); List <Classifier> actionset = GenerateActionSet(matchset, action); await Environment.ExecuteActionAsync(action); UpdateClassifierParameter(); // TODO: Expand, because this is Single Step only!! UpdateSet(actionset, reward); }
public Task ExecuteActionAsync(XcsAction action) { throw new NotImplementedException(); }
private List <Classifier> GenerateActionSet(List <Classifier> matchset, XcsAction action) { return(matchset.Where(classifier => classifier.Action == action).ToList()); }