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/EMMMultyPointsMutator.cs

    r16760 r16899  
    3535  [StorableType("918B5F77-3B9E-4620-94A3-236913C4A3F2")]
    3636  public sealed class EMMMultyPointsMutator : SymbolicExpressionTreeManipulator {
    37     private const string ModelSetParameterName = "Models";
    38     private const string ClusterNumberParameterName = "ClusterNumber";
    3937    private const string MapParameterName = "Map";
    4038    private const string MutationProbabilityParameterName = "MutationProbability";
    41     public ILookupParameter<ItemList<ISymbolicExpressionTree>> ModelSetParameter {
    42       get { return (ILookupParameter<ItemList<ISymbolicExpressionTree>>)Parameters[ModelSetParameterName]; }
    43     }
    44     public ILookupParameter<ItemList<IntValue>> ClusterNumberParameter {
    45       get { return (ILookupParameter<ItemList<IntValue>>)Parameters[ClusterNumberParameterName]; }
    46     }
    47 
    48     public ILookupParameter<ItemList<ItemList<IntValue>>> MapParameter {
    49       get { return (ILookupParameter<ItemList<ItemList<IntValue>>>)Parameters[MapParameterName]; }
     39    public ILookupParameter<EMMMapBase<ISymbolicExpressionTree>> MapParameter {
     40      get { return (ILookupParameter<EMMMapBase<ISymbolicExpressionTree>>)Parameters[MapParameterName]; }
    5041    }
    5142    public ILookupParameter<PercentValue> MutationProbabilityParameter {
    5243      get { return (ILookupParameter<PercentValue>)Parameters[MutationProbabilityParameterName]; }
    5344    }
    54     public ItemList<ISymbolicExpressionTree> ModelSet => ModelSetParameter.ActualValue;
    55     public ItemList<IntValue> ClusterNumber => ClusterNumberParameter.ActualValue;
    56     public ItemList<ItemList<IntValue>> Map => MapParameter.ActualValue;
     45    public List<ISymbolicExpressionTree> ModelSet => MapParameter.ActualValue.ModelSet;
     46    public List<int> ClusterNumber => MapParameter.ActualValue.ClusterNumber;
     47    public List<List<int>> Map => MapParameter.ActualValue.Map;
    5748    public PercentValue MutationProbability => MutationProbabilityParameter.ActualValue;
    5849
     
    6152    private EMMMultyPointsMutator(EMMMultyPointsMutator original, Cloner cloner) : base(original, cloner) { }
    6253    public EMMMultyPointsMutator() : 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));
     54      Parameters.Add(new LookupParameter<EMMMapBase<ISymbolicExpressionTree>>(MapParameterName));
    6655      Parameters.Add(new LookupParameter<PercentValue>(MutationProbabilityParameterName));
    6756    }
     
    8170      return false;
    8271    }
    83     public static void EMMOnePointMutatorPart(IRandom random, ISymbolicExpressionTree symbolicExpressionTree, ItemList<ISymbolicExpressionTree> modelSet, ItemList<IntValue> clusterNumber, ItemList<ItemList<IntValue>> map, PercentValue mutationProbability) {
     72    public static void EMMOnePointMutatorPart(IRandom random, ISymbolicExpressionTree symbolicExpressionTree, List<ISymbolicExpressionTree> modelSet, List<int> clusterNumber, List<List<int>> map, PercentValue mutationProbability) {
    8473
    8574      List<ISymbol> allowedSymbols = new List<ISymbol>();
     
    113102
    114103            if (node is TreeModelTreeNode treeNode2) { // make rigth mutation for tree model
    115               treeNode2.TreeNumber = map[pTemp].SampleRandom(random).Value;
     104              treeNode2.TreeNumber = map[pTemp].SampleRandom(random);
    116105              treeNode2.Tree = (ISymbolicExpressionTree)modelSet[treeNode2.TreeNumber].Clone();
    117106              treeNode2.ClusterNumer = pTemp;
Note: See TracChangeset for help on using the changeset viewer.