Changeset 13583 for branches/PerformanceComparison/HeuristicLab.Analysis.FitnessLandscape/3.3/DistanceCalculators
- Timestamp:
- 02/02/16 14:10:53 (9 years ago)
- Location:
- branches/PerformanceComparison/HeuristicLab.Analysis.FitnessLandscape
- Files:
-
- 1 added
- 4 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/PerformanceComparison/HeuristicLab.Analysis.FitnessLandscape/3.3/DistanceCalculators/BinaryVectorDistanceCalculator.cs
r7202 r13583 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 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 System; 23 using System.Drawing; 24 using HeuristicLab.Common; 25 using HeuristicLab.Common.Resources; 5 26 using HeuristicLab.Core; 6 using HeuristicLab. Common.Resources;27 using HeuristicLab.Encodings.BinaryVectorEncoding; 7 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 8 using HeuristicLab.Common;9 using HeuristicLab.Encodings.BinaryVectorEncoding;10 using System.Drawing;11 29 12 30 namespace HeuristicLab.Analysis.FitnessLandscape.DistanceCalculators { -
branches/PerformanceComparison/HeuristicLab.Analysis.FitnessLandscape/3.3/DistanceCalculators/IItemDistanceCalculator.cs
r7128 r13583 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 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 System; 5 23 using HeuristicLab.Core; 6 24 -
branches/PerformanceComparison/HeuristicLab.Analysis.FitnessLandscape/3.3/DistanceCalculators/PermutationDistanceCalculator.cs
r7202 r13583 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 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 System; 2 23 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 24 using System.Drawing; 25 using HeuristicLab.Common; 26 using HeuristicLab.Common.Resources; 5 27 using HeuristicLab.Core; 6 using HeuristicLab. Common.Resources;28 using HeuristicLab.Encodings.PermutationEncoding; 7 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 8 using HeuristicLab.Common;9 using HeuristicLab.Encodings.BinaryVectorEncoding;10 using HeuristicLab.Encodings.PermutationEncoding;11 using System.Drawing;12 30 13 31 namespace HeuristicLab.Analysis.FitnessLandscape.DistanceCalculators { … … 63 81 case PermutationTypes.RelativeUndirected: return RelativeDistance(a, b); 64 82 default: throw new NotImplementedException("Unknown permutation type " + a.PermutationType); 65 } 83 } 66 84 } 67 85 68 86 private double AbsoluteDistance(Permutation a, Permutation b) { 69 87 int mismatches = 0; 70 for (int i = 0; i <a.Length; i++) {88 for (int i = 0; i < a.Length; i++) { 71 89 if (a[i] != b[i]) 72 90 mismatches++; … … 87 105 } 88 106 89 private static Point GetEdge(Permutation a, int index) { 107 private static Point GetEdge(Permutation a, int index) { 90 108 int start = a[index]; 91 int end = a[(index + 1) %a.Length];109 int end = a[(index + 1) % a.Length]; 92 110 switch (a.PermutationType) { 93 111 case PermutationTypes.RelativeDirected: return new Point(start, end); -
branches/PerformanceComparison/HeuristicLab.Analysis.FitnessLandscape/3.3/DistanceCalculators/RealVectorDistanceCalculator.cs
r12575 r13583 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2016 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 System; 23 using System.Drawing; 24 using HeuristicLab.Common; 25 using HeuristicLab.Common.Resources; 5 26 using HeuristicLab.Core; 6 using HeuristicLab.Common.Resources; 27 using HeuristicLab.Encodings.BinaryVectorEncoding; 28 using HeuristicLab.Encodings.RealVectorEncoding; 7 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 8 using HeuristicLab.Common;9 using HeuristicLab.Encodings.BinaryVectorEncoding;10 using System.Drawing;11 using HeuristicLab.Encodings.RealVectorEncoding;12 30 13 31 namespace HeuristicLab.Analysis.FitnessLandscape.DistanceCalculators { … … 15 33 [Item("RealVectorDistanceCalculator", "Calculates the Euclidian distance of two real vectors")] 16 34 [StorableClass] 17 public class RealVectorDistanceCalculator : NamedItem, IItemDistanceCalculator {35 public class RealVectorDistanceCalculator : NamedItem, IItemDistanceCalculator { 18 36 19 37 #region Properties … … 52 70 53 71 public double Distance(IItem x, IItem y) { 54 RealVector a = (RealVector 55 RealVector b = (RealVector 72 RealVector a = (RealVector)x; 73 RealVector b = (RealVector)y; 56 74 if (a.Length != b.Length) 57 75 throw new InvalidOperationException("Cannot compare vectors of different lengths"); … … 63 81 } 64 82 65 private static double Sqr(double x) { return x *x; }83 private static double Sqr(double x) { return x * x; } 66 84 67 85 #endregion
Note: See TracChangeset
for help on using the changeset viewer.