Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/05/16 08:25:08 (8 years ago)
Author:
gkronber
Message:

#2581:

  • added unit tests for the number of different expressions
  • fixed problems in Automaton and constraintHandler that lead to duplicate expressions
  • added possibility for MCTS to handle dead-ends in the search tree (when it is not possible to construct a valid new expression)
  • added statistics on function and gradient evaluations
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/MctsSymbolicRegressionAlgorithm.cs

    r13650 r13651  
    221221      Results.Add(new Result("Average quality", avgQuality));
    222222
     223      var totalRollouts = new IntValue();
     224      Results.Add(new Result("Total rollouts", totalRollouts));
     225      var effRollouts = new IntValue();
     226      Results.Add(new Result("Effective rollouts", effRollouts));
     227      var funcEvals = new IntValue();
     228      Results.Add(new Result("Function evaluations", funcEvals));
     229      var gradEvals = new IntValue();
     230      Results.Add(new Result("Gradient evaluations", gradEvals));
     231
     232
    223233      // same as in SymbolicRegressionSingleObjectiveProblem
    224234      var y = Problem.ProblemData.Dataset.GetDoubleValues(Problem.ProblemData.TargetVariable,
     
    266276          curBestQ = 0.0;
    267277
     278          funcEvals.Value = state.FuncEvaluations;
     279          gradEvals.Value = state.GradEvaluations;
     280          effRollouts.Value = state.EffectiveRollouts;
     281          totalRollouts.Value = state.TotalRollouts;
     282
    268283          table.Rows["Best quality"].Values.Add(bestQuality.Value);
    269284          table.Rows["Current best quality"].Values.Add(curQuality.Value);
     
    280295        avgQuality.Value = sumQ / n;
    281296
     297        funcEvals.Value = state.FuncEvaluations;
     298        gradEvals.Value = state.GradEvaluations;
     299        effRollouts.Value = state.EffectiveRollouts;
     300        totalRollouts.Value = state.TotalRollouts;
     301
    282302        table.Rows["Best quality"].Values.Add(bestQuality.Value);
    283303        table.Rows["Current best quality"].Values.Add(curQuality.Value);
    284304        table.Rows["Average quality"].Values.Add(avgQuality.Value);
    285305        iterations.Value = iterations.Value + n;
     306
    286307      }
    287308
     
    289310      Results.Add(new Result("Best solution quality (train)", new DoubleValue(state.BestSolutionTrainingQuality)));
    290311      Results.Add(new Result("Best solution quality (test)", new DoubleValue(state.BestSolutionTestQuality)));
     312
    291313
    292314      // produce solution
Note: See TracChangeset for help on using the changeset viewer.