Closed HeuristicLab-Trac-Bot closed 8 years ago
changesets originally commited to #2469: r12897: added SymbolicExpressionTreeProblem base class r12904: implemented override for Analyze(...) method in SymbolicExpressionTreeProblem
r12911: created project structure for HeuristicLab.Problems.GeneticProgramming and added implementations of ArtificialAnt and LawnMower
- include Problems.GeneticProgramming in solution
- use Problems.GeneticProgramming from Problems.GrammaticalEvolution (only ArtificialAnt part)
- simplified GEArtificialAntProblem by using BasicProblem
- deleted unused files
- removed createable attribute from outdated implementation of GrammaticalEvolution problems
I left the SymbolicExpressionTreeProblem in the encoding plugin because I believe it fits better there (as a potential base class for all problems using the symbolic expression tree encoding). It is not strictly necessary to include a reference to Problems.GeneticProgramming.
r12921: update best solution only if a solution with a better best quality is found
The samples (artificial ant, lawn mower, and multiplexer) should be updated.(Done)
r13057: changed lawn mower sample to use the new implementation and added assertions for the results of the unit test (let's see if they work on the builder...)
r13163 (sorry this commit messages incorrectly references #2069, but it was not possible to edit the svn log message afterwards)
- adapted the multiplexer sample to use the specific implementation of the multiplexer problem instead of symbolic regression.
- Added best known solutions for the Boolean benchmark problems
all changesets mentioned in the comments are relevant but probably it is best to review the code in
- HeuristicLab.Problems.GeneticProgramming and
- HeuristicLab.Problems.GeneticProgramming.Views
Reviewed the SymbolicExpressionTreeProblem and HL.Problems.GP and the according views and unit test for sample creation.
Comments:
- Odd source code organization (cloning and persistence in a region at the EOF)
- BasicSymbolicRegression
- Recreates constants every time the problem is changed => not reproducible
- Couldn't the solution be transformed to a standard data analysis tree (simplify, optimize?
- Why are the boolean problems restricted (number of bits) and why is this done in the evaluation function?
Overall pretty cool and easy to implement problems. I am especially impressed on how easy tree evaluation can be performed for the boolean and regression problems.
r13267: Minor code improvements in HL.Problems.GP (typos, code organization, code unification).
r13269: Moved cloning and persistence code near the default ctor for all new GP problems.
Issue migrated from trac ticket # 2472
milestone: HeuristicLab 3.3.13 | component: Problems.GeneticProgramming | priority: medium | resolution: done
2015-08-27 07:01:05: @gkronber created the issue