1 | using System;
|
---|
2 | using System.Collections.Generic;
|
---|
3 |
|
---|
4 | namespace HeuristicLab.BenchmarkSuite {
|
---|
5 |
|
---|
6 | using HeuristicLab.BenchmarkSuite.Problems;
|
---|
7 | using HeuristicLab.Problems.Instances;
|
---|
8 |
|
---|
9 | public class BenchmarkSuiteInstanceProvider : ProblemInstanceProvider<ProblemData> {
|
---|
10 | private const string name = "General Program Synthesis Benchmark Suite";
|
---|
11 | private const string referencePublication =
|
---|
12 | "T. Helmuth and L. Spector, \"Detailed Problem Descriptions for General Program Synthesis Benchmark Suite\", Technical Report UM-CS-2015-006, School of Computer Science, University of Massachusetts Amherst, 2015.";
|
---|
13 | private static readonly Uri webLink = new Uri("https://web.cs.umass.edu/publication/docs/2015/UM-CS-2015-006.pdf");
|
---|
14 |
|
---|
15 | public override string Name
|
---|
16 | {
|
---|
17 | get { return name; }
|
---|
18 | }
|
---|
19 |
|
---|
20 | public override string Description
|
---|
21 | {
|
---|
22 | get { return ""; }
|
---|
23 | }
|
---|
24 |
|
---|
25 | public override Uri WebLink
|
---|
26 | {
|
---|
27 | get { return webLink; }
|
---|
28 | }
|
---|
29 |
|
---|
30 | public override string ReferencePublication
|
---|
31 | {
|
---|
32 | get { return referencePublication; }
|
---|
33 | }
|
---|
34 |
|
---|
35 | public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
|
---|
36 | yield return new NumberIO();
|
---|
37 | yield return new SmallOrLarge();
|
---|
38 | yield return new ForLoopIndex();
|
---|
39 | yield return new CompareStringLengths();
|
---|
40 | yield return new DoubleLetters();
|
---|
41 | yield return new CollatzNumbers();
|
---|
42 | yield return new ReplaceSpaceWithNewline();
|
---|
43 | yield return new StringDifferences();
|
---|
44 | yield return new EvenSquares();
|
---|
45 | yield return new WallisPi();
|
---|
46 | yield return new StringLengthsBackwards();
|
---|
47 | yield return new LastIndexOfZero();
|
---|
48 | yield return new VectorAverage();
|
---|
49 | yield return new CountOdds();
|
---|
50 | yield return new MirrorImage();
|
---|
51 | yield return new SuperAnagrams();
|
---|
52 | yield return new SumOfSquares();
|
---|
53 | yield return new VectorSummed();
|
---|
54 | yield return new XWordLines();
|
---|
55 | yield return new PigLatin();
|
---|
56 | yield return new NegativeToZero();
|
---|
57 | yield return new ScrabbleScore();
|
---|
58 | yield return new WordStats();
|
---|
59 | yield return new Checksum();
|
---|
60 | yield return new Digits();
|
---|
61 | yield return new Grades();
|
---|
62 | yield return new Median();
|
---|
63 | yield return new Smallest();
|
---|
64 | yield return new Syllables();
|
---|
65 | }
|
---|
66 |
|
---|
67 | public override ProblemData LoadData(IDataDescriptor descriptor) {
|
---|
68 | var benchmarkSuiteDataDescriptor = (IBenchmarkSuiteDataDescriptor)descriptor;
|
---|
69 |
|
---|
70 | return benchmarkSuiteDataDescriptor.CreateProblemData();
|
---|
71 | }
|
---|
72 | }
|
---|
73 | }
|
---|