Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/10/17 00:27:31 (7 years ago)
Author:
pkimmesw
Message:

#2665 LexicaseSelector, Performance improvements, UI Fixes, Debugger only shows used stacks, fixed Debugger stepping, Added vector expressions, ERCOptions,

Location:
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Problems
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Problems/CountOdds.cs

    r14777 r14834  
    11namespace HeuristicLab.BenchmarkSuite.Problems {
    2   using HeuristicLab.BenchmarkSuite.ERC;
    3   using HeuristicLab.Data;
    42
    53  public class CountOdds : BenchmarkSuiteDataDescriptor {
     
    75    private const string fileName = "CountOdds.csv";
    86    private const string description = "";
    9     private readonly ExampleArgumentType[] inputArgumentTypes = { ExampleArgumentType.IntegerCollection };
    10     private readonly ExampleArgumentType[] outputArgumentTypes = { ExampleArgumentType.Integer };
    117
    12     private readonly DataTypes enabledDataTypeses = DataTypes.Exec | DataTypes.Integer | DataTypes.Boolean | DataTypes.IntegerVector;
    13     private readonly ProblemErcOptions problemErcOptions = new ProblemErcOptions {
    14       IntegerErcRange = new ErcOptionRange<IntValue>(
    15         new IntValue(-1000),
    16         new IntValue(1000),
    17         new IntValue(0),
    18         new IntValue(1),
    19         new IntValue(2))
    20     };
    21 
     8    protected override string FileName { get { return fileName; } }
    229    public override string Name { get { return name; } }
    2310    public override string Description { get { return description; } }
    24     protected override string FileName { get { return fileName; } }
    25     public override ExampleArgumentType[] InputArgumentTypes { get { return inputArgumentTypes; } }
    26     public override ExampleArgumentType[] OutputArgumentTypes { get { return outputArgumentTypes; } }
    27     public override int OriginalTrainingCount { get { return 200; } }
    28     public override int OriginalTestCount { get { return 2000; } }
    29     public override int BestResult { get { return 0; } }
    30     public override int WorstResult { get { return 50; } }
    31     public override ProblemErcOptions ProblemErcOptions { get { return this.problemErcOptions; } }
    32     public override DataTypes EnabledDataTypes { get { return this.enabledDataTypeses; } }
    33     public override int MaxSize { get { return 500; } }
    34     public override int EvalLimit { get { return 1500; } }
    35     public override int MaxGenerations { get { return 300; } }
    36     public override int ProgEvalBudget { get { return 60000000; } }
     11    protected override int InputArgumentCount { get { return 1; } }
     12    protected override int OutputArgumentCount { get { return 1; } }
    3713
    38     public override Example ParseExample(string[] input, string[] output) {
     14    public override Data CreateProblemData() {
     15      return new Data {
     16        Name = Name,
     17        Description = Description,
     18        Examples = CloneExamples(),
     19        BestResult = 0,
     20        WorstResult = 50,
     21        InputArgumentTypes = new[] { ExampleArgumentType.IntegerCollection },
     22        OutputArgumentTypes = new[] { ExampleArgumentType.Integer },
     23        OriginalTestCount = 2000,
     24        OriginalTrainingCount = 200,
     25        EnabledDataTypes = DataTypes.Exec | DataTypes.Integer | DataTypes.Boolean | DataTypes.IntegerVector,
     26        EvalLimit = 1500,
     27        MaxSize = 500,
     28      };
     29    }
     30
     31    protected override Example ParseExample(string[] input, string[] output) {
    3932      return new Example {
    4033        InputArgs = input,
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Problems/Data.cs

    r14777 r14834  
    22  using System.Linq;
    33
    4   using HeuristicLab.BenchmarkSuite.ERC;
    54  using HeuristicLab.Common;
    65  using HeuristicLab.Core;
     
    1615
    1716    public Data(Data origin, Cloner cloner) : base(origin, cloner) {
    18       Name = origin.Name;
    19       Description = origin.Description;
    2017      OriginalTrainingCount = origin.OriginalTrainingCount;
    2118      OriginalTestCount = origin.OriginalTestCount;
     
    2421      InputArgumentTypes = origin.InputArgumentTypes;
    2522      OutputArgumentTypes = origin.OutputArgumentTypes;
    26       Examples = origin.Examples.ToArray();
     23
     24      if (origin.Examples != null)
     25        Examples = origin.Examples.Select(e => (Example)e.Clone(cloner)).ToArray();
     26
    2727      EnabledDataTypes = origin.EnabledDataTypes;
    28       this.ProblemErcOptions = cloner.Clone(origin.ProblemErcOptions);
    2928    }
    3029
    31     [Storable]
    32     public string Name { get; set; }
    33     [Storable]
    34     public string Description { get; set; }
    3530    [Storable]
    3631    public int OriginalTrainingCount { get; set; }
     
    3833    public int OriginalTestCount { get; set; }
    3934    [Storable]
    40     public int BestResult { get; set; }
     35    public double BestResult { get; set; }
    4136    [Storable]
    42     public int WorstResult { get; set; }
     37    public double WorstResult { get; set; }
    4338    [Storable]
    4439    public ExampleArgumentType[] InputArgumentTypes { get; set; }
     
    4843    [Storable]
    4944    public Example[] Examples { get; set; }
    50     [Storable]
    51     public ProblemErcOptions ProblemErcOptions { get; set; }
    5245    [Storable]
    5346    public DataTypes EnabledDataTypes { get; set; }
     
    6760    public int EvalLimit { get; set; }
    6861
    69     /// <summary>
    70     /// “Max Gens” gives the maximum number of generations in a single PushGP run.
    71     /// </summary>
    72     [Storable]
    73     public int MaxGenerations { get; set; }
    74 
    75     /// <summary>
    76     /// “Prog Eval Budget” is the maximum number of programs that will be evaluated before a run is terminated.
    77     /// </summary>
    78     [Storable]
    79     public int ProgEvalBudget { get; set; }
    80 
    8162    public override IDeepCloneable Clone(Cloner cloner) {
    8263      return new Data(this, cloner);
  • branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Problems/NumberIo.cs

    r14727 r14834  
    1 //namespace HeuristicLab.BenchmarkSuite.Problems {
    2 //  using System.Linq;
     1namespace HeuristicLab.BenchmarkSuite.Problems {
     2  public class NumberIO : BenchmarkSuiteDataDescriptor {
     3    private const string name = "NumberIO";
     4    private const string fileName = "NumberIO.csv";
     5    private const string description = "Given an integer and a float, calc their sum.";
    36
    4 //  using HeuristicLab.BenchmarkSuite.ProblemData;
     7    protected override string FileName { get { return fileName; } }
     8    public override string Name { get { return name; } }
     9    public override string Description { get { return description; } }
     10    protected override int InputArgumentCount { get { return 2; } }
     11    protected override int OutputArgumentCount { get { return 1; } }
    512
    6 //  public class NumberIo : BenchmarkSuiteDataDescriptor<double[], double> {
    7 //    private const string displayMame = "NumberIO";
    8 //    private const string description = " Given an integer and a float, print their sum.";
     13    public override Data CreateProblemData() {
     14      return new Data {
     15        Name = Name,
     16        Description = Description,
     17        Examples = CloneExamples(),
     18        BestResult = 0,
     19        WorstResult = 400,
     20        InputArgumentTypes = new[] { ExampleArgumentType.Float, ExampleArgumentType.Integer },
     21        OutputArgumentTypes = new[] { ExampleArgumentType.Float },
     22        OriginalTrainingCount = 25,
     23        OriginalTestCount = 1000,
     24        EnabledDataTypes = DataTypes.Integer | DataTypes.Float,
     25        EvalLimit = 200,
     26        MaxSize = 200,
     27      };
     28    }
    929
    10 //    public override string Name { get { return displayMame; } }
    11 //    public override string Description { get { return description; } }
     30    protected override Example ParseExample(string[] input, string[] output) {
     31      return new Example {
     32        InputArgs = input,
     33        OutputArgs = output,
     34        InputFloat = ExampleArgumentConverter.ConvertDoubles(input[0]),
     35        InputInt = ExampleArgumentConverter.ConvertIntegers(input[1]),
     36        OutputFloat = ExampleArgumentConverter.ConvertDoubles(output[0])
     37      };
     38    }
     39  }
     40}
    1241
    13 //    protected override int InputArgumentCount { get { return 2; } }
    14 //    protected override int OutputArgumentCount { get { return 1; } }
    15 
    16 //    public override double[] ConvertInput(string[] input) {
    17 //      return input.Select(ConvertDouble).ToArray();
    18 //    }
    19 
    20 //    public override double ConvertOutput(string[] output) {
    21 //      return ConvertDouble(output[0]);
    22 //    }
    23 
    24 //    public override IPushData CreatePushData(Example<double[], double>[] training, Example<double[], double>[] test) {
    25 //      return new NumberIoPushData(training, test);
    26 //    }
    27 //  }
    28 //}
Note: See TracChangeset for help on using the changeset viewer.