Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionEight.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionEight.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionEight.cs	(revision 14228)
@@ -46,7 +46,14 @@
     protected override int TestPartitionEnd { get { return 520; } }
 
+    public int Seed { get; }
+
+    public NguyenFunctionEight() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionEight(int seed) : base() {
+      Seed = seed;
+    }
+
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(520, 0, 4).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, 0, 4).ToList());
 
       double x;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionEleven.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionEleven.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionEleven.cs	(revision 14228)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
@@ -45,9 +46,16 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 1020; } }
+    public int Seed { get; }
 
+    public NguyenFunctionEleven() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionEleven(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, 0, 1).ToList());
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, 0, 1).ToList());
+      var rand = new MersenneTwister((uint)Seed);
+
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 1).ToList());
 
       double x, y;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionFive.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionFive.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionFive.cs	(revision 14228)
@@ -45,8 +45,13 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 520; } }
+    public int Seed { get; }
 
+    public NguyenFunctionFive() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionFive(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(520, -1, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, -1, 1).ToList());
 
       double x;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionFour.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionFour.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionFour.cs	(revision 14228)
@@ -45,8 +45,13 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 520; } }
+    public int Seed { get; }
 
+    public NguyenFunctionFour() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionFour(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(520, -1, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, -1, 1).ToList());
 
       double x;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionNine.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionNine.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionNine.cs	(revision 14228)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
@@ -45,9 +46,16 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 1020; } }
+    public int Seed { get; }
 
+    public NguyenFunctionNine() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionNine(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, 0, 1).ToList());
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(TestPartitionEnd, 0, 1).ToList());
+      var rand = new MersenneTwister((uint)Seed);
+
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), TestPartitionEnd, 0, 1).ToList());
 
       double x, y;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionOne.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionOne.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionOne.cs	(revision 14228)
@@ -45,8 +45,13 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 520; } }
+    public int Seed { get; }
 
+    public NguyenFunctionOne() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionOne(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(520, -1, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, -1, 1).ToList());
 
       double x;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionSeven.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionSeven.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionSeven.cs	(revision 14228)
@@ -46,7 +46,13 @@
     protected override int TestPartitionEnd { get { return 520; } }
 
+    public int Seed { get; }
+
+    public NguyenFunctionSeven() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionSeven(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(520, 0, 2).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, 0, 2).ToList());
 
       double x;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionSix.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionSix.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionSix.cs	(revision 14228)
@@ -45,8 +45,13 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 520; } }
+    public int Seed { get; }
 
+    public NguyenFunctionSix() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionSix(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(520, -1, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, -1, 1).ToList());
 
       double x;
@@ -54,5 +59,5 @@
       for (int i = 0; i < data[0].Count; i++) {
         x = data[0][i];
-        results.Add(Math.Sin(x) + Math.Sin(x + x*x));
+        results.Add(Math.Sin(x) + Math.Sin(x + x * x));
       }
       data.Add(results);
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionTen.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionTen.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionTen.cs	(revision 14228)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
@@ -45,9 +46,16 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 1020; } }
+    public int Seed { get; }
 
+    public NguyenFunctionTen() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionTen(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(1020, 0, 1).ToList());
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(1020, 0, 1).ToList());
+      var rand = new MersenneTwister((uint)Seed);
+
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 1020, 0, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 1020, 0, 1).ToList());
 
       double x, y;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionThree.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionThree.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionThree.cs	(revision 14228)
@@ -45,8 +45,13 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 520; } }
+    public int Seed { get; }
 
+    public NguyenFunctionThree() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionThree(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(520, -1, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, -1, 1).ToList());
 
       double x;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionTwelve.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionTwelve.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionTwelve.cs	(revision 14228)
@@ -23,4 +23,5 @@
 using System.Collections.Generic;
 using System.Linq;
+using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
@@ -45,9 +46,16 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 1020; } }
+    public int Seed { get; }
 
+    public NguyenFunctionTwelve() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionTwelve(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(1020, 0, 1).ToList());
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(1020, 0, 1).ToList());
+      var rand = new MersenneTwister((uint)Seed);
+
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 1020, 0, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(rand.Next(), 1020, 0, 1).ToList());
 
       double x, y;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionTwo.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionTwo.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenFunctionTwo.cs	(revision 14228)
@@ -45,8 +45,13 @@
     protected override int TestPartitionStart { get { return 20; } }
     protected override int TestPartitionEnd { get { return 520; } }
+    public int Seed { get; }
 
+    public NguyenFunctionTwo() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenFunctionTwo(int seed) : base() {
+      Seed = seed;
+    }
     protected override List<List<double>> GenerateValues() {
       List<List<double>> data = new List<List<double>>();
-      data.Add(ValueGenerator.GenerateUniformDistributedValues(520, -1, 1).ToList());
+      data.Add(ValueGenerator.GenerateUniformDistributedValues(Seed, 520, -1, 1).ToList());
 
       double x;
Index: trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenInstanceProvider.cs
===================================================================
--- trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenInstanceProvider.cs	(revision 14185)
+++ trunk/sources/HeuristicLab.Problems.Instances.DataAnalysis/3.3/Regression/Nguyen/NguyenInstanceProvider.cs	(revision 14228)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections.Generic;
+using HeuristicLab.Random;
 
 namespace HeuristicLab.Problems.Instances.DataAnalysis {
@@ -37,19 +38,26 @@
       get { return "McDermott et al., 2012 \"Genetic Programming Needs Better Benchmarks\", in Proc. of GECCO 2012."; }
     }
+    public int Seed { get; }
+
+    public NguyenInstanceProvider() : this((int)System.DateTime.Now.Ticks) { }
+    public NguyenInstanceProvider(int seed) : base() {
+      Seed = seed;
+    }
 
     public override IEnumerable<IDataDescriptor> GetDataDescriptors() {
       List<IDataDescriptor> descriptorList = new List<IDataDescriptor>();
-      descriptorList.Add(new NguyenFunctionOne());
-      descriptorList.Add(new NguyenFunctionTwo());
-      descriptorList.Add(new NguyenFunctionThree());
-      descriptorList.Add(new NguyenFunctionFour());
-      descriptorList.Add(new NguyenFunctionFive());
-      descriptorList.Add(new NguyenFunctionSix());
-      descriptorList.Add(new NguyenFunctionSeven());
-      descriptorList.Add(new NguyenFunctionEight());
-      descriptorList.Add(new NguyenFunctionNine());
-      descriptorList.Add(new NguyenFunctionTen());
-      descriptorList.Add(new NguyenFunctionEleven());
-      descriptorList.Add(new NguyenFunctionTwelve());
+      var rand = new MersenneTwister((uint)Seed);
+      descriptorList.Add(new NguyenFunctionOne(rand.Next()));
+      descriptorList.Add(new NguyenFunctionTwo(rand.Next()));
+      descriptorList.Add(new NguyenFunctionThree(rand.Next()));
+      descriptorList.Add(new NguyenFunctionFour(rand.Next()));
+      descriptorList.Add(new NguyenFunctionFive(rand.Next()));
+      descriptorList.Add(new NguyenFunctionSix(rand.Next()));
+      descriptorList.Add(new NguyenFunctionSeven(rand.Next()));
+      descriptorList.Add(new NguyenFunctionEight(rand.Next()));
+      descriptorList.Add(new NguyenFunctionNine(rand.Next()));
+      descriptorList.Add(new NguyenFunctionTen(rand.Next()));
+      descriptorList.Add(new NguyenFunctionEleven(rand.Next()));
+      descriptorList.Add(new NguyenFunctionTwelve(rand.Next()));
       return descriptorList;
     }
