Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/15/10 19:58:42 (14 years ago)
Author:
gkronber
Message:

Fixed bugs in ADF operators and added test classes for ADF operators. #290 (Implement ADFs)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.3/SymbolicExpressionTreeNode.cs

    r3338 r3360  
    128128      yield return this;
    129129    }
    130     //public int GetMinExpressionLength() {
    131     //  return Grammar.GetMinExpressionLength(Symbol);
    132     //}
    133     //public int GetMaxExpressionLength() {
    134     //  return Grammar.GetMaxExpressionLength(Symbol);
    135     //}
    136     //public int GetMinExpressionDepth() {
    137     //  return Grammar.GetMinExpressionDepth(Symbol);
    138     //}
    139130    public IEnumerable<Symbol> GetAllowedSymbols(int argumentIndex) {
    140131      return Grammar.Symbols.Where(s => Grammar.IsAllowedChild(Symbol, s, argumentIndex));
     
    146137      return Grammar.GetMaxSubtreeCount(Symbol);
    147138    }
    148     //public int GetMaxExpressionLength(Symbol s) {
    149     //  return Grammar.GetMaxExpressionLength(s);
    150     //}
    151     //public int GetMinExpressionLength(Symbol s) {
    152     //  return Grammar.GetMinExpressionLength(s);
    153     //}
    154     //public int GetMinExpressionDepth(Symbol s) {
    155     //  return Grammar.GetMinExpressionDepth(s);
    156     //}
    157139
    158140    #region ICloneable Members
     
    165147
    166148
    167     public bool IsValidTree() {
    168       var matchingSymbol = (from symb in Grammar.Symbols
    169                             where symb.Name == Symbol.Name
    170                             select symb).SingleOrDefault();
    171149
    172       if (SubTrees.Count < Grammar.GetMinSubtreeCount(matchingSymbol)) return false;
    173       else if (SubTrees.Count > Grammar.GetMaxSubtreeCount(matchingSymbol)) return false;
    174       else for (int i = 0; i < SubTrees.Count; i++) {
    175           if (!GetAllowedSymbols(i).Select(x => x.Name).Contains(SubTrees[i].Symbol.Name)) return false;
    176           if (!SubTrees[i].IsValidTree()) return false;
    177         }
    178       return true;
    179     }
    180150  }
    181151}
Note: See TracChangeset for help on using the changeset viewer.