Changeset 16899 for branches/2988_ModelsOfModels2/HeuristicLab.Algorithms.EMM/EMMMultyPointsMutator.cs
- Timestamp:
- 05/06/19 14:20:06 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2988_ModelsOfModels2/HeuristicLab.Algorithms.EMM/EMMMultyPointsMutator.cs
r16760 r16899 35 35 [StorableType("918B5F77-3B9E-4620-94A3-236913C4A3F2")] 36 36 public sealed class EMMMultyPointsMutator : SymbolicExpressionTreeManipulator { 37 private const string ModelSetParameterName = "Models";38 private const string ClusterNumberParameterName = "ClusterNumber";39 37 private const string MapParameterName = "Map"; 40 38 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]; } 50 41 } 51 42 public ILookupParameter<PercentValue> MutationProbabilityParameter { 52 43 get { return (ILookupParameter<PercentValue>)Parameters[MutationProbabilityParameterName]; } 53 44 } 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; 57 48 public PercentValue MutationProbability => MutationProbabilityParameter.ActualValue; 58 49 … … 61 52 private EMMMultyPointsMutator(EMMMultyPointsMutator original, Cloner cloner) : base(original, cloner) { } 62 53 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)); 66 55 Parameters.Add(new LookupParameter<PercentValue>(MutationProbabilityParameterName)); 67 56 } … … 81 70 return false; 82 71 } 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) { 84 73 85 74 List<ISymbol> allowedSymbols = new List<ISymbol>(); … … 113 102 114 103 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); 116 105 treeNode2.Tree = (ISymbolicExpressionTree)modelSet[treeNode2.TreeNumber].Clone(); 117 106 treeNode2.ClusterNumer = pTemp;
Note: See TracChangeset
for help on using the changeset viewer.