Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/05/14 12:53:58 (10 years ago)
Author:
sawinkle
Message:

#2109: Fetched random number generator in Evaluator implementations from scope, so that the same results are produced using the same seed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/GrammaticalEvolution/HeuristicLab.Problems.GrammaticalEvolution/Mappers/DepthFirstMapper.cs

    r10277 r10280  
    2727using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    2828using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    29 using HeuristicLab.Random;
    3029
    3130namespace HeuristicLab.Problems.GrammaticalEvolution {
     
    5150    /// Depth-first approach.
    5251    /// </summary>
     52    /// <param name="random">random number generator</param>
    5353    /// <param name="grammar">grammar definition</param>
    5454    /// <param name="genotype">integer vector, which should be mapped to a tree</param>
    5555    /// <returns>phenotype (a symbolic expression tree)</returns>
    56     public override SymbolicExpressionTree Map(ISymbolicExpressionGrammar grammar,
     56    public override SymbolicExpressionTree Map(IRandom random,
     57                                               ISymbolicExpressionGrammar grammar,
    5758                                               IntegerVector genotype) {
    5859
    5960      SymbolicExpressionTree tree = new SymbolicExpressionTree();
    6061      var rootNode = (SymbolicExpressionTreeTopLevelNode)grammar.ProgramRootSymbol.CreateTreeNode();
    61       if (rootNode.HasLocalParameters) rootNode.ResetLocalParameters(new MersenneTwister());
     62      if (rootNode.HasLocalParameters) rootNode.ResetLocalParameters(random);
    6263      var startNode = (SymbolicExpressionTreeTopLevelNode)grammar.StartSymbol.CreateTreeNode();
    63       if (startNode.HasLocalParameters) startNode.ResetLocalParameters(new MersenneTwister());
     64      if (startNode.HasLocalParameters) startNode.ResetLocalParameters(random);
    6465      rootNode.AddSubtree(startNode);
    6566      tree.Root = rootNode;
    6667
    6768      MapDepthFirstIteratively(startNode, genotype, grammar,
    68                                genotype.Length, new MersenneTwister());
     69                               genotype.Length, random);
    6970      return tree;
    7071    }
Note: See TracChangeset for help on using the changeset viewer.