Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/BreimanOne.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/BreimanOne.cs	(revision 7849)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/BreimanOne.cs	(revision 7860)
@@ -48,8 +48,8 @@
       List<List<double>> data = new List<List<double>>();
       List<int> values = new List<int>() { -1, 1 };
-      data.Add(BreimanOne.GenerateUniformIntegerDistribution(values, TestPartitionEnd));
+      data.Add(GenerateUniformIntegerDistribution(values, TestPartitionEnd));
       values.Add(0);
       for (int i = 0; i < AllowedInputVariables.Count() - 1; i++) {
-        data.Add(BreimanOne.GenerateUniformIntegerDistribution(values, TestPartitionEnd));
+        data.Add(GenerateUniformIntegerDistribution(values, TestPartitionEnd));
       }
 
@@ -79,5 +79,5 @@
     }
 
-    public static List<double> GenerateUniformIntegerDistribution(List<int> classes, int amount) {
+    private List<double> GenerateUniformIntegerDistribution(List<int> classes, int amount) {
       List<double> values = new List<double>();
       for (int i = 0; i < amount; i++) {
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanOne.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanOne.cs	(revision 7860)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanOne.cs	(revision 7860)
@@ -0,0 +1,72 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class FriedmanOne : ArtificialRegressionDataDescriptor {
+
+    public override string Name { get { return "Friedman - I"; } }
+    public override string Description {
+      get {
+        return "Paper: Multivariate Adaptive Regression Splines" + Environment.NewLine
+        + "Authors: Jerome H. Friedman";
+      }
+    }
+    protected override string TargetVariable { get { return "Y"; } }
+    protected override string[] InputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10", "Y" }; } }
+    protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "X6", "X7", "X8", "X9", "X10" }; } }
+    protected override int TrainingPartitionStart { get { return 0; } }
+    protected override int TrainingPartitionEnd { get { return 5000; } }
+    protected override int TestPartitionStart { get { return 5000; } }
+    protected override int TestPartitionEnd { get { return 10000; } }
+
+    protected static FastRandom rand = new FastRandom();
+
+    protected override List<List<double>> GenerateValues() {
+      List<List<double>> data = new List<List<double>>();
+      for (int i = 0; i < AllowedInputVariables.Count(); i++) {
+        data.Add(ValueGenerator.GenerateUniformDistributedValues(10000, 0, 1).ToList());
+      }
+
+      double x1, x2, x3, x4, x5;
+      double f;
+      List<double> results = new List<double>();
+      for (int i = 0; i < data[0].Count; i++) {
+        x1 = data[0][i];
+        x2 = data[1][i];
+        x3 = data[2][i];
+        x4 = data[3][i];
+        x5 = data[4][i];
+
+        f = 0.1 * Math.Exp(4 * x1) + 4 / (1 + Math.Exp(-20 * (x2 - 0.5))) + 3 * x3 + 2 * x4 + x5;
+
+        results.Add(f + NormalDistributedRandom.NextDouble(rand, 0, 1));
+      }
+      data.Add(results);
+
+      return data;
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanTwo.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanTwo.cs	(revision 7860)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/FriedmanTwo.cs	(revision 7860)
@@ -0,0 +1,72 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using HeuristicLab.Random;
+
+namespace HeuristicLab.Problems.Instances.DataAnalysis {
+  public class FriedmanTwo : ArtificialRegressionDataDescriptor {
+
+    public override string Name { get { return "Friedman - II"; } }
+    public override string Description {
+      get {
+        return "Paper: Multivariate Adaptive Regression Splines" + Environment.NewLine
+        + "Authors: Jerome H. Friedman";
+      }
+    }
+    protected override string TargetVariable { get { return "Y"; } }
+    protected override string[] InputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5", "Y" }; } }
+    protected override string[] AllowedInputVariables { get { return new string[] { "X1", "X2", "X3", "X4", "X5" }; } }
+    protected override int TrainingPartitionStart { get { return 0; } }
+    protected override int TrainingPartitionEnd { get { return 5000; } }
+    protected override int TestPartitionStart { get { return 5000; } }
+    protected override int TestPartitionEnd { get { return 10000; } }
+
+    protected static FastRandom rand = new FastRandom();
+
+    protected override List<List<double>> GenerateValues() {
+      List<List<double>> data = new List<List<double>>();
+      for (int i = 0; i < AllowedInputVariables.Count(); i++) {
+        data.Add(ValueGenerator.GenerateUniformDistributedValues(10000, 0, 1).ToList());
+      }
+
+      double x1, x2, x3, x4, x5;
+      double f;
+      List<double> results = new List<double>();
+      for (int i = 0; i < data[0].Count; i++) {
+        x1 = data[0][i];
+        x2 = data[1][i];
+        x3 = data[2][i];
+        x4 = data[3][i];
+        x5 = data[4][i];
+
+        f = 10 * Math.Sin(Math.PI * x1 * x2) + 20 * Math.Pow(x3 - 0.5, 2) + 10 * x4 + 5 * x5;
+
+        results.Add(f + NormalDistributedRandom.NextDouble(rand, 0, 1));
+      }
+      data.Add(results);
+
+      return data;
+    }
+  }
+}
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/VariousInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/VariousInstanceProvider.cs	(revision 7849)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Various/VariousInstanceProvider.cs	(revision 7860)
@@ -32,5 +32,5 @@
     }
     public override Uri WebLink {
-      get { return null; }
+      get { return new Uri("http://dev.heuristiclab.com/trac/hl/core/wiki/AdditionalMaterial"); }
     }
     public override string ReferencePublication {
@@ -41,4 +41,6 @@
       List<IDataDescriptor> descriptorList = new List<IDataDescriptor>();
       descriptorList.Add(new BreimanOne());
+      descriptorList.Add(new FriedmanOne());
+      descriptorList.Add(new FriedmanTwo());
       descriptorList.Add(new PolyTen());
       descriptorList.Add(new SpatialCoevolution());
