Changeset 14875 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Problems/LastIndexOfZero.cs
- Timestamp:
- 04/18/17 01:15:25 (7 years ago)
- 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;1 namespace HeuristicLab.BenchmarkSuite.Problems { 2 using HeuristicLab.Problems.ProgramSynthesis.Base.Erc; 3 3 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."; 7 8 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; } } 10 14 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 } 13 40 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.