Changeset 10394


Ignore:
Timestamp:
01/24/14 20:07:33 (5 years ago)
Author:
gkronber
Message:

#2026 fixed a bug in generation of terminal nodes

Location:
branches/HeuristicLab.Problems.GPDL
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.GPDL/CodeGenerator/BruteForceCodeGen.cs

    r10393 r10394  
    106106          if (problem.IsBetter(f, bestF)) {
    107107            bestF = f;
     108            t.PrintTree(0); Console.WriteLine();
    108109            Console.WriteLine(""{0}\t{1}\t(size={2}, depth={3})"", n, bestF, size, depth);
    109110          }
     
    153154          sb.AppendFormat("t = new {0}Tree();", terminal.Ident).AppendLine();
    154155
    155           foreach (var constr in terminal.Constraints.Reverse()) {
    156             sb.AppendFormat("t.{0} = {0};", constr.Ident).EndBlock();
    157             sb.AppendLine("}");
     156          foreach (var constr in terminal.Constraints) {
     157            sb.AppendFormat("t.{0} = {0};", constr.Ident);
     158          }
     159          sb.AppendLine("yield return t; ");
     160
     161          foreach (var _ in terminal.Constraints) {
     162            sb.AppendLine("}").EndBlock();
    158163          }
    159164
    160           sb.AppendLine("yield return t; ").EndBlock();
    161165
    162166          sb.AppendLine(" break; }");
  • branches/HeuristicLab.Problems.GPDL/CodeGenerator/ProblemCodeGen.cs

    r10393 r10394  
    7676      else return 1 + subtrees.Max(t=>t.GetDepth());
    7777    }
    78     public void PrintTree(int curState) {
     78    public virtual void PrintTree(int curState) {
    7979      Console.Write(""{0} "", Grammar.symb[curState]);
    8080      if(subtrees != null) {
     
    254254      }
    255255      sb.AppendFormat(" public {0}Tree() : base() {{ }}", terminal.Ident).AppendLine();
     256      sb.AppendLine(@"
     257          public override void PrintTree(int curState) {
     258            Console.Write(""{0} "", Grammar.symb[curState]);");
     259      foreach (var att in terminal.FieldDefinitions) {
     260        sb.AppendFormat("Console.Write(\"{{0}} \", {0});", att.Identifier).AppendLine();
     261      }
     262
     263      sb.AppendLine("}");
     264
    256265      sb.AppendLine("}");
    257266    }
  • branches/HeuristicLab.Problems.GPDL/Examples/symbreg Koza.txt

    r10392 r10394  
    5757  int n = 500;
    5858  variableNames = new string[] {"x1", "x2", "x3", "x4", "x5", "x6", "x7", "x8", "x9", "x10" };
    59   var rand = new System.Random();
     59  var rand = new System.Random(31415);
    6060  x = new double[n, 10];
    6161  y = new double[n];
  • branches/HeuristicLab.Problems.GPDL/HeuristicLab.Problems.GPDL.sln

    r10392 r10394  
    116116    {E2060931-6700-464B-9E82-50846D7AE4E9} = {3768D612-38EB-47D8-9E79-75D8E5AB00A8}
    117117  EndGlobalSection
    118   GlobalSection(Performance) = preSolution
    119     HasPerformanceSessions = true
    120   EndGlobalSection
    121118EndGlobal
Note: See TracChangeset for help on using the changeset viewer.