Changes between Version 1 and Version 2 of Documentation/Howto/Implement Genetic Programming Problems
- Timestamp:
- 04/06/12 18:58:22 (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Documentation/Howto/Implement Genetic Programming Problems
v1 v2 2 2 = How-to Implement Custom Genetic Programming Problems = 3 3 4 This how-to describes how you can implement your own plug-in to solve custom problems with genetic programming. GP is a very general evolutionary problem solving method and can be used to find solutions for a large number of different problems. The default installation of !HeuristicLab includes plug-ins for solving symbolic regression (and classification) problems and the artificial ant problems with genetic programming. However, if you want to use GP to solve other kinds of problems it is necessary to write a little bit of code for your own problem plug-in. This can be a little intriguing at first because the HeuristicLab source code is already very extensive and especially the implementation of the symbolic data analysis features includes so many extensions that it cannot be really used as a template for custom implementations. The source code for the artificial ant problem is much easier to understand and includes everything that is necessary for custom implementations of problems for genetic programming.4 This how-to describes how you can implement your own plug-in to solve custom problems with genetic programming. GP is a very general evolutionary problem solving method and can be used to find solutions for a large number of different problems. The default installation of !HeuristicLab includes plug-ins for solving symbolic regression (and classification) problems and the artificial ant problems with genetic programming. However, if you want to use GP to solve other kinds of problems it is necessary to write a little bit of code for your own problem plug-in. This can be a little intriguing at first because the !HeuristicLab source code is already very extensive and especially the implementation of the symbolic data analysis features includes so many extensions that it cannot be really used as a template for custom implementations. The source code for the artificial ant problem is much easier to understand and includes everything that is necessary for custom implementations of problems for genetic programming. 5 5 6 6 … … 15 15 The lawn is a rectangular of size (n x m), which is 'connected' at the ends so that the mower appears on the left side if it drops off of the side (toroidal shape). This is The mower should mow each cell of the lawn. The mower can mow a cell twice but this has no effect. 16 16 17 [ image(lawnmower.jpg)]17 [[Image(lawn_mower.png)]] 18 18 19 19 == Design == … … 894 894 }}} 895 895 896 [[Image(lawn mower problem parameters.png)]] 897 896 898 == Extension of the Implementation == 897 899 … … 1142 1144 }}} 1143 1145 1146 [[Image(lawn mower program view.png)]] 1147 1144 1148 {{{SolutionLawnView.cs}}} 1145 1149 {{{ … … 1221 1225 }}} 1222 1226 1227 [[Image(lawn mower solution view.png)]] 1228 1223 1229 [Koza 1994] J. Koza. Genetic Programming II: Automatic Discovery of Reusable Programs. Cambridge, MA, The MIT Press. 1994