Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/01/15 15:32:22 (9 years ago)
Author:
ascheibe
Message:

#2306

  • removed unused usings
  • renamed plugin.cs file
  • fixed prebuild event
  • fixed plugin dependencies
  • added license headers
  • updated assemblyinfo
Location:
branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/IInteractionInitializer.cs

    r7128 r12566  
    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-2015 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
    522using HeuristicLab.Core;
    623using HeuristicLab.Data;
  • branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/IncreasingBlockSizeInteractionsInitializer.cs

    r7128 r12566  
    1 using System;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2015 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
    222using System.Collections.Generic;
    323using System.Linq;
    4 using System.Text;
     24using HeuristicLab.Common;
    525using HeuristicLab.Core;
    626using HeuristicLab.Data;
    7 using HeuristicLab.Common;
     27using HeuristicLab.Encodings.BinaryVectorEncoding;
    828using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    9 using HeuristicLab.Encodings.BinaryVectorEncoding;
    10 using HeuristicLab.Parameters;
    11 using HeuristicLab.PluginInfrastructure;
    1229
    1330namespace HeuristicLab.Problems.NK {
     
    1532  [Item("IncreasingBlockSizeInteractionsInitializer", "Randomly assignes interactions across all bits but makes sure that different numbers of ineractions are applied to different bits.")]
    1633  [StorableClass]
    17   public class IncreasingBlockSizeInteractionsInitializer : ParameterizedNamedItem, IInteractionInitializer {   
    18    
     34  public class IncreasingBlockSizeInteractionsInitializer : ParameterizedNamedItem, IInteractionInitializer {
     35
    1936    [StorableConstructor]
    2037    protected IncreasingBlockSizeInteractionsInitializer(bool serializing) : base(serializing) { }
    2138    protected IncreasingBlockSizeInteractionsInitializer(IncreasingBlockSizeInteractionsInitializer original, Cloner cloner) : base(original, cloner) { }
    22     public IncreasingBlockSizeInteractionsInitializer() {     
     39    public IncreasingBlockSizeInteractionsInitializer() {
    2340    }
    24    
     41
    2542
    2643    public override IDeepCloneable Clone(Cloner cloner) {
    2744      return new IncreasingBlockSizeInteractionsInitializer(this, cloner);
    28     }   
     45    }
    2946
    3047    #region IInteractionInitializer Members
    3148    public BoolMatrix InitializeInterations(int length, int nComponents, int nInteractions, IRandom random) {
    3249      Dictionary<int, int> bitInteractionCounts = new Dictionary<int, int>();
    33       for (int i = 0; i<length; i++) {
    34         int count = nInteractions*2*i/length;
     50      for (int i = 0; i < length; i++) {
     51        int count = nInteractions * 2 * i / length;
    3552        if (count > 0)
    3653          bitInteractionCounts[i] = count;
     
    3956      while (bitInteractionCounts.Count > 0) {
    4057        BinaryVector component = new BinaryVector(length);
    41         for (int i = 0; i<nInteractions; i++) {         
     58        for (int i = 0; i < nInteractions; i++) {
    4259          while (bitInteractionCounts.Count > 0) {
    4360            int bit = bitInteractionCounts.ElementAt(random.Next(bitInteractionCounts.Count)).Key;
     
    4865              break;
    4966            }
    50           }         
     67          }
    5168        }
    5269        components.Add(component);
    53       }     
     70      }
    5471      BoolMatrix m = new BoolMatrix(length, components.Count);
    55       foreach (var c in components.Select((v, j) => new {v, j})) {
    56         for (int i = 0; i<c.v.Length; i++) {
     72      foreach (var c in components.Select((v, j) => new { v, j })) {
     73        for (int i = 0; i < c.v.Length; i++) {
    5774          m[i, c.j] = c.v[i];
    58         }   
     75        }
    5976      }
    6077      return m;
  • branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/LimitedRandomInteractionsInitializer.cs

    r7128 r12566  
    1 using System;
    2 using System.Collections.Generic;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2015 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
     22using System;
    323using System.Linq;
    4 using System.Text;
     24using HeuristicLab.Common;
    525using HeuristicLab.Core;
    626using HeuristicLab.Data;
    7 using HeuristicLab.Common;
     27using HeuristicLab.Parameters;
    828using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    9 using HeuristicLab.Encodings.BinaryVectorEncoding;
    10 using HeuristicLab.Parameters;
    11 using HeuristicLab.PluginInfrastructure;
    1229
    1330namespace HeuristicLab.Problems.NK {
     
    3451    public ValueParameter<DoubleValue> MaximumDistanceRatioParameter {
    3552      get { return (ValueParameter<DoubleValue>)Parameters["MaximumDistanceRatio"]; }
    36     }   
     53    }
    3754
    3855    private int MaximumDistance(int length, int nInteractions) {
    3956      int maxBitDist = MaximumDistanceParameter.Value.Value;
    4057      double maxDistRatio = MaximumDistanceRatioParameter.Value.Value;
    41       maxBitDist =  Math.Min(
     58      maxBitDist = Math.Min(
    4259        maxBitDist == 0 ? length : maxBitDist,
    43         maxDistRatio == 0 ? length : (int)Math.Round(maxDistRatio*length));     
     60        maxDistRatio == 0 ? length : (int)Math.Round(maxDistRatio * length));
    4461      if (maxBitDist * 2 < nInteractions)
    4562        maxBitDist = (int)Math.Ceiling(0.5 * nInteractions);
    4663      return maxBitDist;
    47     }   
    48        
     64    }
     65
    4966    [StorableConstructor]
    5067    protected LimitedRandomInteractionsInitializer(bool serializing) : base(serializing) { }
     
    5471      Parameters.Add(new ValueParameter<DoubleValue>("MaximumDistanceRatio", "Maximum distance of interactions as ratio of the total length or 0 for unlimited"));
    5572    }
    56    
     73
    5774    public override IDeepCloneable Clone(Cloner cloner) {
    5875      return new LimitedRandomInteractionsInitializer(this, cloner);
    59     }   
     76    }
    6077
    6178    #region IInteractionInitializer Members
     
    6380      BoolMatrix m = new BoolMatrix(length, nComponents);
    6481      int maxBitDistance = MaximumDistance(length, nInteractions);
    65       var minBounds = new Bounds(0, length-nInteractions);
    66       var maxBounds = new Bounds(nInteractions, length-1);
    67       for (int c = 0; c<m.Columns; c++) {
    68         int min = minBounds.bounded(c-maxBitDistance);
    69         int max = maxBounds.bounded(c+maxBitDistance);
    70         var indices = Enumerable.Range(min, max-min).ToList();
     82      var minBounds = new Bounds(0, length - nInteractions);
     83      var maxBounds = new Bounds(nInteractions, length - 1);
     84      for (int c = 0; c < m.Columns; c++) {
     85        int min = minBounds.bounded(c - maxBitDistance);
     86        int max = maxBounds.bounded(c + maxBitDistance);
     87        var indices = Enumerable.Range(min, max - min).ToList();
    7188        indices.Remove(c);
    72         m[c, c] = true;       
     89        m[c, c] = true;
    7390        while (indices.Count > nInteractions) {
    7491          indices.RemoveAt(random.Next(indices.Count));
     
    7895        }
    7996      }
    80       return m;     
     97      return m;
    8198    }
    8299    #endregion
  • branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/RandomInteractionsInitializer.cs

    r7128 r12566  
    1 using System;
    2 using System.Collections.Generic;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2015 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
    322using System.Linq;
    4 using System.Text;
     23using HeuristicLab.Common;
    524using HeuristicLab.Core;
    625using HeuristicLab.Data;
    7 using HeuristicLab.Common;
    826using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    927
     
    3250    public BoolMatrix InitializeInterations(int length, int nComponents, int nInteractions, IRandom random) {
    3351      BoolMatrix m = new BoolMatrix(length, nComponents);
    34       for (int c = 0; c<m.Columns; c++) {
     52      for (int c = 0; c < m.Columns; c++) {
    3553        var indices = Enumerable.Range(0, length).ToList();
    3654        if (indices.Count > c) {
     
    4563        }
    4664      }
    47       return m;     
     65      return m;
    4866    }
    4967    #endregion
  • branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/InteractionInitializers/SortedRandomInteractionsInitializer.cs

    r8172 r12566  
    1 using System.Linq;
     1#region License Information
     2/* HeuristicLab
     3 * Copyright (C) 2002-2015 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
     22using System.Linq;
    223using HeuristicLab.Common;
    324using HeuristicLab.Core;
Note: See TracChangeset for help on using the changeset viewer.