Changeset 14198


Ignore:
Timestamp:
07/23/16 14:40:12 (13 months ago)
Author:
mkommend
Message:

#2643: Corrected small bug in subtree crossover to preserve backwards compatibility.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Crossovers/SubtreeCrossover.cs

    r14185 r14198  
    9595      int childLength = crossoverPoint0.Child != null ? crossoverPoint0.Child.GetLength() : 0;
    9696      // calculate the max length and depth that the inserted branch can have
    97       int maxInsertedBranchLength = Math.Max(1, maxTreeLength - (parent0.Length - childLength));
    98       int maxInsertedBranchDepth = Math.Max(1, maxTreeDepth - parent0.Root.GetBranchLevel(crossoverPoint0.Parent));
     97      int maxInsertedBranchLength = Math.Max(0, maxTreeLength - (parent0.Length - childLength));
     98      int maxInsertedBranchDepth = Math.Max(0, maxTreeDepth - parent0.Root.GetBranchLevel(crossoverPoint0.Parent));
    9999
    100100      List<ISymbolicExpressionTreeNode> allowedBranches = new List<ISymbolicExpressionTreeNode>();
Note: See TracChangeset for help on using the changeset viewer.