Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/HeuristicLab.Problems.Instances.DataAnalysis-3.3.csproj
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/HeuristicLab.Problems.Instances.DataAnalysis-3.3.csproj	(revision 17638)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/HeuristicLab.Problems.Instances.DataAnalysis-3.3.csproj	(revision 17639)
@@ -157,4 +157,42 @@
     <Compile Include="Regression\FeatureSelection\FeatureSelection.cs" />
     <Compile Include="Regression\FeatureSelection\FeatureSelectionInstanceProvider.cs" />
+    <Compile Include="Regression\Feynman\Feynman23.cs" />
+    <Compile Include="Regression\Feynman\Feynman22.cs" />
+    <Compile Include="Regression\Feynman\Feynman21.cs" />
+    <Compile Include="Regression\Feynman\Feynman20.cs" />
+    <Compile Include="Regression\Feynman\Feynman19.cs" />
+    <Compile Include="Regression\Feynman\Feynman18.cs" />
+    <Compile Include="Regression\Feynman\Feynman17.cs" />
+    <Compile Include="Regression\Feynman\Feynman16.cs" />
+    <Compile Include="Regression\Feynman\Feynman15.cs" />
+    <Compile Include="Regression\Feynman\Feynman14.cs" />
+    <Compile Include="Regression\Feynman\Feynman24.cs" />
+    <Compile Include="Regression\Feynman\Feynman25.cs" />
+    <Compile Include="Regression\Feynman\Feynman26.cs" />
+    <Compile Include="Regression\Feynman\Feynman27.cs" />
+    <Compile Include="Regression\Feynman\Feynman28.cs" />
+    <Compile Include="Regression\Feynman\Feynman29.cs" />
+    <Compile Include="Regression\Feynman\Feynman30.cs" />
+    <Compile Include="Regression\Feynman\Feynman31.cs" />
+    <Compile Include="Regression\Feynman\Feynman32.cs" />
+    <Compile Include="Regression\Feynman\Feynman33.cs" />
+    <Compile Include="Regression\Feynman\Feynman34.cs" />
+    <Compile Include="Regression\Feynman\Feynman35.cs" />
+    <Compile Include="Regression\Feynman\Feynman36.cs" />
+    <Compile Include="Regression\Feynman\Feynman37.cs" />
+    <Compile Include="Regression\Feynman\Feynman38.cs" />
+    <Compile Include="Regression\Feynman\Feynman39.cs" />
+    <Compile Include="Regression\Feynman\Feynman40.cs" />
+    <Compile Include="Regression\Feynman\Feynman41.cs" />
+    <Compile Include="Regression\Feynman\Feynman42.cs" />
+    <Compile Include="Regression\Feynman\Feynman43.cs" />
+    <Compile Include="Regression\Feynman\Feynman44.cs" />
+    <Compile Include="Regression\Feynman\Feynman45.cs" />
+    <Compile Include="Regression\Feynman\Feynman46.cs" />
+    <Compile Include="Regression\Feynman\Feynman47.cs" />
+    <Compile Include="Regression\Feynman\Feynman48.cs" />
+    <Compile Include="Regression\Feynman\Feynman49.cs" />
+    <Compile Include="Regression\Feynman\Feynman50.cs" />
+    <Compile Include="Regression\Feynman\Feynman51.cs" />
     <Compile Include="Regression\Feynman\Feynman9.cs" />
     <Compile Include="Regression\Feynman\Feynman13.cs" />
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman14.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman14.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman14.cs	(revision 17639)
@@ -0,0 +1,53 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman14 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.13.12 U = G*m1*m2*(1/r2-1/r1)"; } }
+
+ protected override string TargetVariable { get { return "U"; } }
+    protected override string[] VariableNames { get { return new string[] { "m1", "m2", "r1", "r2", "G", "U"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"m1", "m2", "r1", "r2", "G"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman14() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman14(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var m1 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var m2 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var r1 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var r2 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var G = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+
+      var U = new List<double>();
+
+      data.Add(m1);
+      data.Add(m2);
+      data.Add(r1);
+      data.Add(r2);
+      data.Add(G);
+      data.Add(U);
+
+      for (var i = 0; i < m1.Count; i++) {
+        var res = G[i] * m1[i] * m2[i] * (1 / r2[i] - 1 / r1[i]);
+        U.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman15.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman15.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman15.cs	(revision 17639)
@@ -0,0 +1,48 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman15 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.14.3 U = m*g*z"; } }
+
+ protected override string TargetVariable { get { return "U"; } }
+    protected override string[] VariableNames { get { return new string[] { "m", "g", "z", "U"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"m", "g", "z"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman15() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman15(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var m = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var g = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var z = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var U = new List<double>();
+
+      data.Add(m);
+      data.Add(g);
+      data.Add(z);
+      data.Add(U);
+
+      for (var i = 0; i < m.Count; i++) {
+        var res = m[i] * g[i] * z[i];
+        U.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman16.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman16.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman16.cs	(revision 17639)
@@ -0,0 +1,46 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman16 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.14.4 U = 1/2*k_spring*x^2"; } }
+
+ protected override string TargetVariable { get { return "U"; } }
+    protected override string[] VariableNames { get { return new string[] { "k_spring", "x", "U"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"k_spring", "x"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman16() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman16(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var k_spring = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var x = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var U = new List<double>();
+
+      data.Add(k_spring);
+      data.Add(x);
+      data.Add(U);
+
+      for (var i = 0; i < k_spring.Count; i++) {
+        var res = 1.0 / 2 * k_spring[i] * Math.Pow(x[i], 2);
+        U.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman17.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman17.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman17.cs	(revision 17639)
@@ -0,0 +1,50 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman17 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.15.3x x1 = (x-u*t)/sqrt(1-u^2/c^2)"; } }
+
+ protected override string TargetVariable { get { return "x1"; } }
+    protected override string[] VariableNames { get { return new string[] { "x", "u", "c", "t", "x1"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"x", "u", "c", "t"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman17() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman17(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var x = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 5, 10).ToList();
+      var u = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var c = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 3, 20).ToList();
+      var t = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+
+      var x1 = new List<double>();
+
+      data.Add(x);
+      data.Add(u);
+      data.Add(c);
+      data.Add(t);
+      data.Add(x1);
+
+      for (var i = 0; i < x.Count; i++) {
+        var res = (x[i] - u[i] * t[i]) / Math.Sqrt(1 - Math.Pow(u[i], 2) / Math.Pow(c[i], 2));
+        x1.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman18.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman18.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman18.cs	(revision 17639)
@@ -0,0 +1,50 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman18 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.15.3t t1 = (t-u*x/c^2)/sqrt(1-u^2/c^2)"; } }
+
+ protected override string TargetVariable { get { return "t1"; } }
+    protected override string[] VariableNames { get { return new string[] { "x", "c", "u", "t", "t1"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"x", "c", "u", "t"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman18() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman18(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var x = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var c = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 3, 10).ToList();
+      var u = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var t = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var t1 = new List<double>();
+
+      data.Add(x);
+      data.Add(c);
+      data.Add(u);
+      data.Add(t);
+      data.Add(t1);
+
+      for (var i = 0; i < x.Count; i++) {
+        var res = (t[i] - u[i] * x[i] / Math.Pow(c[i], 2)) / Math.Sqrt(1 - Math.Pow(u[i], 2) / Math.Pow(c[i], 2));
+        t1.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman19.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman19.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman19.cs	(revision 17639)
@@ -0,0 +1,48 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman19 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.15.1 p = m_0*v/sqrt(1-v^2/c^2)"; } }
+
+ protected override string TargetVariable { get { return "p"; } }
+    protected override string[] VariableNames { get { return new string[] { "m_0", "v", "c", "p"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"m_0", "v", "c"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman19() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman19(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var m_0 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var v = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var c = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 3, 10).ToList();
+
+      var p = new List<double>();
+
+      data.Add(m_0);
+      data.Add(v);
+      data.Add(c);
+      data.Add(p);
+
+      for (var i = 0; i < m_0.Count; i++) {
+        var res = m_0[i] * v[i] / Math.Sqrt(1 - Math.Pow(v[i], 2) / Math.Pow(c[i], 2));
+        p.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman2.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman2.cs	(revision 17638)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman2.cs	(revision 17639)
@@ -14,9 +14,4 @@
     protected override string[] VariableNames { get { return new string[] { "sigma", "theta", "f"}; } }
     protected override string[] AllowedInputVariables { get { return new string[] { "sigma", "theta" }; } }
-
-    protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 80; } }
-    protected override int TestPartitionStart { get { return 80; } }
-    protected override int TestPartitionEnd { get { return 100; } }
 
     public int Seed { get; private set; }
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman20.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman20.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman20.cs	(revision 17639)
@@ -0,0 +1,48 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman20 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.16.6 v1 = (u+v)/(1+u*v/c^2)"; } }
+
+ protected override string TargetVariable { get { return "v1"; } }
+    protected override string[] VariableNames { get { return new string[] { "c", "v", "u", "v1"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"c", "v", "u"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman20() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman20(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var c = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var v = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var u = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var v1 = new List<double>();
+
+      data.Add(c);
+      data.Add(v);
+      data.Add(u);
+      data.Add(v1);
+
+      for (var i = 0; i < c.Count; i++) {
+        var res = (u[i] + v[i]) / (1 + u[i] * v[i] / Math.Pow(c[i], 2));
+        v1.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman21.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman21.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman21.cs	(revision 17639)
@@ -0,0 +1,50 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman21 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.18.4 r = (m1*r1+m2*r2)/(m1+m2)"; } }
+
+ protected override string TargetVariable { get { return "r"; } }
+    protected override string[] VariableNames { get { return new string[] { "m1", "m2", "r1", "r2", "r"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"m1", "m2", "r1", "r2"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman21() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman21(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var m1 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var m2 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var r1 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var r2 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var r = new List<double>();
+
+      data.Add(m1);
+      data.Add(m2);
+      data.Add(r1);
+      data.Add(r2);
+      data.Add(r);
+
+      for (var i = 0; i < m1.Count; i++) {
+        var res = (m1[i] * r1[i] + m2[i] * r2[i]) / (m1[i] + m2[i]);
+        r.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman22.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman22.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman22.cs	(revision 17639)
@@ -0,0 +1,48 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman22 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.18.12 tau = (m1*r1+m2*r2)/(m1+m2)"; } }
+
+ protected override string TargetVariable { get { return "tau"; } }
+    protected override string[] VariableNames { get { return new string[] { "r", "F", "theta", "tau"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"r", "F", "theta"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman22() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman22(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var r = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var F = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var theta = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 5).ToList();
+
+      var tau = new List<double>();
+
+      data.Add(r);
+      data.Add(F);
+      data.Add(theta);
+      data.Add(tau);
+
+      for (var i = 0; i < r.Count; i++) {
+        var res = r[i] * F[i] * Math.Sin(theta[i]);
+        tau.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman23.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman23.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman23.cs	(revision 17639)
@@ -0,0 +1,49 @@
+﻿using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using HeuristicLab.Common;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman23 : FeynmanDescriptor{
+ public override string Name { get { return "Feynman I.18.14 L = m*r*v*sin(theta)"; } }
+
+ protected override string TargetVariable { get { return "L"; } }
+    protected override string[] VariableNames { get { return new string[] { "m", "r", "v", "theta", "L"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"m", "r", "v", "theta"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman23() : this((int)System.DateTime.Now.Ticks) { }
+
+    public Feynman23(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint)Seed);
+
+      var data = new List<List<double>>();
+      var m = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var r = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var v = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var theta = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var L = new List<double>();
+
+      data.Add(m);
+      data.Add(r);
+      data.Add(v);
+      data.Add(L);
+
+      for (var i = 0; i < r.Count; i++) {
+        var res = m[i] * r[i] * v[i] * Math.Sin(theta[i]);
+        L.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman24.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman24.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman24.cs	(revision 17639)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman24 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.24.6 1/2*m*(omega**2+omega_0**2)*1/2*x**2"; } }
+
+    protected override string TargetVariable { get { return "E_n"; } }
+    protected override string[] VariableNames { get { return new[] {"m", "omega", "omega_0", "x", "E_n"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"m", "omega", "omega_0", "x"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman24() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman24(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data    = new List<List<double>>();
+      var m       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 3).ToList();
+      var omega   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 3).ToList();
+      var omega_0 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 3).ToList();
+      var x       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 3).ToList();
+
+      var E_n = new List<double>();
+
+      data.Add(m);
+      data.Add(omega);
+      data.Add(omega_0);
+      data.Add(x);
+      data.Add(E_n);
+
+      for (var i = 0; i < m.Count; i++) {
+        var res = 1.0 / 2 * m[i] * (Math.Pow(omega[i], 2) + Math.Pow(omega_0[i], 2)) * 1.0 / 2 * Math.Pow(x[i], 2);
+        E_n.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman25.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman25.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman25.cs	(revision 17639)
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman25 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.25.13 q/C"; } }
+
+    protected override string TargetVariable { get { return "Volt"; } }
+    protected override string[] VariableNames { get { return new[] {"q", "C", "Volt"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"q", "C"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman25() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman25(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data = new List<List<double>>();
+      var q    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var C    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var Volt = new List<double>();
+
+      data.Add(q);
+      data.Add(C);
+      data.Add(Volt);
+
+      for (var i = 0; i < q.Count; i++) {
+        var res = q[i] / C[i];
+        Volt.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman26.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman26.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman26.cs	(revision 17639)
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman26 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.26.2 arcsin(n*sin(theta2))"; } }
+
+    protected override string TargetVariable { get { return "theta1"; } }
+    protected override string[] VariableNames { get { return new[] {"n", "theta2", "theta1"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"n", "theta2"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman26() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman26(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data   = new List<List<double>>();
+      var n      = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 1).ToList();
+      var theta2 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var theta1 = new List<double>();
+
+      data.Add(n);
+      data.Add(theta2);
+      data.Add(theta1);
+
+      for (var i = 0; i < n.Count; i++) {
+        var res = Math.Sinh(n[i] * Math.Sin(theta2[i]));
+        theta1.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman27.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman27.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman27.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman27 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.27.6 1/(1/d1+n/d2)"; } }
+
+    protected override string TargetVariable { get { return "foc"; } }
+    protected override string[] VariableNames { get { return new[] {"d1", "d2", "n", "foc"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"d1", "d2", "n"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman27() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman27(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data = new List<List<double>>();
+      var d1   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var d2   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var n    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var foc = new List<double>();
+
+      data.Add(d1);
+      data.Add(d2);
+      data.Add(n);
+      data.Add(foc);
+
+      for (var i = 0; i < d1.Count; i++) {
+        var res = 1.0 / (1.0 / d1[i] + n[i] / d2[i]);
+        foc.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman28.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman28.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman28.cs	(revision 17639)
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman28 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.29.4 omega/c"; } }
+
+    protected override string TargetVariable { get { return "k"; } }
+    protected override string[] VariableNames { get { return new[] {"omega", "c", "k"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"omega", "c"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman28() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman28(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var omega = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 10).ToList();
+      var c     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 10).ToList();
+
+      var k = new List<double>();
+
+      data.Add(omega);
+      data.Add(c);
+      data.Add(k);
+
+      for (var i = 0; i < omega.Count; i++) {
+        var res = omega[i] / c[i];
+        k.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman29.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman29.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman29.cs	(revision 17639)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman29 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.29.16 sqrt(x1**2+x2**2-2*x1*x2*cos(theta1-theta2))"; } }
+
+    protected override string TargetVariable { get { return "x"; } }
+    protected override string[] VariableNames { get { return new[] {"x1", "x2", "theta1", "theta2", "x"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"x1", "x2", "theta1", "theta2"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman29() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman29(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data   = new List<List<double>>();
+      var x1     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var x2     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var theta1 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var theta2 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var x = new List<double>();
+
+      data.Add(x1);
+      data.Add(x2);
+      data.Add(theta1);
+      data.Add(theta2);
+      data.Add(x);
+
+      for (var i = 0; i < x1.Count; i++) {
+        var res = Math.Sqrt(Math.Pow(x1[i], 2) + Math.Pow(x2[i], 2) - 2 * x1[i] * x2[i] * Math.Cos(theta1[i] - theta2[i]));
+        x.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman3.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman3.cs	(revision 17638)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman3.cs	(revision 17639)
@@ -14,8 +14,4 @@
     protected override string[] VariableNames { get { return new string[] { "sigma", "theta", "theta1", "f"}; } }
     protected override string[] AllowedInputVariables { get { return new string[] { "sigma", "theta", "theta1" }; } }
-    protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 800; } }
-    protected override int TestPartitionStart { get { return 800; } }
-    protected override int TestPartitionEnd { get { return 1000; } }
 
     public int Seed { get; private set; }
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman30.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman30.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman30.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman30 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.30.3 Int_0*sin(n*theta/2)**2/sin(theta/2)**2"; } }
+
+    protected override string TargetVariable { get { return "Int"; } }
+    protected override string[] VariableNames { get { return new[] {"Int_0", "theta", "n", "Int"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"Int_0", "theta", "n"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman30() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman30(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var Int_0 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var theta = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var n     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var Int = new List<double>();
+
+      data.Add(Int_0);
+      data.Add(theta);
+      data.Add(n);
+      data.Add(Int);
+
+      for (var i = 0; i < Int_0.Count; i++) {
+        var res = Int_0[i] * Math.Pow(Math.Sin(n[i] * theta[i] / 2), 2) / Math.Pow(Math.Sin(theta[i] / 2), 2);
+        Int.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman31.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman31.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman31.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman31 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.30.5 arcsin(lambd/(n*d))"; } }
+
+    protected override string TargetVariable { get { return "theta"; } }
+    protected override string[] VariableNames { get { return new[] {"lambd", "d", "n", "theta"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"lambd", "d", "n"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman31() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman31(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var lambd = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var d     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 2, 5).ToList();
+      var n     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var theta = new List<double>();
+
+      data.Add(lambd);
+      data.Add(d);
+      data.Add(n);
+      data.Add(theta);
+
+      for (var i = 0; i < lambd.Count; i++) {
+        var res = Math.Sinh(lambd[i] / (n[i] * d[i]));
+        theta.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman32.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman32.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman32.cs	(revision 17639)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman32 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.32.5 q**2*a**2/(6*pi*epsilon*c**3)"; } }
+
+    protected override string TargetVariable { get { return "Pwr"; } }
+    protected override string[] VariableNames { get { return new string[] {"q", "a", "epsilon", "c", "Pwr"}; } }
+    protected override string[] AllowedInputVariables { get { return new string[] {"q", "a", "epsilon", "c"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman32() : this((int) System.DateTime.Now.Ticks) { }
+
+    public Feynman32(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data    = new List<List<double>>();
+      var q       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var a       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var epsilon = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var c       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var Pwr = new List<double>();
+
+      data.Add(q);
+      data.Add(a);
+      data.Add(epsilon);
+      data.Add(c);
+      data.Add(Pwr);
+
+      for (var i = 0; i < q.Count; i++) {
+        var res = Math.Pow(q[i], 2) * Math.Pow(a[i], 2) / (6 * Math.PI * epsilon[i] * Math.Pow(c[i], 3));
+        Pwr.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman33.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman33.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman33.cs	(revision 17639)
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman33 : FeynmanDescriptor {
+    public override string Name {
+      get { return "Feynman I.32.17 (1/2*epsilon*c*Ef**2)*(8*pi*r**2/3)*(omega**4/(omega**2-omega_0**2)**2)"; }
+    }
+
+    protected override string TargetVariable { get { return "Pwr"; } }
+
+    protected override string[] VariableNames {
+      get { return new[] {"epsilon", "c", "Ef", "r", "omega", "omega_0", "Pwr"}; }
+    }
+
+    protected override string[] AllowedInputVariables {
+      get { return new[] {"epsilon", "c", "Ef", "r", "omega", "omega_0"}; }
+    }
+
+    public int Seed { get; private set; }
+
+    public Feynman33() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman33(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data    = new List<List<double>>();
+      var epsilon = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var c       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var Ef      = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var r       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var omega   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var omega_0 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 3, 5).ToList();
+
+      var Pwr = new List<double>();
+
+      data.Add(epsilon);
+      data.Add(c);
+      data.Add(Ef);
+      data.Add(r);
+      data.Add(omega);
+      data.Add(omega_0);
+      data.Add(Pwr);
+
+      for (var i = 0; i < epsilon.Count; i++) {
+        var res = 1.0 / 2 * epsilon[i] * c[i] * Math.Pow(Ef[i], 2) * (8 * Math.PI + Math.Pow(r[i], 2) / 3) * (Math.Pow(omega[i], 4) / Math.Pow((Math.Pow(omega[i], 2) - Math.Pow(omega_0[i], 2)),2));
+        Pwr.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman34.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman34.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman34.cs	(revision 17639)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman34 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.34.8 q*v*B/p"; } }
+
+    protected override string TargetVariable { get { return "omega"; } }
+    protected override string[] VariableNames { get { return new[] {"q", "v", "B", "p", "omega"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"q", "v", "B", "p"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman34() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman34(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data = new List<List<double>>();
+      var q    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var v    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var B    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var p    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var omega = new List<double>();
+
+      data.Add(q);
+      data.Add(v);
+      data.Add(B);
+      data.Add(p);
+      data.Add(omega);
+
+      for (var i = 0; i < q.Count; i++) {
+        var res = q[i] * v[i] * B[i] / p[i];
+        omega.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman35.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman35.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman35.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman35 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.34.1 omega_0/(1-v/c)"; } }
+
+    protected override string TargetVariable { get { return "omega"; } }
+    protected override string[] VariableNames { get { return new[] {"c", "v", "omega_0", "omega"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"c", "v", "omega_0"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman35() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman35(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data    = new List<List<double>>();
+      var c       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 3, 10).ToList();
+      var v       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var omega_0 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var omega = new List<double>();
+
+      data.Add(c);
+      data.Add(v);
+      data.Add(omega_0);
+      data.Add(omega);
+
+      for (var i = 0; i < c.Count; i++) {
+        var res = omega_0[i] / (1 - v[i] / c[i]);
+        omega.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman36.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman36.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman36.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman36 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.34.14 (1+v/c)/sqrt(1-v**2/c**2)*omega_0"; } }
+
+    protected override string TargetVariable { get { return "omega"; } }
+    protected override string[] VariableNames { get { return new[] {"c", "v", "omega_0", "omega"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"c", "v", "omega_0"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman36() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman36(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data    = new List<List<double>>();
+      var c       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 3, 10).ToList();
+      var v       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var omega_0 = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var omega = new List<double>();
+
+      data.Add(c);
+      data.Add(v);
+      data.Add(omega_0);
+      data.Add(omega);
+
+      for (var i = 0; i < c.Count; i++) {
+        var res = (1 + v[i] / c[i]) / Math.Sqrt(1 - Math.Pow(v[i], 2) / Math.Pow(c[i], 2)) * omega_0[i];
+        omega.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman37.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman37.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman37.cs	(revision 17639)
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman37 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.34.27 (h/(2*pi))*omega"; } }
+
+    protected override string TargetVariable { get { return "E_n"; } }
+    protected override string[] VariableNames { get { return new[] {"omega", "h", "E_n"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"omega", "h"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman37() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman37(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var omega = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var h     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var E_n = new List<double>();
+
+      data.Add(omega);
+      data.Add(h);
+      data.Add(E_n);
+
+      for (var i = 0; i < omega.Count; i++) {
+        var res = h[i] / (2 * Math.PI) * omega[i];
+        E_n.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman38.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman38.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman38.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman38 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.37.4 I1+I2+2*sqrt(I1*I2)*cos(delta)"; } }
+
+    protected override string TargetVariable { get { return "Int"; } }
+    protected override string[] VariableNames { get { return new[] {"I1", "I2", "delta", "Int"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"I1", "I2", "delta"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman38() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman38(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var I1    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var I2    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var delta = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var Int = new List<double>();
+
+      data.Add(I1);
+      data.Add(I2);
+      data.Add(delta);
+      data.Add(Int);
+
+      for (var i = 0; i < I1.Count; i++) {
+        var res = I1[i] + I2[i] + 2 * Math.Sqrt(I1[i] * I2[i]) * Math.Cos(delta[i]);
+        Int.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman39.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman39.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman39.cs	(revision 17639)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman39 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.38.12 4*pi*epsilon*(h/(2*pi))**2/(m*q**2)"; } }
+
+    protected override string TargetVariable { get { return "r"; } }
+    protected override string[] VariableNames { get { return new[] {"m", "q", "h", "epsilon", "r"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"m", "q", "h", "epsilon"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman39() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman39(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data    = new List<List<double>>();
+      var m       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var q       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var h       = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var epsilon = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var r = new List<double>();
+
+      data.Add(m);
+      data.Add(q);
+      data.Add(h);
+      data.Add(epsilon);
+      data.Add(r);
+
+      for (var i = 0; i < m.Count; i++) {
+        var res = 4 * Math.PI * epsilon[i] * Math.Pow((h[i] / (2 * Math.PI)), 2) / (m[i] * Math.Pow(q[i], 2));
+        r.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman4.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman4.cs	(revision 17638)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman4.cs	(revision 17639)
@@ -14,8 +14,4 @@
     protected override string[] VariableNames { get { return new string[] { "x1", "x2", "y1", "y2", "d"}; } }
     protected override string[] AllowedInputVariables { get { return new string[] {"x1", "x2", "y1", "y2"}; } }
-    protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 80; } }
-    protected override int TestPartitionStart { get { return 80; } }
-    protected override int TestPartitionEnd { get { return 100; } }
 
     public int Seed { get; private set; }
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman40.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman40.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman40.cs	(revision 17639)
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman40 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.39.1 3/2*pr*V"; } }
+
+    protected override string TargetVariable { get { return "E_n"; } }
+    protected override string[] VariableNames { get { return new[] {"pr", "V", "E_n"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"pr", "V"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman40() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman40(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data = new List<List<double>>();
+      var pr   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var V    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var E_n = new List<double>();
+
+      data.Add(pr);
+      data.Add(V);
+      data.Add(E_n);
+
+      for (var i = 0; i < pr.Count; i++) {
+        var res = 3.0 / 2 * pr[i] * V[i];
+        E_n.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman41.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman41.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman41.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman41 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.39.11 1/(gamma-1)*pr*V"; } }
+
+    protected override string TargetVariable { get { return "E_n"; } }
+    protected override string[] VariableNames { get { return new[] {"gamma", "pr", "V", "E_n"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"gamma", "pr", "V"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman41() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman41(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var gamma = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 2, 5).ToList();
+      var pr    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var V     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var E_n = new List<double>();
+
+      data.Add(gamma);
+      data.Add(pr);
+      data.Add(V);
+      data.Add(E_n);
+
+      for (var i = 0; i < gamma.Count; i++) {
+        var res = 1.0 / (gamma[i] - 1) * pr[i] * V[i];
+        E_n.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman42.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman42.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman42.cs	(revision 17639)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman42 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.39.22 n*kb*T/V"; } }
+
+    protected override string TargetVariable { get { return "pr"; } }
+    protected override string[] VariableNames { get { return new[] {"n", "T", "V", "kb", "pr"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"n", "T", "V", "kb"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman42() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman42(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data = new List<List<double>>();
+      var n    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var T    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var V    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var kb   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var pr = new List<double>();
+
+      data.Add(n);
+      data.Add(T);
+      data.Add(V);
+      data.Add(kb);
+      data.Add(pr);
+
+      for (var i = 0; i < n.Count; i++) {
+        var res = n[i] * kb[i] * T[i] / V[i];
+        pr.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman43.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman43.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman43.cs	(revision 17639)
@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman43 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.40.1 n_0*exp(-m*g*x/(kb*T))"; } }
+
+    protected override string TargetVariable { get { return "n"; } }
+    protected override string[] VariableNames { get { return new[] {"n_0", "m", "x", "T", "g", "kb", "n"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"n_0", "m", "x", "T", "g", "kb"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman43() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman43(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data = new List<List<double>>();
+      var n_0  = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var m    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var x    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var T    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var g    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var kb   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var n = new List<double>();
+
+      data.Add(n_0);
+      data.Add(m);
+      data.Add(x);
+      data.Add(T);
+      data.Add(g);
+      data.Add(kb);
+      data.Add(n);
+
+      for (var i = 0; i < n_0.Count; i++) {
+        var res = n_0[i] * Math.Exp(-m[i] * g[i] * x[i] / (kb[i] * T[i]));
+        n.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman44.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman44.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman44.cs	(revision 17639)
@@ -0,0 +1,51 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman44 : FeynmanDescriptor {
+    public override string Name {
+      get { return "Feynman I.41.16 h/(2*pi)*omega**3/(pi**2*c**2*(exp((h/(2*pi))*omega/(kb*T))-1))"; }
+    }
+
+    protected override string TargetVariable { get { return "L_rad"; } }
+    protected override string[] VariableNames { get { return new[] {"omega", "T", "h", "kb", "c", "L_rad"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"omega", "T", "h", "kb", "c"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman44() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman44(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var omega = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var T     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var h     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var kb    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var c     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var L_rad = new List<double>();
+
+      data.Add(omega);
+      data.Add(T);
+      data.Add(h);
+      data.Add(kb);
+      data.Add(c);
+      data.Add(L_rad);
+
+      for (var i = 0; i < omega.Count; i++) {
+        var res = h[i] / (2 * Math.PI) * Math.Pow(omega[i], 3) / (Math.Pow(Math.PI, 2) * Math.Pow(c[i], 2) * (Math.Exp(h[i] / (2 * Math.PI) * omega[i] / (kb[i] * T[i])) - 1));
+        L_rad.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman45.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman45.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman45.cs	(revision 17639)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman45 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.43.16 mu_drift*q*Volt/d"; } }
+
+    protected override string TargetVariable { get { return "v"; } }
+    protected override string[] VariableNames { get { return new[] {"mu_drift", "q", "Volt", "d", "v"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"mu_drift", "q", "Volt", "d"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman45() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman45(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data     = new List<List<double>>();
+      var mu_drift = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var q        = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var Volt     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var d        = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var v = new List<double>();
+
+      data.Add(mu_drift);
+      data.Add(q);
+      data.Add(Volt);
+      data.Add(d);
+      data.Add(v);
+
+      for (var i = 0; i < mu_drift.Count; i++) {
+        var res = mu_drift[i] * q[i] * Volt[i] / d[i];
+        v.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman46.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman46.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman46.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman46 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.43.31 mob*kb*T"; } }
+
+    protected override string TargetVariable { get { return "D"; } }
+    protected override string[] VariableNames { get { return new[] {"mob", "T", "kb", "D"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"mob", "T", "kb"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman46() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman46(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data = new List<List<double>>();
+      var mob  = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var T    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var kb   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var D = new List<double>();
+
+      data.Add(mob);
+      data.Add(T);
+      data.Add(kb);
+      data.Add(D);
+
+      for (var i = 0; i < mob.Count; i++) {
+        var res = mob[i] * kb[i] * T[i];
+        D.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman47.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman47.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman47.cs	(revision 17639)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman47 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.43.43 1/(gamma-1)*kb*v/A"; } }
+
+    protected override string TargetVariable { get { return "kappa"; } }
+    protected override string[] VariableNames { get { return new[] {"gamma", "kb", "A", "v", "kappa"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"gamma", "kb", "A", "v"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman47() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman47(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var gamma = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 2, 5).ToList();
+      var kb    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var A     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var v     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var kappa = new List<double>();
+
+      data.Add(gamma);
+      data.Add(kb);
+      data.Add(A);
+      data.Add(v);
+      data.Add(kappa);
+
+      for (var i = 0; i < gamma.Count; i++) {
+        var res = 1.0 / (gamma[i] - 1) * kb[i] * v[i] / A[i];
+        kappa.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman48.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman48.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman48.cs	(revision 17639)
@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman48 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.44.4 n*kb*T*ln(V2/V1)"; } }
+
+    protected override string TargetVariable { get { return "E_n"; } }
+    protected override string[] VariableNames { get { return new[] {"n", "kb", "T", "V1", "V2", "E_n"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"n", "kb", "T", "V1", "V2"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman48() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman48(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data = new List<List<double>>();
+      var n    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var kb   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var T    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var V1   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var V2   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var E_n = new List<double>();
+
+      data.Add(n);
+      data.Add(kb);
+      data.Add(T);
+      data.Add(V1);
+      data.Add(V2);
+      data.Add(E_n);
+
+      for (var i = 0; i < n.Count; i++) {
+        var res = n[i] * kb[i] * T[i] * Math.Log(V2[i] / V1[i]);
+        E_n.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman49.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman49.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman49.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman49 : FeynmanDescriptor {
+    public Feynman49() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman49(int seed) {
+      Seed = seed;
+    }
+
+    public override string Name { get { return "Feynman I.47.23 sqrt(gamma*pr/rho)"; } }
+
+    protected override string TargetVariable { get { return "c"; } }
+    protected override string[] VariableNames { get { return new[] {"gamma", "pr", "rho", "c"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"gamma", "pr", "rho"}; } }
+
+    public int Seed { get; private set; }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var gamma = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var pr    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var rho   = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+
+      var c = new List<double>();
+
+      data.Add(gamma);
+      data.Add(pr);
+      data.Add(rho);
+      data.Add(c);
+
+      for (var i = 0; i < gamma.Count; i++) {
+        var res = Math.Sqrt(gamma[i] * pr[i] / rho[i]);
+        c.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman5.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman5.cs	(revision 17638)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman5.cs	(revision 17639)
@@ -14,8 +14,5 @@
     protected override string[] VariableNames { get { return new string[] { "m1", "m2", "G", "x1", "x2", "y1", "y2", "z1", "z2", "F"}; } }
     protected override string[] AllowedInputVariables { get { return new string[] {"m1", "m2", "G", "x1", "x2", "y1", "y2", "z1", "z2"}; } }
-    protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 800000; } }
-    protected override int TestPartitionStart { get { return 800000; } }
-    protected override int TestPartitionEnd { get { return 1000000; } }
+
     public int Seed { get; private set; }
 
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman50.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman50.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman50.cs	(revision 17639)
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman50 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.48.2 m*c**2/sqrt(1-v**2/c**2)"; } }
+
+    protected override string TargetVariable { get { return "E_n"; } }
+    protected override string[] VariableNames { get { return new[] {"m", "v", "c", "E_n"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"m", "v", "c"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman50() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman50(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data = new List<List<double>>();
+      var m    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 5).ToList();
+      var v    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 2).ToList();
+      var c    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 3, 10).ToList();
+
+      var E_n = new List<double>();
+
+      data.Add(m);
+      data.Add(v);
+      data.Add(c);
+      data.Add(E_n);
+
+      for (var i = 0; i < m.Count; i++) {
+        var res = m[i] * Math.Pow(c[i], 2) / Math.Sqrt(1 - Math.Pow(v[i], 2) / Math.Pow(c[i], 2));
+        E_n.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman51.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman51.cs	(revision 17639)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman51.cs	(revision 17639)
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class Feynman51 : FeynmanDescriptor {
+    public override string Name { get { return "Feynman I.50.26 x1*(cos(omega*t)+alpha*cos(omega*t)**2)"; } }
+
+    protected override string TargetVariable { get { return "x"; } }
+    protected override string[] VariableNames { get { return new[] {"x1", "omega", "t", "alpha", "x"}; } }
+    protected override string[] AllowedInputVariables { get { return new[] {"x1", "omega", "t", "alpha"}; } }
+
+    public int Seed { get; private set; }
+
+    public Feynman51() : this((int) DateTime.Now.Ticks) { }
+
+    public Feynman51(int seed) {
+      Seed = seed;
+    }
+
+    protected override List<List<double>> GenerateValues() {
+      var rand = new MersenneTwister((uint) Seed);
+
+      var data  = new List<List<double>>();
+      var x1    = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 3).ToList();
+      var omega = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 3).ToList();
+      var t     = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 3).ToList();
+      var alpha = ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 1, 3).ToList();
+
+      var x = new List<double>();
+
+      data.Add(x1);
+      data.Add(omega);
+      data.Add(t);
+      data.Add(alpha);
+      data.Add(x);
+
+      for (var i = 0; i < x1.Count; i++) {
+        var res = x1[i] * (Math.Cos(omega[i] * t[i]) + alpha[i] * Math.Pow(Math.Cos(omega[i] * t[i]), 2));
+        x.Add(res);
+      }
+
+      return data;
+    }
+  }
+}
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman7.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman7.cs	(revision 17638)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/Feynman7.cs	(revision 17639)
@@ -14,8 +14,5 @@
     protected override string[] VariableNames { get { return new string[] { "x1", "x2", "x3", "y1", "y2", "y3", "A"}; } }
     protected override string[] AllowedInputVariables { get { return new string[] {"x1", "x2", "x3", "y1", "y2", "y3"}; } }
-    protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 80; } }
-    protected override int TestPartitionStart { get { return 80; } }
-    protected override int TestPartitionEnd { get { return 100; } }
+
     public int Seed { get; private set; }
 
Index: /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/FeynmanDescriptor.cs
===================================================================
--- /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/FeynmanDescriptor.cs	(revision 17638)
+++ /branches/3075_aifeynman_instances/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Feynman/FeynmanDescriptor.cs	(revision 17639)
@@ -14,7 +14,7 @@
 
     protected override int TrainingPartitionStart { get { return 0; } }
-    protected override int TrainingPartitionEnd { get { return 10; } }
-    protected override int TestPartitionStart { get { return 10; } }
-    protected override int TestPartitionEnd { get { return 20; } }
+    protected override int TrainingPartitionEnd { get { return 100000; } }
+    protected override int TestPartitionStart { get { return 100000; } }
+    protected override int TestPartitionEnd { get { return 200000; } }
   }
 }
