- Timestamp:
- 01/17/12 15:18:03 (12 years ago)
- Location:
- branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4
- Files:
-
- 4 deleted
- 75 edited
- 6 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisAlleleFrequencyAnalyzer.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 84 84 if (d == 0) return ""; 85 85 StringBuilder builder = new StringBuilder(); 86 builder.Append("(" + tree.ToString()); 86 var varTreeNode = tree as VariableTreeNode; 87 var constTreeNode = tree as ConstantTreeNode; 88 if (varTreeNode != null) { 89 builder.Append("(var " + varTreeNode.VariableName); 90 } else if (constTreeNode != null) { 91 builder.Append("(const"); 92 } else { 93 builder.Append("(" + tree.ToString()); 94 } 87 95 for (int i = 0; i < tree.SubtreeCount; i++) { 88 96 builder.Append(" " + GetTextualRepresentationFromSubtreeOfDepth(tree.GetSubtree(i), d - 1)); -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisAnalyzer.cs
r5882 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 20 20 #endregion 21 21 22 using System.Collections.Generic;23 using System.Linq;24 22 using HeuristicLab.Common; 25 23 using HeuristicLab.Core; 26 using HeuristicLab.Data;27 24 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 28 25 using HeuristicLab.Operators; 26 using HeuristicLab.Optimization; 29 27 using HeuristicLab.Parameters; 30 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 31 using HeuristicLab.Optimization;32 29 33 30 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { … … 49 46 #endregion 50 47 #region properties 48 public virtual bool EnabledByDefault { 49 get { return true; } 50 } 51 51 public ItemArray<ISymbolicExpressionTree> SymbolicExpressionTree { 52 52 get { return SymbolicExpressionTreeParameter.ActualValue; } -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveAnalyzer.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveTrainingBestSolutionAnalyzer.cs
r5882 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveValidationAnalyzer.cs
r6059 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisMultiObjectiveValidationBestSolutionAnalyzer.cs
r6728 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisSingleObjectiveAnalyzer.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisSingleObjectiveTrainingBestSolutionAnalyzer.cs
r5882 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisSingleObjectiveValidationAnalyzer.cs
r5882 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 20 20 #endregion 21 21 22 using System; 23 using System.Collections.Generic; 22 24 using System.Linq; 23 25 using HeuristicLab.Common; … … 26 28 using HeuristicLab.Parameters; 27 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 using System.Collections.Generic;29 using System;30 30 using HeuristicLab.Random; 31 31 -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisSingleObjectiveValidationBestSolutionAnalyzer.cs
r6728 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Analyzers/SymbolicDataAnalysisVariableFrequencyAnalyzer.cs
r6981 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Creators/MultiSymbolicDataAnalysisExpressionCreator.cs
r7077 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Creators/SymbolicDataAnalysisExpressionFullTreeCreator.cs
r7077 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Creators/SymbolicDataAnalysisExpressionGrowTreeCreator.cs
r7077 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Creators/SymbolicDataAnalysisExpressionRampedHalfAndHalfTreeCreator.cs
r7077 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Creators/SymbolicDataAnalysisExpressionTreeCreator.cs
r7077 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Crossovers/SymbolicDataAnalysisExpressionDepthConstrainedCrossover.cs
r7303 r7344 35 35 public sealed class SymbolicDataAnalysisExpressionDepthConstrainedCrossover<T> : 36 36 SymbolicDataAnalysisExpressionCrossover<T> where T : class, IDataAnalysisProblemData { 37 private enum Ranges { HighLevel, Standard, Low level };37 private enum Ranges { HighLevel, Standard, LowLevel }; 38 38 private const string DepthRangeParameterName = "DepthRange"; 39 39 #region Parameter properties … … 59 59 DepthRangeParameter.ValidValues.Add(new StringValue(Enum.GetName(typeof(Ranges), Ranges.HighLevel))); 60 60 DepthRangeParameter.ValidValues.Add(new StringValue(Enum.GetName(typeof(Ranges), Ranges.Standard))); 61 DepthRangeParameter.ValidValues.Add(new StringValue(Enum.GetName(typeof(Ranges), Ranges.Low level)));61 DepthRangeParameter.ValidValues.Add(new StringValue(Enum.GetName(typeof(Ranges), Ranges.LowLevel))); 62 62 Name = "DepthConstrainedCrossover"; 63 63 } … … 87 87 /// <returns></returns> 88 88 public static ISymbolicExpressionTree Cross(IRandom random, ISymbolicExpressionTree parent0, ISymbolicExpressionTree parent1, int maxDepth, int maxLength, string mode) { 89 int depth = parent0.Root.GetDepth() ;90 var depthRange = new DoubleRange();89 int depth = parent0.Root.GetDepth() - 1; // subtract 1 because the tree levels are counted from 0 90 var depthRange = new IntRange(); 91 91 const int depthOffset = 2; // skip the first 2 levels (root + startNode) 92 92 switch ((int)Enum.Parse(typeof(Ranges), mode)) { 93 93 case (int)Ranges.HighLevel: 94 94 depthRange.Start = depthOffset; // skip the first 2 levels (root + startNode) 95 depthRange.End = depthRange.Start + Math.Round(depth * 0.25);95 depthRange.End = depthRange.Start + (int)Math.Round(depth * 0.25); 96 96 break; 97 97 case (int)Ranges.Standard: 98 depthRange.Start = depthOffset + Math.Round(depth * 0.25);99 depthRange.End = depthRange.Start + Math.Round(depth * 0.5);98 depthRange.Start = depthOffset + (int)Math.Round(depth * 0.25); 99 depthRange.End = depthRange.Start + (int)Math.Round(depth * 0.5); 100 100 break; 101 case (int)Ranges.Low level:102 depthRange.Start = depthOffset + Math.Round(depth * 0.75);101 case (int)Ranges.LowLevel: 102 depthRange.Start = depthOffset + (int)Math.Round(depth * 0.75); 103 103 depthRange.End = Math.Max(depthRange.Start, depth); 104 104 break; 105 105 } 106 106 107 var crossoverPoints0 = new List<CutPoint>();108 parent0.Root.ForEachNodePostfix((n) => {109 if (n.Subtrees.Any() && n != parent0.Root)110 crossoverPoints0.AddRange(from s in n.Subtrees111 where parent0.Root.GetBranchLevel(s) >= depthRange.Start && parent0.Root.GetBranchLevel(s) <= depthRange.End112 select new CutPoint(n, s)); 113 });107 // make sure that the depth range does not exceeded the actual depth of parent0 108 if (depthRange.Start > depth) 109 depthRange.Start = depth; 110 if (depthRange.End < depthRange.Start) 111 depthRange.End = depthRange.Start; 112 113 var crossoverPoints0 = (from node in GetNodesAtDepth(parent0.Root, depthRange) select new CutPoint(node.Parent, node)).ToList(); 114 114 115 115 if (crossoverPoints0.Count == 0) 116 116 throw new Exception("No crossover points available in the first parent"); 117 117 118 CutPoint crossoverPoint0 = crossoverPoints0.SelectRandom(random); 118 var crossoverPoint0 = crossoverPoints0.SelectRandom(random); 119 119 120 int level = parent0.Root.GetBranchLevel(crossoverPoint0.Child); 120 121 int length = parent0.Root.GetLength() - crossoverPoint0.Child.GetLength(); 121 122 122 var allowedBranches = new List<ISymbolicExpressionTreeNode>(); 123 parent1.Root.ForEachNodePostfix((n) => { 124 if (n.Subtrees.Any() && n != parent1.Root) { 125 allowedBranches.AddRange(from s in n.Subtrees 126 let branchLevel = parent1.Root.GetBranchLevel(s) 127 where branchLevel >= depthRange.Start && branchLevel <= depthRange.End && s.GetDepth() + level <= maxDepth && s.GetLength() + length <= maxLength 128 select s); 123 var allowedBranches = (from s in GetNodesAtDepth(parent1.Root, depthRange) 124 where 125 crossoverPoint0.IsMatchingPointType(s) && 126 s.GetDepth() + level <= maxDepth && 127 s.GetLength() + length <= maxLength 128 select s).ToList(); 129 if (allowedBranches.Count == 0) return parent0; 130 var selectedBranch = allowedBranches.SelectRandom(random); 131 swap(crossoverPoint0, selectedBranch); 132 return parent0; 133 } 134 135 private static IEnumerable<ISymbolicExpressionTreeNode> GetNodesAtDepth(ISymbolicExpressionTreeNode root, IntRange range) { 136 var list = new List<Tuple<ISymbolicExpressionTreeNode, int>> { new Tuple<ISymbolicExpressionTreeNode, int>(root, 0) }; 137 int offset = 0; 138 int level = 0; 139 while (level < range.End) { 140 ++level; 141 int count = list.Count; 142 for (int i = offset; i != count; ++i) { 143 if (list[i].Item1.Subtrees.Any()) 144 list.AddRange(from s in list[i].Item1.Subtrees select new Tuple<ISymbolicExpressionTreeNode, int>(s, level)); 129 145 } 130 }); 131 132 if (allowedBranches.Count == 0) 133 return parent0; 134 135 var selectedBranch = allowedBranches.SelectRandom(random); 136 137 swap(crossoverPoint0, selectedBranch); 138 139 return parent0; 146 offset = count; 147 } 148 // taking advantage of the fact that the list is already sorted by level 149 for (int i = list.Count - 1; i >= 0; --i) { 150 if (list[i].Item2 >= range.Start) 151 yield return list[i].Item1; 152 else break; 153 } 140 154 } 141 155 -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Crossovers/SymbolicDataAnalysisExpressionProbabilisticFunctionalCrossover.cs
r7303 r7344 66 66 parent0.Root.ForEachNodePostfix((n) => { 67 67 if (n.Subtrees.Any() && n != parent0.Root) 68 foreach (var child in n.Subtrees)69 crossoverPoints0.Add(new CutPoint(n, child));68 crossoverPoints0.AddRange(from s in n.Subtrees 69 select new CutPoint(n, s)); 70 70 }); 71 71 var crossoverPoint0 = crossoverPoints0.SelectRandom(random); … … 76 76 parent1.Root.ForEachNodePostfix((n) => { 77 77 if (n.Subtrees.Any() && n != parent1.Root) 78 allowedBranches.AddRange(n.Subtrees.Where(s => crossoverPoint0.IsMatchingPointType(s) && s.GetDepth() + level <= maxDepth && s.GetLength() + length <= maxLength)); 78 allowedBranches.AddRange(from s in n.Subtrees 79 where crossoverPoint0.IsMatchingPointType(s) && s.GetDepth() + level <= maxDepth && s.GetLength() + length <= maxLength 80 select s); 79 81 }); 80 82 … … 88 90 var startSymbol = new StartSymbol(); 89 91 var tree0 = CreateTreeFromNode(random, crossoverPoint0.Child, rootSymbol, startSymbol); // this will change crossoverPoint0.Child.Parent 90 List<double> estimatedValues0 = interpreter.GetSymbolicExpressionTreeValues(tree0, dataset, rows).ToList(); 91 double min0 = estimatedValues0.Min(); 92 double max0 = estimatedValues0.Max(); 92 double min0 = 0.0, max0 = 0.0; 93 foreach (double v in interpreter.GetSymbolicExpressionTreeValues(tree0, dataset, rows)) { 94 if (min0 > v) min0 = v; 95 if (max0 < v) max0 = v; 96 } 93 97 crossoverPoint0.Child.Parent = crossoverPoint0.Parent; // restore correct parent 94 98 … … 97 101 var parent = node.Parent; 98 102 var tree1 = CreateTreeFromNode(random, node, rootSymbol, startSymbol); 99 List<double> estimatedValues1 = interpreter.GetSymbolicExpressionTreeValues(tree1, dataset, rows).ToList(); 100 double min1 = estimatedValues1.Min(); 101 double max1 = estimatedValues1.Max(); 103 double min1 = 0.0, max1 = 0.0; 104 foreach (double v in interpreter.GetSymbolicExpressionTreeValues(tree1, dataset, rows)) { 105 if (min1 > v) min1 = v; 106 if (max1 < v) max1 = v; 107 } 102 108 double behavioralDistance = (Math.Abs(min0 - min1) + Math.Abs(max0 - max1)) / 2; // this can be NaN of Infinity because some trees are crazy like exp(exp(exp(...))), we correct that below 103 109 weights.Add(behavioralDistance); … … 123 129 ISymbolicExpressionTreeNode selectedBranch; 124 130 double sum = weights.Sum(); 125 if (sum == 0.0) 126 selectedBranch = allowedBranches[0]; // just return the first, since we don't care (all weights are zero) 131 132 if (sum.IsAlmost(0.0) || weights.Count == 1) // if there is only one allowed branch, or if all weights are zero 133 selectedBranch = allowedBranches[0]; 127 134 else { 128 // transform similarity distances into probabilities by normalizing and inverting the values 135 for (int i = 0; i != weights.Count; ++i) // normalize and invert values 136 weights[i] = 1 - weights[i] / sum; 137 138 sum = weights.Sum(); // take new sum 139 140 // compute the probabilities (selection weights) 129 141 for (int i = 0; i != weights.Count; ++i) 130 weights[i] = (1 - weights[i] / sum);142 weights[i] /= sum; 131 143 132 //selectedBranch = allowedBranches.SelectRandom(weights, random); 133 selectedBranch = SelectRandomBranch(random, allowedBranches, weights); 144 selectedBranch = allowedBranches.SelectRandom(weights, random); 134 145 } 135 146 swap(crossoverPoint0, selectedBranch); … … 152 163 } 153 164 } 154 155 private static ISymbolicExpressionTreeNode SelectRandomBranch(IRandom random, IList<ISymbolicExpressionTreeNode> nodes, IList<double> weights) {156 double r = weights.Sum() * random.NextDouble();157 for (int i = 0; i != nodes.Count; ++i) {158 if (r < weights[i])159 return nodes[i];160 r -= weights[i];161 }162 return nodes.Last();163 }164 165 } 165 166 } -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Evaluators/SymbolicDataAnalysisEvaluator.cs
r5914 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Evaluators/SymbolicDataAnalysisMultiObjectiveEvaluator.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Evaluators/SymbolicDataAnalysisSingleObjectiveEvaluator.cs
r5851 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Formatters/SymbolicDataAnalysisExpressionLatexFormatter.cs
r6975 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 58 58 constants.Clear(); 59 59 strBuilder.AppendLine("% needs \\usepackage{amsmath}"); 60 strBuilder.AppendLine("\\begin{align}"); 60 strBuilder.AppendLine("\\begin{align*}"); 61 strBuilder.AppendLine("\\nonumber"); 61 62 strBuilder.AppendLine(FormatRecursively(symbolicExpressionTree.Root)); 62 strBuilder.AppendLine("\\end{align }");63 strBuilder.AppendLine("\\end{align*}"); 63 64 return strBuilder.ToString(); 64 65 } … … 76 77 strBuilder.Append(FormatRecursively(node.GetSubtree(0))); 77 78 } 79 int i = 1; 78 80 foreach (SymbolicExpressionTreeNode subTree in node.Subtrees.Skip(1)) { 79 FormatSep(node, strBuilder );81 FormatSep(node, strBuilder, i); 80 82 // format the whole subtree 81 83 strBuilder.Append(FormatRecursively(subTree)); 84 i++; 82 85 } 83 86 … … 89 92 private void FormatBegin(ISymbolicExpressionTreeNode node, StringBuilder strBuilder) { 90 93 if (node.Symbol is Addition) { 91 strBuilder.Append(@" \left( ");94 strBuilder.Append(@" ( "); 92 95 } else if (node.Symbol is Subtraction) { 93 96 if (node.SubtreeCount == 1) { 94 strBuilder.Append(@"- \left(");97 strBuilder.Append(@"- ( "); 95 98 } else { 96 strBuilder.Append(@" \left( ");99 strBuilder.Append(@" ( "); 97 100 } 98 101 } else if (node.Symbol is Multiplication) { … … 108 111 strBuilder.Append(@" \cfrac{1}{" + node.SubtreeCount + @"}"); 109 112 } 110 strBuilder.Append(@" \left(");113 strBuilder.Append(@" ( "); 111 114 } else if (node.Symbol is Logarithm) { 112 strBuilder.Append(@"\log \left(");115 strBuilder.Append(@"\log ( "); 113 116 } else if (node.Symbol is Exponential) { 114 strBuilder.Append(@"\exp \left(");117 strBuilder.Append(@"\exp ( "); 115 118 } else if (node.Symbol is Sine) { 116 strBuilder.Append(@"\sin \left(");119 strBuilder.Append(@"\sin ( "); 117 120 } else if (node.Symbol is Cosine) { 118 strBuilder.Append(@"\cos \left(");121 strBuilder.Append(@"\cos ( "); 119 122 } else if (node.Symbol is Tangent) { 120 strBuilder.Append(@"\tan \left(");123 strBuilder.Append(@"\tan ( "); 121 124 } else if (node.Symbol is GreaterThan) { 122 strBuilder.Append(@" \left( ");125 strBuilder.Append(@" ( "); 123 126 } else if (node.Symbol is LessThan) { 124 strBuilder.Append(@" \left( ");127 strBuilder.Append(@" ( "); 125 128 } else if (node.Symbol is And) { 126 strBuilder.Append(@" \left( \left( ");129 strBuilder.Append(@" ( "); 127 130 } else if (node.Symbol is Or) { 128 strBuilder.Append(@" \left( \left( ");131 strBuilder.Append(@" ( "); 129 132 } else if (node.Symbol is Not) { 130 strBuilder.Append(@" \neg \left( ");133 strBuilder.Append(@" \neg ( "); 131 134 } else if (node.Symbol is IfThenElse) { 132 strBuilder.Append(@" \left( \operatorname{if} \left( 0 < ");135 strBuilder.Append(@" \operatorname{if} ( 0 < "); 133 136 } else if (node.Symbol is Constant) { 134 137 strBuilder.Append("c_{" + constants.Count + "} "); … … 137 140 } else if (node.Symbol is LaggedVariable) { 138 141 var laggedVarNode = node as LaggedVariableTreeNode; 139 strBuilder.Append("c_{" + constants.Count + "} " + EscapeLatexString(laggedVarNode.VariableName)); 142 if (!laggedVarNode.Weight.IsAlmost(1.0)) { 143 strBuilder.Append("c_{" + constants.Count + "} \\cdot "); 144 constants.Add(laggedVarNode.Weight); 145 } 146 strBuilder.Append(EscapeLatexString(laggedVarNode.VariableName)); 140 147 strBuilder.Append(LagToString(currentLag + laggedVarNode.Lag)); 141 constants.Add(laggedVarNode.Weight); 142 } else if (node.Symbol is HeuristicLab.Problems.DataAnalysis.Symbolic.Variable) {148 149 } else if (node.Symbol is Variable) { 143 150 var varNode = node as VariableTreeNode; 144 strBuilder.Append("c_{" + constants.Count + "} " + EscapeLatexString(varNode.VariableName)); 151 if (!varNode.Weight.IsAlmost((1.0))) { 152 strBuilder.Append("c_{" + constants.Count + "} \\cdot "); 153 constants.Add(varNode.Weight); 154 } 155 strBuilder.Append(EscapeLatexString(varNode.VariableName)); 145 156 strBuilder.Append(LagToString(currentLag)); 146 constants.Add(varNode.Weight);147 157 } else if (node.Symbol is ProgramRootSymbol) { 148 158 } else if (node.Symbol is Defun) { … … 151 161 } else if (node.Symbol is InvokeFunction) { 152 162 var invokeNode = node as InvokeFunctionTreeNode; 153 strBuilder.Append(invokeNode.Symbol.FunctionName + @" \left( ");163 strBuilder.Append(invokeNode.Symbol.FunctionName + @" ( "); 154 164 } else if (node.Symbol is StartSymbol) { 155 165 strBuilder.Append("Result & = "); … … 158 168 strBuilder.Append(" ARG+" + argSym.ArgumentIndex + " "); 159 169 } else if (node.Symbol is Derivative) { 160 strBuilder.Append(@" \cfrac{d \left(");170 strBuilder.Append(@" \cfrac{d ( "); 161 171 } else if (node.Symbol is TimeLag) { 162 172 var laggedNode = node as ILaggedTreeNode; 163 173 currentLag += laggedNode.Lag; 164 174 } else if (node.Symbol is Power) { 165 strBuilder.Append(@" \left(");175 strBuilder.Append(@" ( "); 166 176 } else if (node.Symbol is Root) { 167 strBuilder.Append(@" \left(");177 strBuilder.Append(@" ( "); 168 178 } else if (node.Symbol is Integral) { 169 179 // actually a new variable for t is needed in all subtrees (TODO) 170 180 var laggedTreeNode = node as ILaggedTreeNode; 171 strBuilder.Append(@"\sum_{t=" + (laggedTreeNode.Lag + currentLag) + @"}^0 \left(");181 strBuilder.Append(@"\sum_{t=" + (laggedTreeNode.Lag + currentLag) + @"}^0 ( "); 172 182 } else if (node.Symbol is VariableCondition) { 173 183 var conditionTreeNode = node as VariableConditionTreeNode; 174 string p = @"1 / \left( 1 + \exp \left(- c_{" + constants.Count + "} ";184 string p = @"1 / 1 + \exp - c_{" + constants.Count + "} "; 175 185 constants.Add(conditionTreeNode.Slope); 176 p += @" \cdot \left(" + EscapeLatexString(conditionTreeNode.VariableName) + LagToString(currentLag) + " - c_{" + constants.Count + @"} \right) \right) \right)";186 p += @" \cdot " + EscapeLatexString(conditionTreeNode.VariableName) + LagToString(currentLag) + " - c_{" + constants.Count + @"} "; 177 187 constants.Add(conditionTreeNode.Threshold); 178 strBuilder.Append(@" \left( " + p + @"\cdot ");188 strBuilder.Append(@" ( " + p + @"\cdot "); 179 189 } else { 180 190 throw new NotImplementedException("Export of " + node.Symbol + " is not implemented."); … … 182 192 } 183 193 184 private void FormatSep(ISymbolicExpressionTreeNode node, StringBuilder strBuilder ) {194 private void FormatSep(ISymbolicExpressionTreeNode node, StringBuilder strBuilder, int step) { 185 195 if (node.Symbol is Addition) { 186 196 strBuilder.Append(" + "); … … 190 200 strBuilder.Append(@" \cdot "); 191 201 } else if (node.Symbol is Division) { 192 strBuilder.Append(@" }{ \cfrac{ "); 202 if (step + 1 == node.SubtreeCount) 203 strBuilder.Append(@"}{"); 204 else 205 strBuilder.Append(@" }{ \cfrac{ "); 193 206 } else if (node.Symbol is Average) { 194 207 strBuilder.Append(@" + "); … … 208 221 strBuilder.Append(@" < "); 209 222 } else if (node.Symbol is And) { 210 strBuilder.Append(@" > 0 \right) \land \left(");223 strBuilder.Append(@" > 0 ) \land ("); 211 224 } else if (node.Symbol is Or) { 212 strBuilder.Append(@" > 0 \right) \lor \left(");225 strBuilder.Append(@" > 0 ) \lor ("); 213 226 } else if (node.Symbol is Not) { 214 227 throw new InvalidOperationException(); 215 228 } else if (node.Symbol is IfThenElse) { 216 strBuilder.Append(@" \right) , \left(");229 strBuilder.Append(@" ) , ("); 217 230 } else if (node.Symbol is ProgramRootSymbol) { 218 231 strBuilder.Append(@"\\" + Environment.NewLine); … … 223 236 strBuilder.Append(@"\\" + Environment.NewLine + " & "); 224 237 } else if (node.Symbol is Power) { 225 strBuilder.Append(@" \right) ^ { \operatorname{round} \left(");238 strBuilder.Append(@") ^ { \operatorname{round} ("); 226 239 } else if (node.Symbol is Root) { 227 strBuilder.Append(@" \right) ^ { \left( \cfrac{1}{ \operatorname{round} \left(");240 strBuilder.Append(@") ^ { \cfrac{1}{ \operatorname{round} ("); 228 241 } else if (node.Symbol is VariableCondition) { 229 242 var conditionTreeNode = node as VariableConditionTreeNode; 230 string p = @"1 / \left( 1 + \exp \left( - c_{" + constants.Count + "} ";243 string p = @"1 / ( 1 + \exp ( - c_{" + constants.Count + "} "; 231 244 constants.Add(conditionTreeNode.Slope); 232 p += @" \cdot \left(" + EscapeLatexString(conditionTreeNode.VariableName) + LagToString(currentLag) + " - c_{" + constants.Count + @"} \right) \right) \right)";245 p += @" \cdot " + EscapeLatexString(conditionTreeNode.VariableName) + LagToString(currentLag) + " - c_{" + constants.Count + @"} ) ) ) "; 233 246 constants.Add(conditionTreeNode.Threshold); 234 strBuilder.Append(@" + \left( 1 - " + p + @" \right) \cdot ");247 strBuilder.Append(@" + ( 1 - " + p + @" ) \cdot "); 235 248 } else { 236 249 throw new NotImplementedException("Export of " + node.Symbol + " is not implemented."); … … 240 253 private void FormatEnd(ISymbolicExpressionTreeNode node, StringBuilder strBuilder) { 241 254 if (node.Symbol is Addition) { 242 strBuilder.Append(@" \right) ");255 strBuilder.Append(@" ) "); 243 256 } else if (node.Symbol is Subtraction) { 244 strBuilder.Append(@" \right) ");257 strBuilder.Append(@" ) "); 245 258 } else if (node.Symbol is Multiplication) { 246 259 } else if (node.Symbol is Division) { 247 strBuilder.Append("} "); 248 if (node.SubtreeCount > 1) 249 strBuilder.Append("{1} "); 250 for (int i = 1; i < node.SubtreeCount; i++) { 260 strBuilder.Append(" } "); 261 for (int i = 2; i < node.SubtreeCount; i++) 251 262 strBuilder.Append(" } "); 252 }253 263 } else if (node.Symbol is Average) { 254 strBuilder.Append(@" \right)");264 strBuilder.Append(@" ) "); 255 265 } else if (node.Symbol is Logarithm) { 256 strBuilder.Append(@" \right) ");266 strBuilder.Append(@" ) "); 257 267 } else if (node.Symbol is Exponential) { 258 strBuilder.Append(@" \right) ");268 strBuilder.Append(@" ) "); 259 269 } else if (node.Symbol is Sine) { 260 strBuilder.Append(@" \right) ");270 strBuilder.Append(@" ) "); 261 271 } else if (node.Symbol is Cosine) { 262 strBuilder.Append(@" \right) ");272 strBuilder.Append(@" ) "); 263 273 } else if (node.Symbol is Tangent) { 264 strBuilder.Append(@" \right) ");274 strBuilder.Append(@" ) "); 265 275 } else if (node.Symbol is GreaterThan) { 266 strBuilder.Append(@" \right) ");276 strBuilder.Append(@" ) "); 267 277 } else if (node.Symbol is LessThan) { 268 strBuilder.Append(@" \right) ");278 strBuilder.Append(@" ) "); 269 279 } else if (node.Symbol is And) { 270 strBuilder.Append(@" > 0 \right) \right) ");280 strBuilder.Append(@" > 0 ) ) "); 271 281 } else if (node.Symbol is Or) { 272 strBuilder.Append(@" > 0 \right) \right) ");282 strBuilder.Append(@" > 0 ) ) "); 273 283 } else if (node.Symbol is Not) { 274 strBuilder.Append(@" \right) ");284 strBuilder.Append(@" ) "); 275 285 } else if (node.Symbol is IfThenElse) { 276 strBuilder.Append(@" \right) \right) ");286 strBuilder.Append(@" ) ) "); 277 287 } else if (node.Symbol is Constant) { 278 288 } else if (node.Symbol is LaggedVariable) { 279 } else if (node.Symbol is HeuristicLab.Problems.DataAnalysis.Symbolic.Variable) {289 } else if (node.Symbol is Variable) { 280 290 } else if (node.Symbol is ProgramRootSymbol) { 281 291 // output all constant values … … 290 300 } else if (node.Symbol is Defun) { 291 301 } else if (node.Symbol is InvokeFunction) { 292 strBuilder.Append(@" \right) ");302 strBuilder.Append(@" ) "); 293 303 } else if (node.Symbol is StartSymbol) { 294 304 } else if (node.Symbol is Argument) { 295 305 } else if (node.Symbol is Derivative) { 296 strBuilder.Append(@" \right) }{dt} ");306 strBuilder.Append(@" ) }{dt} "); 297 307 } else if (node.Symbol is TimeLag) { 298 308 var laggedNode = node as ILaggedTreeNode; 299 309 currentLag -= laggedNode.Lag; 300 310 } else if (node.Symbol is Power) { 301 strBuilder.Append(@" \right) } ");311 strBuilder.Append(@" ) } "); 302 312 } else if (node.Symbol is Root) { 303 strBuilder.Append(@" \right) } \right) } ");313 strBuilder.Append(@" ) } ) } "); 304 314 } else if (node.Symbol is Integral) { 305 315 var laggedTreeNode = node as ILaggedTreeNode; 306 strBuilder.Append(@" \right) ");316 strBuilder.Append(@" ) "); 307 317 } else if (node.Symbol is VariableCondition) { 308 318 strBuilder.Append(@"\left) "); … … 317 327 } else if (lag > 0) { 318 328 return "(t+" + lag + ")"; 319 } else return " (t)";329 } else return ""; 320 330 } 321 331 -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Formatters/SymbolicDataAnalysisExpressionMATLABFormatter.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/ArithmeticExpressionGrammar.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/FullFunctionalExpressionGrammar.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Grammars/TypeCoherentExpressionGrammar.cs
r6819 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 138 138 139 139 AddAllowedChildSymbol(powerSymbols, variableSymbol, 0); 140 AddAllowedChildSymbol(powerSymbols, laggedVariable, 0); 140 141 AddAllowedChildSymbol(powerSymbols, constant, 1); 141 142 … … 187 188 public void ConfigureAsDefaultClassificationGrammar() { 188 189 Symbols.Where(s => s is Average).First().Enabled = false; 190 Symbols.Where(s => s is VariableCondition).First().Enabled = false; 189 191 Symbols.Where(s => s.Name == TrigonometricFunctionsName).First().Enabled = false; 190 192 Symbols.Where(s => s.Name == ExponentialFunctionsName).First().Enabled = false; … … 192 194 Symbols.Where(s => s.Name == TimeSeriesSymbolsName).First().Enabled = false; 193 195 } 194 195 public void ConfigureAsDefaultTimeSeriesPrognosisGrammar() {196 Symbols.Where(s => s is Variable).First().Enabled = false;197 Symbols.Where(s => s.Name == TrigonometricFunctionsName).First().Enabled = false;198 Symbols.Where(s => s.Name == PowerFunctionsName).First().Enabled = false;199 Symbols.Where(s => s.Name == ConditionalSymbolsName).First().Enabled = false;200 }201 196 } 202 197 } -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.csproj
r7193 r7344 93 93 </PropertyGroup> 94 94 <ItemGroup> 95 <Reference Include="HeuristicLab.Analysis-3.3"> 96 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Analysis-3.3.dll</HintPath> 97 </Reference> 98 <Reference Include="HeuristicLab.Collections-3.3"> 99 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Collections-3.3.dll</HintPath> 100 </Reference> 101 <Reference Include="HeuristicLab.Common-3.3"> 102 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common-3.3.dll</HintPath> 103 </Reference> 104 <Reference Include="HeuristicLab.Common.Resources-3.3"> 105 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Common.Resources-3.3.dll</HintPath> 106 </Reference> 107 <Reference Include="HeuristicLab.Core-3.3"> 108 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Core-3.3.dll</HintPath> 109 </Reference> 110 <Reference Include="HeuristicLab.Data-3.3"> 111 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Data-3.3.dll</HintPath> 112 </Reference> 113 <Reference Include="HeuristicLab.Operators-3.3"> 114 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Operators-3.3.dll</HintPath> 115 </Reference> 116 <Reference Include="HeuristicLab.Optimization-3.3"> 117 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization-3.3.dll</HintPath> 118 </Reference> 119 <Reference Include="HeuristicLab.Optimization.Operators-3.3"> 120 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Optimization.Operators-3.3.dll</HintPath> 121 </Reference> 122 <Reference Include="HeuristicLab.Parameters-3.3"> 123 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Parameters-3.3.dll</HintPath> 124 </Reference> 125 <Reference Include="HeuristicLab.Persistence-3.3"> 126 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Persistence-3.3.dll</HintPath> 127 </Reference> 128 <Reference Include="HeuristicLab.PluginInfrastructure-3.3"> 129 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath> 130 </Reference> 131 <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4"> 132 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath> 133 </Reference> 134 <Reference Include="HeuristicLab.Random-3.3"> 135 <HintPath>..\..\..\..\trunk\sources\bin\HeuristicLab.Random-3.3.dll</HintPath> 136 </Reference> 95 137 <Reference Include="System" /> 96 138 <Reference Include="System.Core"> … … 206 248 </ItemGroup> 207 249 <ItemGroup> 208 <ProjectReference Include="..\..\HeuristicLab.Analysis\3.3\HeuristicLab.Analysis-3.3.csproj">209 <Project>{887425B4-4348-49ED-A457-B7D2C26DDBF9}</Project>210 <Name>HeuristicLab.Analysis-3.3</Name>211 <Private>False</Private>212 </ProjectReference>213 <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">214 <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>215 <Name>HeuristicLab.Collections-3.3</Name>216 <Private>False</Private>217 </ProjectReference>218 <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.3\HeuristicLab.Common.Resources-3.3.csproj">219 <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>220 <Name>HeuristicLab.Common.Resources-3.3</Name>221 <Private>False</Private>222 </ProjectReference>223 <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">224 <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>225 <Name>HeuristicLab.Common-3.3</Name>226 <Private>False</Private>227 </ProjectReference>228 <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">229 <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>230 <Name>HeuristicLab.Core-3.3</Name>231 <Private>False</Private>232 </ProjectReference>233 <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">234 <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>235 <Name>HeuristicLab.Data-3.3</Name>236 <Private>False</Private>237 </ProjectReference>238 <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj">239 <Project>{06D4A186-9319-48A0-BADE-A2058D462EEA}</Project>240 <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name>241 <Private>False</Private>242 </ProjectReference>243 <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">244 <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>245 <Name>HeuristicLab.Operators-3.3</Name>246 <Private>False</Private>247 </ProjectReference>248 <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators\3.3\HeuristicLab.Optimization.Operators-3.3.csproj">249 <Project>{25087811-F74C-4128-BC86-8324271DA13E}</Project>250 <Name>HeuristicLab.Optimization.Operators-3.3</Name>251 <Private>False</Private>252 </ProjectReference>253 <ProjectReference Include="..\..\HeuristicLab.Optimization\3.3\HeuristicLab.Optimization-3.3.csproj">254 <Project>{14AB8D24-25BC-400C-A846-4627AA945192}</Project>255 <Name>HeuristicLab.Optimization-3.3</Name>256 <Private>False</Private>257 </ProjectReference>258 <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj">259 <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project>260 <Name>HeuristicLab.Parameters-3.3</Name>261 <Private>False</Private>262 </ProjectReference>263 <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">264 <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>265 <Name>HeuristicLab.Persistence-3.3</Name>266 <Private>False</Private>267 </ProjectReference>268 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">269 <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>270 <Name>HeuristicLab.PluginInfrastructure-3.3</Name>271 <Private>False</Private>272 </ProjectReference>273 <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj">274 <Project>{DF87C13E-A889-46FF-8153-66DCAA8C5674}</Project>275 <Name>HeuristicLab.Problems.DataAnalysis-3.4</Name>276 <Private>False</Private>277 </ProjectReference>278 <ProjectReference Include="..\..\HeuristicLab.Random\3.3\HeuristicLab.Random-3.3.csproj">279 <Project>{F4539FB6-4708-40C9-BE64-0A1390AEA197}</Project>280 <Name>HeuristicLab.Random-3.3</Name>281 <Private>False</Private>282 </ProjectReference>283 </ItemGroup>284 <ItemGroup>285 250 <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> 286 251 <Visible>False</Visible> … … 299 264 </BootstrapperPackage> 300 265 </ItemGroup> 301 <ItemGroup /> 266 <ItemGroup> 267 <ProjectReference Include="..\..\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding\3.4\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.csproj"> 268 <Project>{06D4A186-9319-48A0-BADE-A2058D462EEA}</Project> 269 <Name>HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4</Name> 270 </ProjectReference> 271 </ItemGroup> 302 272 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 303 273 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisAnalyzer.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisBoundedOperator.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisEvaluator.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisExpressionTreeInterpreter.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 22 22 using System.Collections.Generic; 23 23 using HeuristicLab.Core; 24 using HeuristicLab.Data; 24 25 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 25 26 26 27 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { 27 public interface ISymbolicDataAnalysisExpressionTreeInterpreter : INamedItem {28 public interface ISymbolicDataAnalysisExpressionTreeInterpreter : INamedItem, IStatefulItem { 28 29 IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, Dataset dataset, IEnumerable<int> rows); 30 IntValue EvaluatedSolutions { get; set; } 29 31 } 30 32 } -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisGrammar.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisInterpreterOperator.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisModel.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveAnalyzer.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisMultiObjectiveEvaluator.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisProblem.cs
r5883 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveAnalyzer.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSingleObjectiveEvaluator.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolution.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisSolutionCreator.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interfaces/ISymbolicDataAnalysisValidationAnalyzer.cs
r5882 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Plugin.cs.frame
r6866 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 26 26 27 27 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { 28 [Plugin("HeuristicLab.Problems.DataAnalysis.Symbolic","Provides base classes for symbolic data analysis tasks.", "3.4. 1.$WCREV$")]28 [Plugin("HeuristicLab.Problems.DataAnalysis.Symbolic","Provides base classes for symbolic data analysis tasks.", "3.4.2.$WCREV$")] 29 29 [PluginFile("HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.dll", PluginFileType.Assembly)] 30 30 [PluginDependency("HeuristicLab.Analysis", "3.3")] -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Properties/AssemblyInfo.cs.frame
r6866 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 31 31 [assembly: AssemblyCompany("")] 32 32 [assembly: AssemblyProduct("HeuristicLab")] 33 [assembly: AssemblyCopyright("(c) 2002-201 1HEAL")]33 [assembly: AssemblyCopyright("(c) 2002-2012 HEAL")] 34 34 [assembly: AssemblyTrademark("")] 35 35 [assembly: AssemblyCulture("")] … … 53 53 // by using the '*' as shown below: 54 54 [assembly: AssemblyVersion("3.4.0.0")] 55 [assembly: AssemblyFileVersion("3.4. 1.$WCREV$")]55 [assembly: AssemblyFileVersion("3.4.2.$WCREV$")] -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionTreeILEmittingInterpreter.cs
r6849 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 48 48 internal delegate double CompiledFunction(int sampleIndex, IList<double>[] columns); 49 49 private const string CheckExpressionsWithIntervalArithmeticParameterName = "CheckExpressionsWithIntervalArithmetic"; 50 private const string EvaluatedSolutionsParameterName = "EvaluatedSolutions"; 50 51 #region private classes 51 52 private class InterpreterState { … … 156 157 get { return (IValueParameter<BoolValue>)Parameters[CheckExpressionsWithIntervalArithmeticParameterName]; } 157 158 } 159 160 public IValueParameter<IntValue> EvaluatedSolutionsParameter { 161 get { return (IValueParameter<IntValue>)Parameters[EvaluatedSolutionsParameterName]; } 162 } 158 163 #endregion 159 164 … … 162 167 get { return CheckExpressionsWithIntervalArithmeticParameter.Value; } 163 168 set { CheckExpressionsWithIntervalArithmeticParameter.Value = value; } 169 } 170 171 public IntValue EvaluatedSolutions { 172 get { return EvaluatedSolutionsParameter.Value; } 173 set { EvaluatedSolutionsParameter.Value = value; } 164 174 } 165 175 #endregion … … 176 186 : base("SymbolicDataAnalysisExpressionTreeILEmittingInterpreter", "Interpreter for symbolic expression trees.") { 177 187 Parameters.Add(new ValueParameter<BoolValue>(CheckExpressionsWithIntervalArithmeticParameterName, "Switch that determines if the interpreter checks the validity of expressions with interval arithmetic before evaluating the expression.", new BoolValue(false))); 178 } 188 Parameters.Add(new ValueParameter<IntValue>(EvaluatedSolutionsParameterName, "A counter for the total number of solutions the interpreter has evaluated", new IntValue(0))); 189 } 190 191 #region state 192 public void InitializeState() { 193 EvaluatedSolutions.Value = 0; 194 } 195 196 public void ClearState() { 197 EvaluatedSolutions.Value = 0; 198 } 199 #endregion 179 200 180 201 public IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, Dataset dataset, IEnumerable<int> rows) { … … 584 605 //to determine the relative amounts of the true and false branch see http://en.wikipedia.org/wiki/Logistic_function 585 606 case OpCodes.VariableCondition: { 586 throw new Not ImplementedException();587 } 588 default: throw new NotSupportedException( );607 throw new NotSupportedException("Interpretation of symbol " + currentInstr.dynamicNode.Symbol.Name + " is not supported by the SymbolicDataAnalysisTreeILEmittingInterpreter"); 608 } 609 default: throw new NotSupportedException("Interpretation of symbol " + currentInstr.dynamicNode.Symbol.Name + " is not supported by the SymbolicDataAnalysisTreeILEmittingInterpreter"); 589 610 } 590 611 } -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionTreeInterpreter.cs
r6860 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 34 34 public sealed class SymbolicDataAnalysisExpressionTreeInterpreter : ParameterizedNamedItem, ISymbolicDataAnalysisExpressionTreeInterpreter { 35 35 private const string CheckExpressionsWithIntervalArithmeticParameterName = "CheckExpressionsWithIntervalArithmetic"; 36 private const string EvaluatedSolutionsParameterName = "EvaluatedSolutions"; 36 37 #region private classes 37 38 private class InterpreterState { … … 176 177 get { return (IValueParameter<BoolValue>)Parameters[CheckExpressionsWithIntervalArithmeticParameterName]; } 177 178 } 179 180 public IValueParameter<IntValue> EvaluatedSolutionsParameter { 181 get { return (IValueParameter<IntValue>)Parameters[EvaluatedSolutionsParameterName]; } 182 } 178 183 #endregion 179 184 … … 183 188 set { CheckExpressionsWithIntervalArithmeticParameter.Value = value; } 184 189 } 190 191 public IntValue EvaluatedSolutions { 192 get { return EvaluatedSolutionsParameter.Value; } 193 set { EvaluatedSolutionsParameter.Value = value; } 194 } 185 195 #endregion 186 187 196 188 197 [StorableConstructor] … … 196 205 : base("SymbolicDataAnalysisExpressionTreeInterpreter", "Interpreter for symbolic expression trees including automatically defined functions.") { 197 206 Parameters.Add(new ValueParameter<BoolValue>(CheckExpressionsWithIntervalArithmeticParameterName, "Switch that determines if the interpreter checks the validity of expressions with interval arithmetic before evaluating the expression.", new BoolValue(false))); 198 } 207 Parameters.Add(new ValueParameter<IntValue>(EvaluatedSolutionsParameterName, "A counter for the total number of solutions the interpreter has evaluated", new IntValue(0))); 208 } 209 210 #region state 211 public void InitializeState() { 212 EvaluatedSolutions.Value = 0; 213 } 214 215 public void ClearState() { 216 } 217 #endregion 199 218 200 219 public IEnumerable<double> GetSymbolicExpressionTreeValues(ISymbolicExpressionTree tree, Dataset dataset, IEnumerable<int> rows) { 220 EvaluatedSolutions.Value++; // increment the evaluated solutions counter 201 221 if (CheckExpressionsWithIntervalArithmetic.Value) 202 222 throw new NotSupportedException("Interval arithmetic is not yet supported in the symbolic data analysis interpreter."); -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionTreeSimplifier.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisModel.cs
r5914 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 32 32 [StorableClass] 33 33 public abstract class SymbolicDataAnalysisModel : NamedItem, ISymbolicDataAnalysisModel { 34 public override ImageItemImage {34 public static new Image StaticItemImage { 35 35 get { return HeuristicLab.Common.Resources.VSImageLibrary.Function; } 36 36 } -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisMultiObjectiveProblem.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisProblem.cs
r7086 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 32 32 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 33 33 using HeuristicLab.PluginInfrastructure; 34 using HeuristicLab.Problems.DataAnalysis.Symbolic.Crossovers; 34 35 35 36 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { … … 102 103 #region properties 103 104 public string Filename { get; set; } 104 public override ImageItemImage { get { return VSImageLibrary.Type; } }105 public static new Image StaticItemImage { get { return VSImageLibrary.Type; } } 105 106 106 107 IDataAnalysisProblemData IDataAnalysisProblem.ProblemData { -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisSingleObjectiveProblem.cs
r6533 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Addition.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/And.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Average.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Constant.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/ConstantTreeNode.cs
r6180 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Cosine.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Derivative.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Division.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Exponential.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/GreaterThan.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/ILaggedTreeNode.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/IfThenElse.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Integral.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/LaggedTreeNode.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/LaggedVariable.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/LaggedVariableTreeNode.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/LessThan.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Logarithm.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Multiplication.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Not.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Or.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Power.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Root.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Sine.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Subtraction.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Tangent.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/TimeLag.cs
r6809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/Variable.cs
r6803 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. -
branches/gp-crossover/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Symbols/VariableTreeNode.cs
r5809 r7344 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 1Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab.
Note: See TracChangeset
for help on using the changeset viewer.