- Timestamp:
- 04/05/13 13:12:54 (11 years ago)
- Location:
- branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3
- Property svn:ignore
-
old new 1 1 *.user 2 Plugin.cs
-
- Property svn:ignore
-
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Creators/UniformRandomDecisionListCreator.cs
r9334 r9342 21 21 22 22 using System.Collections.Generic; 23 using HeuristicLab.Algorithms.GAssist;24 23 using HeuristicLab.Common; 25 24 using HeuristicLab.Core; 25 using HeuristicLab.Optimization.Operators.LCS; 26 26 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 27 … … 50 50 rules.Add(newRule); 51 51 } 52 return new DecisionList(rules); 52 53 return new DecisionList(rules); //, DefaultActionParameter.ActualValue); 53 54 } 54 55 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Crossover/SinglePointCrossover.cs
r9334 r9342 62 62 } 63 63 64 return new DecisionList(rules );64 return new DecisionList(rules, parent1.DefaultAction); 65 65 } 66 66 -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/DecisionList.cs
r9334 r9342 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.Optimization.Operators.LCS; 27 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 28 29 … … 30 31 [StorableClass] 31 32 [Item("DecisionList", "")] 32 public class DecisionList : Item {33 public class DecisionList : Item, IGAssistIndividual { 33 34 [Storable] 34 35 private IList<Rule> rules; … … 43 44 } 44 45 46 // default rule (action) is part of the rule set size 47 public int RuleSetSize { 48 get { return defaultAction == null ? rules.Count : rules.Count + 1; } 49 } 50 45 51 [StorableConstructor] 46 52 protected DecisionList(bool deserializing) : base(deserializing) { } 47 53 protected DecisionList(DecisionList original, Cloner cloner) 48 54 : base(original, cloner) { 55 defaultAction = original.DefaultAction; 56 rules = new List<Rule>(original.rules.Count); 57 foreach (var rule in original.Rules) { 58 rules.Add(cloner.Clone(rule)); 59 } 49 60 } 50 61 public DecisionList() … … 56 67 : base() { 57 68 this.rules = rules; 58 defaultAction = null;69 this.defaultAction = null; 59 70 } 60 71 public DecisionList(List<Rule> rules, IAction defaultAction) … … 95 106 return estimated; 96 107 } 108 109 #region IGAssistIndividual Members 110 111 public void ApplySplit(IRandom random, double probability) { 112 foreach (var rule in rules) { 113 rule.ApplySplit(random, probability); 114 } 115 } 116 117 public void ApplyMerge(IRandom random, double probability) { 118 foreach (var rule in rules) { 119 rule.ApplyMerge(random, probability); 120 } 121 } 122 123 public void ApplyReinitialize(IRandom random, double probability, double oneProbability, IEnumerable<IDiscretizer> discretizers) { 124 foreach (var rule in rules) { 125 rule.ApplyReinitialize(random, probability, oneProbability, discretizers); 126 } 127 } 128 129 #endregion 97 130 } 98 131 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/DecisionListCreator.cs
r9334 r9342 20 20 #endregion 21 21 22 using HeuristicLab.Algorithms.GAssist;23 22 using HeuristicLab.Common; 24 23 using HeuristicLab.Core; 25 24 using HeuristicLab.Data; 26 25 using HeuristicLab.Operators; 26 using HeuristicLab.Optimization.Operators.LCS; 27 27 using HeuristicLab.Parameters; 28 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; … … 52 52 get { return (ILookupParameter<IRandom>)Parameters["Random"]; } 53 53 } 54 public IValueLookupParameter<IAction> DefaultActionParameter { 55 get { return (IValueLookupParameter<IAction>)Parameters["DefaultAction"]; } 56 } 54 57 #endregion 55 58 … … 67 70 Parameters.Add(new LookupParameter<DecisionList>("DecisionList", "")); 68 71 Parameters.Add(new LookupParameter<IRandom>("Random", "The pseudo random number generator which should be used for stochastic manipulation operators.")); 69 72 Parameters.Add(new ValueLookupParameter<IAction>("DefaultAction", "")); 70 73 } 71 74 -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/HeuristicLab.Encodings.DecisionList-3.3.csproj
r9334 r9342 126 126 </ItemGroup> 127 127 <ItemGroup> 128 <ProjectReference Include="..\..\HeuristicLab.Algorithms.GAssist\3.3\HeuristicLab.Algorithms.GAssist-3.3.csproj">129 <Project>{f191a6fa-1b3c-4f82-a711-873b4d839bc0}</Project>130 <Name>HeuristicLab.Algorithms.GAssist-3.3</Name>131 </ProjectReference>132 128 <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj"> 133 129 <Project>{c36bd924-a541-4a00-afa8-41701378ddc5}</Project> 134 130 <Name>HeuristicLab.Core-3.3</Name> 131 </ProjectReference> 132 <ProjectReference Include="..\..\HeuristicLab.Optimization.Operators.LCS\3.3\HeuristicLab.Optimization.Operators.LCS-3.3.csproj"> 133 <Project>{f2c6d3b0-bd4f-4747-b13e-b18e53a2a09d}</Project> 134 <Name>HeuristicLab.Optimization.Operators.LCS-3.3</Name> 135 135 </ProjectReference> 136 136 <ProjectReference Include="..\..\HeuristicLab.Problems.DataAnalysis\3.4\HeuristicLab.Problems.DataAnalysis-3.4.csproj"> … … 141 141 <ItemGroup /> 142 142 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 143 <PropertyGroup> 144 <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir) 145 set ProjectDir=$(ProjectDir) 146 set SolutionDir=$(SolutionDir) 147 set Outdir=$(Outdir) 148 149 call PreBuildEvent.cmd 150 </PreBuildEvent> 151 </PropertyGroup> 143 152 <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 144 153 Other similar extension points exist, see Microsoft.Common.targets. -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Interfaces/IDecisionListClassificationProblemData.cs
r9334 r9342 51 51 52 52 IEnumerable<IAction> FetchAction(IEnumerable<int> rows); 53 IAction FetchAction(int rows); 53 54 54 55 event EventHandler Changed; -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Interfaces/IDecisionListCreator.cs
r9334 r9342 20 20 #endregion 21 21 22 using HeuristicLab.Algorithms.GAssist;23 22 using HeuristicLab.Core; 24 23 using HeuristicLab.Data; 25 24 using HeuristicLab.Optimization; 25 using HeuristicLab.Optimization.Operators.LCS; 26 26 27 27 namespace HeuristicLab.Encodings.DecisionList { … … 31 31 IValueLookupParameter<IntValue> InitialNumberOfRulesParameter { get; } 32 32 IValueLookupParameter<PercentValue> OneProbabilityParameter { get; } 33 IValueLookupParameter<IAction> DefaultActionParameter { get; } 33 34 } 34 35 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Interfaces/IDecisionListManipulator.cs
r9334 r9342 21 21 22 22 using HeuristicLab.Core; 23 using HeuristicLab.Data; 23 24 using HeuristicLab.Optimization; 24 25 … … 26 27 public interface IDecisionListManipulator : IDecisionListOperator, IManipulator { 27 28 ILookupParameter<DecisionList> ChildParameter { get; } 29 ILookupParameter<PercentValue> ActionMutationProbabilityParameter { get; } 28 30 } 29 31 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Rule.cs
r9334 r9342 24 24 using System.Linq; 25 25 using System.Text; 26 using HeuristicLab.Algorithms.GAssist;27 26 using HeuristicLab.Common; 28 27 using HeuristicLab.Core; 28 using HeuristicLab.Optimization.Operators.LCS; 29 29 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 30 30 … … 110 110 return new Rule(crossedVariables, action); 111 111 } 112 113 public void ApplySplit(IRandom random, double probability) { 114 foreach (var variable in variables.Values) { 115 if (random.NextDouble() < probability) 116 variable.Split(random); 117 } 118 } 119 120 public void ApplyMerge(IRandom random, double probability) { 121 foreach (var variable in variables.Values) { 122 if (random.NextDouble() < probability) 123 variable.Merge(random); 124 } 125 } 126 127 public void ApplyReinitialize(IRandom random, double probability, double oneProbability, IEnumerable<IDiscretizer> discretizers) { 128 foreach (var variable in variables.Values) { 129 if (random.NextDouble() < probability) 130 variable.Reinitialize(random, oneProbability, discretizers); 131 } 132 } 112 133 } 113 134 } -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Variable/DoubleVariable.cs
r9334 r9342 23 23 using System.Collections.Generic; 24 24 using System.Linq; 25 using HeuristicLab.Algorithms.GAssist;26 25 using HeuristicLab.Common; 27 26 using HeuristicLab.Core; 27 using HeuristicLab.Optimization.Operators.LCS; 28 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 29 29 -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Variable/IVariable.cs
r9334 r9342 22 22 using System; 23 23 using System.Collections.Generic; 24 using HeuristicLab.Algorithms.GAssist;25 24 using HeuristicLab.Core; 25 using HeuristicLab.Optimization.Operators.LCS; 26 26 27 27 namespace HeuristicLab.Encodings.DecisionList { -
branches/LearningClassifierSystems/HeuristicLab.Encodings.DecisionList/3.3/Variable/Variable.cs
r9334 r9342 23 23 using System.Collections.Generic; 24 24 using System.Text; 25 using HeuristicLab.Algorithms.GAssist;26 25 using HeuristicLab.Common; 27 26 using HeuristicLab.Core; 27 using HeuristicLab.Optimization.Operators.LCS; 28 28 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 29 29
Note: See TracChangeset
for help on using the changeset viewer.