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/Tests/Grammars.cs

    r5567 r5686  
    9494    }
    9595
    96     private class SimpleArithmeticGrammar : DefaultSymbolicExpressionGrammar {
     96    private class SimpleArithmeticGrammar : SymbolicExpressionGrammar {
    9797      protected SimpleArithmeticGrammar(SimpleArithmeticGrammar original, Cloner cloner) : base(original, cloner) { }
    9898      public SimpleArithmeticGrammar()
     
    119119
    120120        foreach (var funSymb in functionSymbols) {
    121           SetMinSubtreeCount(funSymb, 1);
    122           SetMaxSubtreeCount(funSymb, 3);
     121          SetSubtreeCount(funSymb, 1, 3);
    123122        }
    124         SetMinSubtreeCount(terminal, 0);
    125         SetMaxSubtreeCount(terminal, 0);
     123        SetSubtreeCount(terminal, 0, 0);
    126124
     125        SetSubtreeCount(StartSymbol, 1, 1);
    127126        // allow each symbol as child of the start symbol
    128127        foreach (var symb in allSymbols) {
    129           SetAllowedChild(StartSymbol, symb, 0);
     128          AddAllowedChildSymbol(StartSymbol, symb);
     129          AddAllowedChildSymbol(DefunSymbol, symb);
    130130        }
    131131
    132132        // allow each symbol as child of every other symbol (except for terminals that have maxSubtreeCount == 0)
    133         foreach (var parent in allSymbols) {
    134           for (int i = 0; i < GetMaxSubtreeCount(parent); i++)
    135             foreach (var child in allSymbols) {
    136               SetAllowedChild(parent, child, i);
    137             }
     133        foreach (var parent in functionSymbols) {
     134          foreach (var child in allSymbols) {
     135            AddAllowedChildSymbol(parent, child);
     136          }
    138137        }
    139138      }
    140139    }
    141140
    142     public static ISymbolicExpressionTreeGrammar CreateSimpleArithmeticGrammar() {
    143       var g = new GlobalSymbolicExpressionGrammar(new SimpleArithmeticGrammar());
    144       g.MaxFunctionArguments = 0;
    145       g.MinFunctionArguments = 0;
    146       g.MaxFunctionDefinitions = 0;
    147       g.MinFunctionDefinitions = 0;
     141    public static ISymbolicExpressionGrammar CreateSimpleArithmeticGrammar() {
     142      var g = new SimpleArithmeticGrammar();
     143      g.MaximumFunctionArguments = 0;
     144      g.MinimumFunctionArguments = 0;
     145      g.MaximumFunctionDefinitions = 0;
     146      g.MinimumFunctionDefinitions = 0;
    148147      return g;
    149148    }
    150149
    151     public static ISymbolicExpressionTreeGrammar CreateArithmeticAndAdfGrammar() {
    152       var g = new GlobalSymbolicExpressionGrammar(new SimpleArithmeticGrammar());
    153       g.MaxFunctionArguments = 3;
    154       g.MinFunctionArguments = 0;
    155       g.MaxFunctionDefinitions = 3;
    156       g.MinFunctionDefinitions = 0;
     150    public static ISymbolicExpressionGrammar CreateArithmeticAndAdfGrammar() {
     151      var g = new SimpleArithmeticGrammar();
     152      g.MaximumFunctionArguments = 3;
     153      g.MinimumFunctionArguments = 0;
     154      g.MaximumFunctionDefinitions = 3;
     155      g.MinimumFunctionDefinitions = 0;
    157156      return g;
    158157    }
Note: See TracChangeset for help on using the changeset viewer.