Changeset 13867 for branches/HeuristicLab.Problems.GeneticProgramming.BloodGlucosePrediction/CurvedChVariableTreeNode.cs
- Timestamp:
- 05/31/16 17:05:49 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.Problems.GeneticProgramming.BloodGlucosePrediction/CurvedChVariableTreeNode.cs
r13865 r13867 32 32 get { return (CurvedChVariableSymbol)base.Symbol; } 33 33 } 34 35 [Storable] 36 private double alpha; 37 public double Alpha { 38 get { return alpha; } 39 set { alpha = value; } 40 } 41 42 [Storable] 43 private double beta; 44 public double Beta { 45 get { return beta; } 46 set { beta = value; } 47 } 48 [Storable] 49 private double weight; 50 public double Weight { 51 get { return weight; } 52 set { weight = value; } 53 } 34 54 [StorableConstructor] 35 55 protected CurvedChVariableTreeNode(bool deserializing) : base(deserializing) { } 36 56 protected CurvedChVariableTreeNode(CurvedChVariableTreeNode original, Cloner cloner) 37 57 : base(original, cloner) { 58 this.alpha = original.alpha; 59 this.beta = original.beta; 60 this.weight = original.weight; 38 61 } 39 62 protected CurvedChVariableTreeNode() { } … … 41 64 42 65 public override bool HasLocalParameters { 43 get { return false; }66 get { return true; } 44 67 } 45 68 46 69 public override void ResetLocalParameters(IRandom random) { 47 70 base.ResetLocalParameters(random); 71 weight = NormalDistributedRandom.NextDouble(random, 0, 10); 72 alpha = UniformDistributedRandom.NextDouble(random, Symbol.MinAlpha, Symbol.MaxAlpha); 73 beta = UniformDistributedRandom.NextDouble(random, Symbol.MinBeta, Symbol.MaxBeta); 48 74 } 49 75 50 76 public override void ShakeLocalParameters(IRandom random, double shakingFactor) { 51 77 base.ShakeLocalParameters(random, shakingFactor); 78 weight += NormalDistributedRandom.NextDouble(random, 0, 1.0 * shakingFactor); 79 alpha += NormalDistributedRandom.NextDouble(random, 0, 1 * shakingFactor); 80 beta += NormalDistributedRandom.NextDouble(random, 0, 1 * shakingFactor); 81 82 alpha = Math.Min(Symbol.MaxAlpha, Math.Max(Symbol.MinAlpha, alpha)); 83 beta = Math.Min(Symbol.MinBeta, Math.Max(Symbol.MinBeta, beta)); 52 84 } 53 85 … … 57 89 58 90 public override string ToString() { 59 return string.Format(" curvedCh(alpha: {0}, beta: {1})", Symbol.Alpha, Symbol.Beta);91 return string.Format("{0:N3}*curvedCh(alpha: {1:N3}, beta: {2:N3})", weight, alpha, beta); 60 92 } 61 93 }
Note: See TracChangeset
for help on using the changeset viewer.