Changeset 11792 for branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Problems.GrammaticalOptimization
- Timestamp:
- 01/16/15 18:26:35 (9 years ago)
- Location:
- branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Problems.GrammaticalOptimization
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Problems.GrammaticalOptimization/HardPalindromeProblem.cs
r11742 r11792 40 40 41 41 public string CanonicalRepresentation(string terminalPhrase) { 42 throw new NotImplementedException(); 42 43 return terminalPhrase; 43 44 } -
branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Problems.GrammaticalOptimization/IProblem.cs
r11742 r11792 8 8 double BestKnownQuality(int maxLen); 9 9 IGrammar Grammar { get; } 10 double Evaluate( stringsentence);11 string CanonicalRepresentation(stringterminalPhrase);10 double Evaluate(ReadonlySequence sentence); 11 ReadonlySequence CanonicalRepresentation(ReadonlySequence terminalPhrase); 12 12 } 13 13 } -
branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Problems.GrammaticalOptimization/PalindromeProblem.cs
r11742 r11792 81 81 82 82 public string CanonicalRepresentation(string terminalPhrase) { 83 throw new NotImplementedException(); 83 84 return terminalPhrase; 84 85 } -
branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Problems.GrammaticalOptimization/RoyalSequenceProblem.cs
r11747 r11792 81 81 82 82 public string CanonicalRepresentation(string terminalPhrase) { 83 throw new NotImplementedException(); 83 84 return terminalPhrase; 84 85 } -
branches/HeuristicLab.Problems.GrammaticalOptimization/HeuristicLab.Problems.GrammaticalOptimization/SymbolicRegressionPoly10Problem.cs
r11770 r11792 73 73 74 74 // right now only + and * is supported 75 private Dictionary<string, string> cache = new Dictionary<string, string>();75 //private Dictionary<string, string> cache = new Dictionary<string, string>(); 76 76 public string CanonicalRepresentation(string phrase) { 77 77 string res; 78 if (!cache.TryGetValue(phrase, out res)) {79 80 81 78 //if (!cache.TryGetValue(phrase, out res)) { 79 var terms = phrase.Split('+').Select(t => t.Replace("*", "")); 80 var terminalTerms = terms.Where(t => t.All(ch => grammar.IsTerminal(ch))); 81 var nonTerminalTerms = terms.Where(t => t.Any(ch => grammar.IsNonTerminal(ch))); 82 82 83 84 85 }83 res = string.Join("+", terminalTerms.Select(term => CanonicalTerm(term)).OrderBy(term => term).Concat(nonTerminalTerms.Select(term => CanonicalTerm(term)))); 84 //cache[phrase] = res; 85 //} 86 86 return res; 87 87 }
Note: See TracChangeset
for help on using the changeset viewer.