Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/28/14 16:23:40 (10 years ago)
Author:
bburlacu
Message:

#1772: Improved usage of GenealogyGraph and GenealogyGraphNode classes. Made some progress on building block tracing.

Location:
branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionAfterCrossoverOperator.cs

    r10654 r10677  
    1010    public override IOperation Apply() {
    1111      var child = ChildParameter.ActualValue;
    12       var childVertex = GenealogyGraph[child].Last();
    13       var arc0 = (IGenealogyGraphArc)childVertex.InArcs[0];
    14       var arc1 = (IGenealogyGraphArc)childVertex.InArcs[1];
    15       var nodes0 = (List<ISymbolicExpressionTreeNode>)arc0.Data;
    16       var nodes1 = (List<ISymbolicExpressionTreeNode>)arc1.Data;
     12      var childVertex = (IGenealogyGraphNode)GenealogyGraph[child].Last();
     13      var arcs = childVertex.InArcs.ToList();
     14      var nodes0 = (List<ISymbolicExpressionTreeNode>)arcs[0].Data;
     15      var nodes1 = (List<ISymbolicExpressionTreeNode>)arcs[1].Data;
    1716      var childNodes = child.IterateNodesPrefix().ToList();
    1817      IFragment<ISymbolicExpressionTreeNode> fragment = null;
     
    2827      if (fragment == null) throw new Exception("Could not determine fragment!");
    2928
    30       arc0.Data = null;
    31       arc1.Data = fragment;
     29      arcs[0].Data = null;
     30      arcs[1].Data = fragment;
    3231
    3332      return base.Apply();
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionAfterManipulatorOperator.cs

    r10650 r10677  
    2020    public override IOperation Apply() {
    2121      var vChild = (IGenealogyGraphNode<ISymbolicExpressionTree>)GenealogyGraph[ChildParameter.ActualValue].First();
    22       var nodesBefore = (List<ISymbolicExpressionTreeNode>)vChild.InArcs[0].Data;
     22      var nodesBefore = (List<ISymbolicExpressionTreeNode>)vChild.InArcs.First().Data;
    2323      var nodesAfter = ChildParameter.ActualValue.IterateNodesBreadth().ToList();
    2424      IFragment<ISymbolicExpressionTreeNode> fragment = null;
     
    3232      }
    3333
    34       vChild.InArcs[0].Data = fragment;
     34      vChild.InArcs.First().Data = fragment;
    3535      return base.Apply();
    3636    }
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionBeforeCrossoverOperator.cs

    r10674 r10677  
    3232      var parents = ParentsParameter.ActualValue.ToList();
    3333      var childVertex = (IGenealogyGraphNode<ISymbolicExpressionTree>)GenealogyGraph[parents[0]].Last(); // use the parent since it is actually the child before crossover (and the ChildParameter doesn't have a value yet)
     34      var arcs = childVertex.InArcs.ToList();
    3435
    3536      for (int i = 0; i < parents.Count; ++i) {
    3637        var nodes = parents[i].IterateNodesPrefix().ToList();
    37         var arc = childVertex.InArcs[i];
    38         arc.Data = nodes;
     38        arcs[i].Data = nodes;
    3939      }
    4040      var parentVertices = childVertex.InArcs.Select(x => (IGenealogyGraphNode<ISymbolicExpressionTree>)x.Source).ToList();
  • branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Tracking/SymbolicDataAnalysisExpressionBeforeManipulatorOperator.cs

    r10347 r10677  
    1010
    1111      var vChild = (IGenealogyGraphNode<ISymbolicExpressionTree>)GenealogyGraph[ChildParameter.ActualValue].Last();
    12       vChild.InArcs[0].Data = vChild.Content.IterateNodesBreadth().ToList();
     12      vChild.InArcs.First().Data = vChild.Content.IterateNodesBreadth().ToList();
    1313
    1414      return result;
Note: See TracChangeset for help on using the changeset viewer.