Index: /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/EpsGreedy.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/EpsGreedy.cs	(revision 13660)
+++ /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/EpsGreedy.cs	(revision 13661)
@@ -12,5 +12,5 @@
 namespace HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression.Policies {
   [Item("EpsilonGreedy", "Epsilon greedy policy with parameter eps to balance between exploitation and exploration")]
-  internal class EpsilonGreedy : PolicyBase {
+  public class EpsilonGreedy : PolicyBase {
     private class ActionStatistics : IActionStatistics {
       public double SumQuality { get; set; }
Index: /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/PolicyBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/PolicyBase.cs	(revision 13660)
+++ /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/PolicyBase.cs	(revision 13661)
@@ -11,5 +11,5 @@
 namespace HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression.Policies {
   [StorableClass]
-  internal abstract class PolicyBase : Item, IParameterizedItem, IPolicy {
+  public abstract class PolicyBase : Item, IParameterizedItem, IPolicy {
     [Storable]
     public IKeyedItemCollection<string, IParameter> Parameters { get; private set; }
Index: /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/Ucb.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/Ucb.cs	(revision 13660)
+++ /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/Ucb.cs	(revision 13661)
@@ -12,5 +12,5 @@
 namespace HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression.Policies {
   [Item("Ucb Policy", "Ucb with parameter c to balance between exploitation and exploration")]
-  internal class Ucb : PolicyBase {
+  public class Ucb : PolicyBase {
     private class ActionStatistics : IActionStatistics {
       public double SumQuality { get; set; }
Index: /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/UcbTuned.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/UcbTuned.cs	(revision 13660)
+++ /trunk/sources/HeuristicLab.Algorithms.DataAnalysis/3.4/MctsSymbolicRegression/Policies/UcbTuned.cs	(revision 13661)
@@ -12,5 +12,5 @@
 namespace HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression.Policies {
   [Item("UcbTuned Policy", "UcbTuned is similar to Ucb but tracks empirical variance. Use parameter c to balance between exploitation and exploration")]
-  internal class UcbTuned : PolicyBase {
+  public class UcbTuned : PolicyBase {
     private class ActionStatistics : IActionStatistics {
       public double SumQuality { get; set; }
Index: /trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.DataAnalysis-3.4/MctsSymbolicRegressionTest.cs
===================================================================
--- /trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.DataAnalysis-3.4/MctsSymbolicRegressionTest.cs	(revision 13660)
+++ /trunk/sources/HeuristicLab.Tests/HeuristicLab.Algorithms.DataAnalysis-3.4/MctsSymbolicRegressionTest.cs	(revision 13661)
@@ -4,4 +4,5 @@
 using System.Threading;
 using HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression;
+using HeuristicLab.Algorithms.DataAnalysis.MctsSymbolicRegression.Policies;
 using HeuristicLab.Data;
 using HeuristicLab.Optimization;
@@ -274,5 +275,5 @@
     #endregion
 
-  
+
     #region Nguyen
     [TestMethod]
@@ -505,5 +506,7 @@
       mctsSymbReg.Iterations = iterations;
       mctsSymbReg.MaxVariableReferences = 10;
-      mctsSymbReg.C = 2; // less greedy
+      var ucbPolicy = new Ucb();
+      ucbPolicy.C = 2;
+      mctsSymbReg.Policy = ucbPolicy;
       mctsSymbReg.SetSeedRandomly = false;
       mctsSymbReg.Seed = 1234;
@@ -540,5 +543,7 @@
       mctsSymbReg.Iterations = int.MaxValue; // stopping when all solutions have been enumerated
       mctsSymbReg.MaxVariableReferences = maxNumberOfVariables;
-      mctsSymbReg.C = 1000; // essentially breath first seach
+      var ucbPolicy = new Ucb();
+      ucbPolicy.C = 1000; // essentially breadth first search
+      mctsSymbReg.Policy = ucbPolicy;
       mctsSymbReg.AllowedFactors.SetItemCheckedState(mctsSymbReg.AllowedFactors.Single(s => s.Value.StartsWith("prod")), allowProd);
       mctsSymbReg.AllowedFactors.SetItemCheckedState(mctsSymbReg.AllowedFactors.Single(s => s.Value.Contains("exp")), allowExp);
