Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/18/17 01:15:25 (7 years ago)
Author:
pkimmesw
Message:

#2665 BenchmarkSuite, all examples, partially tested, VectorExpressions added

File:
1 edited

Legend:

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

    r14727 r14875  
    1 //namespace HeuristicLab.BenchmarkSuite.Problems {
    2 //  using HeuristicLab.BenchmarkSuite.ProblemData;
     1namespace HeuristicLab.BenchmarkSuite.Problems {
     2  using HeuristicLab.Problems.ProgramSynthesis.Base.Erc;
    33
    4 //  public class LastIndexOfZero : BenchmarkSuiteDataDescriptor<long[], long> {
    5 //    private const string displayMame = "Last Index of Zero";
    6 //    private const string description = "";
     4  public class LastIndexOfZero : BenchmarkSuiteDataDescriptor {
     5    private const string name = "Last Index of Zero";
     6    private const string fileName = "LastIndexOfZero.csv";
     7    private const string description = "Given a vector of integers, at least one of which is 0, return the index of the last occurrence of 0 in the vector.";
    78
    8 //    public override string Name { get { return displayMame; } }
    9 //    public override string Description { get { return description; } }
     9    protected override string FileName { get { return fileName; } }
     10    public override string Name { get { return name; } }
     11    public override string Description { get { return description; } }
     12    protected override int InputArgumentCount { get { return 1; } }
     13    protected override int OutputArgumentCount { get { return 1; } }
    1014
    11 //    protected override int InputArgumentCount { get { return 1; } }
    12 //    protected override int OutputArgumentCount { get { return 1; } }
     15    public override ProblemData CreateProblemData() {
     16      return new ProblemData {
     17        Name = Name,
     18        Description = Description,
     19        Examples = CloneExamples(),
     20        BestResult = 0,
     21        WorstResult = 50,
     22        InputArgumentTypes = new[] { ExampleArgumentType.IntegerVector },
     23        OutputArgumentTypes = new[] { ExampleArgumentType.Integer },
     24        TrainingCount = 150,
     25        TestCount = 1000,
     26        EnabledDataTypes = DataTypes.Exec | DataTypes.Integer | DataTypes.Boolean | DataTypes.IntegerVector,
     27        MaxSize = 300,
     28        EvalLimit = 600,
     29        ErcOptions = {
     30          ErcProbability = 0.05,
     31          IntegerErcOptions = {
     32            IsEnabled = true,
     33            Constants = new [] { 0 },
     34            Start = -50,
     35            End = 50
     36          }
     37        }
     38      };
     39    }
    1340
    14 //    public override long[] ConvertInput(string[] input) {
    15 //      return ConvertIntegers(input[0]);
    16 //    }
    17 
    18 //    public override long ConvertOutput(string[] output) {
    19 //      return ConvertInteger(output[0]);
    20 //    }
    21 
    22 //    public override IPushData CreatePushData(Example<long[], long>[] training, Example<long[], long>[] test) {
    23 //      return new LastIndexOfZeroPushData(training, test);
    24 //    }
    25 //  }
    26 //}
     41    protected override Example ParseExample(string[] input, string[] output) {
     42      return new Example {
     43        InputArgs = input,
     44        OutputArgs = output,
     45        InputIntegerVector = new[] { ExampleArgumentConverter.ConvertIntegers(input[0]) },
     46        OutputInteger = ExampleArgumentConverter.ConvertIntegers(output[0]),
     47      };
     48    }
     49  }
     50}
Note: See TracChangeset for help on using the changeset viewer.