Changeset 11262 for branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking/3.4/Analyzers/GenealogyAnalyzer.cs
- Timestamp:
- 08/04/14 14:50:52 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.EvolutionTracking/HeuristicLab.EvolutionTracking/3.4/Analyzers/GenealogyAnalyzer.cs
r11257 r11262 272 272 var prevVertex = (IGenealogyGraphNode<T>)GenealogyGraph.GetByContent(elite); 273 273 prevVertex.IsElite = true; // mark elites in the graph retroactively 274 var w = new GenealogyGraphNode<T>(prevVertex); //shallow copy, arcs are not copied274 var w = (IGenealogyGraphNode<T>)prevVertex.Clone(); 275 275 var v = new GenealogyGraphNode<T>(prevVertex.Data) { 276 276 Rank = generation, … … 321 321 int generation = GenerationsParameter.ActualValue.Value; 322 322 var population = PopulationParameter.ActualValue; 323 var discardedOffspring = GenealogyGraph.Ranks[generation].Select(x => (T)x.Data).Except(population) ;323 var discardedOffspring = GenealogyGraph.Ranks[generation].Select(x => (T)x.Data).Except(population).ToList(); 324 324 foreach (var vertex in discardedOffspring.Select(individual => GenealogyGraph.GetByContent(individual))) { 325 325 if (vertex.InDegree == 1) { 326 326 var p = vertex.Parents.First(); 327 if ( p.Rank.Equals(generation - 1))327 if (!p.Rank.Equals(generation - 0.5)) 328 328 throw new InvalidOperationException("Parent must be an intermediate vertex"); 329 329 GenealogyGraph.RemoveVertex(p);
Note: See TracChangeset
for help on using the changeset viewer.