Changeset 11965 for branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic
- Timestamp:
- 02/06/15 19:01:26 (10 years ago)
- Location:
- branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic merged: 11950
- Property svn:mergeinfo changed
-
branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisBottomUpDiversityAnalyzer.cs
r11927 r11965 22 22 using HeuristicLab.Analysis; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Data;25 using HeuristicLab.Parameters;26 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 25 … … 30 28 [StorableClass] 31 29 public class SymbolicDataAnalysisBottomUpDiversityAnalyzer : SingleObjectivePopulationDiversityAnalyzer { 32 private const string MatchConstantValuesParameterName = "MatchConstantValues";33 private const string MatchVariableWeightsParameterName = "MatchVariableWeights";34 35 public IValueParameter<BoolValue> MatchVariableWeightsParameter {36 get { return (IValueParameter<BoolValue>)Parameters[MatchVariableWeightsParameterName]; }37 }38 39 public IValueParameter<BoolValue> MatchConstantValuesParameter {40 get { return (IValueParameter<BoolValue>)Parameters[MatchConstantValuesParameterName]; }41 }42 43 public bool MatchConstantValues {44 get { return MatchConstantValuesParameter.Value.Value; }45 set {46 MatchConstantValuesParameter.Value.Value = value;47 ((SymbolicExpressionTreeBottomUpSimilarityCalculator)SimilarityCalculator).MatchConstantValues = value;48 }49 }50 51 public bool MatchVariableWeights {52 get { return MatchVariableWeightsParameter.Value.Value; }53 set {54 MatchVariableWeightsParameter.Value.Value = value;55 ((SymbolicExpressionTreeBottomUpSimilarityCalculator)SimilarityCalculator).MatchVariableWeights = value;56 }57 }58 59 30 [StorableConstructor] 60 31 protected SymbolicDataAnalysisBottomUpDiversityAnalyzer(bool deserializing) : base(deserializing) { } … … 62 33 [StorableHook(HookType.AfterDeserialization)] 63 34 private void AfterDeserialization() { 64 if (!Parameters.ContainsKey(MatchConstantValuesParameterName))65 Parameters.Add(new ValueParameter<BoolValue>(MatchConstantValuesParameterName, "Specifies if the similarity calculator should match constant values.", new BoolValue(true)));66 if (!Parameters.ContainsKey(MatchVariableWeightsParameterName))67 Parameters.Add(new ValueParameter<BoolValue>(MatchVariableWeightsParameterName, "Specifies if the similarity calculator should match variable weights", new BoolValue(true)));68 35 } 69 36 70 37 public SymbolicDataAnalysisBottomUpDiversityAnalyzer() { 71 38 SimilarityCalculator = new SymbolicExpressionTreeBottomUpSimilarityCalculator { SolutionVariableName = "SymbolicExpressionTree" }; 72 Parameters.Add(new ValueParameter<BoolValue>(MatchConstantValuesParameterName, "Specifies if the similarity calculator should match constant values.", new BoolValue(true)));73 Parameters.Add(new ValueParameter<BoolValue>(MatchVariableWeightsParameterName, "Specifies if the similarity calculator should match variable weights", new BoolValue(true)));74 39 } 75 40 } -
branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeBottomUpSimilarityCalculator.cs
r11927 r11965 36 36 public class SymbolicExpressionTreeBottomUpSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator, ISymbolicDataAnalysisExpressionSimilarityCalculator { 37 37 private readonly HashSet<string> commutativeSymbols = new HashSet<string> { "Addition", "Multiplication", "Average", "And", "Or", "Xor" }; 38 public bool MatchVariableWeights { get; set; }39 public bool MatchConstantValues { get; set; }40 41 38 public SymbolicExpressionTreeBottomUpSimilarityCalculator() { } 42 39 … … 48 45 protected SymbolicExpressionTreeBottomUpSimilarityCalculator(SymbolicExpressionTreeBottomUpSimilarityCalculator original, Cloner cloner) 49 46 : base(original, cloner) { 50 MatchVariableWeights = original.MatchVariableWeights;51 MatchConstantValues = original.MatchConstantValues;52 47 } 53 48 … … 214 209 } 215 210 216 private st ring Label(ISymbolicExpressionTreeNode node) {211 private static string Label(ISymbolicExpressionTreeNode node) { 217 212 if (node.SubtreeCount > 0) 218 213 return node.Symbol.Name; … … 220 215 var constant = node as ConstantTreeNode; 221 216 if (constant != null) 222 return MatchConstantValues ? constant.Value.ToString(CultureInfo.InvariantCulture) : constant.Symbol.Name; 217 return constant.Value.ToString(CultureInfo.InvariantCulture); 218 223 219 var variable = node as VariableTreeNode; 224 if (variable != null) { 225 return MatchVariableWeights ? variable.Weight + variable.VariableName : variable.VariableName; 226 } 220 if (variable != null) 221 return variable.Weight + variable.VariableName; 227 222 228 223 return node.ToString();
Note: See TracChangeset
for help on using the changeset viewer.