Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/04/12 16:12:15 (12 years ago)
Author:
bburlacu
Message:

#1772: Performance improvements for the GenealogyGraph. Minor refactoring to VisualGenealogyGraphArc and VisualGenealogyGraphNode classes. Added new functionality to the SymbolicExpressionTreeFragmentsAnalyzer, minor refactoring in the other two analyzers. Refactored View code. Updated project references and plugin dependencies and added HeuristicLab.Problems.DataAnalysis.Symbolic to the branch.

Location:
branches/HeuristicLab.EvolutionaryTracking
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.EvolutionaryTracking

    • Property svn:ignore
      •  

        old new  
         1*.suo
        12_ReSharper.HeuristicLab.Tracking
        23bin
  • branches/HeuristicLab.EvolutionaryTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4

    • Property svn:ignore
      •  

        old new  
         1*.user
        12bin
        23obj
        3 HeuristicLabEncodingsSymbolicExpressionTreeEncodingPlugin.cs
        4 *.user
        5 *.vs10x
        6 Plugin.cs
  • branches/HeuristicLab.EvolutionaryTracking/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding/3.4/Crossovers/TracingSymbolicExpressionTreeCrossover.cs

    r7997 r8213  
    2121
    2222using System;
    23 using System.Collections.Generic;
    2423using System.Linq;
    2524using HeuristicLab.Common;
     
    117116
    118117      // save the nodes of parent0 in a list so we can track what modifications are made by crossover
    119       var nodes0 = Parents[0].IterateNodesBreadth() as List<ISymbolicExpressionTreeNode>;
     118      var nodes0 = Parents[0].IterateNodesBreadth().ToList();
    120119
    121       //perform crossover
     120      // perform crossover
    122121      Child = Crossover(Random, Parents[0], Parents[1]);
    123122
    124123      // create another list of parent0's nodes, so we can compare it with the first list to see what changed
    125       var nodes1 = Child.IterateNodesBreadth() as List<ISymbolicExpressionTreeNode>;
     124      var nodes1 = Child.IterateNodesBreadth().ToList();
    126125
    127126      // compare the two nodes lists and check the difference (comparing node references so we avoid false functional identity).
     
    130129      for (i = 0; i != min; ++i)
    131130        if (nodes0[i] != nodes1[i]) break;
    132       if (i == min) i = 0;
    133 
    134131      // add heredity information into the global variables
    135132      GlobalTraceMap[Child] = originalParents; // map child to its corresponding parents from the previous generation
    136       GlobalFragmentMap[Child] = new GenericWrapper<ISymbolicExpressionTreeNode>(nodes1[i]); // map child to the index of its fragment
     133      GlobalFragmentMap[Child] = new GenericWrapper<SymbolicExpressionTreeNode>(i == min ? null : (SymbolicExpressionTreeNode)nodes1[i]); // map child to the index of its fragment
    137134      return base.Apply();
    138135    }
Note: See TracChangeset for help on using the changeset viewer.