using System; using System.Collections.Generic; using System.Linq; using System.Text; using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; namespace HeuristicLab.Problems.GrammaticalOptimization { // represents a grammatical optimization problem public interface IProblem { string Name { get; } double BestKnownQuality(int maxLen); IGrammar Grammar { get; } double Evaluate(string sentence); string CanonicalRepresentation(string phrase); // canonical state must use correct syntax (must be a valid input for evaluate) IEnumerable GetFeatures(string phrase); } }