Free cookie consent management tool by TermsFeed Policy Generator

source: branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/FeynmanInstanceProvider.cs @ 17638

Last change on this file since 17638 was 17638, checked in by chaider, 4 years ago

#3075 Added first part of feynman equations as instances

File size: 1.7 KB
Line 
1using System;
2using System.Collections.Generic;
3using HeuristicLab.Random;
4
5namespace HeuristicLab.Problems.Instances.DataAnalysis {
6  public class FeynmanInstanceProvider : ArtificialRegressionInstanceProvider {
7    public override string Name {
8      get { return "Feynman Benchmark Problems"; }
9    }
10
11    public override string Description {
12      get { return ""; }
13    }
14
15    public override Uri WebLink {
16      get { return new Uri("https://space.mit.edu/home/tegmark/aifeynman.html"); }
17    }
18
19    public override string ReferencePublication {
20      get { return "asdf"; }
21    }
22
23    public int Seed { get; private set; }
24
25    public FeynmanInstanceProvider() : this((int) DateTime.Now.Ticks) { }
26
27    public FeynmanInstanceProvider(int seed) {
28      Seed = seed;
29    }
30
31    public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
32      var descriptorList = new List<IDataDescriptor>();
33      var rand           = new MersenneTwister((uint) Seed);
34      descriptorList.Add(new Feynman1(rand.Next()));
35      descriptorList.Add(new Feynman2(rand.Next()));
36      descriptorList.Add(new Feynman3(rand.Next()));
37      descriptorList.Add(new Feynman4(rand.Next()));
38      descriptorList.Add(new Feynman5(rand.Next()));
39      descriptorList.Add(new Feynman6(rand.Next()));
40      descriptorList.Add(new Feynman7(rand.Next()));
41      descriptorList.Add(new Feynman8(rand.Next()));
42      descriptorList.Add(new Feynman9(rand.Next()));
43      descriptorList.Add(new Feynman10(rand.Next()));
44      descriptorList.Add(new Feynman11(rand.Next()));
45      descriptorList.Add(new Feynman12(rand.Next()));
46      descriptorList.Add(new Feynman13(rand.Next()));
47      return descriptorList;
48    }
49  }
50}
Note: See TracBrowser for help on using the repository browser.