Changeset 9790 for branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions
- Timestamp:
- 07/26/13 15:13:05 (11 years ago)
- Location:
- branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/Number.cs
r9630 r9790 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 HeuristicLab.Common; 2 23 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 3 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/NumberTreeNode.cs
r9565 r9790 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 2 22 using HeuristicLab.Common; 3 23 using HeuristicLab.Core; … … 5 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 6 26 7 namespace HeuristicLab.Problems.Robocode 8 { 9 [StorableClass] 10 public class NumberTreeNode : SymbolicExpressionTreeTerminalNode 11 { 12 private int value; 13 [Storable] 14 public int Value 15 { 16 get { return value; } 17 private set { this.value = value; } 18 } 27 namespace HeuristicLab.Problems.Robocode { 28 [StorableClass] 29 public class NumberTreeNode : SymbolicExpressionTreeTerminalNode { 30 private int value; 31 [Storable] 32 public int Value { 33 get { return value; } 34 private set { this.value = value; } 35 } 19 36 20 [StorableConstructor] 21 private NumberTreeNode(bool deserializing) : base(deserializing) { } 22 private NumberTreeNode(NumberTreeNode original, Cloner cloner) 23 : base(original, cloner) 24 { 25 this.value = original.value; 26 } 37 [StorableConstructor] 38 private NumberTreeNode(bool deserializing) : base(deserializing) { } 39 private NumberTreeNode(NumberTreeNode original, Cloner cloner) 40 : base(original, cloner) { 41 this.value = original.value; 42 } 27 43 28 public NumberTreeNode() 29 : base(new Number()) 30 { 31 } 44 public NumberTreeNode() 45 : base(new Number()) { 46 } 32 47 33 public override IDeepCloneable Clone(Cloner cloner) 34 { 35 return new NumberTreeNode(this, cloner); 36 } 48 public override IDeepCloneable Clone(Cloner cloner) { 49 return new NumberTreeNode(this, cloner); 50 } 37 51 38 public override bool HasLocalParameters 39 { 40 get { return true; } 41 } 52 public override bool HasLocalParameters { 53 get { return true; } 54 } 42 55 43 public override void ResetLocalParameters(IRandom random) 44 { 45 value = random.Next(-360, 360); 46 } 56 public override void ResetLocalParameters(IRandom random) { 57 value = random.Next(-360, 360); 47 58 } 59 } 48 60 } -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/Numerical Operators/Addition.cs
r9630 r9790 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 HeuristicLab.Common; 2 23 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 3 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/Numerical Operators/Division.cs
r9630 r9790 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 HeuristicLab.Common; 2 23 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 3 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/Numerical Operators/Modulus.cs
r9630 r9790 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 HeuristicLab.Common; 2 23 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 3 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/Numerical Operators/Multiplication.cs
r9630 r9790 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 HeuristicLab.Common; 2 23 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 3 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/Numerical Operators/Subtraction.cs
r9630 r9790 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 HeuristicLab.Common; 2 23 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 3 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/NumericalExpression.cs
r9630 r9790 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 HeuristicLab.Common; 2 23 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 3 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/NumericalOperation.cs
r9630 r9790 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 HeuristicLab.Common; 2 23 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 3 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/ShotPower.cs
r9565 r9790 1 using HeuristicLab.Common; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 HeuristicLab.Common; 2 23 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 3 24 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 4 25 5 namespace HeuristicLab.Problems.Robocode 6 { 7 [StorableClass] 8 public class ShotPower : CodeNode 9 { 10 public override int MinimumArity { get { return 0; } } 11 public override int MaximumArity { get { return 0; } } 26 namespace HeuristicLab.Problems.Robocode { 27 [StorableClass] 28 public class ShotPower : CodeNode { 29 public override int MinimumArity { get { return 0; } } 30 public override int MaximumArity { get { return 0; } } 12 31 13 14 32 [Storable] 33 public override string Prefix { get; set; } 15 34 16 17 35 [Storable] 36 public override string Suffix { get; set; } 18 37 19 [StorableConstructor] 20 private ShotPower(bool deserializing) : base(deserializing) { } 21 private ShotPower(ShotPower original, Cloner cloner) 22 : base(original, cloner) 23 { 24 } 38 [StorableConstructor] 39 private ShotPower(bool deserializing) : base(deserializing) { } 40 private ShotPower(ShotPower original, Cloner cloner) 41 : base(original, cloner) { 42 } 25 43 26 public ShotPower() 27 : base("ShotPower", "The power of a shot between 0.1 and 3.") 28 { 29 } 44 public ShotPower() 45 : base("ShotPower", "The power of a shot between 0.1 and 3.") { 46 } 30 47 31 public override ISymbolicExpressionTreeNode CreateTreeNode() 32 { 33 return new ShotPowerTreeNode(); 34 } 48 public override ISymbolicExpressionTreeNode CreateTreeNode() { 49 return new ShotPowerTreeNode(); 50 } 35 51 36 public override IDeepCloneable Clone(Cloner cloner) 37 { 38 return new ShotPower(this, cloner); 39 } 52 public override IDeepCloneable Clone(Cloner cloner) { 53 return new ShotPower(this, cloner); 54 } 40 55 41 public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children) 42 { 43 return " " + ((ShotPowerTreeNode)node).Value + " "; 44 } 56 public override string Interpret(ISymbolicExpressionTreeNode node, System.Collections.Generic.IEnumerable<ISymbolicExpressionTreeNode> children) { 57 return " " + ((ShotPowerTreeNode)node).Value + " "; 45 58 } 59 } 46 60 } -
branches/Robocode.TrunkInt/HeuristicLab.Problems.Robocode/3.3/Symbols/Numerical Expressions/ShotPowerTreeNode.cs
r9565 r9790 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2013 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 2 22 using HeuristicLab.Common; 3 23 using HeuristicLab.Core; … … 5 25 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 6 26 7 namespace HeuristicLab.Problems.Robocode 8 { 9 [StorableClass] 10 public class ShotPowerTreeNode : SymbolicExpressionTreeTerminalNode 11 { 12 private double value; 13 [Storable] 14 public double Value 15 { 16 get { return value; } 17 private set { this.value = value; } 18 } 27 namespace HeuristicLab.Problems.Robocode { 28 [StorableClass] 29 public class ShotPowerTreeNode : SymbolicExpressionTreeTerminalNode { 30 private double value; 31 [Storable] 32 public double Value { 33 get { return value; } 34 private set { this.value = value; } 35 } 19 36 20 [StorableConstructor] 21 private ShotPowerTreeNode(bool deserializing) : base(deserializing) { } 22 private ShotPowerTreeNode(ShotPowerTreeNode original, Cloner cloner) 23 : base(original, cloner) 24 { 25 this.value = original.value; 26 } 37 [StorableConstructor] 38 private ShotPowerTreeNode(bool deserializing) : base(deserializing) { } 39 private ShotPowerTreeNode(ShotPowerTreeNode original, Cloner cloner) 40 : base(original, cloner) { 41 this.value = original.value; 42 } 27 43 28 public ShotPowerTreeNode() 29 : base(new ShotPower()) 30 { 31 } 44 public ShotPowerTreeNode() 45 : base(new ShotPower()) { 46 } 32 47 33 public override IDeepCloneable Clone(Cloner cloner) 34 { 35 return new ShotPowerTreeNode(this, cloner); 36 } 48 public override IDeepCloneable Clone(Cloner cloner) { 49 return new ShotPowerTreeNode(this, cloner); 50 } 37 51 38 public override bool HasLocalParameters 39 { 40 get { return true; } 41 } 52 public override bool HasLocalParameters { 53 get { return true; } 54 } 42 55 43 public override void ResetLocalParameters(IRandom random) 44 { 45 value = (double)random.Next(1, 3); 46 } 56 public override void ResetLocalParameters(IRandom random) { 57 value = (double)random.Next(1, 3); 47 58 } 59 } 48 60 }
Note: See TracChangeset
for help on using the changeset viewer.