Index: branches/HeuristicLab.Problems.GrammaticalOptimization/Main/Program.cs
===================================================================
--- branches/HeuristicLab.Problems.GrammaticalOptimization/Main/Program.cs	(revision 11973)
+++ branches/HeuristicLab.Problems.GrammaticalOptimization/Main/Program.cs	(revision 11974)
@@ -30,5 +30,5 @@
       //RunGridTest();
       //RunGpGridTest();
-      RunFunApproxTest();
+     RunFunApproxTest();
     }
 
@@ -36,75 +36,75 @@
       int maxIterations = 200000; // for poly-10 with 50000 evaluations no successful try with hl yet
       //var globalRandom = new Random(31415);
-      var localRandSeed = 31415;
+      var localRandSeed = new Random().Next();
       var reps = 20;
 
       var policyFactories = new Func<IBanditPolicy>[]
         {
-         () => new RandomPolicy(), 
-          () => new ActiveLearningPolicy(),  
-         () => new EpsGreedyPolicy(0.01, (aInfo)=> aInfo.MaxReward, "max"), 
-         () => new EpsGreedyPolicy(0.05, (aInfo)=> aInfo.MaxReward, "max"), 
-         () => new EpsGreedyPolicy(0.1, (aInfo)=> aInfo.MaxReward, "max"), 
-         () => new EpsGreedyPolicy(0.2, (aInfo)=> aInfo.MaxReward, "max"), 
-         //() => new GaussianThompsonSamplingPolicy(), 
-         () => new GaussianThompsonSamplingPolicy(true), 
-         () => new GenericThompsonSamplingPolicy(new GaussianModel(0.5, 10, 1)), 
-         () => new GenericThompsonSamplingPolicy(new GaussianModel(0.5, 10, 1, 1)), 
-         //() => new BernoulliThompsonSamplingPolicy(),
-         () => new GenericThompsonSamplingPolicy(new BernoulliModel(1, 1)), 
-         () => new EpsGreedyPolicy(0.01), 
-         () => new EpsGreedyPolicy(0.05), 
-         () => new EpsGreedyPolicy(0.1), 
-         () => new EpsGreedyPolicy(0.2), 
-         () => new EpsGreedyPolicy(0.5), 
-         () => new UCTPolicy(0.01),
-         () => new UCTPolicy(0.05),
-         () => new UCTPolicy(0.1),
-         () => new UCTPolicy(0.5),
-         () => new UCTPolicy(1),
-         () => new UCTPolicy(2),
-         () => new UCTPolicy( 5),
-         () => new UCTPolicy( 10),
-         () => new ModifiedUCTPolicy(0.01),
-         () => new ModifiedUCTPolicy(0.05),
-         () => new ModifiedUCTPolicy(0.1),
-         () => new ModifiedUCTPolicy(0.5),
-         () => new ModifiedUCTPolicy(1),
-         () => new ModifiedUCTPolicy(2),
-         () => new ModifiedUCTPolicy( 5),
-         () => new ModifiedUCTPolicy( 10),
-         () => new UCB1Policy(), 
-         () => new UCB1TunedPolicy(), 
-         () => new UCBNormalPolicy(), 
-         () => new BoltzmannExplorationPolicy(1),
-         () => new BoltzmannExplorationPolicy(10),
-         () => new BoltzmannExplorationPolicy(20),
-         () => new BoltzmannExplorationPolicy(100),
-         () => new BoltzmannExplorationPolicy(200),
-         () => new BoltzmannExplorationPolicy(500),
+         //() => new RandomPolicy(), 
+         // () => new ActiveLearningPolicy(),  
+         //() => new EpsGreedyPolicy(0.01, (aInfo)=> aInfo.MaxReward, "max"), 
+         //() => new EpsGreedyPolicy(0.05, (aInfo)=> aInfo.MaxReward, "max"), 
+         //() => new EpsGreedyPolicy(0.1, (aInfo)=> aInfo.MaxReward, "max"), 
+         //() => new EpsGreedyPolicy(0.2, (aInfo)=> aInfo.MaxReward, "max"), 
+         ////() => new GaussianThompsonSamplingPolicy(), 
+         //() => new GaussianThompsonSamplingPolicy(true), 
+         //() => new GenericThompsonSamplingPolicy(new GaussianModel(0.5, 10, 1)), 
+         //() => new GenericThompsonSamplingPolicy(new GaussianModel(0.5, 10, 1, 1)), 
+         ////() => new BernoulliThompsonSamplingPolicy(),
+         //() => new GenericThompsonSamplingPolicy(new BernoulliModel(1, 1)), 
+         //() => new EpsGreedyPolicy(0.01), 
+         //() => new EpsGreedyPolicy(0.05), 
+         //() => new EpsGreedyPolicy(0.1), 
+         //() => new EpsGreedyPolicy(0.2), 
+         //() => new EpsGreedyPolicy(0.5), 
+         //() => new UCTPolicy(0.01),
+         //() => new UCTPolicy(0.05),
+         //() => new UCTPolicy(0.1),
+         //() => new UCTPolicy(0.5),
+         //() => new UCTPolicy(1),
+         //() => new UCTPolicy(2),
+         //() => new UCTPolicy( 5),
+         //() => new UCTPolicy( 10),
+         //() => new ModifiedUCTPolicy(0.01),
+         //() => new ModifiedUCTPolicy(0.05),
+         //() => new ModifiedUCTPolicy(0.1),
+         //() => new ModifiedUCTPolicy(0.5),
+         //() => new ModifiedUCTPolicy(1),
+         //() => new ModifiedUCTPolicy(2),
+         //() => new ModifiedUCTPolicy( 5),
+         //() => new ModifiedUCTPolicy( 10),
+         //() => new UCB1Policy(), 
+         //() => new UCB1TunedPolicy(), 
+         //() => new UCBNormalPolicy(), 
+         //() => new BoltzmannExplorationPolicy(1),
+         //() => new BoltzmannExplorationPolicy(10),
+         //() => new BoltzmannExplorationPolicy(20),
+         //() => new BoltzmannExplorationPolicy(100),
+         //() => new BoltzmannExplorationPolicy(200),
+         //() => new BoltzmannExplorationPolicy(500),
          () => new ChernoffIntervalEstimationPolicy( 0.01), 
          () => new ChernoffIntervalEstimationPolicy( 0.05),
          () => new ChernoffIntervalEstimationPolicy( 0.1),
          () => new ChernoffIntervalEstimationPolicy( 0.2),
-         () => new ThresholdAscentPolicy(5, 0.01), 
-         () => new ThresholdAscentPolicy(5, 0.05),
-         () => new ThresholdAscentPolicy(5, 0.1),
-         () => new ThresholdAscentPolicy(5, 0.2),
-         () => new ThresholdAscentPolicy(10, 0.01), 
-         () => new ThresholdAscentPolicy(10, 0.05),
-         () => new ThresholdAscentPolicy(10, 0.1),
-         () => new ThresholdAscentPolicy(10, 0.2),
-         () => new ThresholdAscentPolicy(50, 0.01), 
-         () => new ThresholdAscentPolicy(50, 0.05),
-         () => new ThresholdAscentPolicy(50, 0.1),
-         () => new ThresholdAscentPolicy(50, 0.2),
-         () => new ThresholdAscentPolicy(100, 0.01), 
-         () => new ThresholdAscentPolicy(100, 0.05),
-         () => new ThresholdAscentPolicy(100, 0.1),
-         () => new ThresholdAscentPolicy(100, 0.2),
-         () => new ThresholdAscentPolicy(500, 0.01), 
-         () => new ThresholdAscentPolicy(500, 0.05),
-         () => new ThresholdAscentPolicy(500, 0.1),
-         () => new ThresholdAscentPolicy(500, 0.2),
+         //() => new ThresholdAscentPolicy(5, 0.01), 
+         //() => new ThresholdAscentPolicy(5, 0.05),
+         //() => new ThresholdAscentPolicy(5, 0.1),
+         //() => new ThresholdAscentPolicy(5, 0.2),
+         //() => new ThresholdAscentPolicy(10, 0.01), 
+         //() => new ThresholdAscentPolicy(10, 0.05),
+         //() => new ThresholdAscentPolicy(10, 0.1),
+         //() => new ThresholdAscentPolicy(10, 0.2),
+         //() => new ThresholdAscentPolicy(50, 0.01), 
+         //() => new ThresholdAscentPolicy(50, 0.05),
+         //() => new ThresholdAscentPolicy(50, 0.1),
+         //() => new ThresholdAscentPolicy(50, 0.2),
+         //() => new ThresholdAscentPolicy(100, 0.01), 
+         //() => new ThresholdAscentPolicy(100, 0.05),
+         //() => new ThresholdAscentPolicy(100, 0.1),
+         //() => new ThresholdAscentPolicy(100, 0.2),
+         //() => new ThresholdAscentPolicy(500, 0.01), 
+         //() => new ThresholdAscentPolicy(500, 0.05),
+         //() => new ThresholdAscentPolicy(500, 0.1),
+         //() => new ThresholdAscentPolicy(500, 0.2),
          //() => new ThresholdAscentPolicy(5000, 0.01), 
          //() => new ThresholdAscentPolicy(10000, 0.01), 
@@ -128,5 +128,5 @@
               var localRand = new Random(localRandSeed);
               var options = new ParallelOptions();
-              options.MaxDegreeOfParallelism = 4;
+              options.MaxDegreeOfParallelism = 1;
               Parallel.For(0, reps, options, (i) => {
                 Random myLocalRand;
@@ -314,6 +314,6 @@
       var problemFactories = new Func<Tuple<int, int, ISymbolicExpressionTreeProblem>>[]
       {
-        () => Tuple.Create(100000, 23,  (ISymbolicExpressionTreeProblem)new SymbolicRegressionPoly10Problem()), 
-        //() => Tuple.Create(100000, 17, (ISymbolicExpressionTreeProblem)new SantaFeAntProblem()), 
+        //() => Tuple.Create(100000, 23,  (ISymbolicExpressionTreeProblem)new SymbolicRegressionPoly10Problem()), 
+        () => Tuple.Create(100000, 17, (ISymbolicExpressionTreeProblem)new SantaFeAntProblem()), 
         //() => Tuple.Create(50000, 32,(ISymbolicExpressionTreeProblem)new RoyalSymbolProblem()), 
         //() => Tuple.Create(50000, 64, (ISymbolicExpressionTreeProblem)new RoyalPairProblem()), 
