- Timestamp:
- 04/04/19 14:33:12 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2988_ModelsOfModels2/HeuristicLab.Algorithms.EMM/EMMMutators.cs
r16734 r16760 71 71 72 72 protected override void Manipulate(IRandom random, ISymbolicExpressionTree symbolicExpressionTree) { 73 //EMMMapTreeModel map= (EMMMapTreeModel)ExecutionContext.Scope.Variables["TreeModelMap"].Value;74 73 EMMMutatorsPart(random, symbolicExpressionTree, ModelSet, ClusterNumber, Map); 75 74 } … … 121 120 122 121 var newNode = newSymbol.CreateTreeNode(); 123 if (newNode.HasLocalParameters) 124 125 126 if (child is TreeModelTreeNode chNode) // in real life never bacame true. It need some cheking127 { p = chNode.ClusterNumer; }128 treeNode.TreeNumber = map[p].SampleRandom(random).Value;129 treeNode.Tree = (ISymbolicExpressionTree)modelSet[treeNode.TreeNumber].Clone();130 131 } else132 122 123 if (newNode is TreeModelTreeNode treeNode) { 124 int p = random.Next(map.Count); 125 if (child is TreeModelTreeNode chNode) { p = chNode.ClusterNumer; } 126 treeNode.TreeNumber = map[p].SampleRandom(random).Value; 127 treeNode.Tree = (ISymbolicExpressionTree)modelSet[treeNode.TreeNumber].Clone(); 128 treeNode.ClusterNumer = p; 129 treeNode.SetLocalParameters(random, 0.5); 130 } else if (newNode.HasLocalParameters) 131 newNode.ResetLocalParameters(random); 133 132 foreach (var subtree in child.Subtrees) 134 133 newNode.AddSubtree(subtree);
Note: See TracChangeset
for help on using the changeset viewer.