Changeset 11219


Ignore:
Timestamp:
07/22/14 17:30:01 (8 years ago)
Author:
bburlacu
Message:

#2215: Refactored the tree distance calculators as similarity calculators (extending SingleObjectiveSolutionSimilarityCalculator). Removed ISymbolicExpressionTreeDistanceCalculator interface. Made small performance enhancements to the BottomUpSimilarityCalculator. Added unit tests to check correctness and performance of bottom up similarity. Added SingleObjectivePopulationDiversityAnalyzer in the default operators list along with the BottomUpSimilarityCalculator.

Location:
branches/HeuristicLab.BottomUpTreeDistance
Files:
10 added
2 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.BottomUpTreeDistance

    • Property svn:global-ignores set to
      bin
      TestResults
  • branches/HeuristicLab.BottomUpTreeDistance/HeuristicLab.BottomUpTreeDistance.sln

    r11215 r11219  
    1010    Performance1.psess = Performance1.psess
    1111  EndProjectSection
     12EndProject
     13Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Tests", "HeuristicLab.Tests\HeuristicLab.Tests.csproj", "{07C05C8F-0769-4607-96C6-D90A219F4C85}"
    1214EndProject
    1315Global
     
    3335    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Release|x86.ActiveCfg = Release|x86
    3436    {3D28463F-EC96-4D82-AFEE-38BE91A0CA00}.Release|x86.Build.0 = Release|x86
     37    {07C05C8F-0769-4607-96C6-D90A219F4C85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
     38    {07C05C8F-0769-4607-96C6-D90A219F4C85}.Debug|Any CPU.Build.0 = Debug|Any CPU
     39    {07C05C8F-0769-4607-96C6-D90A219F4C85}.Debug|x64.ActiveCfg = Debug|Any CPU
     40    {07C05C8F-0769-4607-96C6-D90A219F4C85}.Debug|x86.ActiveCfg = Debug|Any CPU
     41    {07C05C8F-0769-4607-96C6-D90A219F4C85}.Release|Any CPU.ActiveCfg = Release|Any CPU
     42    {07C05C8F-0769-4607-96C6-D90A219F4C85}.Release|Any CPU.Build.0 = Release|Any CPU
     43    {07C05C8F-0769-4607-96C6-D90A219F4C85}.Release|x64.ActiveCfg = Release|Any CPU
     44    {07C05C8F-0769-4607-96C6-D90A219F4C85}.Release|x86.ActiveCfg = Release|Any CPU
    3545  EndGlobalSection
    3646  GlobalSection(SolutionProperties) = preSolution
  • branches/HeuristicLab.BottomUpTreeDistance/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj

    r11213 r11219  
    197197  </ItemGroup>
    198198  <ItemGroup>
    199     <Compile Include="Analyzers\SymbolicDataAnalysisPopulationDiversityAnalyzer.cs" />
    200199    <Compile Include="Analyzers\SymbolicDataAnalysisSingleObjectivePruningAnalyzer.cs" />
    201200    <Compile Include="Analyzers\SymbolicDataAnalysisSingleObjectiveValidationParetoBestSolutionAnalyzer.cs" />
     
    219218    <Compile Include="DirectedGraph\Vertex.cs" />
    220219    <Compile Include="Interfaces\IModelBacktransformator.cs" />
    221     <Compile Include="Interfaces\ISymbolicExpressionTreeDistanceCalculator.cs" />
    222220    <Compile Include="Matching\SymbolicExpressionTreeCanonicalSorter.cs" />
    223221    <Compile Include="Matching\SymbolicExpressionTreeEqualityComparer.cs" />
     
    226224    <Compile Include="Matching\SymbolicExpressionTreeNodeComparer.cs" />
    227225    <Compile Include="Matching\SymbolicExpressionTreeNodeSimilarityComparer.cs" />
    228     <Compile Include="SymbolicDataAnalysisExpressionTreeSimilarityCalculator.cs" />
     226    <Compile Include="SimilarityCalculators\BottomUpSimilarityCalculator.cs" />
     227    <Compile Include="SimilarityCalculators\MaxCommonSubtreeSimilarityCalculator.cs" />
    229228    <Compile Include="SymbolicExpressionTreeBacktransformator.cs" />
    230229    <Compile Include="SymbolicDataAnalysisExpressionPruningOperator.cs" />
     
    325324    <Compile Include="Symbols\VariableTreeNode.cs" />
    326325    <Compile Include="TransformationToSymbolicTreeMapper.cs" />
    327     <Compile Include="TreeDistance\BottomUpTreeDistanceCalculator.cs" />
    328     <Compile Include="TreeDistance\IsomorphicTreeDistanceCalculator.cs" />
    329326    <None Include="HeuristicLab.snk" />
    330327    <None Include="Plugin.cs.frame" />
  • branches/HeuristicLab.BottomUpTreeDistance/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisProblem.cs

    r11171 r11219  
    2323using System.Drawing;
    2424using System.Linq;
     25using HeuristicLab.Analysis;
    2526using HeuristicLab.Common;
    2627using HeuristicLab.Common.Resources;
     
    2930using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    3031using HeuristicLab.Optimization;
     32using HeuristicLab.Optimization.Operators;
    3133using HeuristicLab.Parameters;
    3234using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3335using HeuristicLab.PluginInfrastructure;
     36using HeuristicLab.Problems.DataAnalysis.Symbolic.SimilarityCalculators;
    3437using HeuristicLab.Problems.Instances;
    3538
     
    231234      Operators.Add(new MinAverageMaxSymbolicExpressionTreeLengthAnalyzer());
    232235      Operators.Add(new SymbolicExpressionTreeLengthAnalyzer());
     236      Operators.Add(new SingleObjectivePopulationDiversityAnalyzer());
     237      Operators.Add(new BottomUpSimilarityCalculator());
    233238      ParameterizeOperators();
    234239    }
     
    350355        op.EvaluatorParameter.ActualName = EvaluatorParameter.Name;
    351356      }
     357      foreach (var op in operators.OfType<SingleObjectiveSolutionSimilarityCalculator>()) {
     358        op.QualityVariableName = "Quality";
     359        op.SolutionVariableName = SolutionCreator.SymbolicExpressionTreeParameter.ActualName;
     360      }
     361      foreach (var op in operators.OfType<SingleObjectivePopulationDiversityAnalyzer>()) {
     362        op.SimilarityCalculator = operators.OfType<BottomUpSimilarityCalculator>().SingleOrDefault();
     363      }
    352364    }
    353365
Note: See TracChangeset for help on using the changeset viewer.