Free cookie consent management tool by TermsFeed Policy Generator

Changeset 11997


Ignore:
Timestamp:
02/13/15 11:59:57 (9 years ago)
Author:
bburlacu
Message:

#2269: Removed obsolete diversity analyzer and added the new bottom-up and phenotype diversity analyzers (and similarity calculators)

Location:
branches/ALPS/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4
Files:
1 added
1 deleted
2 edited
2 copied

Legend:

Unmodified
Added
Removed
  • branches/ALPS/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj

    r11975 r11997  
    118118  </ItemGroup>
    119119  <ItemGroup>
     120    <Compile Include="Analyzers\SymbolicDataAnalysisBottomUpDiversityAnalyzer.cs" />
     121    <Compile Include="Analyzers\SymbolicDataAnalysisPhenotypicDiversityAnalyzer.cs" />
    120122    <Compile Include="Analyzers\SymbolicDataAnalysisSingleObjectivePruningAnalyzer.cs" />
    121123    <Compile Include="Analyzers\SymbolicDataAnalysisSingleObjectiveValidationParetoBestSolutionAnalyzer.cs" />
     
    240242    <Compile Include="TreeMatching\SymbolicExpressionTreeNodeComparer.cs" />
    241243    <Compile Include="TreeMatching\SymbolicExpressionTreeNodeEqualityComparer.cs" />
     244    <Compile Include="TreeMatching\SymbolicExpressionTreePhenotypicSimilarityCalculator.cs" />
    242245    <None Include="HeuristicLab.snk" />
    243246    <None Include="Plugin.cs.frame" />
  • branches/ALPS/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreeBottomUpSimilarityCalculator.cs

    r11950 r11997  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2014 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    8181
    8282      // visit nodes in order of decreasing height to ensure correct mapping
    83       var nodes1 = n1.IterateNodesPrefix().ToList();
     83      var nodes1 = n1.IterateNodesPrefix().OrderByDescending(x => x.GetDepth()).ToList();
    8484      var nodes2 = n2.IterateNodesPrefix().ToList();
    8585      for (int i = 0; i < nodes1.Count; ++i) {
     
    9898        if (w == null) continue;
    9999
    100         // at this point we know that v and w are isomorphic, however, the mapping cannot be done directly (as in the paper) because the trees are unordered (subtree order might differ)
    101         // the solution is to sort subtrees by label using IterateBreadthOrdered (this will work because the subtrees are isomorphic!) and simultaneously iterate over the two subtrees
     100        // at this point we know that v and w are isomorphic, however, the mapping cannot be done directly
     101        // (as in the paper) because the trees are unordered (subtree order might differ). the solution is
     102        // to sort subtrees from under commutative labels (this will work because the subtrees are isomorphic!)
     103        // while iterating over the two subtrees
    102104        var vv = IterateBreadthOrdered(v, comparer).ToList();
    103105        var ww = IterateBreadthOrdered(w, comparer).ToList();
     
    133135      foreach (var n in nodes) {
    134136        if (n.SubtreeCount == 0) {
    135           var label = Label(n);
     137          var label = GetLabel(n);
    136138          if (!labelMap.ContainsKey(label)) {
    137139            var z = new GraphNode { SymbolicExpressionTreeNode = n, Label = label };
     
    209211    }
    210212
    211     private string Label(ISymbolicExpressionTreeNode node) {
     213    private static string GetLabel(ISymbolicExpressionTreeNode node) {
    212214      if (node.SubtreeCount > 0)
    213215        return node.Symbol.Name;
  • branches/ALPS/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/TreeMatching/SymbolicExpressionTreePhenotypicSimilarityCalculator.cs

    r11975 r11997  
    3030  [Item("PhenotypicSimilarityCalculator", "An operator that calculates the similarity betweeon two trees based on the correlation of their outputs.")]
    3131  [StorableClass]
    32   public class PhenotypicSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator, ISymbolicDataAnalysisExpressionSimilarityCalculator {
     32  public class PhenotypicSimilarityCalculator : SingleObjectiveSolutionSimilarityCalculator {
    3333    public IDataAnalysisProblemData ProblemData { get; set; }
    3434    public ISymbolicDataAnalysisExpressionTreeInterpreter Interpreter { get; set; }
Note: See TracChangeset for help on using the changeset viewer.