Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
02/16/15 09:14:38 (9 years ago)
Author:
gkronber
Message:

#2283: worked on transformation of arithmetic expressions to canonical form

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Problems.GrammaticalOptimization.SymbReg/SymbolicRegressionProblem.cs

    r11981 r12014  
    99using System.Text;
    1010using AutoDiff;
     11using HeuristicLab.Algorithms.Bandits;
    1112using HeuristicLab.Common;
    1213using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
     
    128129        return OptimizeConstantsAndEvaluate(sentence);
    129130      else {
     131        var extender = new ExpressionExtender();
     132
     133        Debug.Assert(SimpleEvaluate(sentence) == SimpleEvaluate(extender.CanonicalRepresentation(sentence)));
    130134        return SimpleEvaluate(sentence);
    131135      }
     
    143147
    144148    public string CanonicalRepresentation(string phrase) {
    145       return phrase;
     149      var extender = new ExpressionExtender();
     150      return extender.CanonicalRepresentation(phrase);
    146151    }
    147152
    148153    public IEnumerable<Feature> GetFeatures(string phrase) {
    149       // first generate canonical expression (which must not contain ())
    150       // recursively split into expressions
    151       // for each expression split into terms
    152       // for each term order factors to canonical // ../E = * 1/E
     154      phrase = CanonicalRepresentation(phrase);
    153155      return new Feature[] { new Feature(phrase, 1.0) };
    154156    }
Note: See TracChangeset for help on using the changeset viewer.