Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/01/11 13:45:24 (14 years ago)
Author:
gkronber
Message:

#1418 fixed bugs in symbolic expression tree operators.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Creators/ProbabilisticTreeCreator.cs

    r5809 r5925  
    153153        } else {
    154154          var allowedSymbols = (from s in parent.Grammar.Symbols
     155                                where s.InitialFrequency > 0.0
    155156                                where parent.Grammar.IsAllowedChildSymbol(parent.Symbol, s, argumentIndex)
    156157                                where parent.Grammar.GetMinimumExpressionDepth(s) + extensionDepth - 1 < maxDepth
     
    200201      // determine possible symbols that will lead to the smallest possible tree
    201202      var possibleSymbols = (from s in parent.Grammar.GetAllowedChildSymbols(parent.Symbol, childIndex)
     203                             where s.InitialFrequency > 0.0
    202204                             group s by parent.Grammar.GetMinimumExpressionLength(s) into g
    203205                             orderby g.Key
     
    239241      for (int i = 0; i < maxArity; i++) {
    240242        aggregatedLongestExpressionLength += (from s in node.Grammar.GetAllowedChildSymbols(node.Symbol, i)
     243                                              where s.InitialFrequency > 0.0
    241244                                              select node.Grammar.GetMaximumExpressionLength(s)).Max();
    242         if (aggregatedLongestExpressionLength < targetLength) minArity = i;
     245        if (aggregatedLongestExpressionLength < targetLength) minArity = i + 1;
    243246        else break;
    244247      }
     
    249252      for (int i = 0; i < maxArity; i++) {
    250253        aggregatedShortestExpressionLength += (from s in node.Grammar.GetAllowedChildSymbols(node.Symbol, i)
     254                                               where s.InitialFrequency > 0.0
    251255                                               select node.Grammar.GetMinimumExpressionLength(s)).Min();
    252256        if (aggregatedShortestExpressionLength > targetLength) {
Note: See TracChangeset for help on using the changeset viewer.