Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/06/19 14:20:06 (5 years ago)
Author:
msemenki
Message:

#2988: New version of class structure.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2988_ModelsOfModels2/HeuristicLab.Algorithms.EMM/EMMMultyPointsMutatorNodeTypeSaving.cs

    r16760 r16899  
    3535  [StorableType("8A24C715-BEFD-4396-9264-31F949330B1A")]
    3636  public sealed class EMMMultyPointsMutatorNodeTypeSaving : SymbolicExpressionTreeManipulator {
    37     private const string ModelSetParameterName = "Models";
    38     private const string ClusterNumberParameterName = "ClusterNumber";
     37
    3938    private const string MapParameterName = "Map";
    4039    private const string MutationProbabilityParameterName = "MutationProbability";
    41     public ILookupParameter<ItemList<ISymbolicExpressionTree>> ModelSetParameter {
    42       get { return (ILookupParameter<ItemList<ISymbolicExpressionTree>>)Parameters[ModelSetParameterName]; }
     40    public ILookupParameter<EMMMapBase<ISymbolicExpressionTree>> MapParameter {
     41      get { return (ILookupParameter<EMMMapBase<ISymbolicExpressionTree>>)Parameters[MapParameterName]; }
    4342    }
    44     public ILookupParameter<ItemList<IntValue>> ClusterNumberParameter {
    45       get { return (ILookupParameter<ItemList<IntValue>>)Parameters[ClusterNumberParameterName]; }
    46     }
     43    public List<ISymbolicExpressionTree> ModelSet => MapParameter.ActualValue.ModelSet;
     44    public List<int> ClusterNumber => MapParameter.ActualValue.ClusterNumber;
     45    public List<List<int>> Map => MapParameter.ActualValue.Map;
    4746
    48     public ILookupParameter<ItemList<ItemList<IntValue>>> MapParameter {
    49       get { return (ILookupParameter<ItemList<ItemList<IntValue>>>)Parameters[MapParameterName]; }
    50     }
    5147    public ILookupParameter<PercentValue> MutationProbabilityParameter {
    5248      get { return (ILookupParameter<PercentValue>)Parameters[MutationProbabilityParameterName]; }
    5349    }
    54     public ItemList<ISymbolicExpressionTree> ModelSet => ModelSetParameter.ActualValue;
    55     public ItemList<IntValue> ClusterNumber => ClusterNumberParameter.ActualValue;
    56     public ItemList<ItemList<IntValue>> Map => MapParameter.ActualValue;
     50
    5751    public PercentValue MutationProbability => MutationProbabilityParameter.ActualValue;
    5852
     
    6155    private EMMMultyPointsMutatorNodeTypeSaving(EMMMultyPointsMutatorNodeTypeSaving original, Cloner cloner) : base(original, cloner) { }
    6256    public EMMMultyPointsMutatorNodeTypeSaving() : base() {
    63       Parameters.Add(new LookupParameter<ItemList<ISymbolicExpressionTree>>(ModelSetParameterName));
    64       Parameters.Add(new LookupParameter<ItemList<IntValue>>(ClusterNumberParameterName));
    65       Parameters.Add(new LookupParameter<ItemList<ItemList<IntValue>>>(MapParameterName));
     57      Parameters.Add(new LookupParameter<EMMMapBase<ISymbolicExpressionTree>>(MapParameterName));
    6658      Parameters.Add(new LookupParameter<PercentValue>(MutationProbabilityParameterName));
    6759    }
     
    8173      return false;
    8274    }
    83     public static void EMMOnePointMutatorPart(IRandom random, ISymbolicExpressionTree symbolicExpressionTree, ItemList<ISymbolicExpressionTree> modelSet, ItemList<IntValue> clusterNumber, ItemList<ItemList<IntValue>> map, PercentValue mutationProbability) {
     75    public static void EMMOnePointMutatorPart(IRandom random, ISymbolicExpressionTree symbolicExpressionTree, List<ISymbolicExpressionTree> modelSet, List<int> clusterNumber, List<List<int>> map, PercentValue mutationProbability) {
    8476
    8577      List<ISymbol> allowedSymbols = new List<ISymbol>();
     
    113105
    114106            if (node is TreeModelTreeNode treeNode2) { // make rigth mutation for tree model
    115               treeNode2.TreeNumber = map[pTemp].SampleRandom(random).Value;
     107              treeNode2.TreeNumber = map[pTemp].SampleRandom(random);
    116108              treeNode2.Tree = (ISymbolicExpressionTree)modelSet[treeNode2.TreeNumber].Clone();
    117109              treeNode2.ClusterNumer = pTemp;
Note: See TracChangeset for help on using the changeset viewer.