Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/18/17 01:15:25 (8 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/CollatzNumbers.cs

    r14727 r14875  
    1 //namespace HeuristicLab.BenchmarkSuite.Problems {
    2 //  using System;
     1namespace HeuristicLab.BenchmarkSuite.Problems {
    32
    4 //  public class CollatzNumbers : BenchmarkSuiteDataDescriptor<long[], long[]> {
    5 //    private const string displayMame = "Collatz Numbers";
    6 //    private const string description = "";
    73
    8 //    public override string Name { get { return displayMame; } }
    9 //    public override string Description { get { return description; } }
    10 //    protected override int InputArgumentCount { get { return 1; } }
    11 //    protected override int OutputArgumentCount { get { return 1; } }
     4  public class CollatzNumbers : BenchmarkSuiteDataDescriptor {
     5    private const string name = "Collatz Numbers";
     6    private const string fileName = "CollatzNumbers.csv";
     7    private const string description = "Given an integer, find the number of terms in the Collatz(hailstone) sequence starting from that integer.";
    128
    13 //    public override long[] ConvertInput(string[] input) {
    14 //      return Array.ConvertAll(input, ConvertInteger);
    15 //    }
     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; } }
    1614
    17 //    public override long[] ConvertOutput(string[] output) {
    18 //      return Array.ConvertAll(output, ConvertInteger);
    19 //    }
     15    public override ProblemData CreateProblemData() {
     16      return new ProblemData {
     17        Name = Name,
     18        Description = Description,
     19        Examples = CloneExamples(),
     20        BestResult = 0,
     21        WorstResult = 300,
     22        InputArgumentTypes = new[] { ExampleArgumentType.Integer },
     23        OutputArgumentTypes = new[] { ExampleArgumentType.Integer },
     24        TrainingCount = 200,
     25        TestCount = 2000,
     26        EnabledDataTypes = DataTypes.Exec | DataTypes.Integer | DataTypes.Float | DataTypes.Boolean,
     27        MaxSize = 600,
     28        EvalLimit = 15000,
     29        ErcOptions = {
     30          ErcProbability = 0.05,
     31          IntegerErcOptions = {
     32            IsEnabled = true,
     33            Constants = new [] { 0, 1 },
     34            Start = -100,
     35            End = 100
     36          }
     37        }
     38      };
     39    }
    2040
    21 //    public override Data CreateData() {
    22 //      var input = this.GetInput();
    23 //      var output = this.GetOutput();
    24 
    25 //      return new Data(0, double.MaxValue, 0, 0,
    26 //        inputInt: input,
    27 //        outputInt: output);
    28 //    }
    29 //  }
    30 //}
     41    protected override Example ParseExample(string[] input, string[] output) {
     42      return new Example {
     43        InputArgs = input,
     44        OutputArgs = output,
     45        InputInteger = ExampleArgumentConverter.ConvertIntegers(input[0]),
     46        OutputInteger = ExampleArgumentConverter.ConvertIntegers(output[0]),
     47      };
     48    }
     49  }
     50}
Note: See TracChangeset for help on using the changeset viewer.