- Timestamp:
- 04/01/19 13:03:13 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2988_ModelsOfModels2/HeuristicLab.Algorithms.EMM/EMMAlgorithm.cs
r16722 r16734 37 37 [Item("EvolvmentModelsOfModels Algorithm ", "EMM implementation")] 38 38 [Creatable(CreatableAttribute.Categories.PopulationBasedAlgorithms, Priority = 125)] 39 [StorableType(" D02C50E5-8325-496F-8DEA-C23651756846")]39 [StorableType("AD23B21F-089A-4C6C-AD2E-1B01E7939CF5")] 40 40 public class EMMAlgorithm : EvolvmentModelsOfModelsAlgorithmBase { 41 41 public EMMMapTreeModel Map { get; private set; } … … 57 57 InfixExpressionParser parser = new InfixExpressionParser(); 58 58 var trees = File.ReadAllLines(InputFileParameter.Value.Value).Select(parser.Parse); 59 Map = new EMMMapTreeModel(RandomParameter.Value, trees, ClusterNumbersParameter.Value.Value); 60 ClusterNumbersParameter.Value.Value = Map.K; 61 if (previousExecutionState != ExecutionState.Paused) { 62 InitializeAlgorithm(cancellationToken); 63 } 64 globalScope.Variables.Add(new Variable("TreeModelMap", Map)); 65 EMMEvolutionaryAlgorithmRun(cancellationToken); 59 // this.Problem.SymbolicExpressionTreeGrammar; 60 /* Problem.ProblemData.Dataset.ColumnNames.Take(2).ToList(); 61 trees.First().Root.Grammar.ContainsSymbol((IVariable)a). 62 = this.Problem.SymbolicExpressionTreeGrammar;*/ 63 int flag = 1; 64 switch (flag) { 65 case 0: // for case when we want only create map, and do not want made somting also. 66 Map = new EMMMapTreeModel(RandomParameter.Value, trees, ClusterNumbersParameter.Value.Value); 67 ClusterNumbersParameter.Value.Value = Map.K; 68 File.WriteAllLines("Map.txt", Map.MapToString()); 69 File.WriteAllLines("MapToSee.txt", Map.MapToSee()); 70 globalScope = new Scope("Global Scope"); 71 executionContext = new ExecutionContext(null, this, globalScope); 72 break; 73 case 1: // for case when we want read existed map and work with it; 74 Map = new EMMMapTreeModel(RandomParameter.Value, trees); 75 ClusterNumbersParameter.Value.Value = Map.K; 76 if (previousExecutionState != ExecutionState.Paused) { 77 InitializeAlgorithm(cancellationToken); 78 } 79 globalScope.Variables.Add(new Variable("TreeModelMap", Map)); 80 EMMEvolutionaryAlgorithmRun(cancellationToken); 81 break; 82 83 default: //for case of usial from zero step starting 84 Map = new EMMMapTreeModel(RandomParameter.Value, trees, ClusterNumbersParameter.Value.Value); 85 ClusterNumbersParameter.Value.Value = Map.K; 86 if (previousExecutionState != ExecutionState.Paused) { 87 InitializeAlgorithm(cancellationToken); 88 } 89 globalScope.Variables.Add(new Variable("TreeModelMap", Map)); 90 EMMEvolutionaryAlgorithmRun(cancellationToken); 91 break; 92 } 93 66 94 } 67 95 private void EMMEvolutionaryAlgorithmRun(CancellationToken cancellationToken) { … … 201 229 foreach (var node in tree.IterateNodesPostfix().OfType<TreeModelTreeNode>()) { 202 230 node.Tree = Map.NewModelForInizializtion(random, out int cluster, out int treeNumber); 203 node. Tree.Root.ShakeLocalParameters(random, 0.5);231 node.SetLocalParameters(random, 0.5); 204 232 node.ClusterNumer = cluster; 205 233 node.TreeNumber = treeNumber;
Note: See TracChangeset
for help on using the changeset viewer.