- Timestamp:
- 11/22/12 15:03:32 (12 years ago)
- Location:
- branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj
r8916 r8935 204 204 <Compile Include="Crossovers\SymbolicDataAnalysisExpressionSemanticSimilarityCrossover.cs" /> 205 205 <Compile Include="Interfaces\ISymbolicDataAnalysisExpressionCrossover.cs" /> 206 <Compile Include="Interfaces\ISymbolicDataAnalysisImpactValuesCalculator.cs" />207 206 <Compile Include="Interpreter\InterpreterState.cs" /> 208 207 <Compile Include="Interpreter\OpCodes.cs" /> -
branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisSolutionImpactValuesCalculator.cs
r8916 r8935 20 20 #endregion 21 21 22 using System; 22 23 using System.Collections.Generic; 23 24 using HeuristicLab.Common; … … 25 26 26 27 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { 27 public abstract class SymbolicDataAnalysisSolutionImpactValuesCalculator : ISymbolicDataAnalysisSolutionImpactValuesCalculator { 28 public abstract Dictionary<ISymbolicExpressionTreeNode, double> CalculateReplacementValues(ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, IDataAnalysisProblemData problemData); 29 public abstract Dictionary<ISymbolicExpressionTreeNode, double> CalculateImpactValues(ISymbolicExpressionTree tree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, IDataAnalysisProblemData problemData, double lowerEstimationLimit, double upperEstimationLimit); 28 public abstract class SymbolicDataAnalysisSolutionImpactValuesCalculator { 29 public abstract IEnumerable<Tuple<ISymbolicExpressionTreeNode, double>> CalculateReplacementValues(ISymbolicExpressionTree tree, 30 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, 31 IDataAnalysisProblemData problemData); 32 public abstract IEnumerable<Tuple<ISymbolicExpressionTreeNode, double>> CalculateImpactValues(ISymbolicExpressionTree tree, 33 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, 34 IDataAnalysisProblemData problemData, 35 double lowerEstimationLimit, double upperEstimationLimit); 30 36 31 protected void SwitchNode(ISymbolicExpressionTreeNode root, ISymbolicExpressionTreeNode oldBranch, ISymbolicExpressionTreeNode newBranch) {37 protected static void SwitchNode(ISymbolicExpressionTreeNode root, ISymbolicExpressionTreeNode oldBranch, ISymbolicExpressionTreeNode newBranch) { 32 38 for (int i = 0; i < root.SubtreeCount; i++) { 33 39 if (root.GetSubtree(i) == oldBranch) { … … 39 45 } 40 46 41 protected double CalculateReplacementValue(ISymbolicExpressionTreeNode node, ISymbolicExpressionTree sourceTree, ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, IDataAnalysisProblemData problemData) { 42 var root = new ProgramRootSymbol().CreateTreeNode(); 43 var start = new StartSymbol().CreateTreeNode(); 44 root.AddSubtree(start); 45 start.AddSubtree((ISymbolicExpressionTreeNode)node.Clone()); 47 protected static double CalculateReplacementValue(ISymbolicExpressionTreeNode node, ISymbolicExpressionTree sourceTree, 48 ISymbolicDataAnalysisExpressionTreeInterpreter interpreter, IDataAnalysisProblemData problemData) { 49 var rootSymbol = new ProgramRootSymbol().CreateTreeNode(); 50 var startSymbol = new StartSymbol().CreateTreeNode(); 51 rootSymbol.AddSubtree(startSymbol); 52 startSymbol.AddSubtree((ISymbolicExpressionTreeNode)node.Clone()); 46 53 var rows = problemData.TrainingIndices; 47 var tempTree = new SymbolicExpressionTree(root );54 var tempTree = new SymbolicExpressionTree(rootSymbol); 48 55 return interpreter.GetSymbolicExpressionTreeValues(tempTree, problemData.Dataset, rows).Median(); 49 56 } -
branches/HeuristicLab.TreeSimplifier/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/LaggedSymbol.cs
r5809 r8935 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using HeuristicLab.Common; 2 23 using HeuristicLab.Core; 3 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
Note: See TracChangeset
for help on using the changeset viewer.