Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/15/11 13:34:38 (13 years ago)
Author:
mkommend
Message:

#1418: Finally added results from the grammar refactoring.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis Refactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/ArchitectureManipulators/ArgumentDuplicater.cs

    r5529 r5686  
    107107      // register the new argument symbol and increase the number of arguments of the ADF
    108108      selectedDefunBranch.Grammar.AddSymbol(newArgSymbol);
    109       selectedDefunBranch.Grammar.SetMinSubtreeCount(newArgSymbol, 0);
    110       selectedDefunBranch.Grammar.SetMaxSubtreeCount(newArgSymbol, 0);
     109      selectedDefunBranch.Grammar.SetSubtreeCount(newArgSymbol, 0, 0);
    111110      // allow the argument as child of any other symbol
    112111      foreach (var symb in selectedDefunBranch.Grammar.Symbols)
    113         for (int i = 0; i < selectedDefunBranch.Grammar.GetMaxSubtreeCount(symb); i++) {
    114           selectedDefunBranch.Grammar.SetAllowedChild(symb, newArgSymbol, i);
     112        for (int i = 0; i < selectedDefunBranch.Grammar.GetMaximumSubtreeCount(symb); i++) {
     113          selectedDefunBranch.Grammar.AddAllowedChildSymbol(symb, newArgSymbol, i);
    115114        }
    116115      selectedDefunBranch.NumberOfArguments++;
     
    122121                                    select symb).SingleOrDefault();
    123122        if (matchingInvokeSymbol != null) {
    124           subtree.Grammar.SetMinSubtreeCount(matchingInvokeSymbol, selectedDefunBranch.NumberOfArguments);
    125           subtree.Grammar.SetMaxSubtreeCount(matchingInvokeSymbol, selectedDefunBranch.NumberOfArguments);
    126           foreach (var child in subtree.Grammar.GetAllowedSymbols(subtree.Symbol, 0)) {
    127             for (int i = 0; i < subtree.Grammar.GetMaxSubtreeCount(matchingInvokeSymbol); i++) {
    128               subtree.Grammar.SetAllowedChild(matchingInvokeSymbol, child, i);
     123          subtree.Grammar.SetSubtreeCount(matchingInvokeSymbol, selectedDefunBranch.NumberOfArguments, selectedDefunBranch.NumberOfArguments);
     124          foreach (var child in subtree.Grammar.GetAllowedChildSymbols(subtree.Symbol, 0)) {
     125            for (int i = 0; i < subtree.Grammar.GetMaximumSubtreeCount(matchingInvokeSymbol); i++) {
     126              subtree.Grammar.AddAllowedChildSymbol(matchingInvokeSymbol, child, i);
    129127            }
    130128          }
Note: See TracChangeset for help on using the changeset viewer.